[IMP] Force start date to the first occurence of an rrule
bzr revid: jke@openerp.com-20140114155152-fbdy5n51shlc9xvu
This commit is contained in:
parent
0072915549
commit
85610ef401
|
@ -1013,7 +1013,7 @@ class crm_meeting(osv.Model):
|
|||
|
||||
if 'id' not in order_fields:
|
||||
order_fields.append('id')
|
||||
|
||||
|
||||
result_data = []
|
||||
result = []
|
||||
for ev in self.browse(cr, uid, ids_to_browse, context=context):
|
||||
|
@ -1214,6 +1214,26 @@ class crm_meeting(osv.Model):
|
|||
res.update(self.check_partners_email(cr, uid, value[0][2], context=context))
|
||||
return res
|
||||
|
||||
def onchange_rec_day(self,cr,uid,id,date,mo,tu,we,th,fr,sa,su):
|
||||
""" set the start date according to the first occurence of rrule"""
|
||||
rrule_obj = self._get_empty_rrule_data()
|
||||
rrule_obj.update({
|
||||
'byday':True,
|
||||
'rrule_type':'weekly',
|
||||
'mo': mo,
|
||||
'tu': tu,
|
||||
'we': we,
|
||||
'th': th,
|
||||
'fr': fr,
|
||||
'sa': sa,
|
||||
'su': su,
|
||||
'interval':1
|
||||
})
|
||||
str_rrule = self.compute_rule_string(rrule_obj)
|
||||
first_occurence = list(rrule.rrulestr(str_rrule + ";COUNT=1", dtstart=datetime.strptime(date, "%Y-%m-%d %H:%M:%S"), forceset=True))[0]
|
||||
return {'value': { 'date' : first_occurence.strftime("%Y-%m-%d") + ' 00:00:00' } }
|
||||
|
||||
|
||||
def check_partners_email(self, cr, uid, partner_ids, context=None):
|
||||
""" Verify that selected partner_ids have an email_address defined.
|
||||
Otherwise throw a warning. """
|
||||
|
|
|
@ -72,7 +72,7 @@
|
|||
<field name="alarm_ids" widget="many2many_tags" />
|
||||
<field name="location"/>
|
||||
</group>
|
||||
|
||||
|
||||
</group>
|
||||
<label for="description"/>
|
||||
<field name="description"/>
|
||||
|
@ -96,14 +96,14 @@
|
|||
<field name="end_date" attrs="{'invisible': [('end_type', '!=', 'end_date')], 'required': [('end_type', '=', 'end_date')]}" class="oe_inline"/>
|
||||
</div>
|
||||
<label string="Select Weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}"/>
|
||||
<group col="2" colspan="1" name="weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}">
|
||||
<field name="mo"/>
|
||||
<field name="tu"/>
|
||||
<field name="we"/>
|
||||
<field name="th"/>
|
||||
<field name="fr"/>
|
||||
<field name="sa"/>
|
||||
<field name="su"/>
|
||||
<group col="2" colspan="1" name="weekdays" attrs="{'invisible' :[('rrule_type','not in', ['weekly'])]}" >
|
||||
<field name="mo" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="tu" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="we" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="th" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="fr" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="sa" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
<field name="su" on_change="onchange_rec_day(date,mo,tu,we,th,fr,sa,su)"/>
|
||||
</group>
|
||||
|
||||
<label string="Day of Month"
|
||||
|
|
Loading…
Reference in New Issue