예제 #1
0
파일: logics.py 프로젝트: AlexOUKS/BDF-API
def deleteCategorieProduit(request):

    if (request.method == "DELETE"):
        if Validators.is_not_empty(request.body):
            data = Validators.is_valid_json(request.body)
            if data == False:
                return HttpResponseBadRequest("Le JSON dans le corps de votre requête est mal formaté")
            
            fields = ["id"]
            errors = Validators.keys_are_inside_arrays(data, fields)
            
            if Validators.is_type(errors, list):
                return HttpResponseBadRequest("Champs manquants : " + json.dumps(errors))
            
            id = data["id"]

            categorieProduit = CategorieProduit.objects.filter(pk=id)
            
            if not Validators.is_not_empty(categorieProduit):
                return HttpResponseBadRequest("Catégorie non existante")
                
            categorieProduit[0].delete()

            return JsonResponse({'etat' : "Catégorie supprimée"})
        else:
            return HttpResponseBadRequest("Vous n'avez pas mis de corps à votre requête")
    
    return HttpResponseForbidden("Accès refusé")
예제 #2
0
def getVenteDF(request):
    reponse = []
    if(request.method == "POST"):


        data = Validators.is_valid_json(request.body)

        if data == False:
            
            return HttpResponseBadRequest("Probleme data")
        else:
            dateDebut = data["DateDebut"]
            dateFin = data["DateFin"]
            
            allVente = Vente.objects.all()
            for vente in allVente:
                if dateDebut <= vente.dateVente <= dateFin :
                    reponse.append(Vente_to_json(vente))




        return JsonResponse(reponse, safe= False)
    else:
        print("pas un get")
        return HttpResponseBadRequest("Mauvaise requête")
예제 #3
0
def login(request):
    if (request.method == "POST"):
        data = Validators.is_valid_json(request.body)
        if data == False:
            return HttpResponseBadRequest(
                "Le JSON dans le corps de votre requête est mal formaté")

        fields = ["login", "mdp"]
        errors = Validators.keys_are_inside_arrays(data, fields)

        if Validators.is_type(errors, list):
            return HttpResponseBadRequest("Champs manquants : " +
                                          json.dumps(errors))

        user = User.objects.filter(login=data['login'])

        if Validators.is_not_empty(user):
            hashmdp = hashlib.md5(data['mdp'].encode() +
                                  user[0].grainsel.encode())
            hashmdp = hashmdp.hexdigest()
            if user[0].mdp.lower() == hashmdp.lower():
                user.update(dateDerniereConnexion=datetime.datetime.now(),
                            token=random_generator(size=30))
                return JsonResponse({
                    'etat': "Connexion réussie",
                    'lvl': user[0].niveauAuth,
                    'token': user[0].token
                })
            else:
                return HttpResponseBadRequest("Mauvais indentifiants")
        else:
            return HttpResponseBadRequest("Identifiants non existants")
    else:
        return HttpResponseForbidden("Accès refusé")
예제 #4
0
def deleteUser(request):

    if (request.method == "DELETE"):
        if Validators.is_not_empty(request.body):
            data = Validators.is_valid_json(request.body)
            if data == False:
                return HttpResponseBadRequest(
                    "Le JSON dans le corps de votre requête est mal formaté")

            fields = ["login"]
            errors = Validators.keys_are_inside_arrays(data, fields)

            if Validators.is_type(errors, list):
                return HttpResponseBadRequest("Champs manquants : " +
                                              json.dumps(errors))

            login = data["login"]

            userExist = User.objects.filter(login=login)

            if Validators.is_not_empty(userExist):
                userExist[0].delete()
            else:
                return HttpResponseForbidden("Utilisateur non existant")

            return JsonResponse({'etat': "Utilisateur supprimé"})
        else:
            return HttpResponseBadRequest(
                "Vous n'avez pas mis de corps à votre requête")

    return HttpResponseForbidden("Accès refusé")
예제 #5
0
def editUser(request):

    if (request.method == "PUT"):
        if Validators.is_not_empty(request.body):
            data = Validators.is_valid_json(request.body)
            if data == False:
                return HttpResponseBadRequest(
                    "Le JSON dans le corps de votre requête est mal formaté")

            fields = ["login", "mdp", "niveauAuth"]

            errors = Validators.keys_are_inside_arrays(data, fields)

            if Validators.is_type(errors, list):
                return HttpResponseBadRequest("Champs manquants : " +
                                              json.dumps(errors))

            login = data["login"]
            mdp = data["mdp"]
            niveauAuth = data["niveauAuth"]

            user = User.objects.filter(login=login)

            if not Validators.is_not_empty(user):
                return HttpResponseBadRequest("Utilisateur non existant")

            user = user[0]

            if Validators.is_not_empty(login):
                user.login = login

            if Validators.is_not_empty(mdp):
                randomStr = random_generator()
                grainsel = hashlib.md5(randomStr.encode())
                grainsel = grainsel.hexdigest()
                user.grainsel = grainsel

                mdpHashed = hashlib.md5(mdp.encode() + grainsel.encode())
                user.mdp = mdpHashed.hexdigest()

            if Validators.is_not_empty(niveauAuth):
                try:
                    int(niveauAuth)
                except ValueError:
                    return HttpResponseBadRequest(
                        "Niveau d'authentification doit être un entier")

                user.niveauAuth = niveauAuth

            user.save()

            return JsonResponse({'etat': "Utilisateur modifié"})
        else:
            return HttpResponseBadRequest(
                "Vous n'avez pas mis de corps à votre requête")
    else:
        return HttpResponseForbidden("Accès refusé")
예제 #6
0
파일: logics.py 프로젝트: AlexOUKS/BDF-API
def editCategorieProduit(request):
    
    if (request.method == "PUT"):
        if Validators.is_not_empty(request.body):
            data = Validators.is_valid_json(request.body)
            if data == False:
                return HttpResponseBadRequest("Le JSON dans le corps de votre requête est mal formaté")
            
            fields = ["id", "nom", "colorGraph"]
            errors = Validators.keys_are_inside_arrays(data, fields)
            
            if Validators.is_type(errors, list):
                return HttpResponseBadRequest("Champs manquants : " + json.dumps(errors))
            
            categorie = CategorieProduit()

            id = data["id"]
            nom = data["nom"]
            colorGraph = data["colorGraph"]

            categorie = CategorieProduit.objects.filter(pk=id)
            
            if not Validators.is_not_empty(categorie):
                return HttpResponseBadRequest("Categorie non existante")

            categorie = categorie[0]

            if Validators.is_not_empty(nom) & Validators.is_not_empty(colorGraph):
                categorie.nom = nom
                categorie.colorGraph = colorGraph
            else:
                return HttpResponseBadRequest("Un des champs est vide")

            categorie.save()

            return JsonResponse({'etat' : "Categorie modifiée"})
        else:
            return HttpResponseBadRequest("Vous n'avez pas mis de corps à votre requête")
    else:
        return HttpResponseForbidden("Accès refusé")
예제 #7
0
파일: logics.py 프로젝트: AlexOUKS/BDF-API
def editProduit(request):
    
    if (request.method == "PUT"):
        if Validators.is_not_empty(request.body):
            data = Validators.is_valid_json(request.body)
            if data == False:
                return HttpResponseBadRequest("Le JSON dans le corps de votre requête est mal formaté")
            
            fields = ["id", "categorieProduit", "nom", "prixAchat", "prixVente", "disponible"]
            errors = Validators.keys_are_inside_arrays(data, fields)
            
            if Validators.is_type(errors, list):
                return HttpResponseBadRequest("Champs manquants : " + json.dumps(errors))
            
            produit = Produit()
            categorieProduit = data["categorieProduit"]
            id = data["id"]
            nom = data["nom"]
            prixAchat = data["prixAchat"]
            prixVente = data["prixVente"]
            disponible = data["disponible"]
            quantite = data["quantite"]

            produit = Produit.objects.filter(pk=id)
            
            if not Validators.is_not_empty(produit):
                return HttpResponseBadRequest("Produit non existant")

            produit = produit[0]

            if Validators.is_not_empty(categorieProduit):

                categorieProduitExist = CategorieProduit.objects.filter(nom=categorieProduit)

                if Validators.is_not_empty(categorieProduitExist) == False:
                    return HttpResponseBadRequest("Catégorie de produit non existante")

                produit.idCategorieProduit = categorieProduitExist[0]

            else:
                return HttpResponseBadRequest("Champ catégorie produit vide")

            if Validators.is_not_empty(nom) & Validators.is_not_empty(prixAchat) & Validators.is_not_empty(prixVente) & Validators.is_not_empty(disponible) & Validators.is_not_empty(quantite):
                produit.nom = nom
                produit.prixAchat = prixAchat
                produit.prixVente = prixVente
                produit.quantite = quantite

                produit.alt = nom.lower()
                if (disponible.lower() == "false"):
                    produit.disponible = False
                elif (disponible.lower() == "true"):
                    produit.disponible = True
                else:
                    produit.disponible = True
            else:
                return HttpResponseBadRequest("Un des champs est vide")

            produit.save()

            return JsonResponse({'etat' : "Produit modifié"})
        else:
            return HttpResponseBadRequest("Vous n'avez pas mis de corps à votre requête")
    else:
        return HttpResponseForbidden("Accès refusé")