[IMP] calendar: Improve calendar alarm computed name

Improve usability of fields 'reminder_ids' (calendar.appointment.type)
and 'alarm_ids' (calendar.event)

If the user does not set a meaningful 'name' on a newly created calendar.alarm,
it is a pain to select the desired record from those fields.

(Also, user should be able to edit existing calendar.alarm)

Related Task ID: 1923205

closes odoo/odoo#30129
This commit is contained in:
Hetal Dhanak
2019-02-07 12:48:12 +00:00
committed by Yannick Tivisse
parent b8f2edd94c
commit f711e6d6a2
3 changed files with 13 additions and 12 deletions
+7 -7
View File
@@ -8,43 +8,43 @@
<field name="default" eval="False"/>
</record>
<record id="alarm_notif_1" model="calendar.alarm">
<field name="name">15 Minute(s)</field>
<field name="name">Notification - 15 Minute(s)</field>
<field name="duration" eval="15" />
<field name="interval">minutes</field>
<field name="alarm_type">notification</field>
</record>
<record id="alarm_notif_2" model="calendar.alarm">
<field name="name">30 Minute(s)</field>
<field name="name">Notification - 30 Minute(s)</field>
<field name="duration" eval="30" />
<field name="interval">minutes</field>
<field name="alarm_type">notification</field>
</record>
<record id="alarm_notif_3" model="calendar.alarm">
<field name="name">1 Hour(s)</field>
<field name="name">Notification - 1 Hour(s)</field>
<field name="duration" eval="1" />
<field name="interval">hours</field>
<field name="alarm_type">notification</field>
</record>
<record id="alarm_notif_4" model="calendar.alarm">
<field name="name">2 Hour(s)</field>
<field name="name">Notification - 2 Hour(s)</field>
<field name="duration" eval="2" />
<field name="interval">hours</field>
<field name="alarm_type">notification</field>
</record>
<record id="alarm_notif_5" model="calendar.alarm">
<field name="name">1 Day(s)</field>
<field name="name">Notification - 1 Day(s)</field>
<field name="duration" eval="1" />
<field name="interval">days</field>
<field name="alarm_type">notification</field>
</record>
<record id="alarm_mail_1" model="calendar.alarm">
<field name="name">3 Hour(s), by e-mail</field>
<field name="name">Email - 3 Hour(s)</field>
<field name="duration" eval="3" />
<field name="interval">hours</field>
<field name="alarm_type">email</field>
</record>
<record id="alarm_mail_2" model="calendar.alarm">
<field name="name">6 Hour(s), by e-mail</field>
<field name="name">Email - 6 Hour(s)</field>
<field name="duration" eval="6" />
<field name="interval">hours</field>
<field name="alarm_type">email</field>
+3 -2
View File
@@ -492,10 +492,11 @@ class Alarm(models.Model):
interval = fields.Selection(list(_interval_selection.items()), 'Unit', required=True, default='hours')
duration_minutes = fields.Integer('Duration in minutes', compute='_compute_duration_minutes', store=True, help="Duration in minutes")
@api.onchange('duration', 'interval')
@api.onchange('duration', 'interval', 'alarm_type')
def _onchange_duration_interval(self):
display_interval = self._interval_selection.get(self.interval, '')
self.name = str(self.duration) + ' ' + display_interval
display_alarm_type = {key: value for key, value in self._fields['alarm_type']._description_selection(self.env)}[self.alarm_type]
self.name = "%s - %s %s" % (display_alarm_type, self.duration, display_interval)
def _update_cron(self):
try:
+3 -3
View File
@@ -25,7 +25,7 @@
<field name="model">calendar.alarm</field>
<field name="arch" type="xml">
<tree string="Calendar Alarm" editable="bottom">
<field name="name"/>
<field name="name" invisible="1"/>
<field name="alarm_type"/>
<field name="duration"/>
<field name="interval"/>
@@ -40,8 +40,8 @@
<form string="Calendar Alarm">
<group>
<group>
<field name="name"/>
<field name="alarm_type" groups="base.group_no_one"/>
<field name="name" invisible="1"/>
<field name="alarm_type"/>
</group>
<group>
<label for="duration"/>