Example #1
0
    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}
Example #2
0
    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')
Example #3
0
    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)
Example #4
0
    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)
Example #5
0
    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)
Example #6
0
    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'}
Example #7
0
    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)
Example #8
0
    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)
Example #9
0
    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')
Example #10
0
    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)
Example #11
0
    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
Example #12
0
    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
Example #13
0
    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
Example #14
0
    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)
Example #15
0
    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)