[IMP] calendar: usability improvements

This commit is contained in:
Jainik Patel
2015-08-06 13:58:23 +02:00
committed by David Monjoie
parent a54975fc00
commit 37351983ed
3 changed files with 39 additions and 17 deletions
+8 -3
View File
@@ -569,20 +569,25 @@ class calendar_alarm(osv.Model):
res[alarm.id] = 0
return res
_interval_selection = {'minutes': 'Minute(s)', 'hours': 'Hour(s)', 'days': 'Day(s)'}
_columns = {
'name': fields.char('Name', required=True),
'type': fields.selection([('notification', 'Notification'), ('email', 'Email')], 'Type', required=True),
'duration': fields.integer('Amount', required=True),
'interval': fields.selection([('minutes', 'Minutes'), ('hours', 'Hours'), ('days', 'Days')], 'Unit', required=True),
'duration_minutes': fields.function(_get_duration, type='integer', string='duration_minutes', store=True),
'interval': fields.selection(list(_interval_selection.iteritems()), 'Unit', required=True),
'duration_minutes': fields.function(_get_duration, type='integer', string='Duration', store=True, help="Duration in minutes"),
}
_defaults = {
'type': 'notification',
'type': 'email',
'duration': 1,
'interval': 'hours',
}
def onchange_duration_interval(self, cr, uid, ids, duration, interval, context=None):
display_interval = self._interval_selection.get(interval, '')
return {'value': {'name': str(duration) + ' ' + display_interval}}
def _update_cron(self, cr, uid, context=None):
try:
cron = self.pool['ir.model.data'].get_object(
+7 -7
View File
@@ -10,43 +10,43 @@
<field name="default" eval="False"/>
</record>
<record model="calendar.alarm" id="alarm_notif_1">
<field name="name">15 min notif</field>
<field name="name">15 Minute(s)</field>
<field name="duration" eval="15" />
<field name="interval">minutes</field>
<field name="type">notification</field>
</record>
<record model="calendar.alarm" id="alarm_notif_2">
<field name="name">30 min notif</field>
<field name="name">30 Minute(s)</field>
<field name="duration" eval="30" />
<field name="interval">minutes</field>
<field name="type">notification</field>
</record>
<record model="calendar.alarm" id="alarm_notif_3">
<field name="name">1 hour notif</field>
<field name="name">1 Hour(s)</field>
<field name="duration" eval="1" />
<field name="interval">hours</field>
<field name="type">notification</field>
</record>
<record model="calendar.alarm" id="alarm_notif_4">
<field name="name">2 hours notif</field>
<field name="name">2 Hour(s)</field>
<field name="duration" eval="2" />
<field name="interval">hours</field>
<field name="type">notification</field>
</record>
<record model="calendar.alarm" id="alarm_notif_5">
<field name="name">1 day notif</field>
<field name="name">1 Day(s)</field>
<field name="duration" eval="1" />
<field name="interval">days</field>
<field name="type">notification</field>
</record>
<record model="calendar.alarm" id="alarm_mail_1">
<field name="name">2~3 hours mail</field>
<field name="name">2~3 Hour(s) mail</field>
<field name="duration" eval="3" />
<field name="interval">hours</field>
<field name="type">email</field>
</record>
<record model="calendar.alarm" id="alarm_mail_2">
<field name="name">5~6 hours mail</field>
<field name="name">5~6 Hour(s) mail</field>
<field name="duration" eval="6" />
<field name="interval">hours</field>
<field name="type">email</field>
+24 -7
View File
@@ -30,12 +30,31 @@
<tree string="Calendar Alarm" editable="bottom">
<field name="name"/>
<field name="type"/>
<field name="duration"/>
<field name="interval"/>
<field name="duration" on_change="onchange_duration_interval(duration, interval)"/>
<field name="interval" on_change="onchange_duration_interval(duration, interval)"/>
</tree>
</field>
</record>
<record id="calendar_alarm_view_form" model="ir.ui.view">
<field name="name">calendar.alarm.form</field>
<field name="model">calendar.alarm</field>
<field name="arch" type="xml">
<form string="Calendar Alarm">
<group>
<group>
<field name="name"/>
<field name="type" groups="base.group_no_one"/>
</group>
<group>
<field name="interval" on_change="onchange_duration_interval(duration, interval)"/>
<field name="duration" on_change="onchange_duration_interval(duration, interval)"/>
</group>
</group>
</form>
</field>
</record>
<record id="action_calendar_alarm" model="ir.actions.act_window">
<field name="name">Calendar Alarm</field>
<field name="res_model">calendar.alarm</field>
@@ -225,12 +244,10 @@
<tree string="Meetings" decoration-bf="message_unread==True">
<field name="name" string="Subject"/>
<field name="allday" invisible="True"/>
<field name="start_date" string="Date"/>
<field name="start_datetime" string="Date"/>
<field name="user_id"/>
<field name="start" string="Start Date"/>
<field name="stop" string="End Date"/>
<field name="partner_ids"/>
<field name="location"/>
<field name="show_as"/>
<field name="class" string="Privacy"/>
<field name="state" invisible="True"/>
<field name="duration"/>
<field name="message_unread" invisible="1"/>