POS vista lista, modulo Tickets para gerencia con cancelacion auditada, y saldo a favor (recargas de anticipo desde expediente y agenda, canje en POS)
This commit is contained in:
@@ -54,6 +54,28 @@ class SkeenMonedero(models.Model):
|
||||
'history': history,
|
||||
}
|
||||
|
||||
def add_deposit(self, amount, description='', reference='', operator=''):
|
||||
"""Recarga de saldo a favor (dinero a cuenta, p. ej. un anticipo).
|
||||
|
||||
A diferencia de add_points (puntos ganados por compra), el depósito es
|
||||
dinero que el paciente paga por adelantado: suma al mismo saldo y se
|
||||
puede canjear en el POS. El saldo se lleva en pesos enteros (1 pt = $1).
|
||||
"""
|
||||
self.ensure_one()
|
||||
amount = int(round(float(amount or 0)))
|
||||
if amount <= 0:
|
||||
raise ValidationError(_('El monto de la recarga debe ser mayor a 0'))
|
||||
self.write({'points': self.points + amount})
|
||||
tx = self.env['skeen.monedero.transaction'].create({
|
||||
'monedero_id': self.id,
|
||||
'type': 'deposito',
|
||||
'points': amount,
|
||||
'description': description or 'Recarga de saldo a favor',
|
||||
'reference': reference,
|
||||
'operator': operator,
|
||||
})
|
||||
return tx
|
||||
|
||||
def add_points(self, points, description='', reference='', operator=''):
|
||||
"""Agregar puntos al monedero"""
|
||||
self.ensure_one()
|
||||
@@ -120,9 +142,11 @@ class SkeenMonederoTransaction(models.Model):
|
||||
|
||||
# Transacción
|
||||
type = fields.Selection([
|
||||
('deposito', 'Depósito (saldo a favor)'),
|
||||
('accrual', 'Acumulación'),
|
||||
('redemption', 'Redención'),
|
||||
('adjustment', 'Ajuste'),
|
||||
('reversion', 'Reversión'),
|
||||
('expiration', 'Vencimiento'),
|
||||
], string='Tipo', required=True)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user