def update_warehouse_member_status(id_miembro_almacen, status, updated_by):
    member_status = EmployeeRequestStatus(id_miembro_almacen, status,
                                          updated_by)
    historia = member_status
    s.add(historia)
    s.commit()
    return {'success': True}, 200, {'ContentType': 'application/json'}
 def add_item(self, ms, request_status, rquser):
     if not (1 <= int(request_status) <= 4):
         mssg = [
             400, {
                 'message':
                 'Error en los parametros suministrados',
                 'action':
                 'Los valores aceptados son: 1:Enviada, 2:Aceptada, 3:Negada, 4:Bloqueada'
             }
         ]
         return True, mssg
     error, resp = self.get_most_recent(ms)
     if not error:
         if int(resp.id_estado_solicitud) == int(request_status):
             error = [
                 409, {
                     'message':
                     'La membresia ya se encuentra en este estado',
                     'action':
                     'Realice nuevamente la solicitud cambiando los parametros'
                 }
             ]
             return True, error
     self.id_miembro = ms
     self.id_estado_solicitud = request_status
     self.id_actualizado_por = rquser
     s.add(self)
     s.commit()
     resp = [
         200, {
             'message':
             'El estado de la membresia se actualizo correctamente'
         }
     ]
     return False, resp
Beispiel #3
0
 def verify_account(self):
     #TODO: IMPLEMENTAR TOKEN. USAR METODO generate_auth_token(self, expiration=600)
     if self.verified:
         raise ResourceConflict('La cuenta ya se encuentra confirmada')
     self.verified = True
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #4
0
 def add_item(self, user, id_type, name, description):
     if not (1 <= int(id_type) <= 3):
         mssg = [400, {'message': 'Error en los parámetros suministrados',
                       'action': 'Los valores aceptados son: 1: Publico, 2: Privado'}]
         return True, mssg
     if int(id_type) is 1 and self.check_item_exists(name=name):
         mssg = [409, {'message': 'Este grupo ya existe',
                       'action': 'Cambie el nombre del grupo'}]
         return True, mssg
     self.id_tipo_grupo = id_type
     self.nombre_grupo = name
     self.descripcion = description
     self.creado = datetime.datetime.now()
     membresia = Membership()
     s.add(self)
     s.flush()
     membresia.id_grupo = self.id_grupo
     membresia.id_rol_grupo = 1
     membresia.id_usuario = user
     historia = MembershipHistory()
     historia.id_estado_solicitud = 2
     s.add(membresia)
     s.flush()
     historia.id_actualizado_por = membresia.id_miembro
     membresia.historia.append(historia)
     self.membresia.append(membresia)
     s.add(self)
     s.commit()
     resp = [200, {'message': 'El grupo se ha creado exitosamente'}]
     return False, resp
 def delete_item(self, user):
     # Revisar si el usuario que realiza la actualización tiene credenciales de administrador
     # o si es el dueño de la membresia
     error, resp = self.get_role(self.id_grupo, user)
     if self.id_usuario is not user:
         if int(resp) is not 1 and int(resp) is not 2:
             return True, [
                 403, {
                     'message':
                     'No cuenta con los permisos para realizar esta acción',
                     'action': 'Realice otra consulta'
                 }
             ]
     s.delete(self)
     try:
         s.commit()
     except IntegrityError:
         s.rollback()
         s.flush()
         resp = [
             409, {
                 'errores': {
                     'message':
                     'La membresia no se puede eliminar',
                     'action':
                     'Elimine los elementos relacionados e intente de nuevo'
                 }
             }
         ]
         return True, resp
     resp = [200, {'message': 'La membresia se elimino correctamente'}]
     return False, resp
 def add_warehouse_schedule(self):
     # if not isinstance(warehouse, int):
     #     mssg = [400, {'message': 'El campo warehouse debe ser un numero entero',
     #                   'action': 'Ingrese un valor adecuado'}]
     #     return True, mssg
     # if not (1 <= int(day) <= 7):
     #     mssg = [400, {'message': 'Error en los parámetros suministrados',
     #                   'action': 'Los valores aceptados son: 1: Lunes, 2: Martes, 3: Miercoles ...'}]
     #     return True, mssg
     # if not (0 <= int(from_hour) <= 23):
     #     mssg = [400, {'message': 'Error en los parámetros suministrados',
     #                   'action': 'El rango de valores 0-23'}]
     #     return True, mssg
     # if not (0 <= int(from_minutes) <= 59):
     #     mssg = [400, {'message': 'Error en los parámetros suministrados',
     #                   'action': 'El rango de valores 0-59'}]
     #     return True, mssg
     # if not (0 <= int(until_hour) <= 23):
     #     mssg = [400, {'message': 'Error en los parámetros suministrados',
     #                   'action': 'El rango de valores 0-23'}]
     #     return True, mssg
     # if not (0 <= int(until_minutes) <= 59):
     #     mssg = [400, {'message': 'Error en los parámetros suministrados',
     #                   'action': 'El rango de valores 0-59'}]
     #     return True, mssg
     s.add(self)
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
 def modify_item(self, product_category_id, brand_id, product_name,
                 product_upc):
     self.product_category_id = product_category_id
     self.brand_id = brand_id
     self.product_name = product_name
     self.product_upc = product_upc
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
def empty_basket(user):
    standard_basket = get_standard_basket(user)
    for item in standard_basket:
        s.delete(item)
    generic_basket = get_generic_basket(user)
    for item in generic_basket:
        s.delete(item)
    s.commit()
    return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #9
0
 def add_item(self):
     s.add(self)
     s.commit()
     resp = [
         201, {
             'message': 'El proveedor de servicio se añadió exitosamente'
         }
     ]
     return False, resp
 def role_change(self, role, user):
     if not user:
         mssg = [
             400, {
                 'message':
                 'El campo user_account no puede ser vacio o nulo',
                 'action': 'Ingrese un valor adecuado'
             }
         ]
         return True, mssg
     if not role:
         mssg = [
             400, {
                 'message': 'El campo role no puede ser vacio o nulo',
                 'action': 'Ingrese un valor adecuado'
             }
         ]
         return True, mssg
     error, resp = self.get_role(self.id_grupo, user)
     if error:
         return True, resp
     if int(resp) is not 1 and int(resp) is not 2:
         return True, [
             403, {
                 'message':
                 'No cuenta con los permisos para realizar esta acción',
                 'action': 'Realice otra consulta'
             }
         ]
     if not (1 <= int(role) <= 3):
         error = [
             400, {
                 'message':
                 'Error en los parámetros suministrados',
                 'action':
                 'Los valores aceptados son: 1:Creador, 2:Admin, 3:Participante'
             }
         ]
         return True, error
     if int(self.id_rol_grupo) is int(role):
         error = [
             409, {
                 'message':
                 'Este usuario ya cuenta con este nivel de permisos',
                 'action': 'Realice nuevamente la solicitud'
             }
         ]
         return True, error
     self.id_rol_grupo = role
     s.commit()
     resp = [
         200, {
             'message': 'El rol de este miembro se actualizo correctamente'
         }
     ]
     return False, resp
Beispiel #11
0
 def update_user_info(self, name, mail, phone):
     self.full_name = name
     if self.email_address != mail:
         check_user_not_exists_by_mail(mail)
         self.email_address = mail
     if self.phone_number != phone:
         check_user_not_exists_by_phone(phone)
         self.phone_number = phone
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #12
0
def save_test_data(
    file_name,
    model,
):
    data = load_data(file_name)
    for row in data:
        model1 = model(**row)
        s.add(model1)
        s.commit()
        s.close()
Beispiel #13
0
 def change_user_password(self, password):
     if self.auth_type_id != 1:
         raise InvalidArgument(
             'Su cuenta utiliza un servicio de terceros para autenticación')
     self.password = password
     salt = bcrypt.gensalt(10)
     hashed = bcrypt.hashpw(self.password.encode('utf-8'), salt)
     self.password_hash = hashed.decode('utf-8')
     self.password_salt = salt.decode('utf-8')
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #14
0
 def delete_item(self):
     s.delete(self)
     try:
         s.commit()
     except IntegrityError:
         s.rollback()
         s.flush()
         resp = [409, {'errores': {'message': 'La relacion no se puede eliminar',
                                   'action': 'Elimine los elementos relacionados e intente de nuevo'}}]
         return True, resp
     resp = [200, {'message': 'La relacion se elimino correctamente'}]
     return False, resp
Beispiel #15
0
 def delete_item(self, user):
     for miembro in self.membresia:
         if miembro.id_usuario is user:
             error, resp = miembro.get_role(self.id_grupo, user)
             if int(resp) is not 1 and int(resp) is not 2:
                 return True, [403, {'message': 'No cuenta con los permisos para realizar esta acción',
                                     'action': 'Realice otra consulta'}]
             s.delete(self)
             s.commit()
             resp = [200, {'message': 'El grupo se elimino correctamente'}]
             return False, resp
     return True, [403, {'message': 'No cuenta con los permisos para realizar esta acción',
                         'action': 'Realice otra consulta'}]
Beispiel #16
0
    def add_item(self, user, friend):
        if self.check_item_exists(user, friend):
            error = [409, {'message': 'Esta relación ya existe',
                           'action': 'Realice nuevamente la solicitud'}]
            return True, error
        self.id_usuario = user
        self.id_usuario_amigo = friend
        s.add(self)
        s.commit()

        # Crea estado de solicitud
        error, mssg = RelationshipStatus().add_item(self.id_relacion, 1)
        if error:
            return True, mssg
        resp = [201, {'message': 'La relación se ha creado exitosamente'}]
        return False, resp
Beispiel #17
0
 def modify_item(self, id_type, name, description, user):
     # Revisar si el usuario que realiza la actualización tiene credenciales de administrador
     # o si es el dueño de la membresia
     for miembro in self.membresia:
         if miembro.id_usuario is user:
             error, resp = miembro.get_role(self.id_grupo, user)
             if int(resp) is not 1 and int(resp) is not 2:
                 return True, [403, {'message': 'No cuenta con los permisos para realizar esta acción',
                                     'action': 'Realice otra consulta'}]
             self.id_tipo_grupo = id_type
             self.nombre_grupo = name
             self.descripcion = description
             s.commit()
             resp = [200, {'message': 'Los datos se actualizaron correctamente'}]
             return False, resp
     return True, [403, {'message': 'No cuenta con los permisos para realizar esta acción',
                         'action': 'Realice otra consulta'}]
Beispiel #18
0
def process_order(user_id, parameters, payment_info, location):
    basket = get_basket(user_id, parameters, location)
    order = ProductOrder(user_id)
    order.add_item()
    order.total = 0
    for basket_item in basket:
        stock_quantity = get_inventory_quantity_by_id(
            basket_item.stock_item_id)
        if stock_quantity - basket_item.standard_basket_quantity >= 0:
            order_item = ProductOrderItem(
                order.product_order_id, basket_item.stock_item_id,
                int(basket_item.standard_basket_quantity),
                basket_item.inventory.stock_price)
            order.total += (basket_item.standard_basket_quantity *
                            basket_item.inventory.stock_price)
            s.add(order_item)
        else:
            order_item_error = ProductOrderItemError(
                order.product_order_id, basket_item.inventory.product_id,
                int(basket_item.standard_basket_quantity))
            s.add(order_item_error)
    s.commit()
    if order.total <= 0:
        order.cancelled = True
        s.commit()
        raise ResourceConflict(
            'Orden no procesada. El valor total debe ser mayor a 0')
    payment_info['transaction_amount'] = order.total
    transaccion = ProductTransaction(order.product_order_id, payment_info)
    transaccion.add_item()
    error, response = payment(payment_info)
    if error:
        transaccion.id_estado_transaccion = 3
        s.commit()
        raise ResourceConflict('Pago rechazado')
    transaccion.referencia_pago = response
    transaccion.id_estado_transaccion = 2
    s.commit()
    empty_basket(user_id)
    return {'success': True}, 200, {'ContentType': 'application/json'}
 def update_item(self, standard_basket_quantity):
     self.standard_basket_quantity += standard_basket_quantity
     s.add(self)
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #20
0
 def add_item(self):
     s.add(self)
     s.commit()
     resp = [201, {'message': 'El vehículo se creó exitosamente'}]
     return False, resp
Beispiel #21
0
 def add_item(self):
     s.add(self)
     s.commit()
     resp = [201, {'message': 'La programación se creó exitosamente'}]
     return False, resp
Beispiel #22
0
 def add_location(self):
     s.add(self)
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #23
0
 def update_username(self, username):
     check_user_not_exists_by_username(username)
     self.username = username
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
Beispiel #24
0
 def update_user_name(self, name):
     self.full_name = name
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
 def add_item(self):
     s.add(self)
     s.commit()
 def add_warehouse_member(self, requested_by):
     s.add(self)
     s.commit()
     update_warehouse_member_status(self.store_employee_id, 1, requested_by)
     update_warehouse_member_role(self.store_employee_id, 2, requested_by)
     return {'success': True}, 200, {'ContentType': 'application/json'}
def empty_basket_by_user_id(basket):
    for item in basket:
        s.delete(item)
    s.commit()
    return {'success': True}, 200, {'ContentType': 'application/json'}
def update_warehouse_member_role(id_miembro_almacen, role, updated_by):
    member_role = StoreEmployeeRole(id_miembro_almacen, role, updated_by)
    rol = member_role
    s.add(rol)
    s.commit()
    return {'success': True}, 200, {'ContentType': 'application/json'}
 def delete_item(self):
     s.delete(self)
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}
 def update_item(self, quantity):
     self.dynamic_basket_quantity = quantity
     s.add(self)
     s.commit()
     return {'success': True}, 200, {'ContentType': 'application/json'}