class FavouriteHandler(tornado.web.RequestHandler): @gen.coroutine def post(self): try: self.__model = UserModel() data = json.loads(self.request.body.decode('UTF-8')) if not 'id_persona' in data and not 'id_producto' in data and not 'favorito' in data: raise Exception('No cumples con los datos necesarios.') id_cliente = yield self.__model.get_client_id_by_person_id(data['id_persona']) if not id_cliente: raise Exception('Ha ocurrido un error al buscar el cliente.') if data['favorito'] is 1: registered = yield self.__model.existent_favourite(id_cliente, data['id_producto']) if registered: raise Exception('Este producto ya estaba agregado a tus favoritos.') register = yield self.__model.add_client_favourite(id_cliente, data['id_producto']) if not register: raise Exception('Ha ocurrido un error.') self.set_status(200) self.write({'message': 'Producto agregado a favoritos'}) else: errased = yield self.__model.remove_client_favourite(id_cliente, data['id_producto']) if not errased: raise Exception('Ha habido un problema al remover de favoritos.') self.set_status(200) self.write({'message' : 'Se ha removido el producto de favoritos.'}) except Exception as error: self.set_status(400) self.write({'message' : str(error)}) @gen.coroutine def get(self): try: self.__model = UserModel() self.__util = UtilProject() id_cliente = yield self.__model.get_cliente_id_from_persona_id(self.get_argument('id_persona')) if not id_cliente: raise Exception('Ha ocurrido un error al buscar el cliente.') favourites = yield self.__model.get_client_favourites_products(id_cliente) if not favourites or len(favourites) == 0: raise Exception('No tienes ningún favorito registrado.') favourites = self.__util.cast_numeric_to_string(favourites, 'precio_venta') self.set_status(200) self.write({'products': favourites}) except Exception as error: self.set_status(400) self.write({'message' : str(error)})
def get(self, id_persona): try: user_model = UserModel() id_cliente = yield user_model.get_cliente_id_from_persona_id( id_persona) if not id_cliente: raise Exception('Cliente no encontrado.') beneficts = yield user_model.get_client_beneficts(id_cliente) print(len(beneficts)) if len(beneficts) is 0: raise Exception('No tienes ningun beneficio.') self.set_status(200) self.write({'beneficts': beneficts}) except Exception as error: self.set_status(400) self.write({'message': str(error)})
def post(self, id_persona): try: data = json.loads(self.request.body.decode('utf-8')) __model = UserModel() id_cliente = yield __model.get_cliente_id_from_persona_id( id_persona) if not id_cliente: raise Exception('Error al encontrar al cliente') likes_updated = yield __model.update_client_likes(id_cliente, data) if not likes_updated: raise Exception('No se han podido actualizar tus gustos') self.set_status(200) self.write({'message': 'Gustos actualizados correctamente'}) except Exception as error: self.set_status(400) print("Error :" + str(error)) self.write({'message': str(error)})
def post(self, id_persona): try: data = json.loads(self.request.body.decode('utf-8')) __model = UserModel() id_cliente = yield __model.get_cliente_id_from_persona_id( id_persona) if not id_cliente: raise Exception('Error al encontrar al cliente') information_updated = yield __model.update_client_information( id_persona, data) if not information_updated: raise Exception( 'No se ha podido actualizar tu información personal.') self.set_status(200) self.write( {'message': 'Datos personales actualizados correctamente'}) except Exception as error: import traceback traceback.print_exc() self.set_status(400) print("Error :" + str(error)) self.write({'message': str(error)})