diff options
| author | Gery Debongnie <ged@openerp.com> | 2014-04-10 16:51:31 +0200 |
|---|---|---|
| committer | Gery Debongnie <ged@openerp.com> | 2014-04-10 16:51:31 +0200 |
| commit | 2e9ee9c76e7eae0a98af773ad8abd7585d4ea0ec (patch) | |
| tree | 7bff96787a2521001e88f9a985f07c584b85516f /addons/project | |
| parent | ac2f58ce68481dfbc05ca8bb496c94c59b137565 (diff) | |
| parent | 4c0f7b1be8d188734b44856f093fa525f6837489 (diff) | |
[MERGE] merge from rma branch
bzr revid: ged@openerp.com-20140410145131-fj17mdpi13wa5a9m
Diffstat (limited to 'addons/project')
| -rw-r--r-- | addons/project/project.py | 18 | ||||
| -rw-r--r-- | addons/project/project_view.xml | 15 | ||||
| -rw-r--r-- | addons/project/res_partner.py | 11 | ||||
| -rw-r--r-- | addons/project/res_partner_view.xml | 10 |
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> |
