Bỏ qua để đến Nội dung
Menu
Câu hỏi này đã bị gắn cờ
3155 Lượt xem

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 :)

Ảnh đại diện
Huỷ bỏ
Tác giả

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

if 'opt_out' in vals:

vals['opt_out'] = True

Bài viết liên quan Trả lời Lượt xem Hoạt động
2
thg 3 17
11172
5
thg 2 24
24262
0
thg 7 18
2728
2
thg 7 18
3111
2
thg 11 17
4624