summaryrefslogtreecommitdiff
path: root/addons/project
diff options
context:
space:
mode:
authorGery Debongnie <ged@openerp.com>2014-04-10 16:51:31 +0200
committerGery Debongnie <ged@openerp.com>2014-04-10 16:51:31 +0200
commit2e9ee9c76e7eae0a98af773ad8abd7585d4ea0ec (patch)
tree7bff96787a2521001e88f9a985f07c584b85516f /addons/project
parentac2f58ce68481dfbc05ca8bb496c94c59b137565 (diff)
parent4c0f7b1be8d188734b44856f093fa525f6837489 (diff)
[MERGE] merge from rma branch
bzr revid: ged@openerp.com-20140410145131-fj17mdpi13wa5a9m
Diffstat (limited to 'addons/project')
-rw-r--r--addons/project/project.py18
-rw-r--r--addons/project/project_view.xml15
-rw-r--r--addons/project/res_partner.py11
-rw-r--r--addons/project/res_partner_view.xml10
4 files changed, 30 insertions, 24 deletions
diff --git a/addons/project/project.py b/addons/project/project.py
index 5c6143148d4..e074d241cef 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -186,20 +186,11 @@ class project(osv.osv):
task_attachments = attachment.search(cr, uid, [('res_model', '=', 'project.task'), ('res_id', 'in', task_ids)], context=context, count=True)
res[id] = (project_attachments or 0) + (task_attachments or 0)
return res
-
def _task_count(self, cr, uid, ids, field_name, arg, context=None):
- """ :deprecated: this method will be removed with OpenERP v8. Use task_ids
- fields instead. """
- if context is None:
- context = {}
- res = dict.fromkeys(ids, 0)
- ctx = context.copy()
- ctx['active_test'] = False
- task_ids = self.pool.get('project.task').search(cr, uid, [('project_id', 'in', ids)], context=ctx)
- for task in self.pool.get('project.task').browse(cr, uid, task_ids, context):
- res[task.project_id.id] += 1
+ res={}
+ for tasks in self.browse(cr, uid, ids, context):
+ res[tasks.id] = len(tasks.task_ids)
return res
-
def _get_alias_models(self, cr, uid, context=None):
""" Overriden in project_issue to offer more options """
return [('project.task', "Tasks")]
@@ -265,8 +256,7 @@ class project(osv.osv):
}),
'resource_calendar_id': fields.many2one('resource.calendar', 'Working Time', help="Timetable working hours to adjust the gantt diagram report", states={'close':[('readonly',True)]} ),
'type_ids': fields.many2many('project.task.type', 'project_task_type_rel', 'project_id', 'type_id', 'Tasks Stages', states={'close':[('readonly',True)], 'cancelled':[('readonly',True)]}),
- 'task_count': fields.function(_task_count, type='integer', string="Open Tasks",
- deprecated="This field will be removed in OpenERP v8. Use task_ids one2many field instead."),
+ 'task_count': fields.function(_task_count, type='integer', string="Tasks",),
'task_ids': fields.one2many('project.task', 'project_id',
domain=[('stage_id.fold', '=', False)]),
'color': fields.integer('Color Index'),
diff --git a/addons/project/project_view.xml b/addons/project/project_view.xml
index 3ee673a4d2f..f362a9266ed 100644
--- a/addons/project/project_view.xml
+++ b/addons/project/project_view.xml
@@ -93,21 +93,26 @@
</div>
</div>
<div class="oe_right oe_button_box" name="buttons" groups="base.group_user">
- <field name="tasks" widget="x2many_counter" string="Tasks" attrs="{'invisible':[('use_tasks','=', False)]}" options='{"views": [[false, "kanban"], [false, "tree"], [false, "form"], [false, "calendar"], [false, "gantt"], [false, "graph"]]}'/>
- <button name="attachment_tree_view" string="Documents" type="object"/>
+ <button class="oe_inline oe_stat_button" type="action" attrs="{'invisible':[('use_tasks','=', 0)]}"
+ name="%(act_project_project_2_project_task_all)d" icon="fa-tasks">
+ <field string="Task" name="task_count" widget="statinfo"/>
+ </button>
+ <button class="oe_inline oe_stat_button" name="attachment_tree_view" type="object" icon="fa-files-o">
+ <field string="Documents" name="doc_count" widget="statinfo"/>
+ </button>
</div>
<group>
- <group>
+ <group col="4">
<field name="user_id" string="Project Manager"
attrs="{'readonly':[('state','in',['close', 'cancelled'])]}"
context="{'default_groups_ref': ['base.group_user', 'base.group_partner_manager', 'project.group_project_manager']}"/>
+ <newline/>
<field name="partner_id" on_change="onchange_partner_id(partner_id)"/>
- <span></span>
+ </group>
<p attrs="{'invisible': [('analytic_account_id','=',False)]}">
To invoice or setup invoicing and renewal options, go to the related contract:
<field name="analytic_account_id" readonly="1" required="0" class="oe_inline" nolabel="1"/>.
</p>
- </group>
<group name="group_alias"
attrs="{'invisible': [('alias_domain', '=', False)]}">
<label for="alias_name" string="Email Alias"/>
diff --git a/addons/project/res_partner.py b/addons/project/res_partner.py
index e49cacf4f89..79af0413385 100644
--- a/addons/project/res_partner.py
+++ b/addons/project/res_partner.py
@@ -22,11 +22,20 @@
from openerp.osv import fields,osv
class res_partner(osv.osv):
-
+ def _task_count(self, cr, uid, ids, field_name, arg, context=None):
+ res = dict(map(lambda x: (x,0), ids))
+ try:
+ for partner in self.browse(cr, uid, ids, context):
+ res[partner.id] = len(partner.task_ids)
+ except:
+ pass
+ return res
+
""" Inherits partner and adds Tasks information in the partner form """
_inherit = 'res.partner'
_columns = {
'task_ids': fields.one2many('project.task', 'partner_id', 'Tasks'),
+ 'task_count': fields.function(_task_count, string='# Tasks', type='integer'),
}
def copy(self, cr, uid, record_id, default=None, context=None):
diff --git a/addons/project/res_partner_view.xml b/addons/project/res_partner_view.xml
index f12189b5163..a77ea467dcb 100644
--- a/addons/project/res_partner_view.xml
+++ b/addons/project/res_partner_view.xml
@@ -10,11 +10,13 @@
<field name="priority" eval="50"/>
<field name="arch" type="xml">
<xpath expr="//div[@name='buttons']" position="inside">
- <button class="oe_inline" type="action"
- name="%(action_view_task)d"
- string="Tasks"
+ <button class="oe_inline oe_stat_button" type="action" name="%(action_view_task)d"
context="{'search_default_partner_id': active_id, 'default_partner_id': active_id}"
- groups="project.group_project_user" />
+ icon="fa-tasks" groups="project.group_project_user">
+ <field string="Tasks" name="task_count" widget="statinfo"/>
+ </button>
+
+
</xpath>
</field>
</record>