示例#1
0
    def authenticateUser(self, EMAIL, PASSWORD):
        try:
            q = ctx.session.query(
                ctx.mapUser.ID_USER, ctx.mapUser.EMAIL,
                ctx.mapUser.PASSWORD1).filter(ctx.mapUser.EMAIL == EMAIL)

            if not ctx.session.query(q.exists()).scalar():
                return -1

            resultCheck = {}

            for item in q.all():
                resultCheck = {
                    "password": check_password_hash(item[2], PASSWORD),
                    "email": item[1],
                    "idUsuario": item[0]
                }

            if not resultCheck['password']:
                return -2

            self.__keep = authentication.encode_auth_token(
                resultCheck['idUsuario']).decode()
            self.__idUser = resultCheck['idUsuario']
            self.__email = resultCheck['email']

            return (self.__keep, self.__email, self.__idUser)
        except Exception as ex:
            trace = traceback.format_exc()
            self.__loggerMySQL.testInsertLog(ex.args[0], kindOfLog.ERROR(),
                                             trace)
            return -3
示例#2
0
    def chartPeopleByEvents(self, fromDate):
        try:
            table = ctx.mapEvento

            query = ctx.session.query(
                table.ID_EVENTO, table.TITULO_EVENTO, table.DATA_EVENTO
            ).filter(
                table.DATA_EVENTO >= datetime.strptime(fromDate, '%d/%m/%Y'))

            tableCredenciamento = ctx.mapCredenciamento
            tableConvidado = ctx.mapConvidado

            retorno = "['Evento', 'Presentes', 'Ausentes', { role: 'annotation' }]"

            for item in query.all():
                presentes = ctx.session.query(
                    tableCredenciamento.ID_EVENTO).filter(
                        tableCredenciamento.ID_EVENTO ==
                        item.ID_EVENTO).count()
                ausentes = ctx.session.query(tableConvidado.ID_EVENTO).filter(
                    tableConvidado.ID_EVENTO ==
                    item.ID_EVENTO).count() - presentes

                retorno += ",[{}, {}, {}, '']".format(
                    "'" + item.TITULO_EVENTO + "'", str(presentes),
                    str(ausentes))

            self.__dataChart = "[{}]".format(retorno)

            return True
        except Exception as ex:
            self.__loggerMySQL.insertLog(ex.args[0], kindOfLog.ERROR(),
                                         traceback.format_exc())

            return False
示例#3
0
    def adicionaPresenca(self, ID_EVENTO, ID_CONVIDADO):

        try:

            table = ctx.mapCredenciamento

            q = ctx.session.query(table).filter(
                table.ID_CONVIDADO == ID_CONVIDADO
                and table.ID_EVENTO == ID_EVENTO)

            if not ctx.session.query(q.exists()).scalar():

                cmd = ctx.tb_credenciamento.insert().values(
                    DATA_HORA=datetime.now(),
                    ID_EVENTO=ID_EVENTO,
                    ID_CONVIDADO=ID_CONVIDADO,
                    PRESENTE=1)

                ctx.session.execute(cmd)
                ctx.session.commit()

            return True
        except Exception as ex:
            self.__loggerMySQL.testInsertLog(ex.args[0], kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#4
0
    def testListComboEvento(self, DATA):
        try:
            self.assertTrue(self.listComboEvento(DATA))

            return self.qBase.toJsonRoute(self.__listOf, 200)
        except AssertionError as ae:
            _error = ae.args[0]
            _message = f"There is a problem to load Event combo data. Look at the logs {_error}"

            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return self.qBase.toJsonRoute(_message, 500)
示例#5
0
    def saveEvento(self, evento=mapEvento, convidado=mapConvidado):

        try:
            cmd = None

            if evento.ID_EVENTO > 0:

                cmd = ctx.tb_evento.update().values(
                    DATA_EVENTO=evento.DATA_EVENTO,
                    TITULO_EVENTO=evento.TITULO_EVENTO.upper(),
                    ID_EMPRESA=evento.ID_EMPRESA,
                    OBSERVACAO=evento.OBSERVACAO).where(
                        ctx.mapEvento.ID_EVENTO == evento.ID_EVENTO)

                ctx.session.execute(cmd)

            elif evento.ID_EVENTO == 0:
                cmd = ctx.tb_evento.insert().values(
                    DATA_EVENTO=evento.DATA_EVENTO,
                    TITULO_EVENTO=evento.TITULO_EVENTO.upper(),
                    ID_EMPRESA=evento.ID_EMPRESA,
                    OBSERVACAO=evento.OBSERVACAO)

                inserted = ctx.session.execute(cmd)

                evento.ID_EVENTO = inserted.inserted_primary_key[0]

            if len(convidado.NOME_CONVIDADO) > 0:
                if convidado.ID_CONVIDADO == 0:
                    cmd1 = ctx.tb_convidado.insert().values(
                        ID_EVENTO=evento.ID_EVENTO,
                        NOME_CONVIDADO=convidado.NOME_CONVIDADO,
                        CELULAR_CONVIDADO=convidado.CELULAR_CONVIDADO)
                elif convidado.ID_CONVIDADO > 0:
                    cmd1 = ctx.tb_convidado.update().values(
                        NOME_CONVIDADO=convidado.NOME_CONVIDADO,
                        CELULAR_CONVIDADO=convidado.CELULAR_CONVIDADO).where(
                            ctx.mapConvidado.ID_CONVIDADO ==
                            convidado.ID_CONVIDADO)

            ctx.session.execute(cmd1)
            ctx.session.commit()

            self.__ID_EVENTO = evento.ID_EVENTO

            return True
        except Exception as ex:
            self.__loggerMySQL.testInsertLog(ex.args[0], kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#6
0
    def testSaveUser(self, userMap=mapUser):
        try:
            self.assertTrue(self.saveUser(userMap))

            self.__loggerMySQL.testInsertLog('Ok', kindOfLog.INFO(),
                                             'Insert Ok')

            return self.qBase.toJsonRoute("Ok", 200)
        except AssertionError as ae:
            _message = ae.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return self.qBase.toJsonRoute(_message, 500)
示例#7
0
    def saveEmpresa(self, empresa=mapEmpresaContratante):

        try:
            cmd = None

            if empresa.ID_EMPRESA > 0:

                cmd = ctx.tb_empresa_contratante.update().values(
                    RAZAO_SOCIAL=empresa.RAZAO_SOCIAL.upper(),
                    NOME_FANTASIA=empresa.NOME_FANTASIA.upper(),
                    CNPJ=empresa.CNPJ.upper(),
                    IE=empresa.IE.upper(),
                    ENDERECO=empresa.ENDERECO.upper(),
                    NUMERO=empresa.NUMERO.upper(),
                    COMPLEMENTO=empresa.COMPLEMENTO.upper(),
                    CEP=empresa.CEP.upper(),
                    MUNICIPIO=empresa.MUNICIPIO.upper(),
                    UF=empresa.UF.upper(),
                    EMAIL=empresa.EMAIL.lower(),
                    TELEFONE=empresa.TELEFONE.upper(),
                    CONTATO=empresa.CONTATO.upper()).where(
                        ctx.mapEmpresaContratante.ID_EMPRESA ==
                        empresa.ID_EMPRESA)

            elif empresa.ID_EMPRESA == 0:

                cmd = ctx.tb_empresa_contratante.insert().values(
                    RAZAO_SOCIAL=empresa.RAZAO_SOCIAL.upper(),
                    NOME_FANTASIA=empresa.NOME_FANTASIA.upper(),
                    CNPJ=empresa.CNPJ.upper(),
                    IE=empresa.IE.upper(),
                    ENDERECO=empresa.ENDERECO.upper(),
                    NUMERO=empresa.NUMERO.upper(),
                    COMPLEMENTO=empresa.COMPLEMENTO.upper(),
                    CEP=empresa.CEP.upper(),
                    MUNICIPIO=empresa.MUNICIPIO.upper(),
                    UF=empresa.UF.upper(),
                    EMAIL=empresa.EMAIL.lower(),
                    TELEFONE=empresa.TELEFONE.upper(),
                    CONTATO=empresa.CONTATO.upper())

            ctx.session.execute(cmd)
            ctx.session.commit()

            return True
        except Exception as ex:
            self.__loggerMySQL.testInsertLog(ex.args[0], kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#8
0
    def testSave(self, empresa=mapEmpresaContratante):
        try:
            self.assertTrue(self.saveEmpresa(empresa))

            self.__loggerMySQL.testInsertLog('Ok', kindOfLog.INFO(),
                                             'Insert Ok')

            return self.qBase.toJsonRoute("Ok", 200)
        except AssertionError as ae:
            _message = ae.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return self.qBase.toJsonRoute(_message, 500)
示例#9
0
    def testAdicionaPresenca(self, ID_EVENTO, ID_CONVIDADO):
        try:
            self.assertTrue(self.adicionaPresenca(ID_EVENTO, ID_CONVIDADO))

            self.__loggerMySQL.testInsertLog('Ok', kindOfLog.INFO(),
                                             'Insert Ok')

            return self.qBase.toJsonRoute("Ok", 200)
        except AssertionError as ae:
            _message = ae.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return self.qBase.toJsonRoute(_message, 500)
示例#10
0
    def testSave(self, evento=mapEvento, convidado=mapConvidado):
        try:
            self.assertTrue(self.saveEvento(evento, convidado))

            self.__loggerMySQL.testInsertLog('Ok', kindOfLog.INFO(),
                                             'Insert Ok')

            return self.qBase.toJsonRoute(str(self.__ID_EVENTO), 200)

        except AssertionError as ae:
            _message = ae.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return self.qBase.toJsonRoute(_message, 500)
示例#11
0
    def saveUser(self, userMap=mapUser):

        try:
            pass1 = ''

            if len(userMap.PASSWORD1) > 0:
                pass1 = generate_password_hash(userMap.PASSWORD1)

            cmd = None

            if userMap.ID_USER > 0:

                if len(pass1) == 0:
                    select1 = ctx.session.query(ctx.mapUser.PASSWORD1).filter(
                        ctx.mapUser.ID_USER == userMap.ID_USER).all()

                    pass1 = self.qBase.toDict(select1)[0]['PASSWORD1']

                cmd = ctx.user.update().values(
                    NAME_USER = userMap.NAME_USER.upper(),
                    PASSWORD1 = pass1,
                    EMAIL = userMap.EMAIL.lower(),
                    KIND_OF_USER = userMap.KIND_OF_USER,
                    USER_ENABLED = userMap.USER_ENABLED).\
                        where(ctx.mapUser.ID_USER == userMap.ID_USER)

            elif userMap.ID_USER == 0:

                cmd = ctx.user.insert().values(
                    NAME_USER=userMap.NAME_USER.upper(),
                    PASSWORD1=pass1,
                    EMAIL=userMap.EMAIL.lower(),
                    KIND_OF_USER=userMap.KIND_OF_USER,
                    USER_ENABLED=userMap.USER_ENABLED)

            ctx.session.execute(cmd)
            ctx.session.commit()

            return True
        except Exception as ex:
            self.__loggerMySQL.testInsertLog(ex.args[0], kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#12
0
    def deleteUser(self, ID_USER):

        try:
            q = ctx.session.query(
                ctx.mapUser).filter(ctx.mapUser.ID_USER == ID_USER)

            if not ctx.session.query(q.exists()).scalar():
                raise Exception('Usuário não encontrado')

            del1 = ctx.user.delete().where(ctx.mapUser.ID_USER == ID_USER)

            ctx.session.execute(del1)
            ctx.session.commit()

            return True
        except Exception as ex:
            _message = ex.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#13
0
    def deleteConvidado(self, ID_CONVIDADO):

        try:
            q = ctx.session.query(ctx.mapConvidado).filter(
                ctx.mapConvidado.ID_CONVIDADO == ID_CONVIDADO)

            if not ctx.session.query(q.exists()).scalar():
                raise Exception('Convidado(a) não encontrado(a)')

            del1 = ctx.tb_convidado.delete().where(
                ctx.mapConvidado.ID_CONVIDADO == ID_CONVIDADO)

            ctx.session.execute(del1)
            ctx.session.commit()

            return True
        except Exception as ex:
            _message = ex.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#14
0
    def deleteEmpresa(self, ID_EMPRESA):

        try:
            q = ctx.session.query(ctx.mapEmpresaContratante).filter(
                ctx.mapEmpresaContratante.ID_EMPRESA == ID_EMPRESA)

            if not ctx.session.query(q.exists()).scalar():
                raise Exception('Empresa não encontrado')

            del1 = ctx.tb_empresa_contratante.delete().where(
                ctx.mapEmpresaContratante.ID_EMPRESA == ID_EMPRESA)

            ctx.session.execute(del1)
            ctx.session.commit()

            return True
        except Exception as ex:
            _message = ex.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False
示例#15
0
    def deletePresenca(self, ID_CREDENCIAMENTO):

        try:
            q = ctx.session.query(ctx.mapCredenciamento).filter(
                ctx.mapCredenciamento.ID_CREDENCIAMENTO == ID_CREDENCIAMENTO)

            if not ctx.session.query(q.exists()).scalar():
                raise Exception('Registro não encontrado')

            del1 = ctx.tb_credenciamento.delete().where(
                ctx.mapCredenciamento.ID_CREDENCIAMENTO == ID_CREDENCIAMENTO)

            ctx.session.execute(del1)
            ctx.session.commit()

            return True
        except Exception as ex:
            _message = ex.args[0]
            self.__loggerMySQL.testInsertLog(_message, kindOfLog.ERROR(),
                                             traceback.format_exc())

            return False