Skip to content
Snippets Groups Projects
Commit 9a636f6d authored by Julien - Le Filament's avatar Julien - Le Filament
Browse files

[ADD] use tag in sales report

parent 660122c1
No related branches found
No related tags found
1 merge request!216.0 add tags
# Copyright 2023 Le Filament (https://le-filament.com) # Copyright 2023 Le Filament (https://le-filament.com)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html) # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
from odoo import fields, models, tools from odoo import fields, models, tools, api
class HallContractSaleReport(models.Model): class HallContractSaleReport(models.Model):
...@@ -18,8 +18,11 @@ class HallContractSaleReport(models.Model): ...@@ -18,8 +18,11 @@ class HallContractSaleReport(models.Model):
slot_id = fields.Many2one( slot_id = fields.Many2one(
comodel_name="hall.day.slot", string="Créneau Horaire", readonly=True comodel_name="hall.day.slot", string="Créneau Horaire", readonly=True
) )
tag_id = fields.Many2one( tag_ids = fields.Many2many(
comodel_name="hall.contract.tag", string="Etiquette", readonly=True comodel_name="hall.contract.tag",
string="Etiquette",
compute="_compute_tags",
search="_search_tags",
) )
nb_receipts = fields.Integer("Nombre de tickets") nb_receipts = fields.Integer("Nombre de tickets")
...@@ -86,6 +89,14 @@ class HallContractSaleReport(models.Model): ...@@ -86,6 +89,14 @@ class HallContractSaleReport(models.Model):
], ],
} }
@api.depends('contract_id')
def _compute_tags(self):
for s in self:
s.tag_ids = s.contract_id.tag_ids
def _search_tags(self, operator, value):
return [('contract_id.tag_ids', operator, value)]
def _select(self): def _select(self):
return """ return """
SELECT SELECT
...@@ -93,7 +104,6 @@ class HallContractSaleReport(models.Model): ...@@ -93,7 +104,6 @@ class HallContractSaleReport(models.Model):
s.contract_id, s.contract_id,
s.day_date, s.day_date,
s.slot_id, s.slot_id,
s.tag_id,
s.nb_receipts, s.nb_receipts,
s.nb_seats, s.nb_seats,
s.sales_excl_taxes, s.sales_excl_taxes,
...@@ -120,8 +130,6 @@ class HallContractSaleReport(models.Model): ...@@ -120,8 +130,6 @@ class HallContractSaleReport(models.Model):
hall_contract_sale s hall_contract_sale s
LEFT JOIN LEFT JOIN
hall_contract c ON c.id = s.contract_id hall_contract c ON c.id = s.contract_id
LEFT JOIN
hall_contract_tag ct ON ct.id = s.tag_id
LEFT JOIN LEFT JOIN
hall_contract_sale_tax tva5 ON tva5.sale_id = s.id and tva5.tax_rate = 0.055 hall_contract_sale_tax tva5 ON tva5.sale_id = s.id and tva5.tax_rate = 0.055
LEFT JOIN LEFT JOIN
......
...@@ -11,7 +11,6 @@ ...@@ -11,7 +11,6 @@
<field name="contract_id" type="col" /> <field name="contract_id" type="col" />
<field name="day_date" type="row" /> <field name="day_date" type="row" />
<field name="slot_id" type="row" /> <field name="slot_id" type="row" />
<field name="tag_id" type="row" />
<field name="sales_excl_taxes" type="measure" /> <field name="sales_excl_taxes" type="measure" />
<field name="sales_incl_taxes" type="measure" /> <field name="sales_incl_taxes" type="measure" />
</pivot> </pivot>
...@@ -36,7 +35,7 @@ ...@@ -36,7 +35,7 @@
<tree> <tree>
<field name="day_date" optional="show" /> <field name="day_date" optional="show" />
<field name="contract_id" optional="hide" /> <field name="contract_id" optional="hide" />
<field name="tag_id" optional="hide" /> <field name="tag_ids" optional="hide" />
<field name="commercial_name" /> <field name="commercial_name" />
<field name="hall_id" /> <field name="hall_id" />
<field name="stand_id" optional="hide" /> <field name="stand_id" optional="hide" />
...@@ -73,7 +72,7 @@ ...@@ -73,7 +72,7 @@
<field name="day_date" /> <field name="day_date" />
<field name="location" /> <field name="location" />
<field name="day_name" /> <field name="day_name" />
<field name="tag_ids" />
<filter <filter
name="filter_day_date" name="filter_day_date"
date="day_date" date="day_date"
...@@ -129,6 +128,7 @@ ...@@ -129,6 +128,7 @@
<field name="contract_id" select="multi" filters="1" /> <field name="contract_id" select="multi" filters="1" />
<field name="day_name" select="multi" filters="1" /> <field name="day_name" select="multi" filters="1" />
<field name="slot_id" select="multi" filters="1" /> <field name="slot_id" select="multi" filters="1" />
<field name="tag_ids" select="multi" filters="1" />
</searchpanel> </searchpanel>
</search> </search>
</field> </field>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment