Skip to Content
Menu
Musisz się zarejestrować, aby móc wchodzić w interakcje z tą społecznością.
To pytanie dostało ostrzeżenie
1 Odpowiedz
26158 Widoki

For instance, take the account_check_writing module, in which we have fields_view_get on account.voucher.  Here a domain is set for journal_id field.

Now, I have another module, in which I need to set domain to domain for journal_id.

Should I set the domain available in account_check_writing in my module, so that both the conditions are satisfied or Is there any other better method to solve this problem.

Awatar
Odrzuć
Najlepsza odpowiedź

In the custom module inherit  the class and add fields_view_get method default code with additional add your domain conditions.

Example

class account_voucher(osv.osv):
    _inherit = 'account.voucher'


    def fields_view_get(self, cr, uid, view_id=None, view_type=False, context=None, toolbar=False, submenu=False):
        """
            Add domain 'allow_check_writting = True' on journal_id field and remove 'widget = selection' on the same
            field because the dynamic domain is not allowed on such widget
        """
        if not context: context = {}
        res = super(account_voucher, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar, submenu=submenu)
        doc = etree.XML(res['arch'])
        nodes = doc.xpath("//field[@name='journal_id']")
        if context.get('write_check', False) :
            for node in nodes:
                node.set('domain', "[('type', '=', 'bank'), ('allow_check_writing','=',True),('your_field','=','value')]")
                node.set('widget', '')
            res['arch'] = etree.tostring(doc)
        return res

Awatar
Odrzuć
Autor

yes, I have done added the domain in my own module. But, logically speaking, my new module does not have anything to do with account_check_writing. and I have to add Account Check writing module in the depends. So How to solve this dependency issue?

If you using account_check_writing module and if you need to change the account_check_writing functionality (domain filter) then override the account_check_writing module fields_view_get method based on your requirement. otherwise create your own fields_view_get method in custom module.

Autor

so, I can set domain based on Account check writing module and my own module without adding dependency... Am I right?

In the custom module if you using _inherit = 'account.voucher' then need to dependency account.voucher in the custom module.

Autor

yes, So i have to add account_voucher module in depend instead of account_check_writing

Yes depend need to add only "account_voucher".

Powiązane posty Odpowiedzi Widoki Czynność
1
sie 15
5979
5
maj 24
25213
5
wrz 22
11693
1
kwi 24
13766
1
mar 15
8927