diff --git a/bemade_mailcow_integration/models/res_config_settings.py b/bemade_mailcow_integration/models/res_config_settings.py index 07d285a..e0b47e5 100644 --- a/bemade_mailcow_integration/models/res_config_settings.py +++ b/bemade_mailcow_integration/models/res_config_settings.py @@ -17,4 +17,9 @@ class ResConfigSettings(models.TransientModel): mailcow_sync_alias = fields.Boolean( string='Sync Aliases with Odoo', help='Auto create Aliases in Mailcow from Odoo', - config_parameter='mailcow.sync_alias') \ No newline at end of file + config_parameter='mailcow.sync_alias') + + mailcow_auto_create = fields.Boolean( + string='Create Mailboxes in Mailcow', + help='Auto create Mailboxes in Mailcow on creation in Odoo', + config_parameter='mailcow.create_mailbox') diff --git a/bemade_mailcow_integration/models/res_users.py b/bemade_mailcow_integration/models/res_users.py index 884fdbc..34f8efb 100644 --- a/bemade_mailcow_integration/models/res_users.py +++ b/bemade_mailcow_integration/models/res_users.py @@ -3,13 +3,34 @@ from odoo import models, fields, api class ResUsers(models.Model): _inherit = 'res.users' + # def _compute_create_mailcow_mailbox(self): + # params = self.env['ir.config_parameter'].sudo() + # can_create = params.get_param('mailcow.create_mailbox') + # return can_create + mailcow_mailbox = fields.Boolean(string='Mailcow Mailbox', default=False) + # can_create_mailcow_mailbox = fields.Boolean( + # string='Create Mailcow Mailbox', + # compute=_compute_create_mailcow_mailbox + # ) + + mailcow_auto_create = fields.Boolean(compute='_compute_mailcow_auto_create', string='Create Mailbox in Mailcow') + + + def _compute_mailcow_auto_create(self): + for rec in self: + config = self.env['ir.config_parameter'].sudo() + get_mailcow_auto_create = config.get_param('mailcow_auto_create', False) + rec.mailcow_auto_create = get_mailcow_auto_create + + @api.model def create(self, vals): res = super(ResUsers, self).create(vals) - if vals.get('mailcow_mailbox', false): + if res.mailcow_mailbox: self.env['mail.mailcow.mailbox'].create_mailbox_for_user(res) return res + diff --git a/bemade_mailcow_integration/views/res_config_settings_views.xml b/bemade_mailcow_integration/views/res_config_settings_views.xml index d641fc7..a0a2d66 100644 --- a/bemade_mailcow_integration/views/res_config_settings_views.xml +++ b/bemade_mailcow_integration/views/res_config_settings_views.xml @@ -8,29 +8,44 @@

Mailcow Settings

-
-
-