2016-09-12 1 views
1

В настоящее время я работаю над созданием настраиваемого модуля, и я расширил единицу измерения класса (product.uom). Я хочу, чтобы некоторые записи uom были удалены из представлений list/tree, на основе определенного значения для одной из моих новых переменных.Odoo - Изменить домен в унаследованном виде

Я не совсем уверен, как изменить этот вид. Кажется, я читаю, что мне нужно указать домен, например domain = [(«myvariable», «=», True)], но я не совсем уверен, как это применить. Я попробовал наследовать древовидное представление и добавить домен, но это не работает.

Любая помощь была бы принята с благодарностью.

Решение:

<record model="ir.actions.act_window" id="uom_list_action"> 
    <field name="name">Units Of Measurement</field> 
    <field name="res_model">product.uom</field> 
    <field name="domain">[("myvariable","!=",True)]</field> 
    <field name="view_mode">tree,form</field> 
</record> 

<record model="ir.ui.menu" id="product.menu_product_uom_form_action"> 
    <field name="action" ref="uom_list_action"/> 
</record> 

<record model="ir.ui.menu" id="stock.menu_stock_uom_form_action"> 
    <field name="action" ref="uom_list_action"/> 
</record> 
+0

Итак, вы хотите, чтобы вся строка в представлении списка/дерева не отображалась на основе myvariable = True или вы хотите, чтобы поле в строке не отображалось на основе этого условия? –

+0

Да, это то, что я пытаюсь выполнить. – Nross2781

+0

Какая строка или поле. –

ответ

1

Для того, чтобы сделать то, что Nross2781 ищет вы должны переопределить ir.actions.act_window для записи.

<record model="ir.actions.act_window" id="uom_list_action"> 
    <field name="name">Units Of Measurement</field> 
    <field name="res_model">product.uom</field> 
    <field name="domain">[("myvariable","!=",True)]</field> 
    <field name="view_mode">tree,form</field> 
</record> 

Однако вы можете рассмотреть возможность добавления фильтров в режим поиска, который был бы более гибким. Вы также сможете увидеть записи, которые не отображаются по умолчанию.

<record model="ir.ui.view" id="uom_search_view"> 
    <field name="name">uom.search</field> 
    <field name="model">product.uom</field> 
    <field name="arch" type="xml"> 
     <search string="Units Of Measurement"> 
      <filter name="my_var_is_true" string="My Variable" domain="[('myvariable','=',True)]"/> 
      <filter name="my_var_is_false" string="Not My Variable" domain="[('myvariable','!=',True)]"/> 
     </search> 
    </field> 
</record> 
+0

Этого было недостаточно, чтобы объявить об этом на моем конце. Мне также пришлось переопределить пункты меню, так как они просто вызвали другое окно действий. Я добавил код к своему оригинальному сообщению. – Nross2781

+0

Кроме того, я попытался вас поднять, но у меня нет репутации. Это не позволит мне. Извините ...: - \ – Nross2781

+0

@phillipstack: с помощью настраиваемого модуля я бы переопределил исходное действие. Здесь вы создаете только новый. Но помимо этого, ваше второе решение лучше, поэтому я проголосую за него. – CZoellner