summaryrefslogtreecommitdiff
path: root/addons/project_issue
diff options
context:
space:
mode:
Diffstat (limited to 'addons/project_issue')
-rw-r--r--addons/project_issue/project_issue.py18
-rw-r--r--addons/project_issue/project_issue_menu.xml9
-rw-r--r--addons/project_issue/project_issue_view.xml30
3 files changed, 46 insertions, 11 deletions
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index e61af235d42..5a792ac4d28 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -222,6 +222,8 @@ class project_issue(crm.crm_case, osv.osv):
}),
}
+ def on_change_project(self, cr, uid, ids, project_id, context=None):
+ return {}
_defaults = {
'active': 1,
@@ -506,9 +508,23 @@ project_issue()
class project(osv.osv):
_inherit = "project.project"
+
+ def _issue_count(self, cr, uid, ids, field_name, arg, context=None):
+ res = dict.fromkeys(ids, 0)
+ issue_ids = self.pool.get('project.issue').search(cr, uid, [('project_id', 'in', ids)])
+ for issue in self.pool.get('project.issue').browse(cr, uid, issue_ids, context):
+ res[issue.project_id.id] += 1
+ return res
+
_columns = {
'project_escalation_id' : fields.many2one('project.project','Project Escalation', help='If any issue is escalated from the current Project, it will be listed under the project selected here.', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
- 'reply_to' : fields.char('Reply-To Email Address', size=256)
+ 'reply_to' : fields.char('Reply-To Email Address', size=256),
+ 'use_issues' : fields.boolean('Use Issues', help="Check this field if this project manages issues"),
+ 'issue_count': fields.function(_issue_count, type='integer'),
+ }
+
+ _defaults = {
+ 'use_issues': True,
}
def _check_escalation(self, cr, uid, ids, context=None):
diff --git a/addons/project_issue/project_issue_menu.xml b/addons/project_issue/project_issue_menu.xml
index dd61992a555..1c4cecfe439 100644
--- a/addons/project_issue/project_issue_menu.xml
+++ b/addons/project_issue/project_issue_menu.xml
@@ -45,15 +45,6 @@
<field name="act_window_id" ref="project_issue_categ_act0"/>
</record>
- <act_window
- context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"
- id="act_project_project_2_project_issue_all"
- name="Issues"
- res_model="project.issue"
- src_model="project.project"
- view_mode="tree,form,calendar,graph"
- view_type="form"/>
-
<menuitem name="Issues" id="menu_project_issue_track" parent="project.menu_project_management"
action="project_issue_categ_act0" sequence="15"/>
</data>
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 7c22ad748c0..35a256be17e 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -334,6 +334,14 @@
</search>
</field>
</record>
+
+ <act_window id="act_project_project_2_project_issue_all"
+ name="Issues"
+ src_model="project.project"
+ res_model="project.issue"
+ view_type="form"
+ view_mode="kanban,tree,form,calendar,graph"
+ context="{'search_default_project_id': [active_id], 'default_project_id': active_id}"/>
# ------------------------------------------------------
# Project
@@ -345,12 +353,32 @@
<field name="type">form</field>
<field name="inherit_id" ref="project.edit_project"/>
<field name="arch" type="xml">
+ <field name="use_tasks" position="after">
+ <field name="use_issues"/>
+ </field>
<field name="priority" position="before">
<field name="project_escalation_id"/>
<field name="reply_to"/>
</field>
</field>
</record>
-
+
+ <record id="view_project_kanban_inherited" model="ir.ui.view">
+ <field name="name">project.project.kanban.inherited</field>
+ <field name="model">project.project</field>
+ <field name="type">kanban</field>
+ <field name="inherit_id" ref="project.view_project_kanban"/>
+ <field name="arch" type="xml">
+ <field name="use_tasks" position="after">
+ <field name="use_issues"/>
+ <field name="issue_count" invisible="1"/>
+ </field>
+ <xpath expr="//div[@id='list']" position="inside">
+ <a t-if="record.use_issues.raw_value" class="oe_project_buttons"
+ id="2" name="%(act_project_project_2_project_issue_all)d" type="action">
+ Issues(<field name="issue_count"/>)</a>
+ </xpath>
+ </field>
+ </record>
</data>
</openerp>