Enviar factura en ZIP

This commit is contained in:
Mauricio Baeza 2017-12-30 00:19:48 -06:00
parent aa9eea9dd5
commit dd2ff53e6a
3 changed files with 24 additions and 4 deletions

View File

@ -150,6 +150,16 @@ class Configuracion(BaseModel):
def __str__(self):
return '{} = {}'.format(self.clave, self.valor)
@classmethod
def get_bool(cls, key):
data = (Configuracion
.select(Configuracion.valor)
.where(Configuracion.clave == key)
)
if data:
return util.get_bool(data[0].valor)
return False
@classmethod
def get_(cls, keys):
if isinstance(keys, str):
@ -206,6 +216,7 @@ class Configuracion(BaseModel):
fields = (
'chk_config_ocultar_metodo_pago',
'chk_config_ocultar_condiciones_pago',
'chk_config_send_zip',
'chk_config_anticipo',
'chk_config_cuenta_predial',
'chk_config_codigo_barras',
@ -2532,6 +2543,8 @@ class Facturas(BaseModel):
@classmethod
def send(cls, id, rfc):
values = Configuracion.get_({'fields': 'correo'})
in_zip = Configuracion.get_bool('chk_config_send_zip')
if not values:
msg = 'No esta configurado el servidor de correo de salida'
return {'ok': False, 'msg': msg}
@ -2545,7 +2558,10 @@ class Facturas(BaseModel):
msg = 'El cliente no tiene configurado el correo para facturas'
return {'ok': False, 'msg': msg}
files = (cls.get_zip(id, rfc),)
if in_zip:
files = (cls.get_zip(id, rfc),)
else:
files = (cls.get_pdf(id, rfc), cls.get_xml(id))
fields = util.make_fields(obj.xml)
server = {
@ -2558,6 +2574,7 @@ class Facturas(BaseModel):
options = {
'para': obj.cliente.correo_facturas,
'copia': values['correo_copia'],
'confirmar': util.get_bool(values['correo_confirmacion']),
'asunto': util.make_info_mail(values['correo_asunto'], fields),
'mensaje': util.make_info_mail(values['correo_mensaje'], fields),
'files': files,
@ -4347,7 +4364,7 @@ def test_correo(values):
server = {
'servidor': values['correo_servidor'],
'puerto': values['correo_puerto'],
'ssl': bool(values['correo_ssl'].replace('0', '')),
'ssl': util.get_bool(values['correo_ssl']),
'usuario': values['correo_usuario'],
'contra': values['correo_contra'],
}
@ -4355,7 +4372,7 @@ def test_correo(values):
options = {
'para': values['correo_usuario'],
'copia': ccp,
'confirmar': bool(values['correo_confirmacion'].replace('0', '')),
'confirmar': util.get_bool(values['correo_confirmacion']),
'asunto': values['correo_asunto'],
'mensaje': values['correo_mensaje'].replace('\n', '<br/>'),
'files': [],

View File

@ -52,6 +52,7 @@ var controllers = {
$$('txt_plantilla_donataria').attachEvent('onItemClick', txt_plantilla_donataria_click)
$$('chk_config_ocultar_metodo_pago').attachEvent('onItemClick', chk_config_item_click)
$$('chk_config_ocultar_condiciones_pago').attachEvent('onItemClick', chk_config_item_click)
$$('chk_config_send_zip').attachEvent('onItemClick', chk_config_item_click)
$$('chk_config_anticipo').attachEvent('onItemClick', chk_config_item_click)
$$('chk_config_ine').attachEvent('onItemClick', chk_config_item_click)
$$('chk_config_cuenta_predial').attachEvent('onItemClick', chk_config_item_click)

View File

@ -497,7 +497,9 @@ var options_admin_otros = [
labelRight: 'Ocultar método de pago'},
{view: 'checkbox', id: 'chk_config_ocultar_condiciones_pago', labelWidth: 0,
labelRight: 'Ocultar condiciones de pago'},
{}]},
{view: 'checkbox', id: 'chk_config_send_zip', labelWidth: 0,
labelRight: 'Enviar factura en ZIP'},
]},
{maxHeight: 20},
{template: 'Ayudas varias', type: 'section'},
{cols: [{maxWidth: 15},