You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

32 lines
1.1 KiB

  1. # -*- coding: utf-8 -*-
  2. from openerp import models, api, fields
  3. class MassMailing(models.Model):
  4. _inherit = "mail.mass_mailing"
  5. keep_archives = fields.Boolean()
  6. class MailComposeMessage(models.Model):
  7. _inherit = "mail.compose.message"
  8. @api.model
  9. def get_mail_values(self, wizard, res_ids):
  10. """ Override method to add keep_archives functionalty """
  11. res = super(MailComposeMessage, self).get_mail_values(
  12. wizard, res_ids)
  13. # use only for allowed models in mass mailing
  14. if wizard.composition_mode == 'mass_mail' and \
  15. (wizard.mass_mailing_name or wizard.mass_mailing_id) and \
  16. wizard.model in [item[0] for item in self.env[
  17. 'mail.mass_mailing']._get_mailing_model()]:
  18. mass_mailing = wizard.mass_mailing_id
  19. # option only from mass mailing, not for compositions create
  20. # mass mailings
  21. if mass_mailing:
  22. for res_id in res_ids:
  23. res[res_id].update({
  24. 'auto_delete': not mass_mailing.keep_archives,
  25. })
  26. return res