summaryrefslogtreecommitdiff
path: root/addons/project/wizard
diff options
context:
space:
mode:
authorAnkit Sathvara <asa@odoo.com>2017-11-15 18:37:08 +0530
committerYannick Tivisse <yti@odoo.com>2017-12-19 13:35:00 +0100
commit149a05c6fe610f419dc080014d88825e00505b9f (patch)
tree91345bf4e64abd59db95d2d500724fb25031a1b2 /addons/project/wizard
parent56f5901ff878d7d4fd1124cadb7c4d5d675e6197 (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__.py5
-rw-r--r--addons/project/wizard/project_task_merge_wizard.py71
-rw-r--r--addons/project/wizard/project_task_merge_wizard_views.xml50
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>