Skip to content

Commit 203969f

Browse files
committed
[ADD] l10n_ar_sale: Tomamos la secuencia de los talonarios
Task: 72835
1 parent 6865227 commit 203969f

File tree

4 files changed

+40
-13
lines changed

4 files changed

+40
-13
lines changed

l10n_ar_sale/__manifest__.py

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
'name': 'Argentinian Sale Total Fields',
3-
'version': "17.0.1.1.0",
3+
'version': "17.0.1.2.0",
44
'category': 'Localization/Argentina',
55
'sequence': 14,
66
'author': 'ADHOC SA',

l10n_ar_sale/models/sale_order.py

+36-9
Original file line numberDiff line numberDiff line change
@@ -53,16 +53,43 @@ def _get_sale_checkbook(self):
5353
)
5454

5555
@api.model_create_multi
56-
def create(self, vals):
57-
for val in vals:
58-
if self.env.user.has_group('l10n_ar_sale.use_sale_checkbook') and \
59-
val.get('name', _('New')) == _('New') and \
60-
val.get('sale_checkbook_id'):
56+
def create(self, vals_list):
57+
for value in vals_list:
58+
if self.env.user.has_group('l10n_ar_sale.use_sale_checkbook') and value.get("sale_checkbook_id"):
59+
sale_checkbook = self.env["sale.checkbook"].browse(value["sale_checkbook_id"])
60+
if sale_checkbook.sequence_id:
61+
value["name"] = sale_checkbook.sequence_id._next() or _('New')
62+
return super(SaleOrder, self).create(vals_list)
63+
64+
@api.onchange('partner_id', 'sale_checkbook_id')
65+
def set_order_sequence(self):
66+
"""
67+
Este metodo muestra en el momento de crear la OV la sequencia del talonario
68+
"""
69+
if self.env.user.has_group('l10n_ar_sale.use_sale_checkbook') and \
70+
self.sale_checkbook_id:
6171
sale_checkbook = self.env['sale.checkbook'].browse(
62-
val.get('sale_checkbook_id'))
63-
val['name'] = sale_checkbook.sequence_id and\
64-
sale_checkbook.sequence_id._next() or _('New')
65-
return super(SaleOrder, self).create(vals)
72+
self.sale_checkbook_id.id)
73+
number_next = sale_checkbook.sequence_id.number_next_actual
74+
self.name = sale_checkbook.sequence_id.get_next_char(number_next) and\
75+
sale_checkbook.sequence_id.get_next_char(number_next) or _('New')
76+
77+
def write(self, vals):
78+
"""A sale checkbook could have a different order sequence, so we could
79+
need to change it accordingly"""
80+
if self.env.user.has_group('l10n_ar_sale.use_sale_checkbook') and self.sale_checkbook_id:
81+
sale_checkbook = self.sale_checkbook_id
82+
if sale_checkbook.sequence_id:
83+
for record in self:
84+
if record.state in {"draft", "sent"} and record.type_id.sequence_id != sale_checkbook.sequence_id:
85+
number_next = sale_checkbook.sequence_id.number_next_actual
86+
new_vals = vals.copy()
87+
new_vals["name"] = sale_checkbook.sequence_id.get_next_char(number_next) or _('New')
88+
super(SaleOrder, record).write(new_vals)
89+
else:
90+
super(SaleOrder, record).write(vals)
91+
return True
92+
return super().write(vals)
6693

6794
def _compute_tax_totals(self):
6895
""" Mandamos en contexto el invoice_date para calculo de impuesto con partner aliquot

l10n_ar_sale/views/sale_report_templates.xml

+2-2
Original file line numberDiff line numberDiff line change
@@ -57,9 +57,9 @@
5757
<attribute name="t-field">line.report_price_unit</attribute>
5858
</xpath>
5959

60-
<t t-set="taxes" position="attributes">
60+
<!-- <t t-set="taxes" position="attributes">
6161
<attribute name="t-value">', '.join([(tax.invoice_label or tax.name) for tax in line.report_tax_id])</attribute>
62-
</t>
62+
</t> -->
6363

6464
<t t-set="current_subtotal" t-value="current_subtotal + line.price_subtotal" position="attributes">
6565
<attribute name="t-value">current_subtotal + line.report_price_subtotal</attribute>

l10n_ar_sale/views/sale_view.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
<!-- <field name="currency_id" invisible="1"/> -->
1818
</xpath>
1919
<field name="payment_term_id" position="before">
20-
<field name="sale_checkbook_id" domain="[('company_id','in', [company_id, False])]" groups="l10n_ar_sale.use_sale_checkbook" readonly="state not in ['draft', 'sent']"/>
20+
<field name="sale_checkbook_id" domain="[('company_id','in', [company_id, False])]" groups="l10n_ar_sale.use_sale_checkbook" readonly="state not in ['draft', 'sent']" force_save="1"/>
2121
</field>
2222
</field>
2323
</record>

0 commit comments

Comments
 (0)