Files
n3wt-school/Back-End/GestionLogin/validator.py
Luc SORIGNET af0cd1c840 chore: Initial Commit
feat: Gestion des inscriptions [#1]
feat(frontend): Création des vues pour le paramétrage de l'école [#2]
feat: Gestion du login [#6]
fix: Correction lors de la migration des modèle [#8]
feat: Révision du menu principal [#9]
feat: Ajout d'un footer [#10]
feat: Création des dockers compose pour les environnements de
développement et de production [#12]
doc(ci): Mise en place de Husky et d'un suivi de version automatique [#14]
2024-11-18 16:06:21 +01:00

121 lines
3.9 KiB
Python

from django.core.exceptions import ValidationError
from abc import ABC, abstractmethod
from N3wtSchool import bdd, error
class Validator(ABC):
formName=""
data = {}
errorFields={}
@abstractmethod
def validate(self):
pass
def getErrorFields(self):
return self.errorFields
class ValidatorAuthentication(Validator):
def __init__(self, **kwargs):
self.data = kwargs['data']
self.errorFields = {'email':'','password':''}
def __str__ (self):
return "VALIDATOR_AUTHENTICATION : " + self.data
def validate(self):
email = self.data.get("email")
password = self.data.get("password")
if email == None or not email:
self.errorFields['email'] = error.returnMessage[error.INCOMPLETE]
if password == None or not password:
self.errorFields['password'] = error.returnMessage[error.INCOMPLETE]
return (not self.errorFields['email'] and not self.errorFields['password']), self.errorFields
def getErrorFields(self):
return super().getErrorFields()
class ValidatorSubscription(Validator):
def __init__(self, **kwargs):
self.data = kwargs['data']
self.errorFields = {'email':'','password1':'', 'password2':''}
def __str__ (self):
return "VALIDATOR_SUBSCRIPTION : " + self.data
def validate(self):
email = self.data.get("email")
password1 = self.data.get("password1")
password2 = self.data.get("password2")
if password1 != password2:
self.errorFields['password1'] = error.returnMessage[error.DIFFERENT_PASWWORD]
self.errorFields['password2'] = error.returnMessage[error.DIFFERENT_PASWWORD]
else:
if email == None or not email:
self.errorFields['email'] = error.returnMessage[error.INCOMPLETE]
if password1 == None or not password1:
self.errorFields['password1'] = error.returnMessage[error.INCOMPLETE]
if password2 == None or not password2:
self.errorFields['password2'] = error.returnMessage[error.INCOMPLETE]
return (not self.errorFields['email'] and not self.errorFields['password1'] and not self.errorFields['password2']), self.errorFields
def getErrorFields(self):
return super().getErrorFields()
class ValidatorNewPassword(Validator):
def __init__(self, **kwargs):
self.data = kwargs['data']
self.errorFields = {'email':''}
def __str__ (self):
return "VALIDATOR_NEW_PASSWORD : " + self.data
def validate(self):
email = self.data.get("email")
if email == None or not email:
self.errorFields['email'] = error.returnMessage[error.INCOMPLETE]
return not self.errorFields['email'], self.errorFields
def getErrorFields(self):
return super().getErrorFields()
class ValidatorResetPassword(Validator):
def __init__(self, **kwargs):
self.data = kwargs['data']
self.errorFields = {'password1':'', 'password2':''}
def __str__ (self):
return "VALIDATOR_RESET_PASSWORD : " + self.data
def validate(self):
password1 = self.data.get("password1")
password2 = self.data.get("password2")
if password1 != password2:
self.errorFields['password1'] = error.returnMessage[error.DIFFERENT_PASWWORD]
self.errorFields['password2'] = error.returnMessage[error.DIFFERENT_PASWWORD]
else:
if password1 == None or not password1:
self.errorFields['password1'] = error.returnMessage[error.INCOMPLETE]
if password2 == None or not password2:
self.errorFields['password2'] = error.returnMessage[error.INCOMPLETE]
return (not self.errorFields['password1'] and not self.errorFields['password2']), self.errorFields
def getErrorFields(self):
return super().getErrorFields()