[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:
committed by
Yannick Tivisse
parent
b8f2edd94c
commit
f711e6d6a2
@@ -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>
|
||||
|
||||
@@ -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:
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
Reference in New Issue
Block a user