summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOlivier Dony <odo@openerp.com>2010-02-24 20:13:13 +0100
committerOlivier Dony <odo@openerp.com>2010-02-24 20:13:13 +0100
commitc4015e8fcebf12e65fa80ce42bd0e3eb267a058b (patch)
tree62ecd8e64de960dc59832410f1af68c153f1c59a
parent20fc3e2017ebd2e0a3ef7c6f12ba49c46df6f872 (diff)
parent9070e76e4388d0dd1ee814d9d45fa06ff99f9122 (diff)
[MERGE] merged trunk changes from fp
bzr revid: odo@openerp.com-20100224191313-4u6qxamqq14ufkrq
-rw-r--r--addons/crm/crm_opportunity_view.xml2
-rw-r--r--addons/scrum/__terp__.py2
-rw-r--r--addons/scrum/scrum.py36
-rw-r--r--addons/scrum/scrum_view.xml16
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','&lt;=',time.strftime('%%Y-%%m-%%d')), ('sprint_id.date_stop','&gt;=',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>