diff --git a/addons/project_scrum/project_scrum.py b/addons/project_scrum/project_scrum.py
index f67c328e244..d34669df255 100644
--- a/addons/project_scrum/project_scrum.py
+++ b/addons/project_scrum/project_scrum.py
@@ -72,28 +72,27 @@ class project_scrum_sprint(osv.osv):
def button_cancel(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'cancel'}, context=context)
+ self.cancel_send_note(cr, uid, ids, context=None)
return True
def button_draft(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'draft'}, context=context)
+ self.draft_send_note(cr, uid, ids, context=None)
return True
def button_open(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'open'}, context=context)
- for (id, name) in self.name_get(cr, uid, ids):
- message = _("The sprint '%s' has been opened.") % (name,)
- self.log(cr, uid, id, message)
+ self.open_send_note(cr, uid, ids, context=None)
return True
def button_close(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'done'}, context=context)
- for (id, name) in self.name_get(cr, uid, ids):
- message = _("The sprint '%s' has been closed.") % (name,)
- self.log(cr, uid, id, message)
+ self.close_send_note(cr, uid, ids, context=None)
return True
def button_pending(self, cr, uid, ids, context=None):
self.write(cr, uid, ids, {'state':'pending'}, context=context)
+ self.pending_send_note(cr, uid, ids, context=None)
return True
_columns = {
@@ -139,6 +138,39 @@ class project_scrum_sprint(osv.osv):
v['date_stop'] = (datetime.now() + relativedelta(days=int(proj.sprint_size or 14))).strftime('%Y-%m-%d')
return {'value':v}
+ # ----------------------------------------
+ # OpenChatter methods and notifications
+ # ----------------------------------------
+
+ def create(self, cr, uid, vals, context=None):
+ obj_id = super(project_scrum_sprint, self).create(cr, uid, vals, context)
+ self.create_send_note(cr, uid, [obj_id], context=context)
+ return obj_id
+
+ def draft_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been set to draft."), context=context)
+
+ def create_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been created."), context=context)
+
+ def open_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been opened."), context=context)
+
+ def pending_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been set to pending."), context=context)
+
+ def cancel_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been cancelled."), context=context)
+
+ def close_send_note(self, cr, uid, ids, context=None):
+ for obj in self.browse(cr, uid, ids, context=context):
+ self.message_append_note(cr, uid, [obj.id], body=_("Sprint has been closed."), context=context)
+
project_scrum_sprint()
class project_scrum_product_backlog(osv.osv):
diff --git a/addons/project_scrum/project_scrum_view.xml b/addons/project_scrum/project_scrum_view.xml
index 0f33ded8523..7805c9021a1 100644
--- a/addons/project_scrum/project_scrum_view.xml
+++ b/addons/project_scrum/project_scrum_view.xml
@@ -232,7 +232,8 @@
project.scrum.sprint
form
-