Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[14.0][REF] engenere_partner_sales_info: refactor fields #50

Draft
wants to merge 1 commit into
base: 14.0
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 23 additions & 19 deletions engenere_partner_sales_info/i18n/pt_BR.po
Original file line number Diff line number Diff line change
Expand Up @@ -32,15 +32,6 @@ msgstr "Período de Análise (Meses)"
msgid "Analysis Settings"
msgstr "Configurações de Análise"

#. module: engenere_partner_sales_info
#: code:addons/engenere_partner_sales_info/models/res_partner.py:0
#, python-format
msgid ""
"Analysis period: %(months)d months. Note: bonus amounts are not excluded."
msgstr ""
"Período de análise: %(months)d meses. Nota: os valores bonificados não são "
"excluídos."

#. module: engenere_partner_sales_info
#: model:ir.model.fields,field_description:engenere_partner_sales_info.field_res_partner__average_invoiced
#: model:ir.model.fields,field_description:engenere_partner_sales_info.field_res_users__average_invoiced
Expand Down Expand Up @@ -113,6 +104,11 @@ msgstr "Valor médio do pedido excluindo valores atípicos"
msgid "Average sale order amount for this customer"
msgstr "Valor médio do pedido de venda para este cliente"

#. module: engenere_partner_sales_info
#: model:ir.model.fields.selection,name:engenere_partner_sales_info.selection__res_partner__last_order_status__cancel
msgid "Cancelled"
msgstr "Cancelado"

#. module: engenere_partner_sales_info
#: model:ir.model,name:engenere_partner_sales_info.model_res_config_settings
msgid "Config Settings"
Expand Down Expand Up @@ -177,12 +173,6 @@ msgstr "Nome Exibido"
msgid "ID"
msgstr "ID"

#. module: engenere_partner_sales_info
#: model:ir.model.fields,help:engenere_partner_sales_info.field_res_partner__has_open_quotation
#: model:ir.model.fields,help:engenere_partner_sales_info.field_res_users__has_open_quotation
msgid "Indicates if there are any draft/sent quotations for this customer"
msgstr "Indica se há rascunhos ou cotações enviadas para este cliente"

#. module: engenere_partner_sales_info
#: model_terms:ir.ui.view,arch_db:engenere_partner_sales_info.view_partner_form_sales_info
msgid "Invoice Information"
Expand Down Expand Up @@ -242,6 +232,11 @@ msgstr "Data da Última Cotação Aberta"
msgid "Last sale order of this customer"
msgstr "Último pedido de venda deste cliente"

#. module: engenere_partner_sales_info
#: model:ir.model.fields.selection,name:engenere_partner_sales_info.selection__res_partner__last_order_status__done
msgid "Locked"
msgstr "Trancado"

#. module: engenere_partner_sales_info
#: model:ir.model.fields,help:engenere_partner_sales_info.field_res_partner__last_invoice_id
#: model:ir.model.fields,help:engenere_partner_sales_info.field_res_users__last_invoice_id
Expand Down Expand Up @@ -298,6 +293,16 @@ msgstr "Análise de Vendas do Parceiro"
msgid "Pending Quotation?"
msgstr "Cotação Pendente?"

#. module: engenere_partner_sales_info
#: model:ir.model.fields.selection,name:engenere_partner_sales_info.selection__res_partner__last_order_status__draft
msgid "Quotation"
msgstr "Cotação"

#. module: engenere_partner_sales_info
#: model:ir.model.fields.selection,name:engenere_partner_sales_info.selection__res_partner__last_order_status__sent
msgid "Quotation Sent"
msgstr "Cotação Enviada"

#. module: engenere_partner_sales_info
#: model_terms:ir.ui.view,arch_db:engenere_partner_sales_info.view_partner_form_sales_info
msgid "Quotation Status"
Expand All @@ -316,10 +321,9 @@ msgid "Sales Analysis"
msgstr "Análise de Vendas"

#. module: engenere_partner_sales_info
#: model:ir.model.fields,field_description:engenere_partner_sales_info.field_res_config_settings__smart_search
#: model:ir.model.fields,field_description:engenere_partner_sales_info.field_res_partner__smart_search
msgid "Smart Search"
msgstr "Busca Inteligente"
#: model:ir.model.fields.selection,name:engenere_partner_sales_info.selection__res_partner__last_order_status__sale
msgid "Sales Order"
msgstr "Pedido de Venda"

#. module: engenere_partner_sales_info
#: model:ir.model.fields,help:engenere_partner_sales_info.field_res_partner__last_order_status
Expand Down
19 changes: 8 additions & 11 deletions engenere_partner_sales_info/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,17 @@ class ResPartner(models.Model):
help="Last sale order of this customer",
)
last_order_date = fields.Date(
string="Last Order Date",
compute="_compute_sales_info",
help="Date of the customer's most recent sale order",
)
last_order_status = fields.Char(
string="Last Order Status",
last_order_status = fields.Selection(
[
("draft", "Quotation"),
("sent", "Quotation Sent"),
("sale", "Sales Order"),
("done", "Locked"),
("cancel", "Cancelled"),
],
compute="_compute_sales_info",
help="Status of the customer's most recent sale order",
)
Expand All @@ -31,12 +36,10 @@ class ResPartner(models.Model):
help="Total number of sale orders for this customer",
)
total_ordered = fields.Monetary(
string="Total Ordered",
compute="_compute_sales_info",
help="Sum of all sale order amounts for this customer",
)
average_ordered = fields.Monetary(
string="Average Ordered",
compute="_compute_sales_info",
help="Average sale order amount for this customer",
)
Expand All @@ -51,12 +54,10 @@ class ResPartner(models.Model):
help="Average number of days between sale orders",
)
days_since_last_order = fields.Integer(
string="Days Since Last Order",
compute="_compute_sales_info",
help="Number of days since the most recent sale order",
)
last_invoice_date = fields.Date(
string="Last Invoice Date",
compute="_compute_sales_info",
help="Date of the customer's most recent invoice",
)
Expand All @@ -66,12 +67,10 @@ class ResPartner(models.Model):
help="Total number of invoices for this customer",
)
total_invoiced = fields.Monetary(
string="Total Invoiced",
compute="_compute_sales_info",
help="Sum of all invoice amounts for this customer",
)
average_invoiced = fields.Monetary(
string="Average Invoiced",
compute="_compute_sales_info",
help="Average invoice amount for this customer",
)
Expand All @@ -92,12 +91,10 @@ class ResPartner(models.Model):
help="Most recent invoice of this customer",
)
days_since_last_invoice = fields.Integer(
string="Days Since Last Invoice",
compute="_compute_sales_info",
help="Number of days since the most recent invoice",
)
analysis_message = fields.Text(
string="Analysis Message",
compute="_compute_analysis_message",
translate=True,
)
Expand Down
10 changes: 5 additions & 5 deletions engenere_partner_sales_info/tests/test_partner_sales_info.py
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ def test_with_invoices(self):
inv = self._create_invoice(self.customer_partner, 200, days_diff=5)
self.customer_partner._compute_sales_info()
self.assertEqual(self.customer_partner.invoice_count, 2)
self.assertAlmostEqual(self.customer_partner.total_invoiced, 300)
self.assertAlmostEqual(self.customer_partner.average_invoiced, 150)
self.assertAlmostEqual(self.customer_partner.total_invoiced, 345)
self.assertAlmostEqual(self.customer_partner.average_invoiced, 172.5)
self.assertEqual(self.customer_partner.last_invoice_id, inv)
self.assertEqual(self.customer_partner.last_invoice_date, inv.invoice_date)

Expand All @@ -72,9 +72,9 @@ def test_with_invoices_and_outliers(self):
self._create_invoice(self.customer_partner, 10000, days_diff=1)
self.customer_partner._compute_sales_info()
self.assertEqual(self.customer_partner.invoice_count, 4)
self.assertAlmostEqual(self.customer_partner.total_invoiced, 10330)
self.assertTrue(100 < self.customer_partner.average_invoiced < 10330)
self.assertTrue(self.customer_partner.average_invoiced_no_discrepancies < 1000)
self.assertEqual(self.customer_partner.total_invoiced, 11879.5)
self.assertEqual(self.customer_partner.average_invoiced, 2969.88)
self.assertEqual(self.customer_partner.average_invoiced_no_discrepancies, 126.5)

def test_days_since_last_invoice(self):
self._create_invoice(self.customer_partner, 150, days_diff=10)
Expand Down
Loading