Ir al contenido
Menú
Se marcó esta pregunta
3056 Vistas

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

Avatar
Descartar
Autor

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

if 'opt_out' in vals:

vals['opt_out'] = True

Publicaciones relacionadas Respuestas Vistas Actividad
2
mar 17
11070
5
feb 24
24077
0
jul 18
2614
2
jul 18
3021
2
nov 17
4509