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'
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