/ Remaining:
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index cb5ab3ede0f..35acc4a8508 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -272,7 +272,20 @@ class account_analytic_account(osv.osv):
else:
account = self.search(cr, uid, args, limit=limit, context=context)
return self.name_get(cr, uid, account, context=context)
-
+
+ def create(self, cr, uid, vals, context=None):
+ contract = super(account_analytic_account, self).create(cr, uid, vals, context=context)
+ if contract:
+ self.create_send_note(cr, uid, [contract], context=context)
+ return contract
+ # ------------------------------------------------
+ # OpenChatter methods and notifications
+ # ------------------------------------------------
+ def create_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_subscribe(cr, uid, [obj.id], [obj.user_id.id], context=context)
+ self.message_append_note(cr, uid, [obj.id], body=_("Contract for
%s has been
created.") % (obj.partner_id.name), context=context)
+
account_analytic_account()
diff --git a/addons/analytic/analytic_view.xml b/addons/analytic/analytic_view.xml
index f19eaf114f4..4fa01a92204 100644
--- a/addons/analytic/analytic_view.xml
+++ b/addons/analytic/analytic_view.xml
@@ -29,8 +29,10 @@
-
-
+
+
+ -
+
diff --git a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
index 48282a83bb4..8701210e5f8 100644
--- a/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
+++ b/addons/hr_timesheet_invoice/hr_timesheet_invoice.py
@@ -94,16 +94,40 @@ class account_analytic_account(osv.osv):
return res
def set_close(self, cr, uid, ids, context=None):
- return self.write(cr, uid, ids, {'state':'close'}, context=context)
+ self.write(cr, uid, ids, {'state':'close'}, context=context)
+ self.set_close_send_note(cr, uid, ids, context)
+ return True
def set_cancel(self, cr, uid, ids, context=None):
- return self.write(cr, uid, ids, {'state':'cancelled'}, context=context)
+ self.write(cr, uid, ids, {'state':'cancelled'}, context=context)
+ self.set_cancel_send_note(cr, uid, ids, context)
+ return True
def set_open(self, cr, uid, ids, context=None):
- return self.write(cr, uid, ids, {'state':'open'}, context=context)
+ self.write(cr, uid, ids, {'state':'open'}, context=context)
+ self.set_open_send_note(cr, uid, ids, context)
+ return True
def set_pending(self, cr, uid, ids, context=None):
- return self.write(cr, uid, ids, {'state':'pending'}, context=context)
+ self.write(cr, uid, ids, {'state':'pending'}, context=context)
+ self.set_pending_send_note(cr, uid, ids, context)
+ return True
+
+ def set_open_send_note(self, cr, uid, ids, context=None):
+ message = _("Contract has been opened.")
+ return self.message_append_note(cr, uid, ids, body=message, context=context)
+
+ def set_close_send_note(self, cr, uid, ids, context=None):
+ message = _("Contract has been closed.")
+ return self.message_append_note(cr, uid, ids, body=message, context=context)
+
+ def set_cancel_send_note(self, cr, uid, ids, context=None):
+ message = _("Contract has been cancelled.")
+ return self.message_append_note(cr, uid, ids, body=message, context=context)
+
+ def set_pending_send_note(self, cr, uid, ids, context=None):
+ message = _("Contract has been pending.")
+ return self.message_append_note(cr, uid, ids, body=message, context=context)
account_analytic_account()