Commit eb046ca0 by Maria Agustina

avance turnos

1 parent 2eb8b5b6
from . import models
from . import generadores
from . import wizzard
......@@ -54,9 +54,10 @@ hgt_turnos Module Project.
'data': [
# 'reportes/report_aeroo_turno.xml',
# 'security/reglas.xml',
'datos_xml/caja_gerencial.xml',
'wizzard/cierre_turno.xml',
'view/vista_turnos.xml',
# 'view/transferencia.xml',
# 'view/cierre_turno.xml',
# 'view/caja_view.xml',
# 'view/turno_view.xml',
# 'view/entrada_dinero.xml',
......
<odoo>
<data noupdate='1'>
<record id="asw_caja_gerencial" model="asw.caja">
<field name='caja_nombre'> Caja Gerencial</field>
<field name='caja_usuario_ids'>[(4, 1)] </field>
</record>
</data>
</odoo>
\ No newline at end of file
......@@ -8,11 +8,11 @@ class asw_generador_valores(models.AbstractModel):
_inherit = ['asw.generador_valores']
def crear_valor_turno_efectivo(self, importe, turno, motivo, entrada_salida, caja, con_turno=True):
print("entroooo a la fx crear valor turno efect")
valor = self.crear_valor_efectivo(turno.create_date, importe,entrada_salida,caja)
print("el valor creado es" + str(valor.val_monto))
id_turno = False
if(con_turno):
id_turno = turno.id
......@@ -21,7 +21,7 @@ class asw_generador_valores(models.AbstractModel):
'val_caja': caja,
'val_turno' : id_turno
})
print("la caja es" + str(turno.turno_caja))
valor._compute_val_monto_valorizado()
def crear_valor_efectivo(self, fecha, importe, mov_caja, caja):
......
No preview for this file type
......@@ -94,17 +94,15 @@ class asw_turno(models.Model):
@api.model
def create(self, values):
result = super(asw_turno, self).create(values)
# self.validar_turnos_usuario(values)
values['turno_monto_final'] = values['turno_monto_inicial']
values['turno_estado'] = 'abierto'
self.validar_turnos_usuario(values)
#values['turno_monto_final'] = values['turno_monto_inicial']
ncaja = self.crear_caja(result.id)
result.crear_valor_inicial(ncaja)
print('SE CREO' + str(ncaja))
return result
def crear_caja(self,turno_id):
#creo caja
print('SE ENTRO A CREAR CAJA')
usuario= str(self.env.user.name)
fecha = str(date.today())
nom = "Caja de turno "+ usuario + " " + fecha
......@@ -118,7 +116,6 @@ class asw_turno(models.Model):
return nva_caja.id
def crear_valor_inicial(self,caja):
print("entro a crear val inicial")
#esto queda en desuso puesto que la caja esta creada de cero:
# minicial_caja = self.turno_caja.get_total_efectivo()
# if(minicial_caja != 0):
......@@ -143,15 +140,16 @@ class asw_turno(models.Model):
turno_activo = usuario.get_turno_activo()
if len(turno_activo) > 0:
raise UserError('Ya hay un turno abierto. Por favor ciérrelo y vuelva a intentarlo')
raise UserError('Ya hay un turno abierto. Por favor ciérrelo y vuelva a intentarlo')
def _compute_nombre(self):
for record in self:
record.turno_nombre = "{} {}".format(record.id, record.turno_usuario.display_name)
def abrir_turno(self):
self.turno_estado = 'abierto'
# turno_comprobantes = fields.One2many(
# string = 'Comprobantes',
# comodel_name = 'asw.comprobante',
......
......@@ -7,6 +7,17 @@
<field name="arch" type="xml">
<form string="Turno">
<header>
<button id='abrir_turno' name="abrir_turno"
string="Abrir turno"
type="object"
class="oe_highlight"
attrs="{'invisible': [('turno_estado', '!=', 'borrador')]}" />
<button id='cerrar_turno' name="%(action_cierre_turno)d"
string="Cerrar turno"
type="action"
attrs="{'invisible': [('turno_estado', '!=', 'abierto')]}" />
<field name="turno_estado" widget="statusbar"/>
</header>
<sheet>
......@@ -110,6 +121,9 @@
"search_default_turno_estado": "abierto",
"default_turno_estado": "abierto",
}</field> -->
<field name="help" type="html">
<p class="oe_view_nocontent_create">Cree aquí el primer Turno</p>
</field>
</record>
</data>
</odoo>
\ No newline at end of file
from . import cierre_turno
\ No newline at end of file
No preview for this file type
# -*- coding: utf-8 -*-
###############################################################################
# License, author and contributors information in: #
# __manifest__.py file at the root folder of this module. #
###############################################################################
from odoo import models, fields, api, _
from odoo.exceptions import UserError, ValidationError
class asw_cierre_turno(models.TransientModel):
_name = 'asw.cierre_turno'
_description = u'Cierre de Turno'
monto = fields.Float(
string = 'Monto'
)
turno = fields.Many2one(
string = 'Turno',
comodel_name = 'asw.turno.caja',
on_delete = 'set null',
)
@api.model
def default_get(self, values):
result = super(asw_cierre_turno, self).default_get(values)
result['turno'] = self.env.context.get('active_id')
return result
@api.multi
def button_save(self):
if not self.turno.display_name: # False cuando no se devolvio ningun registro
raise UserError('''Sr. usuario, no tiene ningun turno registrado para
este día. Por favor corrija su situación y vuelva a intentarlo.''')
if self.turno.turno_estado == 'cerrado':
raise UserError('''El turno que intenta cerrar ya ha sido cerrado''')
self.turno.turno_monto_final_real = self.monto
self.turno.turno_diferencia = self.turno.turno_monto_final_real - self.turno.turno_monto_final
self.turno.turno_estado = 'cerrado'
self.transferir_gerencial()
# obj = self.env.ref('asw_multiples_cajas.aeroo_turno_report_id').report_action(self)
# return obj
def transferir_gerencial(self):
#hace la transferencia a la caja credencial e inactiva la caja del turno
caja_turno = self.turno.turno_caja
caja_turno_val_tot = caja_turno.total_valores
caja_gerencial = self.env.ref('hgt_turnos.asw_caja_gerencial')
val_co = self.env['asw.valores'].crear_valor_salida(caja_turno_val_tot,caja_turno.id)
val_de = self.env['asw.valores'].crear_valor_entrada(caja_turno_val_tot,caja_gerencial.id)
val_co.write({'val_nro_pago': 'Cierre turno de '+ str(caja_turno.caja_nombre)})
val_de.write({'val_nro_pago': 'Cierre turno de '+ str(caja_turno.caja_nombre)})
caja_turno.write({
'caja_valor_ids' : [(4,val_co.id)]
})
caja_gerencial.write({
'caja_valor_ids' : [(4,val_de.id)]
})
caja_turno.caja_active = False
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<record id="view_cierre_turno_form" model="ir.ui.view">
<field name="name">Wizard</field>
<field name="model">asw.cierre_turno</field>
<field name="type">form</field>
<field name="arch" type="xml">
<form string="Complete los campos">
<group>
<field name="monto"/>
<field name="turno"
domain="[
('turno_fecha', '=', time.strftime('%%Y-%%m-%%d')),
('turno_usuario', '=', uid)
]"
/>
</group>
<footer>
<button name="button_save" string="Cerrar Turno" type="object" class="oe_highlight"/>
<button special="cancel" string="Cancelar" class="oe_link" default_focus="1"/>
</footer>
</form>
</field>
</record>
<record id="action_cierre_turno" model="ir.actions.act_window">
<field name="name">Wizard</field>
<field name="res_model">asw.cierre_turno</field>
<field name="view_type">form</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
</odoo>
\ No newline at end of file
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!