diff --git a/addons/sale_timesheet/models/project.py b/addons/sale_timesheet/models/project.py index 3eb8a054974..d7bb125d332 100644 --- a/addons/sale_timesheet/models/project.py +++ b/addons/sale_timesheet/models/project.py @@ -186,16 +186,6 @@ class Project(models.Model): class ProjectTask(models.Model): _inherit = "project.task" - @api.model - def default_get(self, fields): - result = super(ProjectTask, self).default_get(fields) - - if not result.get('timesheet_product_id', False) and 'project_id' in result: - project = self.env['project.project'].browse(result['project_id']) - if project.pricing_type != 'employee_rate': - result['timesheet_product_id'] = project.timesheet_product_id.id - return result - # override sale_order_id and make it computed stored field instead of regular field. sale_order_id = fields.Many2one(compute='_compute_sale_order_id', store=True, readonly=False, domain="['|', '|', ('partner_id', '=', partner_id), ('partner_id', 'child_of', commercial_partner_id), ('partner_id', 'parent_of', partner_id)]") @@ -204,14 +194,7 @@ class ProjectTask(models.Model): is_project_map_empty = fields.Boolean("Is Project map empty", compute='_compute_is_project_map_empty') has_multi_sol = fields.Boolean(compute='_compute_has_multi_sol', compute_sudo=True) allow_billable = fields.Boolean(related="project_id.allow_billable") - timesheet_product_id = fields.Many2one( - 'product.product', string='Service', - domain="""[ - ('type', '=', 'service'), - ('invoice_policy', '=', 'delivery'), - ('service_type', '=', 'timesheet'), - '|', ('company_id', '=', False), ('company_id', '=', company_id)]""", - help='Select a Service product with which you would like to bill your time spent on this task.') + timesheet_product_id = fields.Many2one(related="project_id.timesheet_product_id") remaining_hours_so = fields.Float('Remaining Hours on SO', compute='_compute_remaining_hours_so') remaining_hours_available = fields.Boolean(related="sale_line_id.remaining_hours_available") @@ -298,21 +281,6 @@ class ProjectTask(models.Model): domain.append(('order_id', '=?', self.project_sale_order_id.id)) return self.env['sale.order.line'].search(domain, limit=1) - def action_make_billable(self): - return { - "name": _("Create Sales Order"), - "type": 'ir.actions.act_window', - "res_model": 'project.task.create.sale.order', - "views": [[False, "form"]], - "target": 'new', - "context": { - 'active_id': self.id, - 'active_model': 'project.task', - 'form_view_initial_mode': 'edit', - 'default_product_id': self.timesheet_product_id.id or self.project_id.timesheet_product_id.id, - }, - } - def _get_timesheet(self): # return not invoiced timesheet and timesheet without so_line or so_line linked to task timesheet_ids = super(ProjectTask, self)._get_timesheet() diff --git a/addons/sale_timesheet/tests/test_project_billing.py b/addons/sale_timesheet/tests/test_project_billing.py index d7689b76dc9..787f06654bb 100644 --- a/addons/sale_timesheet/tests/test_project_billing.py +++ b/addons/sale_timesheet/tests/test_project_billing.py @@ -119,7 +119,8 @@ class TestProjectBilling(TestCommonSaleTimesheet): Task = self.env['project.task'] # set a customer on the project self.project_non_billable.write({ - 'partner_id': self.partner_2.id + 'partner_id': self.partner_2.id, + 'timesheet_product_id': self.product_delivery_timesheet3, }) # create a task and 2 timesheets task = Task.with_context(default_project_id=self.project_non_billable.id).create({ @@ -147,7 +148,6 @@ class TestProjectBilling(TestCommonSaleTimesheet): 'allow_billable': True, 'pricing_type': 'fixed_rate', }) - task.timesheet_product_id = self.product_delivery_timesheet3 # create wizard wizard = self.env['project.create.sale.order'].with_context(active_id=self.project_non_billable.id, active_model='project.project').create({}) diff --git a/addons/sale_timesheet/views/project_task_views.xml b/addons/sale_timesheet/views/project_task_views.xml index 09618e2c685..1b3f205aebc 100644 --- a/addons/sale_timesheet/views/project_task_views.xml +++ b/addons/sale_timesheet/views/project_task_views.xml @@ -202,17 +202,6 @@ - - project.task.form.inherit.timesheet - project.task - - - - - - - - Overview project.project