Usuwanie Create_Edit z list rozwijanych [Zamknięte]

To pytanie zostało zamknięte z powodu: niezwiązane z tematem lub nieaktualne

przez
Dr.One
na 19.04.2015 12:05:39

Problem polega na tym, że pole dla którego chciałbym zablokować tę opcję znajduje się w "product.template.form.inherit" i nie ma do niego bezpośredniego dostępu ... a może poprostu nie umiem go znaleźć.

Przetestowałem tę opcję w "moim module":

<xml> 

   <field name="location_id" options="{'no_create': True}" context="{'group_by':'location_id'}"/>

 

</xml>

I jedyne co pojawia się oprócz listy dostępnych lokalizacji to wiadomość/komunikat informujący, że nie znaleziono w przypadku wprowadzania nie istniejącej nazwy na liście. Takie było zamierzenie i taki cel został osiągnięty opcja Create/Edit została całkowicie zablokowana. Jedynym miejscem gdzie można teraz dodać nową lokalizację jest menu z lewej strony

Dlaczego ?

Otóż w firmie mam osoby które ustawicznie dokonywały modyfikacji wprowadzonych wcześniej kategorii generując nowe które nie były nigdzie więcej dostępne (w menu z lewej strony) i przy okazji wyglądało to tak, że w module "Sale" żadna z tych 'zmodyfikowanych' kategorii nie była widziana i nie można było znaleźć produktów przypisanych do tej kategorii.

Umieściłem więc w moim module kod którego zadaniem miało być zmodyfikowanie pola "Internal Category" znajdującego się na zakładce "Accounts":

<xml>

<!-- tu nadpisujemy rekordem wymaganą opcję -->
<record id="product_template_form_view" model="ir.ui.view">

                <field name="name">product.template.form.view</field>
                <field name="model">product.template</field>
                <field name="inherit_id" ref="product.product_template_form_view" />
        <field name="arch" type="xml">
        <field name="categ_id" position="replace" options="{'no_create_edit': True}">
        </field>
        </field>
</record>

</xml>
Znika mi pole a zostaje tylkoEtykietka pola ;)

Co tu jest a czego być nie powinno, żeby nadpisać dla pola "categ_id" options ?

Ewentualnie dlaczego jesli w moim module umieszczone wpisy wyłączające działają poprawnie a gdy zrobię to samo "na siłę" w kodzie wskazanej podstrony NIE DZIAŁA :(

 

Zmieniłem koncepcję :)

Ukryłem grupę "categ_id" w widoku "Accounting" i dopisałem to samo pole w zmienionej formie :)
Mam nadzieję, że będzie dzialało.

<record id="product_template_form_view" model="ir.ui.view">
            <field name="name">product.template.form.view</field>
            <field name="model">product.template</field>
            <field name="inherit_id" ref="product.product_template_form_view" />
        <field name="arch" type="xml">
        <field name="property_account_income" position="before">
        <field name="categ_id" options="{'no_create_edit': True}"/>
    </field>
    </field>
</record>

 

Dr.One
Dr.One
341
| 5 3 5
Data pytania 03.03.2015, 14:49
0
głos
482 Odsłony

OK, rozwiązałem problem, ukrywając grupę Categ_id i umieszczając zmodyfikowany kod z poziomu modułu. Działa jak chciałem :)

Dr.One
na 03.03.2015, 16:11

Ale czy mogę zamiast ukrywać i wstawiać swój kod poprostu zmodyfikować kodz poziomu mojego modułu ?

Dr.One
na 04.03.2015, 12:19

Z pewnością tylko jak ? Próbowałem z opcją "replace" ale wciąż mi wyświetlalo błędy.

Dr.One
na 04.03.2015, 14:24

Zobacz tak:

<field name="arch" type="xml">
    <field name="categ_id" position="replace">
         <field name="categ_id" options="{'no_create_edit': True}"/>
    </field>
</field>

Dariusz Żbikowski
Dariusz Żbikowski
1263
| 4 3 3
Data odpowiedzi 04.03.2015, 16:36
0
głos

Nie rozumiem dlaczego wcześniej nie chciało mi to dzialac ;) Bez ściemniania ... robiłem dokładnie to samo :) i nie działało :) ale może poprostu gdzieć błędnie wskazywałem miejsce docelowe :) Teraz juz temat mam obcykany do tego stopnia, że moge podstawić praktycznie do każdego modelu/widoku. Dziękuję :)

Dr.One
na 05.03.2015, 10:44

Dodatkowo powiem, podstawianie "no_create_edit" nie jest z jakiegoś powodu najlepszym rozwiązaniem dlatego, że jesli wpiszę cokolwiek innego niż istniejące naliście i tak pojawia się opcja "Create" Jeśli natomiast podstawię tylko "no_create" w chwili wpisania dowolnego ciągu znaków pojawia sie jedynie informacja że nie znaleziono takiej nazwy i o to mi chodziło, żeby operator nie miał mozliwości dodawania niczego tyko operowania na istniejących wpisach :) Zapobiega to wprowadzaniu jakichkolwiek własnych nazw produktów czy lokalizacji. Ale może ktoś już ten problem wczesniej rozwiązal tylko ja o tym nie wiedzialem :) i zrobiłem po swojemu. :)

Dr.One
na 05.03.2015, 10:48

Twoja odpowiedź

Spróbuj dać znacząca odpowiedź. Jeśli chcesz wypowiedzieć się na temat pytania lub odpowiedzi, po prostu użyj narzędzia komentowania. Proszę pamiętać, że zawsze można zrewidować swoją odpowiedź - nie ma potrzeby odpowiadać na to samo pytanie dwa razy. Także prosimy, nie zapomnij zagłosować - to naprawdę pomaga wybrać najlepsze pytania i odpowiedzi!

Zadaj Pytanie

Bądź na bieżąco

O tym forum

Forum dla profesjonalistów i entuzjastów systemu Odoo. Dyskusje, porady, opinie, komentarze.

Przeczytaj wytyczne

Narzędzia do pytań

3 obserwujący

Statystyki

Spytał/a: 03.03.2015, 14:49
Oglądano: 482 razy
Ostatnia aktualizacja: 19.04.2015, 12:05