odoo 8.检查国家是否进入国家组

时间:2015-08-21 15:38:29

标签: openerp odoo odoo-8 openerp-8

在一些问题上我会感激不尽。

在odoo 8中,我创建了几组国家(res.country.group)。

用户选择了我需要检查的国家/地区:

  1. 包含此国家/地区的
  2. 此国家/地区是否包含在相应的组中
  3. 如何在新API中执行此操作?

    例如,我将白俄罗斯国家变成了一组国家:欧洲,独联体国家。

    我们治愈来自许多国家的患者。 根据法律,如果患者来自独联体国家,所有文件应同时使用两种语言 - 乌克兰语和俄语。 如果来自任何其他国家的患者是乌克兰语和英语。

    我在每种语言中都有三个字段组。 当患者是外国人时,相应的字段为True 来自独联体国家的患者使用乌克兰语显示名称=姓名(俄语名称)。 当来自任何其他国家/地区的患者使用乌克兰语显示名称=姓名时(英文名称)。

    在此示例中,我需要检查CIS国家/地区组中的country_id。

    @api.one
    @api.depends('foreigner', 'name', 'rus_name', 'eng_name')
    def _display_name_compute(self):
        if self.name:
            self.display_name = self.name
        else:
            self.display_name = ''
    
        if self.foreigner:
            self.display_name = self.display_name + ' ('
            cis_id = self.env['res.country.group'].search([('name','like','CIS')])
            cis_ids = self.env['res.country.group'].browse([cis_id]).country_ids
    
            if self.country_id.id in cis_ids:
                if self.rus_name:
                    self.display_name = self.display_name + self.rus_name + ')'
            else:
                 if self.eng_name:
                     self.display_name = self.display_name + self.eng_name + ')'
            self.display_name = self.display_name + ')'
    

0 个答案:

没有答案