modify report historydelete product

This commit is contained in:
Wilson Gomez 2023-10-13 17:00:26 -05:00
parent 8407727615
commit 80f343e11f
4 changed files with 425 additions and 366 deletions

File diff suppressed because it is too large Load diff

View file

@ -12,8 +12,8 @@ this repository contains the full copyright notices and license terms. -->
<record model="ir.message" id="msg_party_not_account_receivable"> <record model="ir.message" id="msg_party_not_account_receivable">
<field name="text">Party %s has no any account receivable defined. Please, assign one.</field> <field name="text">Party %s has no any account receivable defined. Please, assign one.</field>
</record> </record>
<record model="ir.message" id="msg_delete_error"> <record model="ir.message" id="msg_sale_delete_error">
<field name="text">The sale '%(sale)s' can not delete </field> <field name="text">The sale can not delete becouse this order has sended</field>
</record> </record>
<record model="ir.message" id="msg_quantity_mix_error"> <record model="ir.message" id="msg_quantity_mix_error">
<field name="text">The quantity '%(quantity)s' must be less than '%(product_mix)s' in products mix </field> <field name="text">The quantity '%(quantity)s' must be less than '%(product_mix)s' in products mix </field>

11
sale.py
View file

@ -236,12 +236,10 @@ class Sale(metaclass=PoolMeta):
@classmethod @classmethod
def delete(cls, sales): def delete(cls, sales):
for sale in sales: has_order_sended = any(line.order_sended for sale in sales for line in sale.lines)
for line in sale.lines: if has_order_sended:
if line.order_sended:
raise DeleteSaleError( raise DeleteSaleError(
gettext('sale_pos_frontend_rest.msg_delete_error', gettext('sale_pos_frontend_rest.msg_sale_delete_error'))
sale=sale.number))
super(Sale, cls).delete(sales) super(Sale, cls).delete(sales)
@classmethod @classmethod
@ -542,6 +540,7 @@ class SaleLineHistoryDelete(ModelView, ModelSQL):
salesman = fields.Many2One('company.employee', 'Salesman') salesman = fields.Many2One('company.employee', 'Salesman')
line_created = fields.DateTime('Line Created') line_created = fields.DateTime('Line Created')
class SaleLineHistoryDeleteStart(ModelSQL, ModelView): class SaleLineHistoryDeleteStart(ModelSQL, ModelView):
'Sale Line History Delete Start' 'Sale Line History Delete Start'
__name__ = 'line_history.delete_start' __name__ = 'line_history.delete_start'
@ -613,6 +612,8 @@ class SaleLineHistoryDeleteReport(Report):
('date', '>=', data['start_date']), ('date', '>=', data['start_date']),
('date', '<=', data['end_date']), ('date', '<=', data['end_date']),
] ]
if data['shop']:
domain.append(('shop', '=', data['shop']))
records = History.search_read(domain) records = History.search_read(domain)
record_ids = [r['id'] for r in records] record_ids = [r['id'] for r in records]
records = cls._get_records(record_ids, 'sale.line._history.delete', data) records = cls._get_records(record_ids, 'sale.line._history.delete', data)

View file

@ -5,7 +5,7 @@ The COPYRIGHT file at the top level of this repository contains the full copyrig
<label name="company"/> <label name="company"/>
<field name="company"/> <field name="company"/>
<label name="shop"/> <label name="shop"/>
<field name="shop"/> <field name="shop" widget="selection"/>
<label name="start_date"/> <label name="start_date"/>
<field name="start_date"/> <field name="start_date"/>
<label name="end_date"/> <label name="end_date"/>