diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index d88ae44fb5e..2ece3a38652 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -154,7 +154,7 @@
- True
+ {'required': [('type','=','contract')], 'invisible': [('type','in',['view', 'normal','template'])]}
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 6489d8aa760..542acb1e88c 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -201,12 +201,14 @@ class account_analytic_account(osv.osv):
return {}
res = {'value':{}}
template = self.browse(cr, uid, template_id, context=context)
- from_dt = datetime.strptime(template.date_start, tools.DEFAULT_SERVER_DATE_FORMAT)
- to_dt = datetime.strptime(template.date, tools.DEFAULT_SERVER_DATE_FORMAT)
- timedelta = to_dt - from_dt
+ if template.date_start and template.date:
+ from_dt = datetime.strptime(template.date_start, tools.DEFAULT_SERVER_DATE_FORMAT)
+ to_dt = datetime.strptime(template.date, tools.DEFAULT_SERVER_DATE_FORMAT)
+ timedelta = to_dt - from_dt
+ res['value']['date'] = datetime.strftime(datetime.now() + timedelta, tools.DEFAULT_SERVER_DATE_FORMAT)
res['value']['date_start'] = fields.date.today()
- res['value']['date'] = datetime.strftime(datetime.now() + timedelta, tools.DEFAULT_SERVER_DATE_FORMAT)
res['value']['quantity_max'] = template.quantity_max
+ res['value']['parent_id'] = template.parent_id and template.parent_id.id or False
res['value']['description'] = template.description
return res