Witamy!
Forum dla profesjonalistów i entuzjastów systemu Odoo. Dyskusje, porady, opinie, komentarze.
Usuwanie Create_Edit z list rozwijanych [Zamknięte]
- Pytanie został zamknięty z powodu: niezwiązane z tematem lub nieaktualne
przezProblem 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>
Zobacz tak:
<field name="arch" type="xml">
<field name="categ_id" position="replace">
<field name="categ_id" options="{'no_create_edit': True}"/>
</field>
</field>
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ę :)
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. :)
Bądź na bieżąco
O tym forum
Narzędzia do pytań
Statystyki
Spytał/a: 03.03.2015, 14:49 |
Oglądano: 1119 razy |
Ostatnia aktualizacja: 04.03.2015, 16:37 |
OK, rozwiązałem problem, ukrywając grupę Categ_id i umieszczając zmodyfikowany kod z poziomu modułu. Działa jak chciałem :)