def addTransference(self, data, user_id):
        subject = 'Registro de Transferencia'
        user_msg = None
        user = getObjById(user_id, self.user_control)
        user_name = (user.get('nombres'), user.get('apellidos'))
        if self.transf_control.add(data):
            admin = self.assig_control.defineManager(rc_cargo,
                                                     rc_cod_secc, rc_cod_sede,
                                                     data.get('id'))
            admin_name = (admin.get('nombres'), admin.get('apellidos'))
            admin_msg = buildMsgEmail(admin_msg_transf, admin_name,
                                      {'CC': user.get('id')})

            self.email_sender.sendMessage(subject, admin_msg,
                                          [admin.get('email')],
                                          [data.get('transf_carta')])

            user_msg = buildMsgEmail(user_msg_transf, user_name)
            info = 200, 'Transference Added'
        else:
            fail_msg = "Ha habido un fallo en su proceso de crecion de transferencia"

            user_msg = buildMsgEmail(user_msg_transf, admin_name, fail_msg)
            info = 304, 'Not Modified'
        self.email_sender.sendMessage(subject, user_msg, [user.get('email')])
        return info
    def addAdmin(self, data):
        subject = 'Registro homologaciones CUN'
        admin_msg = None
        data['password'] = generate_password_hash(data.get('id'),
                                                  method='pbkdf2:sha256',
                                                  salt_length=10)
        admin_name = (data.get('nombres'), data.get('apellidos'))
        if not self.admin_control.findById(data.get('id')):
            f = {
                'and': [{
                    'variable': 'email',
                    'comparisson': '=',
                    'value': "'{}'".format(data.get('email'))
                }]
            }
            if not self.admin_control.findByFilter(f):
                if self.admin_control.add(data):
                    admin_msg = buildMsgEmail(admin_msg_sign, admin_name)
                    info = 201, 'Server: Admin Added'
                else:
                    aux_msg = "Hubo un fallo en el registro"
                    admin_msg = buildMsgEmail(admin_msg_sign, admin_name,
                                              aux_msg)
                    info = 304, 'Server: Not Modified'
            else:
                info = 400, 'Server: Bad request, duplicate email'
        else:
            info = 409, 'Server: Conflict, Admin exists'

        # Send Message
        if admin_msg:
            print(
                self.email_sender.sendMessage(subject, admin_msg,
                                              [data.get('email')]))
        return info
 def loginAdmin(self, data):
     subject = 'Ingreso a Homologaciones CUN'
     admin_msg = None
     user = None
     id = data.get('id')
     if id:
         user = self.admin_control.findById(id)
     else:
         ftr = {
             'and': [{
                 'variable': 'email',
                 'comparisson': '=',
                 'value': "'{}'".format(data.get('email'))
             }]
         }
         user = self.admin_control.findByFilter(ftr)
     if user:
         fuser = getObjById(user[0], self.admin_control)
         if check_password_hash(fuser.get('password'),
                                data.get('password')):
             admin_name = (fuser.get('nombres'), fuser.get('apellidos'))
             admin_msg = buildMsgEmail(admin_msg_login, admin_name)
             self.email_sender.sendMessage(subject, admin_msg,
                                           [fuser.get('email')])
             return 200, id
         return 401, 'Server: Admin Unauthorized'
     return 404, 'Server: Admin not found'
示例#4
0
    def addUser(self, data):
        subject = 'Registro homologaciones CUN'
        user_msg = admin_msg = None
        data['password'] = generate_password_hash(data.get('id'),
                                                  method='pbkdf2:sha256',
                                                  salt_length=10)
        f = {
            'and': [{
                'variable': 'email',
                'comparisson': '=',
                'value': "'{}'".format(data.get('email'))
            }]
        }
        user_mail = self.user_control.findByFilter(f)
        admin = self.assig_control.defineManager(cargo, cod_secc, cod_sede)
        admin_name = (admin.get('nombres'), admin.get('apellidos'))
        if not getObjById(data.get('id'), self.user_control):
            if not user_mail:
                user_name = (data.get('nombres'), data.get('apellidos'))
                if self.user_control.add(data):
                    user_msg = buildMsgEmail(user_msg_sign, user_name)
                    del data['password']
                    admin_msg = buildMsgEmail(admin_msg_sign, admin_name, data)
                    info = 201, 'Server: User Added'
                else:
                    aux_message = 'Fallo en registro de usuario'
                    user_msg = buildMsgEmail(user_msg_sign, user_name,
                                             aux_message)
                    admin_msg = buildMsgEmail(admin_msg_sign, admin_name,
                                              aux_message)
                    info = 304, 'Server: Not Modified'
            else:
                info = 400, 'Server: Bad request, duplicate email'
        else:
            info = 409, 'Server: Conflict, User exists'

        # Send Email
        if user_msg:
            self.email_sender.sendMessage(subject, user_msg,
                                          [data.get('email')])
        if admin_msg:
            self.email_sender.sendMessage(subject, admin_msg,
                                          [admin.get('email')])
        return info
    def updateTransference(self, data, id_transf):
        subject = 'Actualizacion de Transferencia'
        user_msg = admin_msg_aux = admin_msg_anr = None

        current_trasnf = getObjById(id_transf, self.transf_control)
        user = getObjById(current_trasnf.get('usuario_id'), self.user_control)
        user_name = (user.get('nombres'), user.get('apellidos'))
        if self.transf_control.update(data, id_transf):
            if not 'borrado' in list(data.keys()):
                admin_aux_reg = self.assig_control.defineManager(
                    axr_cargo, axr_cod_secc, axr_cod_sede, id_transf)
                admin_anr_reg = self.assig_control.defineManager(
                    anr_cargo, anr_cod_secc, anr_cod_sede, id_transf)

                admin_aux_name = (admin_aux_reg.get('nombres'),
                                  admin_aux_reg.get('apellidos'))
                admin_anr_name = (admin_anr_reg.get('nombres'),
                                  admin_anr_reg.get('apellidos'))
                user_data = {'C.c.': user.get('id')}

                admin_msg_aux = buildMsgEmail(admin_msg_upt_transf,
                                              admin_aux_name, user_data)
                admin_msg_anr = buildMsgEmail(admin_msg_upt_transf,
                                              admin_anr_name, user_data)

                self.email_sender.sendMessage(subject, admin_msg_anr,
                                              [admin_anr_reg.get('email')])
                self.email_sender.sendMessage(subject, admin_msg_aux,
                                              [admin_aux_reg.get('email')])
            user_msg = buildMsgEmail(user_msg_upt_transf, user_name)
            info = 200, 'Tranference Modified'
        else:
            fail_msg = "Ha habido un fallo en el proceso de actualizacion"
            user_msg = buildMsgEmail(user_msg_upt_transf, user_name, fail_msg)
            info = 304, 'Not Modified'
        self.email_sender.sendMessage(subject, user_msg, [user.get('email')])
        return info
 def updateData(self, id, data):
     admin_msg = None
     subject = 'Actualizacion de Cuenta'
     data = removeEmptyData(data)
     new_pwd = data.get('password')
     if new_pwd:
         if new_pwd == data.get('conf_password'):
             del data['conf_password']
             del data['password']
             data['password'] = generate_password_hash(
                 new_pwd, method='pbkdf2:sha256', salt_length=10)
         else:
             return 400, 'Bad Request, different passwords'
     admin = getObjById(id, self.admin_control)
     admin_name = (admin.get('nombres'), admin.get('apellidos'))
     if self.admin_control.update(data, id):
         admin_msg = buildMsgEmail(admin_msg_update, admin_name)
         info = 200, 'Admin Modified'
     else:
         fail_msg = "Ha habido un fallo en el proceso de actualizacion"
         admin_msg = buildMsgEmail(admin_msg_update, admin_name, fail_msg)
         info = 304, 'Not Modified'
     self.email_sender.sendMessage(subject, admin_msg, [admin.get('email')])
     return info