I have four fields
join - date field
rejoin - date field
date - date field
days - char
<field name="join" on_change="on_change_join(date_join)"/>
<field name="rejoin" on_change="on_change_rejoin(date_rejoin)"/>
<field name="date" />
<field name="days" on_change="on_change_rejoin(days)"/>
When we enter join/rejoin date field, it will call the onchange function.
def on_change_join/rejoin(self, cr, uid, ids, join/rejoin, context=None):
records = self.browse(cr, uid, ids, context=context)
res = {}
for r in records:
vacation_due = 0
format_string = "%Y-%m-%d"
if r.join/rejoin:
datetime_object = datetime.strptime(r.join/rejoin, format_string).date()
print "datetime_object",datetime_object
new_date = datetime_object + relativedelta(years=2)
print "new_date",new_date
new_date_string = datetime.strftime(new_date,format_string)
print "new_date_string",new_date_string
return {'value': {'date': new_date_string}}
But it doesnt shows clear output. ie, it shows error when i first enter join/rejoin date
Error: return {'value': {'date': new_date_string}}
UnboundLocalError: local variable 'new_date_string' referenced before assignment
When i enter days, it will sum up with date field. But it also shows error
def my_onchange_days(self, cr, uid, ids,days, context=None):
return {'value': {'date': (datetime.strptime(date,'%Y-%m-%d %H:%M:%S') + relativedelta(days=days)).strftime('%Y-%m-%d %H:%M:%S')}}
Please help me any one to solve this.