diff --git a/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js b/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
index a51a39d81f4..33ecfdeb765 100644
--- a/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
+++ b/addons/sale_timesheet/static/tests/tours/sale_timesheet_tour.js
@@ -247,29 +247,21 @@ tour.register('sale_timesheet_tour', {
trigger: ".o_project_updates_breadcrumb",
content: 'Open Updates'
}, {
- trigger: ".o_rightpanel_button a:contains('See Overview')",
- content: 'See Overview'
+ trigger: ".o_rightpanel_title:eq(0):contains('Sold')",
+ content: 'Check the user sees Sold section'
}, {
- trigger: ".breadcrumb :contains('Overview')",
- content: 'Check the user sees Overview'
-}, {
- trigger: ".o_back_button"
-},{
- trigger: ".o_rightpanel_left_text:eq(0):contains('Timesheets')",
- content: 'Check the user sees Timesheet stat',
+ trigger: ".o_rightpanel_left_text:eq(0):contains('Prepaid Hours')",
+ content: 'Check the user sees Sold subsection',
run: function () {},
+}, {
+ trigger: ".o_rightpanel_title:eq(1):contains('Total Sold')",
+ content: 'Check the user sees Total Sold section'
}, {
- trigger: ".o_rightpanel_left_text:eq(1):contains('Revenues')",
- content: 'Check the user sees Revenues stat',
- run: function () {},
+ trigger: ".o_rightpanel_title:eq(2):contains('Profitability')",
+ content: 'Check the user sees Profitability section'
}, {
- trigger: ".o_rightpanel_left_text:eq(2):contains('Costs')",
- content: 'Check the user sees Cost stat',
- run: function () {},
-}, {
- trigger: ".o_rightpanel_left_text:eq(3):contains('Margin')",
- content: 'Check the user sees Margin stat',
- run: function () {},
+ trigger: ".o_rightpanel_title:eq(3):contains('Milestones')",
+ content: 'Check the user sees Milestones section'
}, {
trigger: ".o-kanban-button-new"
}, {
@@ -277,22 +269,6 @@ tour.register('sale_timesheet_tour', {
run: 'text New update'
}, {
trigger: ".o_form_button_save"
-}, {
- trigger: ".o_field_widget[name=description] :contains('Profitability')",
- content: 'Check the user sees Profitability section',
- run: function () {},
-}, {
- trigger: ".o_field_widget[name=description] :contains('billing rate')",
- content: 'Check the user sees Profitability section content',
- run: function () {},
-}, {
- trigger: ".o_field_widget[name=description] :contains('People')",
- content: 'Check the user sees People section',
- run: function () {},
-}, {
- trigger: ".o_field_widget[name=description] :contains('(new this month)')",
- content: 'Check the user sees People section content',
- run: function () {},
}]);
});
diff --git a/addons/sale_timesheet/tests/__init__.py b/addons/sale_timesheet/tests/__init__.py
index 13e3de402e5..9206f5f0eab 100644
--- a/addons/sale_timesheet/tests/__init__.py
+++ b/addons/sale_timesheet/tests/__init__.py
@@ -7,7 +7,6 @@ from . import test_sale_service
from . import test_project_billing
from . import test_reinvoice
from . import test_reporting
-from . import test_project_overview
from . import test_project_billing_multicompany
from . import test_upsell_warning
from . import test_edit_so_line_timesheet
diff --git a/addons/sale_timesheet/tests/test_project_overview.py b/addons/sale_timesheet/tests/test_project_overview.py
deleted file mode 100644
index 90f51e1d0e8..00000000000
--- a/addons/sale_timesheet/tests/test_project_overview.py
+++ /dev/null
@@ -1,130 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from odoo.addons.sale_timesheet.tests.test_reporting import TestReporting
-from odoo.tools import float_compare
-from odoo.tests import tagged
-
-
-@tagged('-at_install', 'post_install')
-class TestSaleProject(TestReporting):
-
- def test_project_overview_by_project(self):
- rounding = self.env.company.currency_id.rounding
-
- so_line_deliver_global_project = self.env['sale.order.line'].create({
- 'name': self.product_delivery_timesheet2.name,
- 'product_id': self.product_delivery_timesheet2.id,
- 'product_uom_qty': 50,
- 'product_uom': self.product_delivery_timesheet2.uom_id.id,
- 'price_unit': self.product_delivery_timesheet2.list_price,
- 'order_id': self.sale_order_2.id,
- })
- so_line_deliver_no_task = self.env['sale.order.line'].create({
- 'name': self.product_delivery_manual1.name,
- 'product_id': self.product_delivery_manual1.id,
- 'product_uom_qty': 50,
- 'product_uom': self.product_delivery_manual1.uom_id.id,
- 'price_unit': self.product_delivery_manual1.list_price,
- 'order_id': self.sale_order_2.id,
- })
- so_line_deliver_no_task.write({'qty_delivered': 1.0})
-
- self.sale_order_2.action_confirm()
- project_so = self.so_line_order_project.project_id
- # log timesheet for billable time
- timesheet1 = self._log_timesheet_manager(project_so, 10, so_line_deliver_global_project.task_id)
-
- task_so = self.so_line_order_project.task_id
- # logged some timesheets: on project only, then on tasks with different employees
- timesheet2 = self._log_timesheet_user(project_so, 2)
- timesheet3 = self._log_timesheet_user(project_so, 3, task_so)
- timesheet4 = self._log_timesheet_manager(project_so, 1, task_so)
-
- # create a task which is not linked to sales order and fill non-billable timesheet
- task = self.env['project.task'].create({
- 'name': 'Task',
- 'project_id': project_so.id,
- 'allow_billable': False,
- 'sale_line_id': False
- })
- timesheet5 = self._log_timesheet_user(project_so, 5, task)
-
- # invoice the Sales Order SO2
- context = {
- "active_model": 'sale.order',
- "active_ids": [self.sale_order_2.id],
- "active_id": self.sale_order_2.id,
- 'open_invoices': True,
- }
-
- payment = self.env['sale.advance.payment.inv'].create({
- 'advance_payment_method': 'delivered',
- })
-
- action_invoice = payment.with_context(context).create_invoices()
- invoice = self.env['account.move'].browse(action_invoice['res_id'])
- invoice.action_post()
-
- # simulate the auto creation of the SO line for expense, like we confirm a vendor bill.
- so_line_expense = self.env['sale.order.line'].create({
- 'name': self.product_expense.name,
- 'product_id': self.product_expense.id,
- 'product_uom_qty': 0.0,
- 'product_uom': self.product_expense.uom_id.id,
- 'price_unit': self.product_expense.list_price, # reinvoice at sales price
- 'order_id': self.sale_order_2.id,
- 'is_expense': True,
- })
-
- expense = self.env['account.analytic.line'].create({
- 'name': 'expense on project_so',
- 'account_id': project_so.analytic_account_id.id,
- 'so_line': so_line_expense.id,
- 'employee_id': self.employee_user.id,
- 'unit_amount': 4,
- 'amount': 4 * self.product_expense.list_price * -1,
- 'product_id': self.product_expense.id,
- 'product_uom_id': self.product_expense.uom_id.id,
- })
-
- other_revenues = self.env['account.analytic.line'].create({
- 'name': 'pther revenues on project_so',
- 'account_id': project_so.analytic_account_id.id,
- 'employee_id': self.employee_user.id,
- 'unit_amount': 1,
- 'amount': self.product_expense.list_price,
- 'product_id': self.product_expense.id,
- 'product_uom_id': self.product_expense.uom_id.id,
- })
-
- view_id = self.env.ref('sale_timesheet.project_timesheet_action_client_timesheet_plan').id
- vals = self.env['project.project']._qweb_prepare_qcontext(view_id, [['id', '=', project_so.id]])
-
- dashboard_value = timesheet2.unit_amount + timesheet3.unit_amount + timesheet4.unit_amount + timesheet5.unit_amount + timesheet1.unit_amount
- project_so_timesheet_sold_unit = timesheet3.unit_amount + timesheet4.unit_amount
- project_rate_non_billable = timesheet5.unit_amount / dashboard_value * 100
- project_rate_non_billable_project = timesheet2.unit_amount / dashboard_value * 100
- project_rate_billable_time = timesheet1.unit_amount / dashboard_value * 100
- project_rate_billable_fixed = project_so_timesheet_sold_unit / dashboard_value * 100
- project_rate_total = project_rate_non_billable + project_rate_non_billable_project + project_rate_billable_time + project_rate_billable_fixed
- project_invoiced = self.so_line_order_project.price_unit * self.so_line_order_project.product_uom_qty * timesheet1.unit_amount
- project_timesheet_cost = timesheet2.amount + timesheet3.amount + timesheet4.amount + timesheet5.amount + timesheet1.amount
- project_other_revenues = invoice.invoice_line_ids.search([('product_id', '=', self.product_delivery_manual1.id)])
-
- self.assertEqual(float_compare(vals['dashboard']['time']['non_billable'], timesheet5.unit_amount, precision_rounding=rounding), 0, "The hours non-billable should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['time']['non_billable_project'], timesheet2.unit_amount, precision_rounding=rounding), 0, "The hours non-billable-project should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['time']['billable_time'], timesheet1.unit_amount, precision_rounding=rounding), 0, "The hours billable-time should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['time']['billable_fixed'], project_so_timesheet_sold_unit, precision_rounding=rounding), 0, "The hours billable-fixed should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['time']['total'], dashboard_value, precision_rounding=rounding), 0, "The total hours should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['rates']['non_billable'], project_rate_non_billable, precision_rounding=rounding), 0, "The rate non-billable should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['rates']['non_billable_project'], project_rate_non_billable_project, precision_rounding=rounding), 0, "The rate non-billable-project should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['rates']['billable_time'], project_rate_billable_time, precision_rounding=rounding), 0, "The rate billable-time should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['rates']['billable_fixed'], project_rate_billable_fixed, precision_rounding=rounding), 0, "The rate billable-fixed should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['rates']['total'], project_rate_total, precision_rounding=rounding), 0, "The total rates should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['profit']['invoiced'], project_invoiced, precision_rounding=rounding), 0, "The amount invoiced should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['profit']['cost'], project_timesheet_cost, precision_rounding=rounding), 0, "The amount cost should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['profit']['expense_cost'], expense.amount, precision_rounding=rounding), 0, "The amount expense-cost should be the one from the SO2 line, as we are in ordered quantity")
- self.assertEqual(float_compare(vals['dashboard']['profit']['other_revenues'], other_revenues.amount + project_other_revenues.price_total, precision_rounding=rounding), 0, "The amount of the other revenues should be equal to the corresponding account move line and the one from the SO line")
- self.assertEqual(float_compare(vals['dashboard']['profit']['total'], project_invoiced + project_timesheet_cost + expense.amount + other_revenues.amount + project_other_revenues.price_total, precision_rounding=rounding), 0, "The total amount should be the sum of the SO2 line and the created other_revenues account analytic line")
- self.assertEqual(float_compare(vals['repartition_employee_max'], 11.0, precision_rounding=rounding), 0, "The amount of repartition-employee-max should be the one from SO2 line")
diff --git a/addons/sale_timesheet/tests/test_project_update.py b/addons/sale_timesheet/tests/test_project_update.py
index de79a04f397..4ed4759fc9a 100644
--- a/addons/sale_timesheet/tests/test_project_update.py
+++ b/addons/sale_timesheet/tests/test_project_update.py
@@ -1,124 +1,31 @@
# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
-from datetime import date
-from dateutil.relativedelta import relativedelta
from freezegun import freeze_time
-from odoo import fields
from odoo.tests import tagged
-from odoo.tests.common import Form
-from odoo.tools import format_date
-
from odoo.addons.project.tests.test_project_update_flow import TestProjectUpdate
@tagged('-at_install', 'post_install')
class TestProjectUpdateSaleTimesheet(TestProjectUpdate):
- def test_project_update_form_profitability(self):
- try:
- with Form(self.env['project.update'].with_context({'default_project_id': self.project_pigs.id})) as update_form:
- update_form.name = "Test"
- update_form.progress = 65
- update = update_form.save()
- except Exception as e:
- raise AssertionError("Error raised unexpectedly while filling the project update form ! Exception : " + e.args[0])
-
- self.assertTrue("Profitability" in update.description, "The description should contain 'Profitability'.")
-
def test_project_update_description_profitability(self):
self.project_pigs.allow_billable = True
template_values = self.env['project.update']._get_template_values(self.project_pigs)
- today = fields.Date.context_today(self.project_pigs)
- self.assertEqual(template_values['profitability']['month'], format_date(self.env, today, date_format='LLLL y'),
- "The month used in the template should be well defined")
- self.assertEqual(template_values['profitability']['previous_month'], format_date(self.env, (today + relativedelta(months=-1)), date_format='LLLL'),
- "The previous month used in the template should be well defined")
- self.assertTrue(template_values['profitability']['is_timesheet_uom_hour'], "Default timesheet uom is hour.")
- self.assertEqual(template_values['profitability']['timesheet_uom'], "hours", "Default timesheet uom should be displayed as 'hours'")
- self.assertEqual(template_values['profitability']['timesheet_unit_amount'], '0', "Timesheet unit amount used in the template should be defined.")
- self.assertEqual(template_values['profitability']['previous_timesheet_unit_amount'], '0', "Previous Timesheet unit amount used in the template should be defined.")
- self.assertEqual(template_values['profitability']['timesheet_trend'], "0", "Timesheet trend used in the template should be well defined.")
self.assertEqual(template_values['profitability']['costs'], "$\xa00.00", "Project costs used in the template should be well defined")
self.assertEqual(template_values['profitability']['revenues'], "$\xa00.00", "Project revenues used in the template should be well defined")
self.assertEqual(template_values['profitability']['margin'], 0, "Margin used in the template should be well defined")
self.assertEqual(template_values['profitability']['margin_formatted'], "$\xa00.00", "Margin formatted used in the template should be well defined")
self.assertEqual(template_values['profitability']['margin_percentage'], "0", "Margin percentage used in the template should be well defined")
- self.assertEqual(template_values['profitability']['billing_rate'], "0", "Billing rate used in the template should be well defined")
def test_project_update_panel_profitability_no_billable(self):
panel_data = self.project_pigs.get_panel_data()
- self.assertEqual(len(panel_data['profitability_items']['data']), 1, "Panel data should contain 'profitability_items>data' entries")
+ self.assertEqual(panel_data['profitability_items']['allow_billable'], False, "Project should not be billable by default")
try:
self.project_pigs.action_view_timesheet()
except Exception as e:
raise AssertionError("Error raised unexpectedly while calling the action defined in profitalities action panel data ! Exception : " + e.args[0])
- def test_project_update_panel_profitability_no_timesheet(self):
- self.project_pigs.allow_billable = True
- panel_data = self.project_pigs.get_panel_data()
-
- self.assertEqual(len(panel_data['profitability_items']['data']), 4, "Panel data should contain 'profitability_items>data' entries")
- self.assertEqual(panel_data['profitability_items']['action'], "action_view_timesheet", "Panel data should contain 'profitability_items>action' entry")
-
try:
self.project_pigs.action_view_timesheet()
except Exception as e:
raise AssertionError("Error raised unexpectedly while calling the action defined in profitalities action panel data ! Exception : " + e.args[0])
-
- def test_project_update_description_date(self):
- self.project_pigs.allow_timesheets = True
- self.project_pigs.allow_billable = True
- self.employee_user = self.env['hr.employee'].create({
- 'name': 'Employee User',
- 'timesheet_cost': 15,
- })
- self.env['account.analytic.line'].create({
- 'project_id': self.project_pigs.id,
- 'task_id': self.task_1.id,
- 'name': 'my first timesheet',
- 'unit_amount': 4,
- 'employee_id': self.employee_user.id,
- 'date': '2021-07-23'
- })
- self.env['account.analytic.line'].create({
- 'project_id': self.project_pigs.id,
- 'task_id': self.task_1.id,
- 'name': 'my second timesheet',
- 'unit_amount': 6,
- 'employee_id': self.employee_user.id,
- 'date': '2021-08-23'
- })
- with freeze_time('2021-08-24'):
- template_values = self.env['project.update']._get_template_values(self.project_pigs)
- self.assertEqual(template_values['profitability']['timesheet_unit_amount'], '6', "Timesheet unit amount used in the template should be defined.")
- self.assertEqual(template_values['profitability']['previous_timesheet_unit_amount'], '4', "Previous Timesheet unit amount used in the template should be defined.")
-
- def test_project_update_description_date_lang(self):
- self.project_pigs.allow_timesheets = True
- self.project_pigs.allow_billable = True
- self.env['res.lang']._activate_lang('fr_FR')
- self.env.user.write({'lang': 'fr_FR'})
- self.employee_user = self.env['hr.employee'].create({
- 'name': 'Employee User',
- 'timesheet_cost': 15,
- })
- self.env['account.analytic.line'].create({
- 'project_id': self.project_pigs.id,
- 'task_id': self.task_1.id,
- 'name': 'my first timesheet',
- 'unit_amount': 4,
- 'employee_id': self.employee_user.id,
- 'date': '2021-07-23'
- })
- self.env['account.analytic.line'].create({
- 'project_id': self.project_pigs.id,
- 'task_id': self.task_1.id,
- 'name': 'my second timesheet',
- 'unit_amount': 6,
- 'employee_id': self.employee_user.id,
- 'date': '2021-08-23'
- })
- with freeze_time('2021-08-24'):
- template_values = self.env['project.update']._get_template_values(self.project_pigs)
- self.assertEqual(template_values['profitability']['timesheet_unit_amount'], '6', "Timesheet unit amount used in the template should be defined.")
- self.assertEqual(template_values['profitability']['previous_timesheet_unit_amount'], '4', "Previous Timesheet unit amount used in the template should be defined.")
diff --git a/addons/sale_timesheet/tests/test_sale_timesheet.py b/addons/sale_timesheet/tests/test_sale_timesheet.py
index ca1a5e0bcec..e64c79eb97e 100644
--- a/addons/sale_timesheet/tests/test_sale_timesheet.py
+++ b/addons/sale_timesheet/tests/test_sale_timesheet.py
@@ -95,7 +95,7 @@ class TestSaleTimesheet(TestCommonSaleTimesheet):
'employee_id': self.employee_user.id,
})
self.assertEqual(so_line_ordered_project_only.qty_delivered, 0.0, 'Timesheet directly on project does not increase delivered quantity on so line')
- self.assertEqual(timesheet3.timesheet_invoice_type, 'non_billable_project', "Timesheets without task shoulbe be 'no project found'")
+ self.assertEqual(timesheet3.timesheet_invoice_type, 'non_billable', "Timesheets without SO should be be 'non-billable'")
self.assertFalse(timesheet3.timesheet_invoice_id, "The timesheet should not be linked to the invoice, since we are in ordered quantity")
# log timesheet on task in global project (higher than the initial ordrered qty)
@@ -270,7 +270,7 @@ class TestSaleTimesheet(TestCommonSaleTimesheet):
})
self.assertTrue(float_is_zero(so_line_deliver_only_project.qty_delivered, precision_digits=2), "Timesheeting on project should not incremented the delivered quantity on the SO line")
self.assertEqual(sale_order.invoice_status, 'to invoice', 'Sale Timesheet: "invoice on delivery" timesheets should have quantity to invoice')
- self.assertEqual(timesheet3.timesheet_invoice_type, 'non_billable_project', "Timesheets without task shoulbe be 'no project found'")
+ self.assertEqual(timesheet3.timesheet_invoice_type, 'billable_time', "Timesheets with an amount > 0 should be 'billable time'")
self.assertFalse(timesheet3.timesheet_invoice_id, "The timesheet3 should not be linked to the invoice yet")
# let's log some timesheets on the task (new task/new project)
@@ -357,7 +357,7 @@ class TestSaleTimesheet(TestCommonSaleTimesheet):
self.assertEqual(sale_order.invoice_status, 'no', 'Sale Timesheet: "invoice on delivery" should not need to be invoiced on so confirmation')
self.assertEqual(timesheet1.timesheet_invoice_type, 'billable_fixed', "Timesheets linked to SO line with ordered product shoulbe be billable fixed since it is a milestone")
- self.assertEqual(timesheet2.timesheet_invoice_type, 'non_billable_project', "Timesheets without task shoulbe be 'no project found'")
+ self.assertEqual(timesheet2.timesheet_invoice_type, 'non_billable', "Timesheets without SO should be be 'non-billable'")
self.assertFalse(timesheet1.timesheet_invoice_id, "The timesheet1 should not be linked to the invoice")
self.assertFalse(timesheet2.timesheet_invoice_id, "The timesheet2 should not be linked to the invoice")
diff --git a/addons/sale_timesheet/views/hr_timesheet_templates.xml b/addons/sale_timesheet/views/hr_timesheet_templates.xml
deleted file mode 100644
index 400711b854e..00000000000
--- a/addons/sale_timesheet/views/hr_timesheet_templates.xml
+++ /dev/null
@@ -1,486 +0,0 @@
-
-
-
-
- Timesheet Plan
- qweb
- project.project
-
-
-
-
-
-
-
-
-
-
-
-
- :
-
-
-
-
-
-
-
-
-
-
diff --git a/addons/sale_timesheet/views/project_task_views.xml b/addons/sale_timesheet/views/project_task_views.xml
index 159a4514528..b5ba5e96fcd 100644
--- a/addons/sale_timesheet/views/project_task_views.xml
+++ b/addons/sale_timesheet/views/project_task_views.xml
@@ -6,12 +6,23 @@
project.project
-
-
-
{'invisible': ['|', ('allow_billable', '=', False), ('sale_order_id', '=', False)]}
+
+
+
@@ -92,7 +103,7 @@
-
+
Customer Ratings
@@ -195,10 +206,4 @@
-
-
- Overview
- project.project
- qweb
-
diff --git a/addons/sale_timesheet/views/project_update_templates.xml b/addons/sale_timesheet/views/project_update_templates.xml
index caab333f4e8..7040dbc35ba 100644
--- a/addons/sale_timesheet/views/project_update_templates.xml
+++ b/addons/sale_timesheet/views/project_update_templates.xml
@@ -1,19 +1,38 @@
-
+
-
-
+
+
+
+
Sold
+
+
+
+| Service |
+Sold |
+Effective |
+Remaining |
+
+
+ |
+ |
+ |
+ |
+
+
+Total |
+ Hours |
+ Hours |
+ Hours |
+
+
+
+
+
-
Profitability
-
-
-In , have been recorded on the project vs.
-
- in ( %).
-
-
-
+
+Profitability
The cost of the project is now at , for a revenue of , leading to a
@@ -23,19 +42,10 @@ The cost of the project is now at , for a rev
- margin ( %), and a % billing rate.
+ margin (%).
-
-
-
-
-
-
- ( % billable)
-
-
diff --git a/addons/sale_timesheet_purchase/__manifest__.py b/addons/sale_timesheet_purchase/__manifest__.py
deleted file mode 100644
index 9689092723e..00000000000
--- a/addons/sale_timesheet_purchase/__manifest__.py
+++ /dev/null
@@ -1,17 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-{
- 'name': 'Sales Timesheet Purchase',
- 'category': 'Hidden',
- 'summary': 'Bridge module between Sales Timesheet and Purchase',
- 'description': """
-Allows to access purchase orders from Project Overview
-======================================================
-""",
- 'depends': ['sale_timesheet', 'purchase'],
- 'data': [],
- 'demo': [],
- 'auto_install': True,
- 'license': 'LGPL-3',
-}
diff --git a/addons/sale_timesheet_purchase/i18n/ar.po b/addons/sale_timesheet_purchase/i18n/ar.po
deleted file mode 100644
index e07ec044bfc..00000000000
--- a/addons/sale_timesheet_purchase/i18n/ar.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Mustafa Rawi
, 2019
-# Osoul , 2019
-# Shaima Safar , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Shaima Safar , 2019\n"
-"Language-Team: Arabic (https://www.transifex.com/odoo/teams/41243/ar/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: ar\n"
-"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "المشروع"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "أوامر الشراء"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "فواتير المورد"
diff --git a/addons/sale_timesheet_purchase/i18n/cs.po b/addons/sale_timesheet_purchase/i18n/cs.po
deleted file mode 100644
index 8db11c2dac4..00000000000
--- a/addons/sale_timesheet_purchase/i18n/cs.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Martin N , 2019
-# trendspotter , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: trendspotter , 2019\n"
-"Language-Team: Czech (https://www.transifex.com/odoo/teams/41243/cs/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: cs\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Objednávky"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Faktury dodavatele"
diff --git a/addons/sale_timesheet_purchase/i18n/da.po b/addons/sale_timesheet_purchase/i18n/da.po
deleted file mode 100644
index cc19eb84066..00000000000
--- a/addons/sale_timesheet_purchase/i18n/da.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Ejner Sønniksen , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Ejner Sønniksen , 2019\n"
-"Language-Team: Danish (https://www.transifex.com/odoo/teams/41243/da/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: da\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Indkøbsordrer"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Leverandørfakturaer"
diff --git a/addons/sale_timesheet_purchase/i18n/de.po b/addons/sale_timesheet_purchase/i18n/de.po
deleted file mode 100644
index c30ac365685..00000000000
--- a/addons/sale_timesheet_purchase/i18n/de.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: German (https://www.transifex.com/odoo/teams/41243/de/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: de\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Bestellungen"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Eingangsrechnungen"
diff --git a/addons/sale_timesheet_purchase/i18n/es.po b/addons/sale_timesheet_purchase/i18n/es.po
deleted file mode 100644
index 5c57d9b4a19..00000000000
--- a/addons/sale_timesheet_purchase/i18n/es.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: Spanish (https://www.transifex.com/odoo/teams/41243/es/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: es\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Proyecto"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Pedidos de compra"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Facturas de proveedor"
diff --git a/addons/sale_timesheet_purchase/i18n/fr.po b/addons/sale_timesheet_purchase/i18n/fr.po
deleted file mode 100644
index 15c75c1c5bc..00000000000
--- a/addons/sale_timesheet_purchase/i18n/fr.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Aurélien Pillevesse , 2019
-# Laura Piraux , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Laura Piraux , 2019\n"
-"Language-Team: French (https://www.transifex.com/odoo/teams/41243/fr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: fr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projet"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Bons de commande"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Factures fournisseurs"
diff --git a/addons/sale_timesheet_purchase/i18n/he.po b/addons/sale_timesheet_purchase/i18n/he.po
deleted file mode 100644
index ca543070689..00000000000
--- a/addons/sale_timesheet_purchase/i18n/he.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Yihya Hugirat , 2019
-# דודי מלכה , 2019
-# Amit Spilman , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Amit Spilman , 2019\n"
-"Language-Team: Hebrew (https://www.transifex.com/odoo/teams/41243/he/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: he\n"
-"Plural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "פרוייקט"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "הזמנות רכש"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "חשבונית ספק"
diff --git a/addons/sale_timesheet_purchase/i18n/hr.po b/addons/sale_timesheet_purchase/i18n/hr.po
deleted file mode 100644
index ee134f39a80..00000000000
--- a/addons/sale_timesheet_purchase/i18n/hr.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Vladimir Olujić , 2019
-# Karolina Tonković , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Karolina Tonković , 2019\n"
-"Language-Team: Croatian (https://www.transifex.com/odoo/teams/41243/hr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: hr\n"
-"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Nalozi u nabavi"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Ulazni računi"
diff --git a/addons/sale_timesheet_purchase/i18n/hu.po b/addons/sale_timesheet_purchase/i18n/hu.po
deleted file mode 100644
index 45b40b887d7..00000000000
--- a/addons/sale_timesheet_purchase/i18n/hu.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# gezza , 2019
-# Ákos Nagy , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Ákos Nagy , 2019\n"
-"Language-Team: Hungarian (https://www.transifex.com/odoo/teams/41243/hu/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: hu\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Szállítói megrendelések"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Szállítói számlák"
diff --git a/addons/sale_timesheet_purchase/i18n/it.po b/addons/sale_timesheet_purchase/i18n/it.po
deleted file mode 100644
index 412230d7f97..00000000000
--- a/addons/sale_timesheet_purchase/i18n/it.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Sergio Zanchetta , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Sergio Zanchetta , 2019\n"
-"Language-Team: Italian (https://www.transifex.com/odoo/teams/41243/it/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: it\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Progetto"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Ordini di acquisto"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Fatture fornitore"
diff --git a/addons/sale_timesheet_purchase/i18n/lb.po b/addons/sale_timesheet_purchase/i18n/lb.po
deleted file mode 100644
index c664b22b885..00000000000
--- a/addons/sale_timesheet_purchase/i18n/lb.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Language-Team: Luxembourgish (https://www.transifex.com/odoo/teams/41243/lb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: lb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr ""
diff --git a/addons/sale_timesheet_purchase/i18n/lt.po b/addons/sale_timesheet_purchase/i18n/lt.po
deleted file mode 100644
index f043943267a..00000000000
--- a/addons/sale_timesheet_purchase/i18n/lt.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Linas Versada , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Linas Versada , 2019\n"
-"Language-Team: Lithuanian (https://www.transifex.com/odoo/teams/41243/lt/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: lt\n"
-"Plural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projektas"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Pirkimų užsakymai"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Tiekėjų sąskaitos"
diff --git a/addons/sale_timesheet_purchase/i18n/mn.po b/addons/sale_timesheet_purchase/i18n/mn.po
deleted file mode 100644
index 4153758d6e3..00000000000
--- a/addons/sale_timesheet_purchase/i18n/mn.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Baskhuu Lodoikhuu , 2019
-# Martin Trigaux, 2019
-# Khishigbat Ganbold , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Khishigbat Ganbold , 2019\n"
-"Language-Team: Mongolian (https://www.transifex.com/odoo/teams/41243/mn/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: mn\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Төсөл"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Худалдан авалт"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Нийлүүлэгчийн нэхэмжлэл"
diff --git a/addons/sale_timesheet_purchase/i18n/nb.po b/addons/sale_timesheet_purchase/i18n/nb.po
deleted file mode 100644
index 978e0e19d71..00000000000
--- a/addons/sale_timesheet_purchase/i18n/nb.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: Norwegian Bokmål (https://www.transifex.com/odoo/teams/41243/nb/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: nb\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Prosjekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Innkjøpsordrer"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Leverandør faktura"
diff --git a/addons/sale_timesheet_purchase/i18n/nl.po b/addons/sale_timesheet_purchase/i18n/nl.po
deleted file mode 100644
index c2e76e9d65e..00000000000
--- a/addons/sale_timesheet_purchase/i18n/nl.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: Dutch (https://www.transifex.com/odoo/teams/41243/nl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: nl\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Project"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Inkooporders"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Leveranciersfacturen"
diff --git a/addons/sale_timesheet_purchase/i18n/pl.po b/addons/sale_timesheet_purchase/i18n/pl.po
deleted file mode 100644
index be3aaa7c4e2..00000000000
--- a/addons/sale_timesheet_purchase/i18n/pl.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Dariusz Żbikowski , 2019
-# Piotr Szlązak , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Piotr Szlązak , 2019\n"
-"Language-Team: Polish (https://www.transifex.com/odoo/teams/41243/pl/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: pl\n"
-"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projekt"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Zamówienia Zakupu"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Faktury zakupu"
diff --git a/addons/sale_timesheet_purchase/i18n/pt.po b/addons/sale_timesheet_purchase/i18n/pt.po
deleted file mode 100644
index 6ccbbfbdb61..00000000000
--- a/addons/sale_timesheet_purchase/i18n/pt.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Language-Team: Portuguese (https://www.transifex.com/odoo/teams/41243/pt/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: pt\n"
-"Plural-Forms: nplurals=2; plural=(n != 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr ""
diff --git a/addons/sale_timesheet_purchase/i18n/pt_BR.po b/addons/sale_timesheet_purchase/i18n/pt_BR.po
deleted file mode 100644
index 8c86d88a96e..00000000000
--- a/addons/sale_timesheet_purchase/i18n/pt_BR.po
+++ /dev/null
@@ -1,39 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# danimaribeiro , 2019
-# Martin Trigaux, 2019
-# Mateus Lopes , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Mateus Lopes , 2019\n"
-"Language-Team: Portuguese (Brazil) (https://www.transifex.com/odoo/teams/41243/pt_BR/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: pt_BR\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Projeto"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Pedidos de Compra"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Faturas de Fornecedor"
diff --git a/addons/sale_timesheet_purchase/i18n/ro.po b/addons/sale_timesheet_purchase/i18n/ro.po
deleted file mode 100644
index 37022a040f7..00000000000
--- a/addons/sale_timesheet_purchase/i18n/ro.po
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Language-Team: Romanian (https://www.transifex.com/odoo/teams/41243/ro/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: ro\n"
-"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr ""
diff --git a/addons/sale_timesheet_purchase/i18n/ru.po b/addons/sale_timesheet_purchase/i18n/ru.po
deleted file mode 100644
index 17d5e0e869f..00000000000
--- a/addons/sale_timesheet_purchase/i18n/ru.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: Russian (https://www.transifex.com/odoo/teams/41243/ru/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: ru\n"
-"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Проект"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Заказы закупки"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Счета от поставщиков"
diff --git a/addons/sale_timesheet_purchase/i18n/sale_timesheet_purchase.pot b/addons/sale_timesheet_purchase/i18n/sale_timesheet_purchase.pot
deleted file mode 100644
index 1eaeb8ec124..00000000000
--- a/addons/sale_timesheet_purchase/i18n/sale_timesheet_purchase.pot
+++ /dev/null
@@ -1,33 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~14.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2021-07-12 07:50+0000\n"
-"PO-Revision-Date: 2021-07-12 07:50+0000\n"
-"Last-Translator: \n"
-"Language-Team: \n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Plural-Forms: \n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:0
-#, python-format
-msgid "Purchase Orders"
-msgstr ""
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:0
-#, python-format
-msgid "Vendor Bills"
-msgstr ""
diff --git a/addons/sale_timesheet_purchase/i18n/tr.po b/addons/sale_timesheet_purchase/i18n/tr.po
deleted file mode 100644
index 7494bc6d426..00000000000
--- a/addons/sale_timesheet_purchase/i18n/tr.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Murat Kaplan , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Murat Kaplan , 2019\n"
-"Language-Team: Turkish (https://www.transifex.com/odoo/teams/41243/tr/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: tr\n"
-"Plural-Forms: nplurals=2; plural=(n > 1);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Proje"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Satınalma Siparişleri"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Tedarikçi Faturaları"
diff --git a/addons/sale_timesheet_purchase/i18n/uk.po b/addons/sale_timesheet_purchase/i18n/uk.po
deleted file mode 100644
index 512c3604828..00000000000
--- a/addons/sale_timesheet_purchase/i18n/uk.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# Alina Lisnenko , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Alina Lisnenko , 2019\n"
-"Language-Team: Ukrainian (https://www.transifex.com/odoo/teams/41243/uk/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: uk\n"
-"Plural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Проект"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Замовлення на купівлю"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Рахунки постачальників"
diff --git a/addons/sale_timesheet_purchase/i18n/vi.po b/addons/sale_timesheet_purchase/i18n/vi.po
deleted file mode 100644
index 2b35890d92c..00000000000
--- a/addons/sale_timesheet_purchase/i18n/vi.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Nancy Momoland , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Nancy Momoland , 2019\n"
-"Language-Team: Vietnamese (https://www.transifex.com/odoo/teams/41243/vi/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: vi\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "Dự án"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "Đơn mua hàng"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "Công nợ nhà cung cấp"
diff --git a/addons/sale_timesheet_purchase/i18n/zh_CN.po b/addons/sale_timesheet_purchase/i18n/zh_CN.po
deleted file mode 100644
index 0f0da048167..00000000000
--- a/addons/sale_timesheet_purchase/i18n/zh_CN.po
+++ /dev/null
@@ -1,37 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: Martin Trigaux, 2019\n"
-"Language-Team: Chinese (China) (https://www.transifex.com/odoo/teams/41243/zh_CN/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: zh_CN\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "项目"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "采购订单"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "供应商帐单"
diff --git a/addons/sale_timesheet_purchase/i18n/zh_TW.po b/addons/sale_timesheet_purchase/i18n/zh_TW.po
deleted file mode 100644
index f3004ff4592..00000000000
--- a/addons/sale_timesheet_purchase/i18n/zh_TW.po
+++ /dev/null
@@ -1,38 +0,0 @@
-# Translation of Odoo Server.
-# This file contains the translation of the following modules:
-# * sale_timesheet_purchase
-#
-# Translators:
-# Martin Trigaux, 2019
-# 敬雲 林 , 2019
-#
-msgid ""
-msgstr ""
-"Project-Id-Version: Odoo Server saas~12.4\n"
-"Report-Msgid-Bugs-To: \n"
-"POT-Creation-Date: 2019-08-12 11:32+0000\n"
-"PO-Revision-Date: 2019-08-26 09:14+0000\n"
-"Last-Translator: 敬雲 林 , 2019\n"
-"Language-Team: Chinese (Taiwan) (https://www.transifex.com/odoo/teams/41243/zh_TW/)\n"
-"MIME-Version: 1.0\n"
-"Content-Type: text/plain; charset=UTF-8\n"
-"Content-Transfer-Encoding: \n"
-"Language: zh_TW\n"
-"Plural-Forms: nplurals=1; plural=0;\n"
-
-#. module: sale_timesheet_purchase
-#: model:ir.model,name:sale_timesheet_purchase.model_project_project
-msgid "Project"
-msgstr "專案"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:17
-#, python-format
-msgid "Purchase Orders"
-msgstr "採購訂單"
-
-#. module: sale_timesheet_purchase
-#: code:addons/sale_timesheet_purchase/models/project_overview.py:29
-#, python-format
-msgid "Vendor Bills"
-msgstr "供應商應付憑單"
diff --git a/addons/sale_timesheet_purchase/models/project_overview.py b/addons/sale_timesheet_purchase/models/project_overview.py
deleted file mode 100644
index 86484038b37..00000000000
--- a/addons/sale_timesheet_purchase/models/project_overview.py
+++ /dev/null
@@ -1,40 +0,0 @@
-# -*- coding: utf-8 -*-
-from odoo import _, models
-from odoo.addons.sale_timesheet.models.project_overview import _to_action_data
-
-
-class Project(models.Model):
- _inherit = 'project.project'
-
- def _plan_get_stat_button(self):
- stat_buttons = super(Project, self)._plan_get_stat_button()
- if self.env.user.has_group('purchase.group_purchase_user'):
- accounts = self.mapped('analytic_account_id.id')
- purchase_order_lines = self.env['purchase.order.line'].search([('account_analytic_id', 'in', accounts)])
- purchase_orders = purchase_order_lines.mapped('order_id')
- if purchase_orders:
- stat_buttons.append({
- 'name': _('Purchase Orders'),
- 'count': len(purchase_orders),
- 'icon': 'fa fa-shopping-cart',
- 'action': _to_action_data('purchase.order',
- domain=[('id', 'in', purchase_orders.ids)],
- context={'create': False, 'edit': False, 'delete': False}
- )
- })
- account_invoice_lines = self.env['account.move.line'].search(
- [('analytic_account_id', 'in', accounts),
- ('move_id.move_type', 'in', ['in_invoice', 'in_refund'])])
- account_invoices = account_invoice_lines.mapped('move_id')
- if account_invoices:
- stat_buttons.append({
- 'name': _('Vendor Bills'),
- 'count': len(account_invoices),
- 'icon': 'fa fa-pencil-square-o',
- 'action': _to_action_data(
- action=self.env.ref('account.action_move_in_invoice_type'),
- domain=[('id', 'in', account_invoices.ids)],
- context={'create': False, 'edit': False, 'delete': False}
- )})
-
- return stat_buttons
diff --git a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
index 6e5c77b9c1f..5a9c31893af 100644
--- a/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
+++ b/odoo/addons/test_main_flows/static/tests/tours/main_flow.js
@@ -895,6 +895,44 @@ tour.stepUtils.mobileModifier(tour.stepUtils.autoExpandMoreButtons('.o_control_p
extra_trigger: '.o_form_readonly',
content: _t('See Timesheets'),
position: 'bottom',
+}, {
+ mobile: true,
+ trigger: '.o_enable_searchview',
+ content: _t('Open the search field'),
+ position: 'bottom',
+}, {
+ mobile: true,
+ trigger: '.o_toggle_searchview_full',
+ content: _t('Open the full search field'),
+ position: 'bottom',
+}, {
+ trigger: '.o_group_by_menu .o_dropdown_toggler',
+ content: _t('Click on the group by button'),
+ position: 'bottom',
+}, {
+ trigger: '.dropdown-item.selected:contains(Employee)',
+ extra_trigger: '.dropdown-menu.show',
+ content: _t('Remove group by employee'),
+ position: 'bottom',
+}, {
+ trigger: '.dropdown-item.selected:contains(Billable Type)',
+ extra_trigger: '.dropdown-menu.show',
+ content: _t('Remove group by billable type'),
+ position: 'bottom',
+}, {
+ mobile: true,
+ trigger: '.o_mobile_search_footer',
+ content: _t('Close the search dropdown on mobile'),
+ position: 'bottom',
+}, {
+ mobile: true,
+ trigger: '.o_cp_bottom_right .o_cp_switch_buttons .btn-link',
+ content: _t('Prepare to change the view on mobile'),
+ position: 'bottom',
+}, {
+ trigger: '.o_switch_view.o_list',
+ content: _t('Activate the list view'),
+ position: 'bottom',
}, {
trigger: '.o_list_button_add',
content: _t('Add a Timesheet'),