[MERGE] merge psi branch for scrum changes, improve it
bzr revid: mra@mra-laptop-20100622093836-oxzxxj4lm99uikez
This commit is contained in:
@@ -514,7 +514,7 @@
|
||||
</record>
|
||||
<menuitem id="menu_tasks_config" name="Tasks" parent="project.menu_definitions" sequence="1"/>
|
||||
<menuitem action="open_task_type_form" id="menu_task_types_view" parent="menu_tasks_config" sequence="1"/>
|
||||
|
||||
|
||||
<act_window domain="[('user_id', '=', active_id)]" id="act_res_users_2_project_project" name="User's projects" res_model="project.project" src_model="res.users" view_mode="tree,form" view_type="form"/>
|
||||
|
||||
<act_window
|
||||
|
||||
+19
-6
@@ -305,23 +305,31 @@ class scrum_meeting(osv.osv):
|
||||
}
|
||||
|
||||
def button_send_to_master(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
meeting_id = self.browse(cr, uid, ids)[0]
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
|
||||
self.email_send(cr, uid, ids, email)
|
||||
email = meeting_id.sprint_id.scrum_master_id.user_email
|
||||
if email:
|
||||
self.email_send(cr, uid, ids, email, context=context)
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
|
||||
return True
|
||||
|
||||
def button_send_product_owner(self, cr, uid, ids, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
context.update({'button_send_product_owner': True})
|
||||
meeting_id = self.browse(cr, uid, ids)[0]
|
||||
if meeting_id.sprint_id.product_owner_id.user_email:
|
||||
self.email_send(cr,uid,ids,email)
|
||||
email = meeting_id.sprint_id.product_owner_id.user_email
|
||||
if email:
|
||||
self.email_send(cr, uid, ids, email, context=context)
|
||||
else:
|
||||
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
|
||||
return True
|
||||
|
||||
def email_send(self, cr, uid, ids, email, context=None):
|
||||
if context is None:
|
||||
context = {}
|
||||
email_from = tools.config.get('email_from', False)
|
||||
meeting_id = self.browse(cr,uid,ids)[0]
|
||||
user = self.pool.get('res.users').browse(cr, uid, uid, context=context)
|
||||
@@ -332,7 +340,12 @@ class scrum_meeting(osv.osv):
|
||||
sub_name = meeting_id.name or 'Scrum Meeting of %s '%meeting_id.date
|
||||
flag = tools.email_send(user_email , [email], sub_name, body, reply_to=None, openobject_id=str(meeting_id.id))
|
||||
if not flag:
|
||||
raise osv.except_osv(_('Error !'), _(' Email Not send to %s!' % meeting_id.sprint_id.product_owner_id.name))
|
||||
if context.get('button_send_product_owner', False):
|
||||
raise osv.except_osv(_('Error !'), _(' Email Not send to the product owner %s!' % meeting_id.sprint_id.product_owner_id.name))
|
||||
raise osv.except_osv(_('Error !'), _(' Email Not send to the scrum master %s!' % meeting_id.sprint_id.scrum_master_id.name))
|
||||
if context.get('button_send_product_owner', False):
|
||||
raise osv.except_osv(_('Information !'), _(' Email send successfully to product owner %s!' % meeting_id.sprint_id.product_owner_id.name))
|
||||
raise osv.except_osv(_('Information!'), _(' Email send successfully to scrum master %s!'% meeting_id.sprint_id.scrum_master_id.name))
|
||||
return True
|
||||
|
||||
scrum_meeting()
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
<field name="expected_hours" sum="Planned hours" widget="float_time"/>
|
||||
<field name="effective_hours" sum="Effective hours" widget="float_time"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-jump-to"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-execute"/>
|
||||
<button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/>
|
||||
<button type="action" string="Convert to Task" name="%(action_scrum_backlog_to_task)d" states="pending" icon="gtk-execute"/>
|
||||
<button type="object" string="Close" name="button_close" states="open,pending" icon="gtk-jump-to"/>
|
||||
@@ -61,7 +61,7 @@
|
||||
<field name="name" select="1"/>
|
||||
<field name="project_id" select="1"/>
|
||||
<field domain="[('project_id','=',project_id), ('state','in', ['draft','open'])]" name="sprint_id" select="1"/>
|
||||
<button name="button_postpone" string="Post Pone" type="object"
|
||||
<button name="button_postpone" string="Post Pone" type="object"
|
||||
help="Post Pone backlog" colspan="2"
|
||||
icon="gtk-convert" attrs="{'invisible':[('state','=','done')]}"/>
|
||||
<field name="user_id" select="1"/>
|
||||
@@ -198,7 +198,7 @@
|
||||
<field name="effective_hours" sum="Effective hours" widget="float_time"/>
|
||||
<field name="expected_hours" sum="Planned hours" widget="float_time"/>
|
||||
<field name="state"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-jump-to"/>
|
||||
<button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-execute"/>
|
||||
<button type="object" string="Pending" name="button_pending" states="open" icon="gtk-media-pause"/>
|
||||
<button type="object" string="Close" name="button_close" states="open,pending" icon="gtk-jump-to"/>
|
||||
<button type="object" string="Set to Draft" name="button_draft" states="cancel,done" icon="gtk-convert"/>
|
||||
|
||||
@@ -2,8 +2,14 @@
|
||||
"access_scrum_sprint","scrum.sprint","model_scrum_sprint","project.group_project_user",1,0,0,0
|
||||
"access_scrum_product_backlog","scrum.product.backlog","model_scrum_product_backlog","project.group_project_user",1,1,1,1
|
||||
"access_scrum_meeting","scrum.meeting","model_scrum_meeting","project.group_project_user",1,0,0,0
|
||||
"access_product_uom_project_user","product.uom project user","product.model_product_uom","project.group_project_user",1,0,0,0
|
||||
"access_backlog_create_task_user","backlog.create.task user","model_backlog_create_task","project.group_project_user",1,1,1,1
|
||||
"access_scrum_backlog_merge_user","scrum.backlog.merge user","model_scrum_backlog_merge","project.group_project_user",1,1,1,1
|
||||
"access_backlog_assign_sprint_user ","backlog.assign.sprint user","model_backlog_assign_sprint","project.group_project_user",1,0,0,0
|
||||
"access_scrum_meeting_manager","scrum.meeting.manager","model_scrum_meeting","project.group_project_manager",1,1,1,1
|
||||
"access_scrum_sprint_manager","scrum.sprint.manager","model_scrum_sprint","project.group_project_manager",1,1,1,1
|
||||
"access_scrum_product_backlog_manager","scrum.product.backlog manager","model_scrum_product_backlog","project.group_project_manager",1,1,1,1
|
||||
"access_product_uom_project_manager","product.uom project manager","product.model_product_uom","project.group_project_manager",1,1,1,1
|
||||
"access_product_uom_project_user","product.uom project user","product.model_product_uom","project.group_project_user",1,0,0,0
|
||||
"access_backlog_create_task_manager","backlog.create.task manager","model_backlog_create_task","project.group_project_manager",1,1,1,1
|
||||
"access_scrum_backlog_merge_manager","scrum.backlog.merge manager","model_scrum_backlog_merge","project.group_project_manager",1,1,1,1
|
||||
"access_backlog_assign_sprint_manager","backlog.assign.sprint manager","model_backlog_assign_sprint","project.group_project_manager",1,1,1,1
|
||||
|
||||
|
Reference in New Issue
Block a user