跳至内容
菜单
此问题已终结
3108 查看

My module should prevent mass mailing to send email to users that don't comply in the GDPR settings. I created a constrain on res.partner that prevents to set opt_out to be set to True. Now the problem becomes that it prevents users to signup on the website portal because it wants to set opt_out to False.

@api.constrains('opt_out')
def _check_gdpr(self):
    if not self.email_notifications:
        if not self.opt_out:
            raise ValidationError('ERROR: Can't set "Mailing Opt-Out" because GDPR')

Does anyone have any idea how to keep the constrain but ignore it on create? Or does anyone have any better but simple solution?

I tried with setting opt_out to True in the constrain but I just got a maximum recursion error because the constrain was calling the constrain :)

形象
丢弃
编写者

can be closed... overrided create for res partner with

if 'opt_out' in vals:

vals['opt_out'] = True

相关帖文 回复 查看 活动
2
3月 17
11134
5
2月 24
24202
0
7月 18
2681
2
7月 18
3076
2
11月 17
4574