def unique_code_validator_lib(form, field):
    code_unique = Libelle_Opportunite.objects(name=field.data).count()
    if code_unique:
        if not form.id.data:
            raise wtf.ValidationError('Ce nom est deja utilise.')
        else:
            code = Libelle_Opportunite.objects.get(id=form.id.data)
            if code.name != field.data:
                raise wtf.ValidationError('Ce nom est deja utilise.')
def unique_code_validator(form, field):
    code_unique = LigneService.objects(sigle=field.data).count()
    if code_unique:
        if not form.id.data:
            raise wtf.ValidationError(u'Ce sigle est déja utilisé')
        else:
            code = LigneService.objects.get(id=form.id.data)
            if code.sigle != field.data:
                raise wtf.ValidationError(u'Ce sigle est déja utilisé.')
def unique_code_validator(form, field):
    code_unique = Moyen_paiement.objects(sigle=field.data).count()
    if code_unique:
        if not form.id.data:
            raise wtf.ValidationError('Ce sigle est deja utilise.')
        else:
            code = Moyen_paiement.objects.get(id=form.id.data)
            if code.sigle != field.data:
                raise wtf.ValidationError('Ce sigle est deja utilise.')
Exemple #4
0
 def validate_cidr(form, field):
     try:
         network = netaddr.IPNetwork(field.data)
     except (UnboundLocalError, netaddr.AddrFormatError):
         raise wtf.ValidationError('Unrecognised format of CIDR')
     if network.size < 4:
         raise wtf.ValidationError('Network size is lower then 4; use something like 10.1.1.1/30.')
     if network.size > 65536:
         raise wtf.ValidationError('Network size is greater then 65536')
def unique_code_validator_attr(form, field):
    code_unique = Attribut.objects(name=field.data).count()
    if code_unique:
        if not form.id.data:
            raise wtf.ValidationError(u'Ce sigle est déja utilisé.')
        else:
            code = Attribut.objects.get(id=form.id.data)
            if code.name != field.data:
                raise wtf.ValidationError(u'Ce sigle est déja utilisé.')
def unique_email_validator(form, field):
    """ email must be unique"""
    user_manager = Client.objects(email=field.data)
    if len(user_manager):
        if not form.id.data:
            raise wtf.ValidationError('Cette adresse email existant.')
        else:
            use = Client.objects.get(id=form.id.data)
            if use.email != field.data:
                raise wtf.ValidationError('Cette adresse email existant.')
Exemple #7
0
def unique_name_validator(form, field):
    """ name must be unique"""
    data = PointDeVente.objects(Q(name=field.data)).count()
    if form.id.data:
        data_old = PointDeVente.objects.get(id=str(form.id.data))
        if data_old.name != field.data and data >= 1:
            raise wtf.ValidationError("Nom appareil existant")
    else:
        if data >= 1 and field.data:
            raise wtf.ValidationError("Nom appareil existant")
Exemple #8
0
def unique_email_validator_2(form, field):
    """ name must be unique"""
    data = Users.objects(Q(email=field.data)).count()

    if form.id.data:
        data_old = Users.objects.get(id=str(form.id.data))
        if data_old.email != field.data and data >= 1:
            raise wtf.ValidationError("Adresse Email existante")
    else:
        if data >= 1:
            raise wtf.ValidationError("Adresse Email existante")
def unique_code_validator(form, field):
    code_unique = Profil.objects(name=field.data).count()
    if code_unique:
        if not form.id.data:
            raise wtf.ValidationError(
                'Ce nom est deja utilise dans les profils.')
        else:
            code = Profil.objects.get(id=form.id.data)
            if code.name != field.data:
                raise wtf.ValidationError(
                    'Ce nom est deja utilise dans les profils.')
def unique_code_validator(form, field):
    code_unique = Domaine.objects(code=field.data)
    if len(code_unique):
        if not form.id.data:
            raise wtf.ValidationError(
                'Ce code est deja utilise dans le domaine.')
        else:
            code = Domaine.get_by_id(int(form.id.data))
            if code.code != field.data:
                raise wtf.ValidationError(
                    'Ce code est deja utilise dans le domaine.')
Exemple #11
0
def unique_name_validator(form, field):
    """ name must be unique"""
    mag = Articles.objects(
        Q(name=field.data) & Q(type_article=form.type_article.data)).count()

    if form.id.data:
        mag_old = Articles.objects.get(id=str(form.id.data))
        if mag_old.name != field.data and mag >= 1:
            raise wtf.ValidationError("Nom existant")
    else:
        if mag >= 1:
            raise wtf.ValidationError("Nom existant")
Exemple #12
0
def unique_email_validator(form, field):
    """ email must be unique"""
    user_manager = Comptes.objects(
        Q(notification_email=field.data)
    ).count()

    if form.id.data:
        mag_old = Comptes.objects.get(id=str(form.id.data))
        if mag_old.notification_email != field.data and user_manager >= 1:
            raise wtf.ValidationError("Email deja utilise dans un compte")
    else:
        if user_manager >= 1:
            raise wtf.ValidationError("Email deja utilise dans un compte")
def verif_dispobilite(form, field):
    dispo = float(field.data) - float(form.administration.data)
    dispo -= float(form.production.data)
    dispo -= float(form.formation.data)
    dispo -= float(form.developpement.data)
    if dispo > 0:
        raise wtf.ValidationError(
            'La somme des heures de prestation n\'est pas egale aux heures disponibles'
        )
    if dispo < 0:
        raise wtf.ValidationError(
            'La somme des heures de prestation est superieure aux heures disponibles '
            + str(dispo))
Exemple #14
0
def unique_name_validator(form, field):
    """ name must be unique"""
    data = Magasins.objects(
        Q(name=field.data)
    ).count()

    if form.id.data:
        data_old = Magasins.objects.get(id=str(form.id.data))
        if data_old.name != field.data and data >= 1:
            raise wtf.ValidationError("Nom de point de vente existant")
    else:
        if data >= 1 and field.data:
            raise wtf.ValidationError("Nom de point de vente existant")
Exemple #15
0
def unique_name_validator(form, field):
    """ name must be unique"""
    data = Categories.objects(
        Q(name=field.data) & Q(type_cat=form.type_cat.data)
    ).count()

    if form.id.data:
        mag_old = Categories.objects.get(id=str(form.id.data))
        if mag_old.name != field.data and data >= 1:
            raise wtf.ValidationError("Nom deja utilise")
    else:
        if data >= 1 and field.data:
            raise wtf.ValidationError("Nom deja utilise")
def unique_reference(form, field):
    if len(field.data) > 3:
        raise wtf.ValidationError(
            'Pas plus de 03 caracteres pour une reference.')
    else:
        client = Client.objects(ref=field.data)
        if len(client):
            if not form.id.data:
                raise wtf.ValidationError('Reference Unique. Il en existe un.')
            else:
                use = Client.objects.get(id=form.id.data)
                if use.ref != field.data:
                    raise wtf.ValidationError(
                        'Reference Unique. Il en existe un.')
Exemple #17
0
def unique_email_validator(form, field):
    """ name must be unique"""

    user_email = Clients.objects(
        Q(email=field.data) & Q(type_client=form.type_client.data)).count()

    if form.id.data:
        user_manager = Clients.objects().get(id=form.id.data)

        if field.data != user_manager.email and user_email >= 1:
            raise wtf.ValidationError("Adresse Courriel existant")
    else:
        if user_email >= 1 and field.data:
            raise wtf.ValidationError("Adresse Courriel existant")
def controle_avance(form, field):
    if form.id.data and form.solde.data:
        besoin = BesoinFinancier.objects.get(id=form.id.data)
        solde = besoin.montant - besoin.paye
        if float(field.data) > solde:
            raise wtf.ValidationError(
                'Le montant de l\'avance est superieur au solde')
Exemple #19
0
def valid_matiere(form, field):
    if field.data:
        json_data = str(field.data)
        produit_compose = json.loads(json_data)
        if len(produit_compose) == 0 and form.type_article.data == 1:
            raise wtf.ValidationError(
                "Le produit compose doit avoir au moins un article associe")
Exemple #20
0
def control_heure(form, field):

    if not form.derob_day.data and field.data:
        time = str(field.data)
        time = time.split(':')
        if int(time[0]) == 8 and int(time[1]) > 0 and not form.derob_day.data:
            raise wtf.ValidationError('L\'heure est superieure a la periode de travail')

        if int(time[0]) > 8 and not form.derob_day.data:
            raise wtf.ValidationError('L\'heure est superieure a la periode de travail')

        if int(time[0]) == 0 and int(time[1]) == 0 and not form.derob_day.data:
            raise wtf.ValidationError('Impossible de sauvegarder un temps null ou egale a zero')

    if not form.derob_day.data and not field.data:
        raise wtf.ValidationError('Champ Obligatoire')
Exemple #21
0
def verif_sigle(form, field):
    pret_exist = Prestation.objects(sigle=field.data)
    if len(pret_exist) == 1:
        current = pret_exist.first()
        if current.id != form.id.data:
            raise wtf.ValidationError(
                'Il existe une prestation avec le meme sigle.')
def controle_date(form, field):
    date_echeance = function.date_convert(field.data)

    if form.id.data:
        if form.relance.data or form.solde.data:
            if date_echeance < datetime.date.today():
                raise wtf.ValidationError(
                    'La date de la relance doit etre superieur ou egale a la date en cours'
                )
def control_date(form, field):
    day = datetime.date.today().strftime('%d/%m/%Y')
    dt = datetime.datetime.strptime(day, '%d/%m/%Y')

    send_date = function.date_convert(field.data)

    if send_date.year != function.date_convert(dt).year:
        raise wtf.ValidationError(
            'Cette date n\'est pas une date de l\'annee en cours')
def controle_date_end(form, field):
    date_start = datetime.datetime.combine(
        function.date_convert(form.date_start.data),
        datetime.datetime.min.time())
    date_end = datetime.datetime.combine(function.date_convert(field.data),
                                         datetime.datetime.min.time())
    if date_end < date_start:
        raise wtf.ValidationError(
            'La date de fin doit etre > la date de debut')
Exemple #25
0
def unique_name_validator(form, field):
    """ name must be unique"""
    data = Clients.objects(
        Q(display_name=field.data)
        & Q(type_client=form.type_client.data)).count()

    if form.id.data:
        data_old = Clients.objects.get(id=str(form.id.data))
        if data_old.display_name != field.data and data >= 1:
            if int(form.type_client.data) == 1:
                raise wtf.ValidationError("Nom du fournisseur existant")
            else:
                raise wtf.ValidationError("Nom de client existant")
    else:
        if data >= 1:
            if int(form.type_client.data) == 1:
                raise wtf.ValidationError("Nom du fournisseur existant")
            else:
                raise wtf.ValidationError("Nom de client existant")
Exemple #26
0
def control_date(form, field):
    day = datetime.date.today().strftime('%d/%m/%Y')
    dt = datetime.datetime.strptime(day, '%d/%m/%Y')
    start = dt - timedelta(days=dt.weekday())
    end = start + timedelta(days=6)

    send_date = function.datetime_convert(field.data)

    if send_date < function.datetime_convert(start) or send_date > function.datetime_convert(end):
        raise wtf.ValidationError('La date doit etre comprise entre '+function.format_date(start, '%d/%m/%Y')+" et "+function.format_date(end, '%d/%m/%Y'))
def controle_date_start(form, field):
    date_start = datetime.datetime.combine(function.date_convert(field.data),
                                           datetime.datetime.min.time())
    # if datetime.date.today() > date_start and not form.id.data:
    #     raise wtf.ValidationError('La date de debut doit etre >= date en cours')

    if form.id.data:
        projet = Projet.objects.get(id=form.id.data)
        if projet.date_start > date_start:
            raise wtf.ValidationError(
                'La nouvelle date de debut doit etre >= a la date modifie')
Exemple #28
0
def control_date(form, field):
    day = datetime.date.today().strftime('%d/%m/%Y')
    dt = datetime.datetime.strptime(day, '%d/%m/%Y')
    start = dt - timedelta(days=dt.weekday())
    end = start + timedelta(days=6)

    send_date = datetime.datetime.combine(function.date_convert(field.data), datetime.datetime.min.time())
    send_start = datetime.datetime.combine(function.date_convert(start), datetime.datetime.min.time())
    send_end = datetime.datetime.combine(function.date_convert(end), datetime.datetime.min.time())

    if not form.derob.data:
        if send_date < send_start or send_date > send_end:
            raise wtf.ValidationError('La date doit etre comprise entre '+function.format_date(start, '%d/%m/%Y')+" et "+function.format_date(end, '%d/%m/%Y'))
Exemple #29
0
def password_validator(form, field):
    """ Password must have one lowercase letter, one uppercase letter and one digit."""
    # Convert string to list of characters
    password = list(field.data)
    password_length = len(password)

    # Count lowercase, uppercase and numbers
    lowers = uppers = digits = 0
    for ch in password:
        # if ch.islower(): lowers+=1
        if ch.isupper(): uppers += 1
        if ch.isdigit(): digits += 1

    # Password must have one lowercase letter, one uppercase letter and one digit
    is_valid = password_length >= 6 and uppers and digits
    if not is_valid:
        raise wtf.ValidationError(
            'Le mot de passe doit avoir plus de 6 caracteres avec une lettre minuscule, une lettre majuscule et un chiffre.'
        )
def exist_date(form, field):
    date_field = datetime.datetime.combine(function.date_convert(field.data),
                                           datetime.datetime.min.time())
    exist_ferier = Ferier.objects(date=date_field)
    if len(exist_ferier):
        raise wtf.ValidationError('Cette date a deja ete cree')