Přejít na obsah
Menu
You need to be registered to interact with the community.
This question has been flagged
1 Odpovědět
26084 Zobrazení

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.

Avatar
Zrušit
Nejlepší odpověď

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

Avatar
Zrušit
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".

Related Posts Odpovědi Zobrazení Aktivita
1
srp 15
5927
5
kvě 24
25116
5
zář 22
11617
1
dub 24
13685
1
bře 15
8866