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.

48 lines
2.0 KiB

  1. # -*- coding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # This module copyright (C) 2015 Therp BV (<http://therp.nl>).
  5. #
  6. # This program is free software: you can redistribute it and/or modify
  7. # it under the terms of the GNU Affero General Public License as
  8. # published by the Free Software Foundation, either version 3 of the
  9. # License, or (at your option) any later version.
  10. #
  11. # This program is distributed in the hope that it will be useful,
  12. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. # GNU Affero General Public License for more details.
  15. #
  16. # You should have received a copy of the GNU Affero General Public License
  17. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  18. #
  19. ##############################################################################
  20. from lxml import etree
  21. from odoo import models, api
  22. class MailWizardInvite(models.TransientModel):
  23. _inherit = 'mail.wizard.invite'
  24. @api.model
  25. def _mail_restrict_follower_selection_get_domain(self):
  26. parameter_name = 'mail_restrict_follower_selection.domain'
  27. return self.env['ir.config_parameter'].get_param(
  28. '%s.%s' % (parameter_name,
  29. self.env.context.get('default_res_model')),
  30. self.env['ir.config_parameter'].get_param(
  31. parameter_name, default='[]')
  32. )
  33. @api.model
  34. def fields_view_get(self, view_id=None, view_type='form', toolbar=False,
  35. submenu=False):
  36. result = super(MailWizardInvite, self).fields_view_get(
  37. view_id=view_id, view_type=view_type, toolbar=toolbar,
  38. submenu=submenu)
  39. arch = etree.fromstring(result['arch'])
  40. for field in arch.xpath('//field[@name="partner_ids"]'):
  41. field.attrib['domain'] = self\
  42. ._mail_restrict_follower_selection_get_domain()
  43. result['arch'] = etree.tostring(arch)
  44. return result