Turkesh Patel (openERP) has proposed merging
lp:~openerp-dev/openobject-addons/trunk-polish2-project-scrum-tpa into
lp:openobject-addons.
Requested reviews:
OpenERP Core Team (openerp)
For more details, see:
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-polish2-project-scrum-tpa/+merge/82641
* added yml files for project_scrum module
* changed view of Sprints > daily scrum meeting form view as the Scrum meeting
form view.
--
https://code.launchpad.net/~openerp-dev/openobject-addons/trunk-polish2-project-scrum-tpa/+merge/82641
Your team OpenERP R&D Team is subscribed to branch
lp:~openerp-dev/openobject-addons/trunk-polish2-project-scrum-tpa.
=== modified file 'project_scrum/__openerp__.py'
--- project_scrum/__openerp__.py 2011-10-16 01:28:00 +0000
+++ project_scrum/__openerp__.py 2011-11-18 06:57:30 +0000
@@ -65,7 +65,12 @@
"board_project_scrum_view.xml",
],
'demo_xml': ['project_scrum_demo.xml'],
- 'test': ['test/project_scrum_report.yml'],
+ 'test': ['test/project_scrum_report.yml',
+ 'test/draft2open2close_sprint.yml',
+ 'test/draft2open2close_backlog.yml',
+ 'test/cancel_backlog.yml',
+ 'test/project_scrum_test.yml'
+ ],
'installable': True,
'active': False,
'certificate' : '00736750152003010781',
=== modified file 'project_scrum/project_scrum.py'
--- project_scrum/project_scrum.py 2011-08-22 17:16:59 +0000
+++ project_scrum/project_scrum.py 2011-11-18 06:57:30 +0000
@@ -262,7 +262,7 @@
'project.scrum.product.backlog': (_get_task, ['sprint_id'], 10)
}),
}
-
+ #dead code
def onchange_backlog_id(self, cr, uid, backlog_id=False):
if not backlog_id:
return {}
@@ -292,7 +292,7 @@
_defaults = {
'date' : lambda *a: time.strftime('%Y-%m-%d'),
}
-
+ # dead code
def button_send_to_master(self, cr, uid, ids, context=None):
meeting_id = self.browse(cr, uid, ids, context=context)[0]
if meeting_id and meeting_id.sprint_id.scrum_master_id.user_email:
@@ -303,6 +303,7 @@
raise osv.except_osv(_('Error !'), _('Please provide email address for scrum master defined on sprint.'))
return True
+ #dead code
def button_send_product_owner(self, cr, uid, ids, context=None):
if context is None:
context = {}
@@ -316,6 +317,7 @@
raise osv.except_osv(_('Error !'), _('Please provide email address for product owner defined on sprint.'))
return True
+ #dead code
def email_send(self, cr, uid, ids, email, context=None):
mail_message_obj = self.pool.get('mail.message')
meeting_id = self.browse(cr, uid, ids, context=context)[0]
=== modified file 'project_scrum/project_scrum_demo.xml'
--- project_scrum/project_scrum_demo.xml 2011-01-14 00:11:01 +0000
+++ project_scrum/project_scrum_demo.xml 2011-11-18 06:57:30 +0000
@@ -10,7 +10,6 @@
<field name="project_id" ref="project.project_project_9"/>
<field name="product_owner_id" ref="base.user_root"/>
<field model="res.users" name="scrum_master_id" search="[('login','=','admin')]"/>
- <field name="state">open</field>
</record>
<record id="scrum_sprint_1" model="project.scrum.sprint">
@@ -387,6 +386,9 @@
<field name="state">open</field>
<field name="product_backlog_id" ref="scrum_product_backlog_7"/>
</record>
+
+ <!-- Resource: project_scrum.meeting -->
+
<record id="scrum_meeting_0" model="project.scrum.meeting">
<field name="question_yesterday">
Admin: Worked on the Automatic migration system
=== modified file 'project_scrum/project_scrum_view.xml'
--- project_scrum/project_scrum_view.xml 2011-11-16 11:58:10 +0000
+++ project_scrum/project_scrum_view.xml 2011-11-18 06:57:30 +0000
@@ -263,6 +263,8 @@
<group colspan="4" col="6">
<field name="date"/>
<field name="user_id"/>
+ <button name="%(mail.action_email_compose_message_wizard)d"
+ string="Send Email" type="action" icon="terp-mail-message-new"/>
</group>
<notebook colspan="4">
<page string="Scrum Meeting">
@@ -273,8 +275,6 @@
<separator colspan="4" string="Are there anything blocking you?"/>
<field colspan="4" name="question_blocks" nolabel="1"/>
<separator colspan="4" string=""/>
- <button name="button_send_to_master" type="object" string="Send to Scrum Master" icon="gtk-ok"/>
- <button name="button_send_product_owner" type="object" string="Send to Product Owner" icon="gtk-ok"/>
</page>
<page string="Optional Info">
<separator colspan="4" string="Are your Sprint Backlog estimate accurate ?"/>
=== added file 'project_scrum/test/cancel_backlog.yml'
--- project_scrum/test/cancel_backlog.yml 1970-01-01 00:00:00 +0000
+++ project_scrum/test/cancel_backlog.yml 2011-11-18 06:57:30 +0000
@@ -0,0 +1,52 @@
+-
+ In Order to Test process of Backlog cancellation,
+-
+ I cancel Backlog "Automatic migration system" from draft state.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I cancel Backlog "Editable Trees" from open state.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_7")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_7, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I put Backlog in pending state because of resource unavailability.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after put in pending.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
+ - state == "pending"
+-
+ I cancel Backlog "Automatic migration system" from pending state.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_cancel(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after canceled.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
+-
+ I Postpone Backlog "Reshape the complete menu" from open state.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_postpone(cr, uid, [ref("scrum_product_backlog_6")])
+-
+ I check state of Backlog after Postpone.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_6, severity: error, string: backlog should be in cancel state}:
+ - state == "cancel"
\ No newline at end of file
=== added file 'project_scrum/test/draft2open2close_backlog.yml'
--- project_scrum/test/draft2open2close_backlog.yml 1970-01-01 00:00:00 +0000
+++ project_scrum/test/draft2open2close_backlog.yml 2011-11-18 06:57:30 +0000
@@ -0,0 +1,41 @@
+-
+ In Order to Test process of Backlog,
+-
+ I put Backlog in pending state because of specification is not ready.
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_pending(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after put in pending.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in pending state}:
+ - state == "pending"
+-
+ Now Specification is ready so I Open backlog "Automatic migration system".
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_open(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after opened.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in open state}:
+ - state == "open"
+-
+ I close Backlog after review
+-
+ !python {model: project.scrum.product.backlog}: |
+ self.button_close(cr, uid, [ref("scrum_product_backlog_0")])
+-
+ I check state of Backlog after closed.
+-
+ !assert {model: project.scrum.product.backlog, id: scrum_product_backlog_0, severity: error, string: Backlog should be in close state}:
+ - state == "done"
+-
+ I merge two Backlogs in to one Backlog
+-
+ First check If only one product backlog selected and If any of the backlog state is done Then not allow merge.then do merge
+-
+ !python {model: project.scrum.backlog.merge}: |
+ self.check_backlogs(cr, uid, [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")], {"active_ids": [ref("scrum_product_backlog_1"),ref("scrum_product_backlog_2")],
+ "active_model": 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_1")
+ })
\ No newline at end of file
=== added file 'project_scrum/test/draft2open2close_sprint.yml'
--- project_scrum/test/draft2open2close_sprint.yml 1970-01-01 00:00:00 +0000
+++ project_scrum/test/draft2open2close_sprint.yml 2011-11-18 06:57:30 +0000
@@ -0,0 +1,57 @@
+-
+ In Order to Test process of Sprint,
+-
+ I Open sprint of "Week 31"
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_open(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state of sprint after opened.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in Open state}:
+ - state == "open"
+-
+ I put sprint in pending state to allocate task to resources.
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_pending(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state of sprint after put in pending.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint should be in pending state}:
+ - state == "pending"
+-
+ I assign Backlog into this Sprint
+-
+ !python {model: project.scrum.backlog.assign.sprint}: |
+ new_id = self.create(cr, uid, {'sprint_id': ref("scrum_sprint_0")})
+ self.assign_sprint(cr, uid, [new_id], {"active_ids": [ref("scrum_product_backlog_1")],
+ "active_model": 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_1")
+ })
+-
+ I create tasks from backlog for sprint
+-
+ !python {model: project.scrum.backlog.create.task}: |
+ new_id = self.create(cr, uid, {'user_id': ref("base.user_root")})
+ self.do_create(cr, uid, [new_id], {
+ "active_ids": [ref("scrum_product_backlog_0")], 'active_model': 'project.scrum.product.backlog', "active_id": ref("scrum_product_backlog_0")
+ })
+-
+ I send email to scrum master with scrum meeting details.
+-
+ !python {model: mail.compose.message }: |
+ ctx = context.copy()
+ ctx.update({'active_model': 'project.scrum.meeting', 'active_id': ref("scrum_meeting_0"), 'active_ids': [ref("scrum_meeting_0")]})
+ vals = self.default_get(cr, uid , [], context=ctx)
+ new_id = self.create(cr, uid, {'email_to': '[email protected]', 'subject': 'test'})
+ self.send_mail(cr, uid, [new_id], context=ctx)
+-
+ I close sprint after review
+-
+ !python {model: project.scrum.sprint}: |
+ self.button_close(cr, uid, [ref("scrum_sprint_0")])
+-
+ I check state after closed sprint.
+-
+ !assert {model: project.scrum.sprint, id: scrum_sprint_0, severity: error, string: Sprint shoud be in close state}:
+ - state == "done"
\ No newline at end of file
=== added file 'project_scrum/test/project_scrum_test.yml'
--- project_scrum/test/project_scrum_test.yml 1970-01-01 00:00:00 +0000
+++ project_scrum/test/project_scrum_test.yml 2011-11-18 06:57:30 +0000
@@ -0,0 +1,8 @@
+-
+ !record {model: project.scrum.sprint, id: project_scrum_sprint_test0, view: False}:
+ date_start: '2011-11-16'
+ date_stop: '2011-12-01'
+ name: test
+ product_owner_id: base.user_admin
+ project_id: project.project_integrate_openerp
+ scrum_master_id: project.res_users_project_manager
\ No newline at end of file
_______________________________________________
Mailing list: https://launchpad.net/~openerp-dev-gtk
Post to : [email protected]
Unsubscribe : https://launchpad.net/~openerp-dev-gtk
More help : https://help.launchpad.net/ListHelp