parent
9ec5f6d70f
commit
89fcc0be2f
|
@ -96,4 +96,8 @@ msgstr "Mover"
|
||||||
|
|
||||||
msgctxt "field:sale.line.quick_action.move,sale:"
|
msgctxt "field:sale.line.quick_action.move,sale:"
|
||||||
msgid "Sale"
|
msgid "Sale"
|
||||||
|
msgstr "Venta"
|
||||||
|
|
||||||
|
msgctxt "field:sale.line.quick_action.duplicate,sale:"
|
||||||
|
msgid "Sale"
|
||||||
msgstr "Venta"
|
msgstr "Venta"
|
36
sale.py
36
sale.py
|
@ -136,10 +136,8 @@ class SaleLineQuickActionDuplicate(ModelView):
|
||||||
__name__ = 'sale.line.quick_action.duplicate'
|
__name__ = 'sale.line.quick_action.duplicate'
|
||||||
|
|
||||||
copies = fields.Integer('Copies', required=True)
|
copies = fields.Integer('Copies', required=True)
|
||||||
|
sale = fields.Many2One('sale.sale', 'Sale', required=True,
|
||||||
@classmethod
|
domain=[('state', '=', 'draft')])
|
||||||
def default_copies(cls):
|
|
||||||
return 1
|
|
||||||
|
|
||||||
|
|
||||||
class SaleLineQuickAction(Wizard):
|
class SaleLineQuickAction(Wizard):
|
||||||
|
@ -192,11 +190,8 @@ class SaleLineQuickAction(Wizard):
|
||||||
}
|
}
|
||||||
|
|
||||||
def transition_do_duplicate(self):
|
def transition_do_duplicate(self):
|
||||||
pool = Pool()
|
self._create_lines(self.duplicate.sale,
|
||||||
SaleLine = pool.get('sale.line')
|
copies=self.duplicate.copies)
|
||||||
|
|
||||||
records = SaleLine.browse(Transaction().context['active_ids'])
|
|
||||||
SaleLine.copy(records * self.duplicate.copies)
|
|
||||||
return 'end'
|
return 'end'
|
||||||
|
|
||||||
def default_split(self, fields):
|
def default_split(self, fields):
|
||||||
|
@ -223,12 +218,25 @@ class SaleLineQuickAction(Wizard):
|
||||||
def _get_split_values(self):
|
def _get_split_values(self):
|
||||||
return {}
|
return {}
|
||||||
|
|
||||||
def transition_do_move(self):
|
def transition_do_move(self, copies=1, delete_lines=True):
|
||||||
|
self._create_lines(self.move.sale, move=True)
|
||||||
|
return 'end'
|
||||||
|
|
||||||
|
def _create_lines(self, sale, copies=1, move=False):
|
||||||
pool = Pool()
|
pool = Pool()
|
||||||
SaleLine = pool.get('sale.line')
|
SaleLine = pool.get('sale.line')
|
||||||
sale_lines = SaleLine.browse(Transaction().context['active_ids'])
|
sale_lines = SaleLine.browse(Transaction().context['active_ids'])
|
||||||
SaleLine.copy(sale_lines, default={
|
SaleLine.copy(sale_lines * copies, default={
|
||||||
'sale': self.move.sale.id
|
'sale': sale.id
|
||||||
})
|
})
|
||||||
SaleLine.delete(sale_lines)
|
if move:
|
||||||
return 'end'
|
SaleLine.delete(sale_lines)
|
||||||
|
|
||||||
|
def default_duplicate(self, fields):
|
||||||
|
pool = Pool()
|
||||||
|
SaleLine = pool.get('sale.line')
|
||||||
|
sale_line = SaleLine(Transaction().context['active_id'])
|
||||||
|
return {
|
||||||
|
'copies': 1,
|
||||||
|
'sale': sale_line.sale.id
|
||||||
|
}
|
||||||
|
|
|
@ -2,7 +2,9 @@
|
||||||
<!-- The COPYRIGHT file at the top level of this repository contains the full
|
<!-- The COPYRIGHT file at the top level of this repository contains the full
|
||||||
copyright notices and license terms. -->
|
copyright notices and license terms. -->
|
||||||
|
|
||||||
<form>
|
<form col="2">
|
||||||
|
<label name="sale"/>
|
||||||
|
<field name="sale"/>
|
||||||
<label name="copies"/>
|
<label name="copies"/>
|
||||||
<field name="copies"/>
|
<field name="copies"/>
|
||||||
</form>
|
</form>
|
Loading…
Reference in New Issue