Skip to content
Snippets Groups Projects
Select Git revision
  • 365bb1073bcf12c65b8c8c79f6d1b0d6b5111b83
  • master default
2 results

.part-r-00042.crc

Blame
  • views.py 10.94 KiB
    from django.http import HttpResponse
    from django.http import HttpResponseRedirect
    from django.shortcuts import render, redirect
    from campagne.models import utilisateur, commande_crepe
    from django.shortcuts import redirect
    import requests
    import json
    # from cryptography.fernet import Fernet
    
    from django.core.mail import send_mail
    
    
    def connexion(request):
        return HttpResponseRedirect('https://auth.viarezo.fr/oauth/authorize/?redirect_uri=https://astegifetobegif.cs-campus.fr/intermediaire&client_id=2fe828e15647fc92437727b6646ce5c799c40991&response_type=code&state=sqdkfjhsqdkf&scope=default')
    
    def login(request): #on a le state et le authorization code dans le request
        code = str(request.GET['code']),
        state = str(request.GET['state'])
        url = 'https://auth.viarezo.fr/oauth/token'
        redirect_url = 'https://astegifetobegif.cs-campus.fr/intermediaire'
        jso = requests.post(url, data={'grant_type':'authorization_code','code':code,'redirect_uri':redirect_url,'client_id':'2fe828e15647fc92437727b6646ce5c799c40991','client_secret':'f306614fc96833e80af693f2991901bc54a9cf9a'}).json()
        access_token = jso['access_token']
        r = requests.get("https://auth.viarezo.fr/api/user/show/me", headers={"Authorization" : "Bearer "+access_token})
        reponse = redirect(hotline)
        if not utilisateur.objects.filter(email=r.json()['email']).exists():
            utilisateur.objects.create(email=r.json()['email'],prenom=r.json()['firstName'],nom=r.json()['lastName']).save()
        else:
            useer=utilisateur.objects.get(email=r.json()['email'])
            if useer.prenom == "":
                useer.prenom = r.json()['firstName']
                useer.nom=r.json()['lastName']
                useer.save()
        reponse.set_cookie("token",access_token, secure=True)
        return reponse
    
    def accueil(request):
        test=check(request)
        url="campagne/accueil.html"
        if test[0]:
            return render(request,url,test[1])
        return render(request,url)
    
    def activites(request):
        test=check(request)
        url="campagne/activites.html"
        if test[0]:
            return render(request,url,test[1])
        return render(request,url)
    
    def membres(request):
        test=check(request)
        url="campagne/membres.html"
        if test[0]:
            return render(request,url,test[1])
        return render(request,url)
    
    def hotline(request):
        test=check(request)
        if test[0]:
            return render(request ,"./campagne/hotline.html", 
                          test[1])
        return redirect(connexion)
    
    def commande_passee(request, requete):
        L = requete.split('_')
        token=request.COOKIES.get('token')
        r = requests.get("https://auth.viarezo.fr/api/user/show/me", headers={"Authorization" : "Bearer "+token})
        mail = r.json()['email']
        commande=commande_crepe.objects.create(adresse_livraison=L[4], crepe_nature=L[0], crepe_nutella=L[1], crepe_sucre=L[2], crepe_confiture=L[3],commanditaire=utilisateur.objects.get(email=mail))
        commande.save()
        #send_mail('commande crêpes',
         #       'Nouvelle commande',
         #       'stepgifimstuck@gmail.com',
         #       ['stepgifimstuck@gmail.com'])
        return redirect(mes_commandes)
    
    def mes_commandes(request):
        test=check(request)
        if test[0]:
            return render(request ,"./campagne/mes_commandes.html", 
                          test[1])
        return redirect(connexion)
    
    def qui_travaille(request):
        url="campagne/qui_travaille.html"
        return redirect_admin(request,url)
    
    def mes_livraisons(request):
        url="campagne/mes_livraisons.html"
        return redirect_admin(request,url)
    
    def commandes_campus(request):
        url="campagne/commandes_campus.html"
        return redirect_admin(request,url)
        
    def annuler(request, pkrequete):
        commande_crepe.objects.filter(pk=pkrequete).delete()
        return redirect(mes_commandes)
    
    
    def prendre_en_charge(request, pkrequete):
        test=check(request)
        if test[0]:
            mail=test[1]['email']
            livreeur=utilisateur.objects.get(email=mail)
            commande=commande_crepe.objects.get(pk=pkrequete)
            commande.statut="en cours"
            commande.livreur=livreeur
            commande.save()
            return redirect(commandes_campus)
        return HttpResponse("Vous n'avez pas les autorisations requises pour accéder à cette page")
        
    
    def clore(request, pkrequete):
        test=check(request)
        if test[0]:
            commande=commande_crepe.objects.get(pk=pkrequete)
            commande.statut="close"
            commande.save()
            return  redirect(mes_commandes)
        return HttpResponse("Vous n'avez pas les autorisations requises pour accéder à cette page")
        
    
    def vip(request):
        addtodb()
        return HttpResponse("Stylé tu es VIP")
    
    def check(request):
        if request.COOKIES.get('token'):
            token=request.COOKIES.get('token')
            r = requests.get("https://auth.viarezo.fr/api/user/show/me", headers={"Authorization" : "Bearer "+token})
            mail = r.json()['email']
            role=utilisateur.objects.get(email=mail)
            return [True,{'email': mail, 'role': role.role, 'commandes': reversed(commande_crepe.objects.all())}]
        return [False]
    
    def redirect_admin(request, url):
        test=check(request)
        if not test[0] or test[1]['role']!='admin':
            return HttpResponse("Vous n'avez pas les autorisations requises pour accéder à cette page")
        return render(request,url,test[1])
    
    
    
    def addtodb():
        admin=[
       # "james.tran@student-cs.fr",
       # "alix.peyrot@student-cs.fr",
       # "alix.simier@student-cs.fr", 
       # "hugo.guideau@student-cs.fr",
       # "bertille.bouget@student-cs.fr",
       # "maximilien.lyonnais@student-cs.fr",
       # "martin.du-reau@student-cs.fr",
       # "sacha.kretz@student-cs.fr",
       # "baptiste.aubert@student-cs.fr",
       # "marine.teissedre@student-cs.fr",
       # "gad.encaoua@student-cs.fr",
       # "khalil.stout@student-cs.fr",
       # "diane.patri@student-cs.fr",
       # "raphael.doste@student-cs.fr",
       # "kelian.tinentouolac@student-cs.fr",
       # "alexandre.sepulveda-de-dietrich@student-cs.fr",
       # "pierre.magre@student-cs.fr",
       # "medreda.belkahla@student-cs.fr",
       # "yann.lindegaard@student-cs.fr",
       #  "milo.hivert@student-cs.fr",
       # "maxime.barbaut@student-cs.fr",
       # "hassan.fayad@student-cs.fr",
       # "sacha.cohen@student-cs.fr",
       # "capucine.lefebure@student-cs.fr",
       # "marine.bruneau@student-cs.fr",
       # "oscar.parlier@student-cs.fr",
       # "baptiste.leray@student-cs.fr",
       # "quentin.rebut@student-cs.fr",
       # "antoine.hanachowicz@student-cs.fr"
       ]
        vip=[
        #"alban.cusset@student-cs.fr",
        #"leane.pelletier@student-cs.fr",
        #"erina.bard@student-cs.fr",
        #"pierre.meyssonnier@student-cs.fr",
        #"nathan.fournier@student-cs.fr",
        #"felix.pejot@student-cs.fr",
        #"antoine.vaglio@student-cs.fr",
        #"elina.roussel@student-cs.fr",
        #"nicolas.rapineau@student-cs.fr",
        #"jean.dormois@student-cs.fr",
        #"louise.simoulin@student-cs.fr",
        #"anais.ulloa@student-cs.fr",
        #"leonard.wolff@student-cs.fr",
        #"nathan.ferreira@student-cs.fr",
        #"sara.abkari@student-cs.fr",
        #"simeon.boyer@student-cs.fr",
        #"dorian.cochennec@student-cs.fr",
        #"eulalie.tissot@student-cs.fr",
        #"vianney.delemazure@student-cs.fr",
        #"jules.winstel@student-cs.fr",
        #"clara.bou-hanna@student-cs.fr",
        #"thibault.chopin@student-cs.fr",
        #"aymeric.jaoulfavier@student-cs.fr",
        #"jad.latif@student-cs.fr",
        #"victor.varoqui@student-cs.fr",
        #"zakaria.ajerame@student-cs.fr",
        #"adam.el-harti@student-cs.fr",
        #"yassine.abbad-andaloussi@student-cs.fr",
        #"ali.berni@student-cs.fr",
        #"antonia.raquiman@student-cs.fr",
        #"vincent.nguyen@student-cs.fr",
        #"lucie.rochas@student-cs.fr",
        #"noe.aussant@student-cs.fr",
        #"marin.bouraguba@student-cs.fr",
        #"julio.segui-basco@student-cs.fr",
        #"daphnee.roger@student-cs.fr",
        #"matis.ronsain@student-cs.fr",
        #"thomas.decossebrissac@student-cs.fr",
        #"raphael.le-nadan@student-cs.fr",
        #"laurent.barthelemy@student-cs.fr",
        #"gabriel.duguey@student-cs.fr",
        #"jaime.lopez-espada@student-cs.fr",
        #"camille.quellier@student-cs.fr",
        #"cyrielle.theobald@student-cs.fr",
        #"arthur.sibille@student-cs.fr",
        #"jules.mouradian@student-cs.fr",
        #"constant.chauvin@student-cs.fr",
        #"matthieu.mechin@student-cs.fr",
        #"clovis.petre@student-cs.fr",
        #"alexis.bretin@student-cs.fr",
        #"owen.josse@student-cs.fr",
        #"clement.aranda@student-cs.fr",
        #"pierre-eudes.carreau@student-cs.fr",
        #"anatole.huard@student-cs.fr",
        #"yann.filleur@student-cs.fr",
        #"camille.gayraud@student-cs.fr",
        #"justine.pereira@student-cs.fr",
        #"samuel.cordon@student-cs.fr",
        #"alexia.lanore@student-cs.fr",
        #"ninon.atienza@student-cs.fr",
        #"raphael.levisse@student-cs.fr",
        "mateo.dufresne-d-amico@student-cs.fr",
        "arthur.besnault@student-cs.fr",
        "louis.jacquemart@student-cs.fr",
        "thibaud.arnaud@student-cs.fr",
        "felix.de-la-ronciere@student-cs.fr",
        "hugo.thevenet@student-cs.fr",
        "hugo.wolff@student-cs.fr",
        "jules.rigaud@student-cs.fr",
        "zoe.garbal@student-cs.fr",
        "vladimir.petrovic@student-cs.fr",
        "claire.robin@student-cs.fr",
        "antoine.hauser@student-cs.fr",
        "victor.athanasio@student-cs.fr",
        "simon.tronchi@student-cs.fr",
        "brieuc.devevey@student-cs.fr",
        "clara.rieffel@student-cs.fr",
        "yvan.duhen@student-cs.fr",
        "jeanbaptiste.peter@student-cs.fr",
        "romain.fournier@student-cs.fr",
        "remi.quentin@student-cs.fr",
        "thomas.meot@student-cs.fr",
        "noah.vicens@student-cs.fr",
        "robin.delebassee@student-cs.fr",
        "mohamed.larhchim@student-cs.fr",
        "hicham.bouanani@student-cs.fr",
        "matthieu.annequin@student-cs.fr",
        "valentin.odde@student-cs.fr",
        "emma.lovisa@student-cs.fr",
        "florence.remy@student-cs.fr",
        "majda.brahimi@student-cs.fr",
        "romain.picard@student-cs.fr",
    
        "youssef.chadali@student-cs.fr",
        "arnaud.petit@student-cs.fr",
        "thomas.moreau@student-cs.fr",
        "edouard.chauliac@student-cs.fr",
        "mehdi.hmyene@student-cs.fr",
        "alban.falck@student-cs.fr",
        "mehdi.bennis@student-cs.fr",
        "louis.puisset@student-cs.fr",
        "emma.menegatti@student-cs.fr",
        "thomas.buscaylet@student-cs.fr",
        "tanguy.blervacque@student-cs.fr",
        "iona.serquin@student-cs.fr",
        "lisa.mollo@student-cs.fr",
        "louis.scremin@student-cs.fr",
        "norbert.gravellier@student-cs.fr",
        "roman.lapuente@student-cs.fr",
        "elise.desbordes@student-cs.fr",
        "paul.tristant@student-cs.fr",
        "adrien.guenard@student-cs.fr",
        "pierre.marthan@student-cs.fr",
        "paul.saliba@student-cs.fr",
        "maximilien.porcher@student-cs.fr",
        "renanf.bdemorais@student-cs.fr",
        "maxime.rault@student-cs.fr",
        "come.stephant@student-cs.fr",
        "jiling.li@student-cs.fr",
        "thomas.josse@student-cs.fr",
        "francois.porcher@student-cs.fr",
        "louis.lacapere@student-cs.fr",
        "etienne.dechambost@student-cs.fr",
        "anais.potier@student-cs.fr",
        "lucie.clemot@student-cs.fr",
        "geoffrey.dauge@student-cs.fr"]
        for mail in admin:
            utilisateur.objects.create(email=mail,role="admin").save()
        for mail in vip:
            utilisateur.objects.create(email=mail,role="vip").save()