def crear(self, job_id, nombre_archivo, user_crea, tipocarga=0): paramsdao = TParamsDao(self.dbsession) path_save_jobs = paramsdao.get_ruta_savejobs() if self.existe(job_id): tjobdoc = self.find_by_job(job_id) if tjobdoc is not None: tjobdoc_cloned = copy.copy(tjobdoc) ruta = "{0}{1}{2}".format(path_save_jobs, os.path.sep, nombre_archivo) tjobdoc.tjd_ruta = ruta tjobdoc.tjd_tipo = tipocarga tauditdao = TAuditDao(self.dbsession) tauditdao.crea_accion_update(enums.TBL_JOBDOC, 'tjd_ruta', user_crea, tjobdoc_cloned.tjd_ruta, '{0}_*'.format(ruta), tjobdoc.tjd_id, aud_obs='Archivo actualizado') return {'msg': 'Trabajo de Impresión actualizado correctamente', 'ruta': ruta} else: ruta = u"{0}{1}{2}".format(path_save_jobs, os.path.sep, nombre_archivo) tjobdoc = TJobDoc() tjobdoc.tjob_id = job_id tjobdoc.tjd_ruta = ruta tjobdoc.tjd_fechacrea = datetime.datetime.now() tjobdoc.tjd_usercrea = user_crea tjobdoc.tjd_tipo = tipocarga self.dbsession.add(tjobdoc) return {'msg': 'Trabajo de Impresión registrado correctamente', 'ruta': ruta}
def resetPassword(self, id_user, password, rpassword, user_edit): """ Resetea un clave de un usuario y lo pone en estado como clave temporal :param id_user: :param password: :param rpassword: :return: """ tuser = self.dbsession.query(TUser).filter( TUser.us_id == id_user).first() tauditdao = TAuditDao(self.dbsession) if tuser is not None: if not cadenas.es_nonulo_novacio(password): raise ErrorValidacionExc("Debe ingresar la clave inicial") if not cadenas.es_nonulo_novacio(rpassword): raise ErrorValidacionExc("Ingrese la confirmación de la clave") tuser.us_pass = password tuser.us_statusclave = 0 tauditdao.crea_accion_update(enums.TBL_USUARIOS, 'us_pass', user_edit, '***', '***', tuser.us_id, aud_obs='RESETEO DE CLAVE')
def asociar(self, us_id, roles_list, user_crea): """ Asocia los registros de :param us_id: :param roles_list: :return: """ current_list = self.dbsession.query(TUserRol).filter( TUserRol.us_id == us_id).all() tautditdao = TAuditDao(self.dbsession) """ if current_list is not None and len(current_list) > 0: for item in current_list: tautditdao.crea_accion_delete(enums.TBL_USER_ROLES, '',user_crea, '','', item.rl_id) self.dbsession.delete(item) """ # Se registran los nuevos roles enviados for item in roles_list: if item.get('marcado') == 1: tuserrol = TUserRol() tuserrol.us_id = us_id, tuserrol.rl_id = item.get('rl_id') self.dbsession.add(tuserrol) self.dbsession.flush() tautditdao.crea_accion_insert(enums.TBL_USER_ROLES, user_crea, tuserrol.usrl_id)
def editar(self, form, user_edit): """ Editar la informacion de un contribuyente :param cnt_codigo: :param form: :return: """ cnt_id = form['cnt_id'] tcontribuyente = self.dbsession.query(TContribuyente).filter( TContribuyente.cnt_id == cnt_id).first() if tcontribuyente is not None: cnt_ruc = cadenas.strip(form.get('cnt_ruc')) if not cadenas.es_nonulo_novacio(cnt_ruc): raise ErrorValidacionExc("Debe ingresar el ruc") current_ruc = form['cnt_ruc'] if current_ruc != tcontribuyente.cnt_ruc: if self.ya_existe(cnt_ruc=cnt_ruc): raise ErrorValidacionExc( "El contribuyente con número de ruc: {0} ya ha sido registrado" .format(cnt_ruc)) if not cadenas.es_nonulo_novacio(form['cnt_razonsocial']): raise ErrorValidacionExc("Ingrese la razón social") if not cadenas.es_nonulo_novacio(form['cnt_dirmatriz']): raise ErrorValidacionExc("Ingrese la dirección matriz") if not cadenas.es_nonulo_novacio(form['cnt_nombrecomercial']): raise ErrorValidacionExc("Ingrese el nombre comercial") #Clonamos el objeto para auditoria tcontribuyente_cloned = copy.copy(tcontribuyente) tcontribuyente.cnt_ruc = cnt_ruc tcontribuyente.cnt_razonsocial = form.get( 'cnt_razonsocial').upper() tcontribuyente.cnt_telf = form.get('cnt_telf') tcontribuyente.cnt_email = form.get('cnt_email') tcontribuyente.cnt_dirmatriz = form.get('cnt_dirmatriz') tcontribuyente.cnt_clase = form.get('cnt_clase') tcontribuyente.cnt_nrocntespecial = form.get('cnt_nrocntespecial') tcontribuyente.cnt_oblcontab = form.get('cnt_oblcontab') tcontribuyente.cnt_nombrecomercial = form.get( 'cnt_nombrecomercial') # Agregamos informacion de auditoria tauditdao = TAuditDao(self.dbsession) list_cambios = checkcambioutil.valor_cambiado( tcontribuyente_cloned.__json__(), form) if list_cambios is not None and len(list_cambios) > 0: for row in list_cambios: col = row['col'] valorant = row['valorant'] valordesp = row['valordesp'] tauditdao.crea_accion_update(enums.TBL_CONTRIBUYENTE, col, user_edit, valorant, valordesp, tcontribuyente.cnt_id)
def update_nomapel(self, id_user, nomapel, user_name, roles, user_edit): """ Actualiza el nombre del usuario :param id_user: :param us_nomapel: :return: """ if not cadenas.es_nonulo_novacio(nomapel): raise ErrorValidacionExc( "Debe ingresar los apellidos y nombres del usuario") if not cadenas.es_nonulo_novacio(user_name): raise ErrorValidacionExc("Debe ingresar el nombre de usuario") tuser = self.dbsession.query(TUser).filter( TUser.us_id == id_user).first() form = {} form['us_nomapel'] = nomapel form['user_name'] = user_name if tuser is not None: tuser_cloned = copy.copy(tuser) if cadenas.strip(user_name) != cadenas.strip(tuser.us_name): if self.existe(user_name): raise ErrorValidacionExc( "Ya existe una cuenta de usuario con el nombre:{0}, elija otro" .format(user_name)) tuser.us_nomapel = nomapel.upper() tuser.us_name = user_name tauditdao = TAuditDao(self.dbsession) list_cambios = checkcambioutil.valor_cambiado( tuser_cloned.__json__(), form) if list_cambios is not None and len(list_cambios) > 0: for row in list_cambios: col = row['col'] valorant = row['valorant'] valordesp = row['valordesp'] tauditdao.crea_accion_update(enums.TBL_USUARIOS, col, user_edit, valorant, valordesp, tuser.us_id) # Registro de la matriz de roles tuserroldao = TUserRolDao(self.dbsession) tuserroldao.asociar(us_id=id_user, roles_list=roles, user_crea=user_edit)
def post(self): aut_id = self.get_request_matchdict("aut_id") if aut_id is not None: aut_id = int(aut_id) taudao = TAuditDao(self.dbsession) if int(aut_id) == 0: form = self.get_json_body() taudao.crea_acceso_log_audit(temp_id=form['temp_id'], user_acces=self.get_userid()) return {'estado': 200, 'msg': 'Registro exitoso'} else: return {'estado': 200, 'msg': 'Ninguna accion realizada'}
def crear(self, form, user_crea): if not cadenas.es_nonulo_novacio(form['emp_ruc']): raise ErrorValidacionExc(u"Debe ingresar el ruc") # Validar que el ruc ingresado este correcto resvalid = TContribuyenteDao.verificar(form['emp_ruc']) if not resvalid: raise ErrorValidacionExc(u"El número de ruc ingresado es incorrecto") if not cadenas.es_nonulo_novacio(form['emp_razonsocial']): raise ErrorValidacionExc(u"Debe ingresar la razon social") if not cadenas.es_nonulo_novacio(form['emp_nroautorizacion']): raise ErrorValidacionExc(u"Debe ingresar el número de autorización") # Validar que el numero de autorizacion sea distinto de cero emp_nroautorizacion = form['emp_nroautorizacion'] if not emp_nroautorizacion.isdigit(): raise ErrorValidacionExc(u"El número de autorización es incorrecto debe ser solo números") elif int(emp_nroautorizacion) == 0: raise ErrorValidacionExc(u"El número de autorización debe ser distinto de cero") if not cadenas.es_nonulo_novacio(form['emp_fechaautorizacion']): raise ErrorValidacionExc(u"Debe ingresar la fecha de autorización") else: # Validar que no sean fechas posteriores a la fecha actual if not fechas.isvalid(form['emp_fechaautorizacion']): raise ErrorValidacionExc( "La fecha de autorización ingresada es incorrecta verifique que se encuentre en el formato dd/mm/aaaa") fecha_actual = fechas.get_str_fecha_actual() if not fechas.es_fecha_a_mayor_fecha_b(form['emp_fechaautorizacion'], fecha_actual): raise ErrorValidacionExc(u"La fecha de autorización no puede estar despues de la fecha de actual") tempresa = TEmpresa() tempresa.emp_ruc = form.get("emp_ruc") tempresa.emp_razonsocial = form.get("emp_razonsocial") tempresa.emp_nombrecomercial = form.get("emp_nombrecomercial") tempresa.emp_fechaautorizacion = fechas.parse_cadena(form.get("emp_fechaautorizacion")) tempresa.emp_nroautorizacion = form.get("emp_nroautorizacion") self.dbsession.add(tempresa) self.dbsession.flush() tautditdao = TAuditDao(self.dbsession) tautditdao.crea_accion_insert(enums.TBL_EMPRESA, user_crea, tempresa.emp_id)
def crear(self, form, user_crea): """ Crea un nuevo contribuyente :param form: :return: """ cnt_ruc = cadenas.strip(form.get('cnt_ruc')) if not cadenas.es_nonulo_novacio(cnt_ruc): raise ErrorValidacionExc("Debe ingresar el ruc") if self.ya_existe(cnt_ruc=cnt_ruc): raise ErrorValidacionExc( "El contribuyente con número de ruc: {0} ya ha sido registrado" .format(cnt_ruc)) if not cadenas.es_nonulo_novacio(form['cnt_razonsocial']): raise ErrorValidacionExc("Ingrese la razón social") if not cadenas.es_nonulo_novacio(form['cnt_dirmatriz']): raise ErrorValidacionExc("Ingrese la dirección matriz") if not cadenas.es_nonulo_novacio(form['cnt_nombrecomercial']): raise ErrorValidacionExc("Ingrese el nombre comercial") tcontribuyente = TContribuyente() tcontribuyente.cnt_ruc = cnt_ruc tcontribuyente.cnt_razonsocial = form.get('cnt_razonsocial').upper() tcontribuyente.cnt_telf = form.get('cnt_telf') tcontribuyente.cnt_email = form.get('cnt_email') tcontribuyente.cnt_dirmatriz = form.get('cnt_dirmatriz') tcontribuyente.cnt_clase = form.get('cnt_clase') tcontribuyente.cnt_nrocntespecial = form.get('cnt_nrocntespecial') # tcontribuyente.cnt_oblcontab = 1 if form.get('cnt_oblcontab') else 0 tcontribuyente.cnt_oblcontab = form.get('cnt_oblcontab') tcontribuyente.cnt_nombrecomercial = form.get('cnt_nombrecomercial') self.dbsession.add(tcontribuyente) self.dbsession.flush() # Agregar informacion de auditoria tautditdao = TAuditDao(self.dbsession) tautditdao.crea_accion_insert(enums.TBL_CONTRIBUYENTE, user_crea, tcontribuyente.cnt_id)
def cambiarEstado(self, id_user, user_edit): """ Cambia el estado actual del usuario, si es 0 pone 1 y viceversa :param id_user: :return: """ tuser = self.dbsession.query(TUser).filter( TUser.us_id == id_user).first() msg = '' tauditdao = TAuditDao(self.dbsession) if tuser is not None: if tuser.us_status == 0: tuser.us_status = 1 msg = 'El usuario ha sido dado de baja' tauditdao.crea_accion_update( enums.TBL_USUARIOS, 'us_status', user_edit, '0', '1', tuser.us_id, aud_obs='BAJA DE CUENTA DE USUARIO') elif tuser.us_status == 1: tuser.us_status = 0 msg = 'El usuario ha sido activado' tauditdao.crea_accion_update( enums.TBL_USUARIOS, 'us_status', user_edit, '1', '0', tuser.us_id, aud_obs='ACTIVIACION CUENTA DE USUARIO')
def update(self, emp_codigo, form, user_edit): tempresa = self.dbsession.query(TEmpresa).filter(TEmpresa.emp_id == emp_codigo).first() if not cadenas.es_nonulo_novacio(form['emp_ruc']): raise ErrorValidacionExc(u"Debe ingresar el ruc") resvalid = TContribuyenteDao.verificar(form['emp_ruc']) if not resvalid: raise ErrorValidacionExc(u"El número de ruc ingresado es incorrecto") if not cadenas.es_nonulo_novacio(form['emp_razonsocial']): raise ErrorValidacionExc(u"Debe ingresar la razon social") # if not cadenas.es_nonulo_novacio(form['emp_nroautorizacion']): # raise ErrorValidacionExc(u"Debe ingresar el número de autorización") if not cadenas.es_nonulo_novacio(form['emp_fechaautorizacion']): raise ErrorValidacionExc(u"Debe ingresar la fecha de autorización") tempresa_cloned = copy.copy(tempresa) if tempresa is not None: tempresa.emp_ruc = form.get("emp_ruc") tempresa.emp_razonsocial = form.get("emp_razonsocial") tempresa.emp_nombrecomercial = form.get("emp_nombrecomercial") tempresa.emp_fechaautorizacion = fechas.parse_cadena(form.get("emp_fechaautorizacion")) # tempresa.emp_nroautorizacion = form.get("emp_nroautorizacion") tauditdao = TAuditDao(self.dbsession) list_cambios = checkcambioutil.valor_cambiado(tempresa_cloned.__json__(), form) if list_cambios is not None and len(list_cambios) > 0: for row in list_cambios: col = row['col'] valorant = row['valorant'] valordesp = row['valordesp'] tauditdao.crea_accion_update(enums.TBL_EMPRESA, col, user_edit, valorant, valordesp, tempresa.emp_id)
def editar(self, form, user_edit): """ Editar la informacion de un contribuyente :param cnt_codigo: :param form: :return: """ cnt_id = form['cnt_id'] tcontribuyente = self.dbsession.query(TContribuyente).filter( TContribuyente.cnt_id == cnt_id).first() if tcontribuyente is not None: cnt_ruc = cadenas.strip(form.get('cnt_ruc')) if not cadenas.es_nonulo_novacio(cnt_ruc): raise ErrorValidacionExc("Debe ingresar el ruc") current_ruc = form['cnt_ruc'] if current_ruc != tcontribuyente.cnt_ruc: if self.ya_existe(cnt_ruc=cnt_ruc): raise ErrorValidacionExc( "El contribuyente con número de ruc: {0} ya ha sido registrado" .format(cnt_ruc)) if not cadenas.es_nonulo_novacio(form['cnt_razonsocial']): raise ErrorValidacionExc("Ingrese la razón social") if not cadenas.es_nonulo_novacio(form['cnt_dirmatriz']): raise ErrorValidacionExc("Ingrese la dirección matriz") if not cadenas.es_nonulo_novacio(form['cnt_razonsocial']): raise ErrorValidacionExc(u"Ingrese la razón social") elif len(form['cnt_razonsocial'].strip()) > 100: raise ErrorValidacionExc( u"El nombre de la razon social es muy extenso, la longitud máxima es de 100 caracteres" ) if not cadenas.es_nonulo_novacio(form['cnt_dirmatriz']): raise ErrorValidacionExc(u"Ingrese la dirección matriz") # if not cadenas.es_nonulo_novacio(form['cnt_nombrecomercial']): # raise ErrorValidacionExc("Ingrese el nombre comercial") if len(form['cnt_nombrecomercial'].strip()) > 80: raise ErrorValidacionExc( u"El nombre comercial es muy extenso, la longitud máxima es de 80 caracteres" ) if len(form['cnt_dirmatriz'].strip()) > 100: raise ErrorValidacionExc( u"La dirección matriz es muy extenso, la longitud máxima es de 100 caracteres" ) if form.get('cnt_direstab') is None: raise ErrorValidacionExc( u"La dirección del establecimiento es requerido") elif len(form['cnt_direstab'].strip()) > 100: raise ErrorValidacionExc( u"La dirección del establecimiento es muy extenso, la longitud máxima es de 100 caracteres" ) # Validador de correo if len(form['cnt_email'].strip()) > 0: if not cadenas.es_correo_valido(form['cnt_email'].strip()): raise ErrorValidacionExc( u"La dirección de correo ingresada es incorrecta, favor verificar" ) elif len(form['cnt_email'].strip()) > 40: raise ErrorValidacionExc( u"La dirección de correo electrónica es muy extensa, la longitud maxima es de 40 caracteres" ) if len(form['cnt_telf'].strip()) > 40: raise ErrorValidacionExc( u"El número de teléfono es muy extensa, la longitud maxima es de 40 caracteres" ) # if not cadenas.es_nonulo_novacio(form['cnt_nombrecomercial']): # raise ErrorValidacionExc("Ingrese el nombre comercial") # Clonamos el objeto para auditoria tcontribuyente_cloned = copy.copy(tcontribuyente) tcontribuyente.cnt_ruc = cnt_ruc tcontribuyente.cnt_razonsocial = form.get( 'cnt_razonsocial').upper() tcontribuyente.cnt_telf = form.get('cnt_telf') tcontribuyente.cnt_email = form.get('cnt_email') tcontribuyente.cnt_dirmatriz = form.get('cnt_dirmatriz') tcontribuyente.cnt_clase = form.get('cnt_clase') tcontribuyente.cnt_nrocntespecial = form.get('cnt_nrocntespecial') tcontribuyente.cnt_oblcontab = form.get('cnt_oblcontab') tcontribuyente.cnt_nombrecomercial = form.get( 'cnt_nombrecomercial') tcontribuyente.cnt_direstab = form.get('cnt_direstab') # Agregamos informacion de auditoria tauditdao = TAuditDao(self.dbsession) list_cambios = checkcambioutil.valor_cambiado( tcontribuyente_cloned.__json__(), form) if list_cambios is not None and len(list_cambios) > 0: for row in list_cambios: col = row['col'] valorant = row['valorant'] valordesp = row['valordesp'] tauditdao.crea_accion_update(enums.TBL_CONTRIBUYENTE, col, user_edit, valorant, valordesp, tcontribuyente.cnt_id) return cnt_id
def crear(self, form, user_crea): """ Crea un nuevo contribuyente :param form: :return: """ cnt_ruc = cadenas.strip(form.get('cnt_ruc')) if not cadenas.es_nonulo_novacio(cnt_ruc): raise ErrorValidacionExc("Debe ingresar el ruc") if not cnt_ruc.isdigit(): raise ErrorValidacionExc("El ruc ingresado es incorrecto") # Logica para validacion de ruc resvalid = TContribuyenteDao.verificar(cnt_ruc) if not resvalid: raise ErrorValidacionExc( u"El número de ruc ingresado es incorrecto") if self.ya_existe(cnt_ruc=cnt_ruc): raise ErrorValidacionExc( u"El contribuyente con número de ruc: {0} ya ha sido registrado" .format(cnt_ruc)) if not cadenas.es_nonulo_novacio(form['cnt_razonsocial']): raise ErrorValidacionExc(u"Ingrese la razón social") elif len(form['cnt_razonsocial'].strip()) > 100: raise ErrorValidacionExc( u"El nombre de la razon social es muy extenso, la longitud máxima es de 100 caracteres" ) if not cadenas.es_nonulo_novacio(form['cnt_dirmatriz']): raise ErrorValidacionExc(u"Ingrese la dirección matriz") # if not cadenas.es_nonulo_novacio(form['cnt_nombrecomercial']): # raise ErrorValidacionExc("Ingrese el nombre comercial") if len(form['cnt_nombrecomercial'].strip()) > 80: raise ErrorValidacionExc( u"El nombre comercial es muy extenso, la longitud máxima es de 80 caracteres" ) if len(form['cnt_dirmatriz'].strip()) > 100: raise ErrorValidacionExc( u"La dirección matriz es muy extenso, la longitud máxima es de 100 caracteres" ) if len(form['cnt_direstab'].strip()) > 100: raise ErrorValidacionExc( u"La dirección del establecimiento es muy extenso, la longitud máxima es de 100 caracteres" ) #Validador de correo if len(form['cnt_email'].strip()) > 0: if not cadenas.es_correo_valido(form['cnt_email'].strip()): raise ErrorValidacionExc( u"La dirección de correo ingresada es incorrecta, favor verificar" ) elif len(form['cnt_email'].strip()) > 40: raise ErrorValidacionExc( u"La dirección de correo electrónica es muy extensa, la longitud maxima es de 40 caracteres" ) if len(form['cnt_telf'].strip()) > 40: raise ErrorValidacionExc( u"El número de teléfono es muy extensa, la longitud maxima es de 40 caracteres" ) tcontribuyente = TContribuyente() tcontribuyente.cnt_ruc = cnt_ruc tcontribuyente.cnt_razonsocial = form.get('cnt_razonsocial').upper() tcontribuyente.cnt_telf = form.get('cnt_telf') tcontribuyente.cnt_email = form.get('cnt_email') tcontribuyente.cnt_dirmatriz = form.get('cnt_dirmatriz') tcontribuyente.cnt_clase = form.get('cnt_clase') tcontribuyente.cnt_nrocntespecial = form.get('cnt_nrocntespecial') # tcontribuyente.cnt_oblcontab = 1 if form.get('cnt_oblcontab') else 0 tcontribuyente.cnt_oblcontab = form.get('cnt_oblcontab') tcontribuyente.cnt_nombrecomercial = form.get('cnt_nombrecomercial') tcontribuyente.cnt_direstab = form.get('cnt_direstab') self.dbsession.add(tcontribuyente) self.dbsession.flush() # Agregar informacion de auditoria tautditdao = TAuditDao(self.dbsession) tautditdao.crea_accion_insert(enums.TBL_CONTRIBUYENTE, user_crea, tcontribuyente.cnt_id) return tcontribuyente.cnt_id
def crear(self, form, user_crea): tautorizacion = TAutorizacion() aut_numero = form['aut_numero'] if aut_numero is None or len(str(aut_numero).strip()) == 0: raise ErrorValidacionExc("Ingrese el número de autorización") if not cadenas.es_nonulo_novacio(form['aut_fechaautorizacion']): raise ErrorValidacionExc("Ingrese la fecha de autorización") if not cadenas.es_nonulo_novacio(form['aut_fechacaducidad']): raise ErrorValidacionExc("Ingrese la fecha de caducidad") """ if not cadenas.es_nonulo_novacio(form['aut_estab']): raise ErrorValidacionExc("Ingrese el establecimiento") if not cadenas.es_nonulo_novacio(form['aut_ptoemi']): raise ErrorValidacionExc("Ingrese el punto de emisión") """ if not cadenas.es_nonulo_novacio(form['aut_estab']): raise ErrorValidacionExc("Ingrese el establecimiento") else: int_aut_estab = int(form['aut_estab']) if int_aut_estab == 0: raise ErrorValidacionExc( u"El establecimiento debe ser distinto de cero") # if not cadenas.es_nonulo_novacio(form['aut_secuencia_ini']): # raise ErrorValidacionExc("Ingrese la secuencia inicial") # if not cadenas.es_nonulo_novacio(form['aut_secuencia_fin']): # raise ErrorValidacionExc("Ingrese la secuencia final") if form.get('cnt_id') is None: raise ErrorValidacionExc("Debe especificar el contribuyente") fecha_aut_str = form.get('aut_fechaautorizacion') fecha_cad_str = form.get('aut_fechacaducidad') """ aut_serie = form['aut_serie'] form['aut_estab'] = aut_serie[0:3] form['aut_ptoemi'] = aut_serie[4:] """ fecha_autorizacion = fechas.parse_cadena(fecha_aut_str) fecha_caducidad = fechas.parse_cadena(fecha_cad_str) #Validar que una fecha ingresada sea correcta if not fechas.isvalid(fecha_aut_str): raise ErrorValidacionExc( "La fecha de autorización ingresada es incorrecta verifique que se encuentre en el formato dd/mm/aaaa" ) if not fechas.isvalid(fecha_cad_str): raise ErrorValidacionExc( "La fecha de caducidad ingresada es incorrecta verifique que se encuentre en el formato dd/mm/aaaa" ) #Verificacion de numero de autorizacion if not aut_numero.isdigit(): raise ErrorValidacionExc( u"El numero de autorización ingresado es incorrecto") else: aut_numero_int = int(aut_numero) if aut_numero_int == 0: raise ErrorValidacionExc( u"El número de autorización debe ser distinto de cero") diasvalidos = abs(fecha_caducidad - fecha_autorizacion).days if not fechas.es_fecha_a_mayor_fecha_b(fecha_cad_str, fecha_aut_str): raise ErrorValidacionExc( u"La fecha de autorización no puede estar despues de la fecha de caducidad" ) fecha_actual = fechas.get_str_fecha_actual() if fechas.es_fecha_a_mayor_fecha_b(fecha_aut_str, fecha_actual): raise ErrorValidacionExc( u"La fecha de autorización no puede estar despues de la fecha actual" ) if diasvalidos > 366: raise ErrorValidacionExc( u"La fecha de caducidad no puede ser mayor a un año a partir de la fecha de autorización" ) cnt_id = int(form.get('cnt_id')) if self.ya_exite(cnt_id=cnt_id, aut_numero=form.get('aut_numero')): log.info( u"Este numero de autorizacíon ya ha sido registrado, se procede a actualizar" ) return self.editar(aut_id=self.get_aut_id( cnt_id=cnt_id, aut_numero=form.get('aut_numero')), form=form, user_edit=user_crea) """ raise ErrorValidacionExc( u"La autorización nro:{0} ya ha sido registrada, ingrese otra".format(form.get('aut_numero'))) """ # secuencia_ini = int(form['aut_secuencia_ini']) # secuencia_fin = int(form['aut_secuencia_fin']) # if secuencia_fin <= secuencia_ini: # raise ErrorValidacionExc(u"Valor para secuencia final incorrecto, favor verifique") tautorizacion.aut_numero = form.get('aut_numero') tautorizacion.aut_fechaautorizacion = fecha_autorizacion tautorizacion.aut_fechacaducidad = fecha_caducidad # tautorizacion.aut_tipodoc = form.get('aut_tipodoc') tautorizacion.aut_tipodoc = 0 tautorizacion.aut_estab = form.get('aut_estab') # tautorizacion.aut_ptoemi = form.get('aut_ptoemi') tautorizacion.aut_ptoemi = '' # tautorizacion.aut_secuencia_ini = form.get('aut_secuencia_ini') # tautorizacion.aut_secuencia_fin = form.get('aut_secuencia_fin') tautorizacion.aut_secuencia_ini = 0 tautorizacion.aut_secuencia_fin = 0 tautorizacion.cnt_id = cnt_id self.dbsession.add(tautorizacion) self.dbsession.flush() tautditdao = TAuditDao(self.dbsession) tautditdao.crea_accion_insert(logica.utils.enums.TBL_AUTORIZACIONES, user_crea, tautorizacion.aut_id) return tautorizacion.aut_id
def editar(self, aut_id, form, user_edit): tautorizacion = self.dbsession.query(TAutorizacion).filter( TAutorizacion.aut_id == aut_id).first() if tautorizacion is not None: tautorizacion_cloned = copy.copy(tautorizacion) if not cadenas.es_nonulo_novacio(form['aut_fechaautorizacion']): raise ErrorValidacionExc("Ingrese la fecha de autorización") if not cadenas.es_nonulo_novacio(form['aut_fechacaducidad']): raise ErrorValidacionExc("Ingrese la fecha de caducidad") if not cadenas.es_nonulo_novacio(form['aut_estab']): raise ErrorValidacionExc("Ingrese el establecimiento") """ if not cadenas.es_nonulo_novacio(form['aut_secuencia_ini']): raise ErrorValidacionExc("Ingrese la secuencia inicial") if not cadenas.es_nonulo_novacio(form['aut_secuencia_fin']): raise ErrorValidacionExc("Ingrese la secuencia final") """ if form.get('cnt_id') is None: raise ErrorValidacionExc("Debe especificar el contribuyente") fecha_aut_str = form.get('aut_fechaautorizacion') fecha_cad_str = form.get('aut_fechacaducidad') """ aut_serie = form['aut_serie'] form['aut_estab'] = aut_serie[0:3] form['aut_ptoemi'] = aut_serie[4:] """ fecha_autorizacion = fechas.parse_cadena(fecha_aut_str) fecha_caducidad = fechas.parse_cadena(fecha_cad_str) diasvalidos = abs(fecha_caducidad - fecha_autorizacion).days """ if not fechas.es_fecha_a_mayor_fecha_b(fecha_cad_str, fecha_aut_str): raise ErrorValidacionExc(u"La fecha de autorización no puede estar despues de la fecha de caducidad") if diasvalidos > 366: raise ErrorValidacionExc( u"La fecha de caducidad no puede ser mayor a un año a partir de la fecha de autorización") """ """ secuencia_ini = int(form['aut_secuencia_ini']) secuencia_fin = int(form['aut_secuencia_fin']) if secuencia_fin <= secuencia_ini: raise ErrorValidacionExc(u"Valor para secuencia final incorrecto, favor verifique") """ diasvalidos = abs(fecha_caducidad - fecha_autorizacion).days if not fechas.es_fecha_a_mayor_fecha_b(fecha_cad_str, fecha_aut_str): raise ErrorValidacionExc( u"La fecha de autorización no puede estar despues de la fecha de caducidad" ) fecha_actual = fechas.get_str_fecha_actual() if fechas.es_fecha_a_mayor_fecha_b(fecha_aut_str, fecha_actual): raise ErrorValidacionExc( u"La fecha de autorización no puede estar despues de la fecha actual" ) if diasvalidos > 366: raise ErrorValidacionExc( u"La fecha de caducidad no puede ser mayor a un año a partir de la fecha de autorización" ) tautorizacion.aut_numero = form.get('aut_numero') tautorizacion.aut_fechaautorizacion = fecha_autorizacion tautorizacion.aut_fechacaducidad = fecha_caducidad #tautorizacion.aut_tipodoc = form.get('aut_tipodoc') #tautorizacion.aut_tipodoc = 0 tautorizacion.aut_estab = form.get('aut_estab') # tautorizacion.aut_ptoemi = form.get('aut_ptoemi') tautorizacion.aut_ptoemi = '' # tautorizacion.aut_secuencia_ini = form.get('aut_secuencia_ini') # tautorizacion.aut_secuencia_fin = form.get('aut_secuencia_fin') tautorizacion.aut_secuencia_ini = 0 tautorizacion.aut_secuencia_fin = 0 tauditdao = TAuditDao(self.dbsession) list_cambios = checkcambioutil.valor_cambiado( tautorizacion_cloned.__json__(), form) if list_cambios is not None and len(list_cambios) > 0: for row in list_cambios: col = row['col'] valorant = row['valorant'] valordesp = row['valordesp'] tauditdao.crea_accion_update( logica.utils.enums.TBL_AUTORIZACIONES, col, user_edit, valorant, valordesp, tautorizacion.aut_id)
def crear_usuario(self, user_name, nomapel, password, rpassword, user_crea, roles=None): """ Registra un nuevo usuario en el sistema :param user_name: :param password: :param rpassword: :param roles: :return: """ if not cadenas.es_nonulo_novacio(user_name): raise ErrorValidacionExc("Debe ingresar el nombre de usuario") if not cadenas.es_nonulo_novacio(nomapel): raise ErrorValidacionExc( "Debe ingresar los apellidos y nombres del usuario") if not cadenas.es_nonulo_novacio(password): raise ErrorValidacionExc("Debe ingresar la clave inicial") if not cadenas.es_nonulo_novacio(rpassword): raise ErrorValidacionExc("Ingrese la confirmación del clave") if self.existe(user_name): raise ErrorValidacionExc( "Ya existe una cuenta de usuario con el nombre:{0}, elija otro" .format(user_name)) if password is None or len(password.strip()) < 4: raise ErrorValidacionExc( "Por favor ingrese la clave, debe ser mínimo de 4 caracteres") if (password != rpassword): raise ErrorValidacionExc( "Las claves ingresadas no coinciden, favor verificar") tuser = TUser() tuser.us_name = user_name tuser.us_pass = password tuser.us_datecreated = datetime.now() tuser.us_status = 0 # tuser.us_statusclave = 0 tuser.us_nomapel = nomapel.upper() tuser.us_superuser = 0 self.dbsession.add(tuser) self.dbsession.flush() #Agregar logica para registro de logs de auditoria tautditdao = TAuditDao(self.dbsession) tautditdao.crea_accion_insert(enums.TBL_USUARIOS, user_crea, tuser.us_id) #Registro de la matriz de roles tuserroldao = TUserRolDao(self.dbsession) tuserroldao.asociar(us_id=tuser.us_id, roles_list=roles, user_crea=user_crea)