changeset 3ef93ee6897a in modules/sale:default
details: https://hg.tryton.org/modules/sale?cmd=changeset;node=3ef93ee6897a
description:
Add model, record and records attribute on Wizard
issue9421
review309861012
diffstat:
sale.py | 49 +++++++++++++++----------------------------------
sale_reporting.py | 9 ++-------
2 files changed, 17 insertions(+), 41 deletions(-)
diffs (157 lines):
diff -r 54ad21608288 -r 3ef93ee6897a sale.py
--- a/sale.py Sat Jul 04 23:49:25 2020 +0200
+++ b/sale.py Tue Jul 07 23:56:10 2020 +0200
@@ -1783,11 +1783,8 @@
handle = StateTransition()
def default_ask(self, fields):
- Sale = Pool().get('sale.sale')
- sale = Sale(Transaction().context.get('active_id'))
-
moves = []
- for line in sale.lines:
+ for line in self.record.lines:
skips = set(line.moves_ignored)
skips.update(line.moves_recreated)
for move in line.moves:
@@ -1800,12 +1797,9 @@
def transition_handle(self):
pool = Pool()
- Sale = pool.get('sale.sale')
SaleLine = pool.get('sale.line')
- sale = Sale(Transaction().context['active_id'])
-
- for line in sale.lines:
+ for line in self.record.lines:
moves_ignored = []
moves_recreated = []
skips = set(line.moves_ignored)
@@ -1822,7 +1816,7 @@
'moves_ignored': [('add', moves_ignored)],
'moves_recreated': [('add', moves_recreated)],
})
- Sale.__queue__.process([sale])
+ self.model.__queue__.process([self.record])
return 'end'
@@ -1851,13 +1845,10 @@
handle = StateTransition()
def default_ask(self, fields):
- Sale = Pool().get('sale.sale')
-
- sale = Sale(Transaction().context['active_id'])
- skips = set(sale.invoices_ignored)
- skips.update(sale.invoices_recreated)
+ skips = set(self.record.invoices_ignored)
+ skips.update(self.record.invoices_recreated)
invoices = []
- for invoice in sale.invoices:
+ for invoice in self.record.invoices:
if invoice.state == 'cancelled' and invoice not in skips:
invoices.append(invoice.id)
return {
@@ -1866,10 +1857,6 @@
}
def transition_handle(self):
- Sale = Pool().get('sale.sale')
-
- sale = Sale(Transaction().context['active_id'])
-
invoices_ignored = []
invoices_recreated = []
for invoice in self.ask.domain_invoices:
@@ -1878,11 +1865,11 @@
else:
invoices_ignored.append(invoice.id)
- Sale.write([sale], {
+ self.model.write([self.record], {
'invoices_ignored': [('add', invoices_ignored)],
'invoices_recreated': [('add', invoices_recreated)],
})
- Sale.__queue__.process([sale])
+ self.model.__queue__.process([self.record])
return 'end'
@@ -1902,17 +1889,15 @@
return_ = StateAction('sale.act_sale_form')
def do_return_(self, action):
- Sale = Pool().get('sale.sale')
-
- sales = Sale.browse(Transaction().context['active_ids'])
- return_sales = Sale.copy(sales)
+ sales = self.records
+ return_sales = self.model.copy(sales)
for return_sale, sale in zip(return_sales, sales):
return_sale.origin = sale
for line in return_sale.lines:
if line.type == 'line':
line.quantity *= -1
return_sale.lines = return_sale.lines # Force saving
- Sale.save(return_sales)
+ self.model.save(return_sales)
data = {'res_id': [s.id for s in return_sales]}
if len(return_sales) == 1:
@@ -1938,15 +1923,11 @@
modify = StateTransition()
def get_sale(self):
- pool = Pool()
- Sale = pool.get('sale.sale')
-
- sale = Sale(Transaction().context['active_id'])
- if sale.state != 'draft':
+ if self.record.state != 'draft':
raise AccessError(
gettext('sale.msg_sale_modify_header_draft',
- sale=sale.rec_name))
- return sale
+ sale=self.record.rec_name))
+ return self.record
def default_start(self, fields):
sale = self.get_sale()
@@ -1971,7 +1952,7 @@
Line = pool.get('sale.line')
sale = self.get_sale()
- sale.__class__.write([sale], self.start._save_values)
+ self.model.write([sale], self.start._save_values)
# Call on_change after the save to ensure parent sale
# has the modified values
diff -r 54ad21608288 -r 3ef93ee6897a sale_reporting.py
--- a/sale_reporting.py Sat Jul 04 23:49:25 2020 +0200
+++ b/sale_reporting.py Tue Jul 07 23:56:10 2020 +0200
@@ -673,21 +673,16 @@
def transition_start(self):
pool = Pool()
- Region = pool.get('sale.reporting.region')
Country = pool.get('sale.reporting.country')
Subdivision = pool.get('sale.reporting.country.subdivision')
- region = Region(Transaction().context['active_id'])
- record = Region.union_unshard(region.id)
+ record = self.model.union_unshard(self.record.id)
if isinstance(record, Country):
return 'country'
elif isinstance(record, Subdivision):
return 'subdivision'
def _do_action(self, action):
- pool = Pool()
- Region = pool.get('sale.reporting.region')
- region = Region(Transaction().context['active_id'])
- record = Region.union_unshard(region.id)
+ record = self.model.union_unshard(self.record.id)
data = {
'id': record.id,
'ids': [record.id],