diff --git a/addons/sale_timesheet/wizard/project_create_sale_order.py b/addons/sale_timesheet/wizard/project_create_sale_order.py
index 1bf91ec5886..f85807e0729 100644
--- a/addons/sale_timesheet/wizard/project_create_sale_order.py
+++ b/addons/sale_timesheet/wizard/project_create_sale_order.py
@@ -41,12 +41,6 @@ class ProjectCreateSalesOrder(models.TransientModel):
'product_id': default_product.id,
'price_unit': default_product.lst_price
}) for e in employee_from_timesheet]
- else:
- result['line_ids'] = [
- (0, 0, {
- 'product_id': p.id,
- 'price_unit': p.lst_price
- }) for p in project.task_ids.timesheet_product_id]
return result
project_id = fields.Many2one('project.project', "Project", domain=[('sale_line_id', '=', False)], help="Project for which we are creating a sales order", required=True)
@@ -54,7 +48,6 @@ class ProjectCreateSalesOrder(models.TransientModel):
partner_id = fields.Many2one('res.partner', string="Customer", required=True, help="Customer of the sales order")
commercial_partner_id = fields.Many2one(related='partner_id.commercial_partner_id')
- pricing_type = fields.Selection(related="project_id.pricing_type")
sale_order_id = fields.Many2one(
'sale.order', string="Sales Order",
domain="['|', '|', ('partner_id', '=', partner_id), ('partner_id', 'child_of', commercial_partner_id), ('partner_id', 'parent_of', partner_id)]")
@@ -89,7 +82,7 @@ class ProjectCreateSalesOrder(models.TransientModel):
if not self.line_ids:
raise UserError(_("At least one line should be filled."))
- if self.pricing_type == 'employee_rate':
+ if self.line_ids.employee_id:
# all employee having timesheet should be in the wizard map
timesheet_employees = self.env['account.analytic.line'].search([('task_id', 'in', self.project_id.tasks.ids)]).mapped('employee_id')
map_employees = self.line_ids.mapped('employee_id')
@@ -138,9 +131,9 @@ class ProjectCreateSalesOrder(models.TransientModel):
return sale_order
def _make_billable(self, sale_order):
- if self.pricing_type == 'fixed_rate':
+ if not self.line_ids.employee_id: # Then we configure the project with pricing type is equal to project rate
self._make_billable_at_project_rate(sale_order)
- else:
+ else: # Then we configure the project with pricing type is equal to employee rate
self._make_billable_at_employee_rate(sale_order)
def _make_billable_at_project_rate(self, sale_order):
diff --git a/addons/sale_timesheet/wizard/project_create_sale_order_views.xml b/addons/sale_timesheet/wizard/project_create_sale_order_views.xml
index 857b04aae71..c23273e4883 100644
--- a/addons/sale_timesheet/wizard/project_create_sale_order_views.xml
+++ b/addons/sale_timesheet/wizard/project_create_sale_order_views.xml
@@ -11,13 +11,12 @@
-
-
-
+
+
-
+