calendar_sms/models/calendar_alarm.py

35 lines
1.4 KiB
Python
Raw Normal View History

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo import _, api, fields, models
class CalendarAlarm(models.Model):
_inherit = 'calendar.alarm'
alarm_type = fields.Selection(selection_add=[
('sms', 'SMS Text Message')
], ondelete={'sms': 'set default'})
sms_template_id = fields.Many2one(
'sms.template', string="SMS Template",
domain=[('model', 'in', ['calendar.event'])],
compute='_compute_sms_template_id', readonly=False, store=True,
help="Template used to render SMS reminder content.")
sms_notify_responsible = fields.Boolean("Notify Responsible")
@api.depends('alarm_type', 'sms_template_id')
def _compute_sms_template_id(self):
for alarm in self:
if alarm.alarm_type == 'sms' and not alarm.sms_template_id:
alarm.sms_template_id = self.env['ir.model.data']._xmlid_to_res_id('calendar_sms.sms_template_data_calendar_reminder')
elif alarm.alarm_type != 'sms' or not alarm.sms_template_id:
alarm.sms_template_id = False
@api.onchange('duration', 'interval', 'alarm_type', 'sms_notify_responsible')
def _onchange_duration_interval(self):
super()._onchange_duration_interval()
if self.alarm_type != 'sms':
self.sms_notify_responsible = False
elif self.sms_notify_responsible:
self.name += " - " + _("Notify Responsible")