first commit
This commit is contained in:
44
modules/sale_promotion/sale_reporting.py
Normal file
44
modules/sale_promotion/sale_reporting.py
Normal file
@@ -0,0 +1,44 @@
|
||||
# This file is part of Tryton. The COPYRIGHT file at the top level of
|
||||
# this repository contains the full copyright notices and license terms.
|
||||
|
||||
from sql import Literal
|
||||
|
||||
from trytond.model import ModelView, fields
|
||||
from trytond.modules.sale.sale_reporting import Abstract
|
||||
|
||||
|
||||
class Promotion(Abstract, ModelView):
|
||||
__name__ = 'sale.reporting.promotion'
|
||||
|
||||
promotion = fields.Many2One('sale.promotion', "Promotion")
|
||||
|
||||
@classmethod
|
||||
def _sale_line_columns(cls, line, sale):
|
||||
return super()._sale_line_columns(line, sale) + [
|
||||
line.promotion.as_('promotion')]
|
||||
|
||||
@classmethod
|
||||
def _pos_sale_line_columns(cls, line, point, sale, currency):
|
||||
try:
|
||||
columns = super()._pos_sale_line_columns(
|
||||
line, point, sale, currency)
|
||||
except AttributeError:
|
||||
columns = []
|
||||
return columns + [Literal(None).as_('promotion')]
|
||||
|
||||
@classmethod
|
||||
def _columns(cls, tables, withs):
|
||||
line = tables['line']
|
||||
return super()._columns(tables, withs) + [line.promotion]
|
||||
|
||||
@classmethod
|
||||
def _group_by(cls, tables, withs):
|
||||
line = tables['line']
|
||||
return super()._group_by(tables, withs) + [line.promotion]
|
||||
|
||||
def get_rec_name(self, name):
|
||||
return self.promotion.rec_name if self.promotion else None
|
||||
|
||||
@classmethod
|
||||
def search_rec_name(cls, name, clause):
|
||||
return [('promotion.rec_name', *clause[1:])]
|
||||
Reference in New Issue
Block a user