[IMP] calendar: usability improvements
This commit is contained in:
committed by
David Monjoie
parent
a54975fc00
commit
37351983ed
@@ -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(
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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"/>
|
||||
|
||||
Reference in New Issue
Block a user