empresa-libre/source/app/models/db.py

536 lines
16 KiB
Python
Raw Normal View History

2017-06-28 23:55:53 -05:00
#!/usr/bin/env python
# ~ Empresa Libre
# ~ Copyright (C) 2016-2018 Mauricio Baeza Servin (web@correolibre.net)
# ~
# ~ This program is free software: you can redistribute it and/or modify
# ~ it under the terms of the GNU General Public License as published by
# ~ the Free Software Foundation, either version 3 of the License, or
# ~ (at your option) any later version.
# ~
# ~ This program is distributed in the hope that it will be useful,
# ~ but WITHOUT ANY WARRANTY; without even the implied warranty of
# ~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# ~ GNU General Public License for more details.
# ~
# ~ You should have received a copy of the GNU General Public License
# ~ along with this program. If not, see <http://www.gnu.org/licenses/>.
2017-06-28 23:55:53 -05:00
from . import main
class StorageEngine(object):
def __init__(self):
2017-09-30 23:14:44 -05:00
pass
2017-06-28 23:55:53 -05:00
2017-09-21 23:24:18 -05:00
def authenticate(self, args):
2017-09-30 23:14:44 -05:00
return main.authenticate(args)
2017-06-28 23:55:53 -05:00
2018-01-19 01:00:22 -06:00
def get_employees(self, values):
return main.Empleados.get_by(values)
2018-01-26 01:52:59 -06:00
def get_nomina(self, values):
return main.CfdiNomina.get_by(values)
2017-12-03 00:09:44 -06:00
def empresa_agregar(self, values):
2020-01-11 22:14:38 -06:00
# ~ return main.empresa_agregar(values['alta_rfc'], False)
return main._new_client(values['alta_rfc'], False)
2017-12-03 00:09:44 -06:00
def empresa_borrar(self, values):
2020-01-11 22:14:38 -06:00
# ~ return main.empresa_borrar(values['rfc'])
return main._delete_client(values['rfc'], False, False)
2017-12-03 00:09:44 -06:00
2018-06-03 00:00:04 -05:00
def respaldar_dbs(self):
return main.respaldar_dbs()
def get_values(self, table, values=None, session=None):
2020-01-11 22:14:38 -06:00
if table in ('allusuarios', 'usuarioupdate', 'main'):
return getattr(self, '_get_{}'.format(table))(values, session)
2017-10-02 00:12:22 -05:00
return getattr(self, '_get_{}'.format(table))(values)
2018-02-13 23:12:21 -06:00
def _get_timbres(self, values):
2018-07-25 16:27:53 -05:00
return main.Emisor.get_timbres()
2018-02-13 23:12:21 -06:00
2018-01-29 10:43:25 -06:00
def _get_schoolgroups(self, values):
return main.Grupos.get_by(values)
2018-01-29 00:05:54 -06:00
def _get_nivedusat(self, values):
return main.SATNivelesEducativos.get_by()
def _get_niveduall(self, values):
return main.NivelesEducativos.get_all()
2018-01-25 23:06:03 -06:00
def _get_titlelogin(self, values):
return main.get_title_app(2)
2018-01-20 01:33:02 -06:00
def _get_canopenpre(self, values):
return main.PreFacturasDetalle.can_open(values['id'])
2018-01-19 22:16:19 -06:00
def _get_importinvoice(self, values):
return main.import_invoice()
2020-01-11 22:14:38 -06:00
def _get_main(self, values, session):
return main.config_main(session['userobj'])
2017-11-26 23:40:14 -06:00
2017-11-19 14:34:54 -06:00
def _get_configtimbrar(self, values):
return main.config_timbrar()
2018-01-16 23:13:50 -06:00
def _get_invoicenotes(self, values):
return main.Facturas.get_notes(values['id'])
def save_invoice_notes(self, values):
return main.Facturas.save_notes(values)
2017-12-31 00:17:20 -06:00
def _get_configticket(self, values):
return main.config_ticket()
2017-11-23 23:56:03 -06:00
def _get_saldocuenta(self, values):
return main.CuentasBanco.get_saldo(values['id'])
def _get_validartimbrar(self, values):
return main.validar_timbrar()
2017-11-05 21:23:37 -06:00
def _get_preproductos(self, values):
return main.PreFacturasDetalle.facturar(values['id'])
2017-11-03 14:09:34 -06:00
def upload_file(self, session, table, file_obj):
if not 'rfc' in session:
return {'status': 'error'}
return main.upload_file(session['rfc'], table, file_obj)
2017-10-16 00:02:51 -05:00
def get_config(self, values):
return main.Configuracion.get_(values)
def add_config(self, values):
return main.Configuracion.add(values)
2017-10-30 13:57:02 -06:00
def add_cert(self, file_obj):
return main.Certificado.add(file_obj)
2017-10-08 22:01:19 -05:00
def validate_cert(self, values, session):
return main.Certificado.validate(values, session)
2017-10-16 00:02:51 -05:00
def validate_email(self, values):
return main.test_correo(values)
def send_email(self, values, session):
return main.Facturas.send(values['id'], session['rfc'])
2017-11-05 19:53:27 -06:00
def enviar_prefac(self, values):
return main.PreFacturas.enviar(values['id'])
2018-02-13 12:05:44 -06:00
def _get_verifysat(self, values):
return main.Facturas.get_verify_sat(values['id'])
2017-10-28 00:30:42 -05:00
def _get_filteryears(self, values):
2017-11-05 00:13:48 -06:00
years1 = main.Facturas.filter_years()
years2 = main.PreFacturas.filter_years()
return [years1, years2]
2017-10-28 00:30:42 -05:00
2017-12-21 01:13:28 -06:00
def _get_filteryearsticket(self, values):
return main.Tickets.filter_years()
2018-01-28 21:35:10 -06:00
def _get_filteryearsnomina(self, values):
return main.CfdiNomina.filter_years()
2017-11-17 00:38:06 -06:00
def _get_cuentayears(self, values):
return main.CuentasBanco.get_years()
2017-10-08 22:01:19 -05:00
def _get_cert(self, values):
return main.Certificado.get_data()
2017-10-02 00:12:22 -05:00
def _get_cp(self, values):
return main.get_cp(values['cp'])
def _get_formapago(self, values):
2017-10-07 00:16:58 -05:00
return main.SATFormaPago.get_activos(values)
2017-10-02 00:12:22 -05:00
2017-11-08 23:47:15 -06:00
def _get_tiporelacion(self, values):
return main.SATTipoRelacion.get_activos(values)
def _get_condicionespago(self, values):
return main.CondicionesPago.get_()
2017-10-04 00:11:49 -05:00
def _get_categorias(self, values):
return main.Categorias.get_all()
def _get_newkey(self, values):
return main.Productos.next_key()
def _get_unidades(self, values):
return main.SATUnidades.get_activos()
2022-01-20 00:06:05 -06:00
def _get_unitbykey(self, values):
return main.SATUnidades.get_activos_by_key()
2017-12-19 01:22:22 -06:00
def add_moneda(self, values):
return main.SATMonedas.add(values)
2017-11-14 20:04:01 -06:00
def add_unidad(self, values):
return main.SATUnidades.add(values)
2017-11-15 00:12:55 -06:00
def add_impuesto(self, values):
return main.SATImpuestos.add(values)
def add_usuario(self, values):
return main.Usuarios.add(values)
def edit_usuario(self, values):
return main.Usuarios.edit(values)
2017-10-04 00:11:49 -05:00
def _get_taxes(self, values):
return main.SATImpuestos.get_activos()
2017-11-03 22:23:15 -06:00
def _get_alltaxes(self, values):
return main.SATImpuestos.get_()
2017-11-06 22:59:39 -06:00
def _get_allcurrencies(self, values):
return main.SATMonedas.get_()
2017-11-11 20:21:00 -06:00
def _get_allbancos(self, values):
return main.SATBancos.get_()
2017-11-12 17:49:06 -06:00
def _get_allunidades(self, values):
return main.SATUnidades.get_()
2017-11-26 13:39:32 -06:00
def _get_allformasdepago(self, values):
return main.SATFormaPago.get_()
2018-01-14 00:31:36 -06:00
def _get_allusoscfdi(self, values):
return main.SATUsoCfdi.get_all()
def _get_allusuarios(self, values, session):
return main.Usuarios.get_(session['userobj'])
def _get_usuarioupdate(self, values, session):
return main.Usuarios.actualizar(values, session['userobj'])
2017-11-03 22:23:15 -06:00
def _get_taxupdate(self, values):
return main.SATImpuestos.actualizar(values)
2017-11-06 22:59:39 -06:00
def _get_currencyupdate(self, values):
return main.SATMonedas.actualizar(values)
2017-11-11 20:21:00 -06:00
def _get_bancoupdate(self, values):
return main.SATBancos.actualizar(values)
2018-02-12 21:49:25 -06:00
def _get_emisorbancoupdate(self, values):
return main.CuentasBanco.activate(values)
2017-11-12 17:49:06 -06:00
def _get_unidadupdate(self, values):
return main.SATUnidades.actualizar(values)
2017-11-26 13:39:32 -06:00
def _get_formasdepagoupdate(self, values):
return main.SATFormaPago.actualizar(values)
2018-01-14 00:31:36 -06:00
def _get_usocfdiupdate(self, values):
return main.SATUsoCfdi.actualizar(values)
2017-11-11 23:58:11 -06:00
def _get_emisorcuentasbanco(self, values):
return main.CuentasBanco.emisor()
2017-10-04 00:11:49 -05:00
def _get_satkey(self, values):
return main.get_sat_key(values['key'])
2017-12-19 01:22:22 -06:00
def _get_satmonedas(self, values):
return main.get_sat_monedas(values['key'])
2017-11-14 20:04:01 -06:00
def _get_satunidades(self, values):
return main.get_sat_unidades(values['key'])
def _get_satunidadespeso(self, values):
return main.get_sat_unidadespeso(values['key'])
2017-11-14 20:38:20 -06:00
def _get_satproductos(self, values):
return main.get_sat_productos(values['key'])
2017-10-04 23:22:05 -05:00
def _get_series(self, values):
return main.Folios.get_all()
def _get_monedas(self, values):
return main.SATMonedas.get_activos()
2017-11-11 23:58:11 -06:00
def _get_monedasid(self, values):
return main.SATMonedas.get_activos_by_id()
def _get_bancosid(self, values):
return main.SATBancos.get_activos_by_id()
2017-10-06 00:10:27 -05:00
def _get_regimenes(self, values):
2017-10-09 23:34:16 -05:00
return main.Emisor.get_regimenes()
2017-10-06 00:10:27 -05:00
2017-10-04 23:22:05 -05:00
def _get_usocfdi(self, values):
2017-11-12 21:56:45 -06:00
return main.SATUsoCfdi.get_activos()
2017-10-04 23:22:05 -05:00
2017-11-17 14:13:39 -06:00
def _get_ebancomov(self, values):
return main.MovimientosBanco.con(values['id'])
2018-06-25 22:56:02 -05:00
def delete(self, table, id, user=None):
if table == 'partner':
return main.Socios.remove(id)
2017-10-04 00:11:49 -05:00
if table == 'product':
return main.Productos.remove(id)
2017-10-06 00:10:27 -05:00
if table == 'invoice':
2018-06-25 22:56:02 -05:00
return main.Facturas.remove(id, user)
2017-10-09 23:34:16 -05:00
if table == 'folios':
return main.Folios.remove(id)
2017-11-05 00:13:48 -06:00
if table == 'preinvoice':
return main.PreFacturas.remove(id)
2017-11-15 00:12:55 -06:00
if table == 'satimpuesto':
return main.SATImpuestos.remove(id)
2018-01-10 01:35:11 -06:00
if table == 'satunit':
return main.SATUnidades.remove(id)
2017-11-17 14:13:39 -06:00
if table == 'cuentasbanco':
return main.CuentasBanco.remove(id)
2017-11-23 23:56:03 -06:00
if table == 'movbanco':
return main.MovimientosBanco.remove(id)
if table == 'usuario':
return main.Usuarios.remove(id)
2018-01-01 17:55:04 -06:00
if table == 'config':
return main.Configuracion.remove(id)
2018-01-29 00:05:54 -06:00
if table == 'nivedu':
return main.NivelesEducativos.remove(id)
2018-01-29 10:43:25 -06:00
if table == 'students':
return main.Alumnos.remove(id)
2018-01-24 22:37:28 -06:00
if table == 'employee':
return main.Empleados.remove(id)
2018-01-28 21:35:10 -06:00
if table == 'nomina':
return main.CfdiNomina.remove(id)
return False
2017-10-05 15:33:25 -05:00
def _get_client(self, values):
return main.Socios.get_by_client(values)
2018-01-29 13:21:06 -06:00
def _get_student(self, values):
return main.Alumnos.get_by_name(values)
2017-10-05 15:33:25 -05:00
def _get_product(self, values):
return main.Productos.get_by(values)
2017-10-05 12:16:20 -05:00
2017-12-20 01:15:48 -06:00
def _get_productokey(self, values):
return main.Productos.get_by_key(values)
2017-06-28 23:55:53 -05:00
def get_partners(self, values):
2017-10-04 00:11:49 -05:00
return main.Socios.get_(values)
2017-06-28 23:55:53 -05:00
def partner(self, values):
2018-02-12 16:01:46 -06:00
if 'opt' in values:
return main.Socios.opt(values)
2017-10-06 00:10:27 -05:00
id = int(values.pop('id', '0'))
if id:
return main.Socios.actualizar(values, id)
2018-02-12 16:01:46 -06:00
return main.Socios.add(values)
2017-06-28 23:55:53 -05:00
2017-10-04 00:11:49 -05:00
def get_products(self, values):
return main.Productos.get_(values)
2018-01-19 15:42:00 -06:00
def products(self, values):
2017-10-06 00:10:27 -05:00
id = int(values.pop('id', '0'))
2017-10-04 00:11:49 -05:00
if id:
return main.Productos.actualizar(values, id)
2018-01-19 15:42:00 -06:00
opt = values.get('opt', '')
if opt:
return main.Productos.opt(values)
2017-10-04 00:11:49 -05:00
return main.Productos.add(values)
2018-01-02 01:37:52 -06:00
def invoice(self, values, user):
2018-02-12 23:12:50 -06:00
if 'opt' in values:
return main.Facturas.opt(values, user)
2017-10-06 00:10:27 -05:00
id = int(values.pop('id', '0'))
if id:
return main.Facturas.actualizar(values, id)
2018-01-02 01:37:52 -06:00
return main.Facturas.add(values, user)
2017-10-06 00:10:27 -05:00
2020-01-07 00:32:48 -06:00
def invoice_put(self, values, user):
return main.Facturas.put(values, user)
2017-11-05 00:13:48 -06:00
def preinvoice(self, values):
id = int(values.pop('id', '0'))
#~ if id:
#~ return main.PreFacturas.actualizar(values, id)
return main.PreFacturas.add(values)
2018-01-29 01:55:42 -06:00
def get_students(self, values):
return main.Alumnos.get_by(values)
def students(self, values):
opt = values.pop('opt')
if opt == 'add':
return main.Alumnos.add(values['values'])
2018-01-29 10:43:25 -06:00
if opt == 'edit':
return main.Alumnos.actualizar(values['values'])
2018-01-29 01:55:42 -06:00
2018-01-02 01:37:52 -06:00
def tickets(self, values, user):
2017-12-20 01:15:48 -06:00
opt = values.pop('opt')
if opt == 'add':
2018-01-02 01:37:52 -06:00
return main.Tickets.add(values, user)
2017-12-21 01:13:28 -06:00
if opt == 'cancel':
2021-04-20 21:41:08 -05:00
return main.Tickets.cancel(values, user)
2017-12-25 23:30:34 -06:00
if opt == 'invoice':
2018-01-02 01:37:52 -06:00
return main.Tickets.invoice(values, user)
2018-01-01 02:14:30 -06:00
if opt == 'print':
return main.Tickets.printer(values)
2017-12-21 01:13:28 -06:00
2020-02-23 22:02:46 -06:00
def get_tickets(self, values, user):
return main.Tickets.get_by(values, user)
2017-12-20 01:15:48 -06:00
2020-02-23 22:02:46 -06:00
def get_invoices(self, filters, user):
2019-02-15 17:51:13 -06:00
if filters.get('by', ''):
2020-02-23 22:02:46 -06:00
return main.Facturas.get_by(filters, user)
2019-02-15 17:51:13 -06:00
return main.Facturas.get_(filters)
2017-10-06 00:10:27 -05:00
2017-11-05 00:13:48 -06:00
def get_preinvoices(self, values):
return main.PreFacturas.get_(values)
2018-06-03 00:00:04 -05:00
# ~ def _get_timbrar(self, values):
# ~ return main.Facturas.timbrar(values)
2017-06-28 23:55:53 -05:00
2017-11-12 21:56:45 -06:00
def _get_anticipoegreso(self, values):
return main.Facturas.anticipo_egreso(int(values['id']))
2017-10-07 23:52:11 -05:00
def get_emisor(self, rfc):
return main.Emisor.get_(rfc)
def emisor(self, values):
return main.Emisor.add(values)
2017-06-28 23:55:53 -05:00
2017-11-11 23:58:11 -06:00
def cuentasbanco(self, values):
return main.CuentasBanco.add(values)
# ~ def add_movbanco(self, values):
# ~ return main.MovimientosBanco.add(values)
2017-11-21 00:48:51 -06:00
2017-11-16 22:49:17 -06:00
def get_cuentasbanco(self, values):
return main.CuentasBanco.get_(values)
2017-10-09 23:34:16 -05:00
def get_folios(self):
return main.Folios.get_()
def add_folios(self, values):
return main.Folios.add(values)
2017-06-28 23:55:53 -05:00
2018-01-29 00:05:54 -06:00
def add_nivel_educativo(self, values):
return main.NivelesEducativos.add(values)
2017-10-15 02:30:55 -05:00
def get_doc(self, type_doc, id, rfc):
2017-12-31 00:17:20 -06:00
return main.get_doc(type_doc, id, rfc)
2017-10-10 22:42:11 -05:00
2017-11-17 00:38:06 -06:00
def get_movimientosbanco(self, values):
return main.MovimientosBanco.get_(values)
2017-11-29 23:57:31 -06:00
def importar_bdfl(self):
return main.importar_bdfl()
2018-08-24 00:52:59 -05:00
# ~ Revisado
def get_invoicepay(self, values):
return main.FacturasPagos.get_values(values)
2018-08-27 00:53:52 -05:00
def get_cfdipay(self, values):
return main.CfdiPagos.get_values(values)
2018-10-10 22:25:10 -05:00
def get_sat_bancos(self, values):
2018-10-08 01:13:46 -05:00
return main.SATBancos.get_values(values)
2018-10-10 22:25:10 -05:00
def get_sat_forma_pago(self, values):
return main.SATFormaPago.get_values(values)
2018-10-08 01:13:46 -05:00
def get_partners_accounts_bank(self, values):
return main.SociosCuentasBanco.get_values(values)
2018-08-27 00:53:52 -05:00
def cfdipay(self, values):
return main.CfdiPagos.post(values)
def bankmovement(self, values):
return main.MovimientosBanco.post(values)
2018-10-05 23:13:03 -05:00
2018-10-10 22:25:10 -05:00
def sat_bancos(self, values):
2018-10-05 23:13:03 -05:00
return main.SATBancos.post(values)
2018-10-08 01:13:46 -05:00
2018-10-10 22:25:10 -05:00
def sat_forma_pago(self, values):
return main.SATFormaPago.post(values)
2018-10-08 01:13:46 -05:00
def partners_accounts_bank(self, values):
return main.SociosCuentasBanco.post(values)
2019-04-01 23:09:32 -06:00
def nomina(self, values, user):
return main.CfdiNomina.post(values, user)
2020-03-01 23:18:26 -06:00
def sat_leyendas_fiscales_get(self, values):
return main.SATLeyendasFiscales.get_values(values)
def sat_leyendas_fiscales_post(self, values):
return main.SATLeyendasFiscales.post(values)
def sat_leyendas_fiscales_delete(self, values):
return main.SATLeyendasFiscales.remove(values)
2020-12-30 22:45:57 -06:00
# ~ v2
2021-06-13 23:12:07 -05:00
def cert_get(self, filters):
return main.Certificado.get_data(filters)
2020-12-30 22:45:57 -06:00
2021-06-13 23:12:07 -05:00
def cert_post(self, filters):
return main.Certificado.post(filters)
2020-12-30 22:45:57 -06:00
2021-06-13 23:12:07 -05:00
def sucursales_get(self, filters):
return main.Sucursales.get_data(filters)
2021-05-25 20:36:27 -05:00
2021-06-13 23:12:07 -05:00
def sucursales_post(self, filters):
return main.Sucursales.post(filters)
def partner_products_get(self, filters):
return main.PartnerProducts.get_data(filters)
2021-05-25 20:36:27 -05:00
2021-06-15 23:45:11 -05:00
def inventory_entries_get(self, filters):
return main.InventoryEntries.get_data(filters)
2021-07-08 12:56:40 -05:00
def inventory_entries_post(self, filters, user):
return main.InventoryEntries.post(filters, user)
2021-06-15 23:45:11 -05:00
2021-07-24 22:41:06 -05:00
def warehouse_get(self, filters):
2021-07-23 22:29:22 -05:00
return main.Almacenes.get_data(filters)
2021-07-24 22:41:06 -05:00
def warehouse_post(self, values, user):
2021-07-23 22:01:59 -05:00
return main.Almacenes.post(values, user)
2021-11-29 21:57:32 -06:00
def warehouseproduct_get(self, filters, user):
return main.WareHouseProduct.get_data(filters, user)
2021-09-05 20:29:08 -05:00
def warehouseproduct_post(self, filters, user):
return main.WareHouseProduct.post(filters, user)
2021-07-21 22:04:13 -05:00
def users_get(self, filters, user):
return main.Usuarios.get_data(filters, user)
2021-08-03 22:13:19 -05:00
def users_post(self, args, user):
return main.Usuarios.post(args, user)
2021-10-30 15:08:32 -05:00
def ticketsdetails_get(self, filters, user):
return main.TicketsDetalle.get_data(filters, user)
2021-11-29 21:57:32 -06:00
def products_get(self, filters, user):
return main.Productos.get_data(filters, user)
2021-12-12 14:46:53 -06:00
def nomina_get(self, filters, user):
return main.CfdiNomina.get_data(filters, user)
def sat_unidades_peso_get(self, filters, user):
return main.SATUnidadesPeso.get_data(filters, user)
def sat_unidades_peso_post(self, args, user):
return main.SATUnidadesPeso.post(args, user)
2022-03-10 20:29:50 -06:00
def sat_regimenes_get(self, filters, user):
return main.SATRegimenes.get_data(filters, user)
2020-01-11 22:14:38 -06:00
# Companies only in MV
def _get_empresas(self, values):
return main.companies_get()