コード例 #1
0
ファイル: general.py プロジェクト: chavus/cursa_acarreo
def _validate_no_duplicates(lst):  # General purpose validation
    """
    Validate there are no duplicates values in the field
    :param list: list to be validated
    :return: mongoeninge.ValidationError if there are duplicate values
    """
    if True in [lst.count(i) > 1 for i in lst]:
        raise db.ValidationError(
            'Duplicate values found. Field cannot have duplicates')
コード例 #2
0
ファイル: general.py プロジェクト: chavus/cursa_acarreo
 def clean(self):
     """
     Makes sure there are no duplicated name + last_name combinatino
     """
     search_driver = self.find_by_full_name(name=self.name,
                                            last_name=self.last_name,
                                            raise_if_none=False)
     if search_driver:
         if search_driver.id != self.id:
             raise db.ValidationError(
                 'Combinación Nombre+Apellido ya ha sido dado de alta: ')
コード例 #3
0
ファイル: general.py プロジェクト: chavus/cursa_acarreo
def _validate_no_duplicate_objects(list):
    """
    Validate that there are no duplicates objects in ListField
    :param list: list of ListField
    :return: mongonengine.ValidationError if there are duplicate objects in the list
    """
    list_of_object_by_id = [i.id for i in list]
    try:
        _validate_no_duplicates(list_of_object_by_id)
    except db.ValidationError:
        raise db.ValidationError(
            'Duplicate objects in ListField Found. Cannot have duplicates.')
コード例 #4
0
ファイル: trip.py プロジェクト: chavus/cursa_acarreo
def validate_user_options(value):
    if not User.find_by_username(value, raise_if_none=False):
        raise db.ValidationError(
            'Usuario {} no encontrado en lista de usuarios.'.format(value))
コード例 #5
0
ファイル: trip.py プロジェクト: chavus/cursa_acarreo
def validate_location_options(value):
    if not (MaterialBank.find_by_name(value, raise_if_none=False)
            or Project.find_by_name(value, raise_if_none=False)):
        raise db.ValidationError(
            'Ubicación {} no encontrado en lista de bancos ni obras.'.format(
                value))
コード例 #6
0
ファイル: trip.py プロジェクト: chavus/cursa_acarreo
def validate_material_options(value):
    if not Material.find_by_name(value, raise_if_none=False):
        raise db.ValidationError(
            'Material {} no encontrado en lista de materiales.'.format(value))
コード例 #7
0
ファイル: trip.py プロジェクト: chavus/cursa_acarreo
def validate_truck_options(value):
    if not Truck.find_by_idcode(value, raise_if_none=False):
        raise db.ValidationError(
            'Camión {} no encontrado en lista de camiones.'.format(value))