diff options
| author | Ankit Sathvara <asa@odoo.com> | 2017-11-15 18:37:08 +0530 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2017-12-19 13:35:00 +0100 |
| commit | 149a05c6fe610f419dc080014d88825e00505b9f (patch) | |
| tree | 91345bf4e64abd59db95d2d500724fb25031a1b2 /addons/project/wizard | |
| parent | 56f5901ff878d7d4fd1124cadb7c4d5d675e6197 (diff) | |
[REM] project: Remove the tasks merge feature
Purpose
=======
In a business point of view, it make no sense to merge record. if someone want really to merge record they have to do this manually to think about all corner case. What about id sent to the customer ? what about timesheet ? what about business ?
The idea of the task: remove this feature in both app, project.task and in helpdesk
Specification
=============
Remove both features
"Merge Selected Tickets" in helpdesk
"Merge Selected Tasks" in project.task
Diffstat (limited to 'addons/project/wizard')
| -rw-r--r-- | addons/project/wizard/__init__.py | 5 | ||||
| -rw-r--r-- | addons/project/wizard/project_task_merge_wizard.py | 71 | ||||
| -rw-r--r-- | addons/project/wizard/project_task_merge_wizard_views.xml | 50 |
3 files changed, 0 insertions, 126 deletions
diff --git a/addons/project/wizard/__init__.py b/addons/project/wizard/__init__.py deleted file mode 100644 index 8b4d658a816..00000000000 --- a/addons/project/wizard/__init__.py +++ /dev/null @@ -1,5 +0,0 @@ -# -*- coding: utf-8 -*- -# Part of Odoo. See LICENSE file for full copyright and licensing details. - - -from . import project_task_merge_wizard diff --git a/addons/project/wizard/project_task_merge_wizard.py b/addons/project/wizard/project_task_merge_wizard.py deleted file mode 100644 index 2e57bde4233..00000000000 --- a/addons/project/wizard/project_task_merge_wizard.py +++ /dev/null @@ -1,71 +0,0 @@ -# -*- coding: utf-8 -*- - -from odoo import api, fields, models - - -class ProjectTaskMergeWizard(models.TransientModel): - _name = 'project.task.merge.wizard' - - task_ids = fields.Many2many('project.task', string="Tasks to Merge", required=True) - user_id = fields.Many2one('res.users', string="Assigned to") - create_new_task = fields.Boolean('Create a new task') - target_task_name = fields.Char('New task name') - target_project_id = fields.Many2one('project.project', string="Target Project") - target_task_id = fields.Many2one('project.task', string="Merge into an existing task") - - @api.multi - def merge_tasks(self): - values = { - 'user_id': self.user_id.id, - 'description': self.merge_description(), - } - if self.create_new_task: - values.update({ - 'name': self.target_task_name, - 'project_id': self.target_project_id.id - }) - self.target_task_id = self.env['project.task'].create(values) - else: - self.target_task_id.write(values) - self.merge_followers() - self.target_task_id.message_post_with_view( - self.env.ref('project.mail_template_task_merge'), - values={'target': True, 'tasks': self.task_ids - self.target_task_id}, - subtype_id=self.env.ref('mail.mt_comment').id - ) - (self.task_ids - self.target_task_id).message_post_with_view( - self.env.ref('project.mail_template_task_merge'), - values={'target': False, 'task': self.target_task_id}, - subtype_id=self.env.ref('mail.mt_comment').id - ) - (self.task_ids - self.target_task_id).write({'active': False}) - return { - "type": "ir.actions.act_window", - "res_model": "project.task", - "views": [[False, "form"]], - "res_id": self.target_task_id.id, - } - - @api.multi - def merge_description(self): - return '<br/>'.join(self.task_ids.mapped(lambda task: "Description from task <b>%s</b>:<br/>%s" % (task.name, task.description or 'No description'))) - - @api.multi - def merge_followers(self): - self.target_task_id.message_subscribe( - partner_ids=(self.task_ids - self.target_task_id).mapped('message_partner_ids').ids, - channel_ids=(self.task_ids - self.target_task_id).mapped('message_channel_ids').ids, - ) - - @api.model - def default_get(self, fields): - result = super(ProjectTaskMergeWizard, self).default_get(fields) - selected_tasks = self.env['project.task'].browse(self.env.context.get('active_ids', False)) - assigned_tasks = selected_tasks.filtered(lambda task: task.user_id) - result.update({ - 'task_ids': selected_tasks.ids, - 'user_id': assigned_tasks and assigned_tasks[0].user_id.id or False, - 'target_project_id': selected_tasks[0].project_id.id, - 'target_task_id': selected_tasks[0].id - }) - return result diff --git a/addons/project/wizard/project_task_merge_wizard_views.xml b/addons/project/wizard/project_task_merge_wizard_views.xml deleted file mode 100644 index e234d05fd3a..00000000000 --- a/addons/project/wizard/project_task_merge_wizard_views.xml +++ /dev/null @@ -1,50 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<odoo> - <record id="project_task_merge_wizard_form" model="ir.ui.view"> - <field name='name'>project.task.merge.wizard.form</field> - <field name='model'>project.task.merge.wizard</field> - <field name='arch' type='xml'> - <form string='Merge Tasks'> - <sheet> - <group> - <group> - <field name="task_ids" widget="many2many_tags"/> - </group> - <group> - <field name="create_new_task"/> - <field name="target_task_name" attrs="{'invisible': [('create_new_task', '=', False)], 'required': [('create_new_task', '=', True)]}"/> - <field name="target_project_id" attrs="{'invisible': [('create_new_task', '=', False)], 'required': [('create_new_task', '=', True)]}"/> - <field name="target_task_id" attrs="{'invisible': [('create_new_task', '=', True)], 'required': [('create_new_task', '=', False)]}"/> - <field name="user_id" attrs="{'invisible': [('create_new_task', '=', False)], 'required': [('create_new_task', '=', True)]}"/> - </group> - </group> - <span class="text-muted">NB: This will archive the selected tasks (Except the destination task)</span> - </sheet> - <footer> - <button name='merge_tasks' string='Merge Tasks' class='oe_highlight' type='object'/> - <button special="cancel" string="Cancel" type="object" class="btn btn-default oe_inline"/> - </footer> - </form> - </field> - </record> - - <act_window - id="project_task_actions_act_window_merge_tasks" - res_model="project.task.merge.wizard" - src_model="project.task" - target="new" - multi="True" - key2="client_action_multi" - view_mode="form" - name="Merge Selected Tasks"/> - - <act_window - id="project_task_actions_act_window_merge_tasks" - res_model="project.task.merge.wizard" - src_model="project.task" - target="new" - multi="False" - key2="client_action_multi" - view_mode="form" - name="Merge Selected Tasks"/> -</odoo> |
