diff options
| author | Olivier Dony <odo@openerp.com> | 2010-02-24 20:13:13 +0100 |
|---|---|---|
| committer | Olivier Dony <odo@openerp.com> | 2010-02-24 20:13:13 +0100 |
| commit | c4015e8fcebf12e65fa80ce42bd0e3eb267a058b (patch) | |
| tree | 62ecd8e64de960dc59832410f1af68c153f1c59a | |
| parent | 20fc3e2017ebd2e0a3ef7c6f12ba49c46df6f872 (diff) | |
| parent | 9070e76e4388d0dd1ee814d9d45fa06ff99f9122 (diff) | |
[MERGE] merged trunk changes from fp
bzr revid: odo@openerp.com-20100224191313-4u6qxamqq14ufkrq
| -rw-r--r-- | addons/crm/crm_opportunity_view.xml | 2 | ||||
| -rw-r--r-- | addons/scrum/__terp__.py | 2 | ||||
| -rw-r--r-- | addons/scrum/scrum.py | 36 | ||||
| -rw-r--r-- | addons/scrum/scrum_view.xml | 16 |
4 files changed, 48 insertions, 8 deletions
diff --git a/addons/crm/crm_opportunity_view.xml b/addons/crm/crm_opportunity_view.xml index 247f551fdef..0101c1b1e5c 100644 --- a/addons/crm/crm_opportunity_view.xml +++ b/addons/crm/crm_opportunity_view.xml @@ -55,7 +55,7 @@ <page string="Opportunity"> <group col="2" colspan="2"> <separator colspan="2" string="Contacts"/> - <field name="partner_id" required="1" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/> + <field name="partner_id" select="1" on_change="onchange_partner_id(partner_id, email_from)" colspan="2"/> <field name="partner_address_id" string="Contact" on_change="onchange_partner_address_id(partner_address_id, email_from)" colspan="1"/> <field name="email_from" string="Email"/> <field name="partner_phone"/> diff --git a/addons/scrum/__terp__.py b/addons/scrum/__terp__.py index 130ada9dc41..33a114a3040 100644 --- a/addons/scrum/__terp__.py +++ b/addons/scrum/__terp__.py @@ -51,9 +51,9 @@ 'init_xml': [], 'update_xml': [ 'security/ir.model.access.csv', - 'scrum_view.xml', 'scrum_report.xml', 'scrum_wizard.xml', + 'scrum_view.xml', 'process/scrum_process.xml' ], 'demo_xml': ['scrum_demo.xml'], diff --git a/addons/scrum/scrum.py b/addons/scrum/scrum.py index 1dd158e39e9..6d3ed08fe95 100644 --- a/addons/scrum/scrum.py +++ b/addons/scrum/scrum.py @@ -69,6 +69,21 @@ class scrum_sprint(osv.osv): for bl in sprint.backlog_ids: res[sprint.id] += bl.planned_hours return res + def button_cancel(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'cancel'}, context=context) + return True + def button_draft(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'draft'}, context=context) + return True + def button_open(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'open'}, context=context) + return True + def button_close(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'done'}, context=context) + return True + def button_pending(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'pending'}, context=context) + return True _columns = { 'name' : fields.char('Sprint Name', required=True, size=64), 'date_start': fields.date('Starting Date', required=True), @@ -83,7 +98,7 @@ class scrum_sprint(osv.osv): 'progress': fields.function(_calc_progress, method=True, string='Progress (0-100)'), 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours'), 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours'), - 'state': fields.selection([('draft','Draft'),('open','Open'),('done','Done')], 'State', required=True), + 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('cancel','Cancelled'),('done','Done')], 'State', required=True), } _defaults = { 'state': lambda *a: 'draft', @@ -141,6 +156,23 @@ class scrum_product_backlog(osv.osv): for task in bl.tasks_id: res[bl.id] += task.planned_hours return res + + def button_cancel(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'cancel'}, context=context) + return True + def button_draft(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'draft'}, context=context) + return True + def button_open(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'open'}, context=context) + return True + def button_close(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'done'}, context=context) + return True + def button_pending(self, cr, uid, ids, context={}): + self.write(cr, uid, ids, {'state':'pending'}, context=context) + return True + _columns = { 'name' : fields.char('Feature', size=64, required=True), 'note' : fields.text('Note'), @@ -150,7 +182,7 @@ class scrum_product_backlog(osv.osv): 'sprint_id': fields.many2one('scrum.sprint', 'Sprint'), 'sequence' : fields.integer('Sequence', help="Gives the sequence order when displaying a list of product backlog."), 'tasks_id': fields.one2many('project.task', 'product_backlog_id', 'Tasks Details'), - 'state': fields.selection([('draft','Draft'),('open','Open'),('done','Done'),('cancel','Cancelled')], 'State', required=True), + 'state': fields.selection([('draft','Draft'),('open','Open'),('pending','Pending'),('done','Done'),('cancel','Cancelled')], 'State', required=True), 'progress': fields.function(_calc_progress, method=True, string='Progress'), 'effective_hours': fields.function(_calc_effective, method=True, string='Effective hours'), 'planned_hours': fields.function(_calc_planned, method=True, string='Planned Hours') diff --git a/addons/scrum/scrum_view.xml b/addons/scrum/scrum_view.xml index a3ff775d434..4112e550d90 100644 --- a/addons/scrum/scrum_view.xml +++ b/addons/scrum/scrum_view.xml @@ -43,6 +43,11 @@ <field name="effective_hours" sum="Effective hours" widget="float_time"/> <field name="planned_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="action" string="Convert to Task" name="%(wizard_scrum_backlog_task)d" 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"/> </tree> </field> </record> @@ -89,8 +94,9 @@ <filter default="1" icon="terp-project" string="Current" - domain="[('state','in',('open','draft'))]" - help="Open and Draft Backlogs"/> + domain="[('sprint_id.date_start','<=',time.strftime('%%Y-%%m-%%d')), ('sprint_id.date_stop','>=',time.strftime('%%Y-%%m-%%d'))]" + help="Current Backlogs"/> + <separator orientation="vertical"/> <filter icon="terp-project" string="Draft" domain="[('state','=','draft')]" help="Draft Backlogs"/> <filter icon="terp-project" string="Open" domain="[('state','=','open')]" help="Open Backlogs"/> <separator orientation="vertical"/> @@ -148,8 +154,10 @@ <field name="effective_hours" sum="Effective hours" widget="float_time"/> <field name="planned_hours" sum="Planned hours" widget="float_time"/> <field name="state"/> - <field name="date_stop" invisible="1"/> - <field name="product_owner_id" invisible="1"/> + <button type="object" string="Open" name="button_open" states="draft,pending" icon="gtk-jump-to"/> + <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"/> </tree> </field> </record> |
