Select Git revision
.part-r-00042.crc
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()