def deleteUserPost(request): global personne if request.user.is_superuser: is_error = 0 try: idUtilisateur = request.POST["idUtilisateur"] utilisateur = Utilisateur.objects.filter( idUtilisateur=idUtilisateur)[0] personne = Personne.objects.filter(utilisateur=utilisateur)[0] personne.estSupprimer = 1 personne.save() log = Log() log.utilisateur = request.user.username log.action = "Suppression utilisateur " + utilisateur.user.username log.save() except: is_error = 1 if is_error == 0: #return redirect(listeUsers) message = u"Utilisateur " + decodeString( personne.nomPersonne) + " " + decodeString( personne.prenomPersonne) + u" supprimé avec succès" else: message = "error" return HttpResponse(message)
def activerRestaurant(request,idRestaurant): global myfile, restaurant if request.user.is_authenticated(): if request.user.is_superuser : global ckeck try: restaurant=Restaurant.objects.filter(idRestaurant=idRestaurant)[0] check=1 except: check=0 if check ==1: restaurant.estDesactiver=0 restaurant.save() log = Log() log.utilisateur = request.user.username log.action = "activation restaurant " + decodeString( restaurant.nomRestaurant) + " pour l'entite " + decodeString( restaurant.entite.nomEntite) log.save() messages.success(request, 'Restaurant activé avec succès') return redirect(profilEntite, restaurant.entite.idEntit) else: message = "page introuvable" return render(request, '404.html', locals())
def activerFormule(request, idFormule): if request.user.is_authenticated(): if request.user.is_superuser or request.user.utilisateur.isManager == 0: is_error = 0 try: forlmule = Formule.objects.filter(idFormule=idFormule)[0] except: is_error = 1 if is_error == 0: forlmule.estDesactiver = 0 forlmule.save() log = Log() log.utilisateur = request.user.username log.action = u"Activation formule pour entité " + decodeString( forlmule.entite.nomEntite) log.save() messages.success(request, u'formule activée avec succès') return redirect(listeFormule, forlmule.entite.idEntit) else: message = "page introuvable" return render(request, '404.html', locals())
def showOnMapRestaurant(request): global message, restaurant if request.user.is_authenticated(): if request.user.is_superuser : idRestaurant = request.POST["idRestaurant"] is_error = 0 try: restaurant = Restaurant.objects.filter(idRestaurant=idRestaurant)[0] except: is_error = 1 if is_error == 0: restaurant.estSupprimer = 1 restaurant.save() log = Log() log.utilisateur = request.user.username log.action = u"suppréssion du restaurant " + decodeString(restaurant.entite.nomEntite) log.save() message = u"Restaurant supprimé avec succès" else: message = "error" return HttpResponse(message)
def creerFormule(request, idEntite): if request.user.is_authenticated(): if request.user.is_superuser or request.user.utilisateur.isManager == 0: is_error = 0 try: entite = Entite.objects.filter(idEntit=idEntite)[0] except: is_error = 1 if is_error == 0: if request.POST: libelle = request.POST["libelle"] descript = request.POST["descript"] prix = request.POST["prix"] if libelle == "": is_error = 1 error_libelle = "veuillez remplier ce champs" if prix == "": is_error = 1 error_prix = "veuillez remplier ce champs" else: try: int(prix) except: is_error = 1 error_prix = "champs incorrect" save_plus = request.POST.getlist('save_and') try: myfile = request.FILES['logo'] except: error_logo = "veuillez selectionner une image" is_error = 1 if is_error == 0: entite_folder = "C:/Users/root/PycharmProjects/senfood/static/images/uploads/" + decodeString( entite.nomEntite) last = myfile.name[myfile.name.rfind("."):len(myfile. name)] forlmule = Formule() forlmule.nomFormule = libelle forlmule.descriptFormule = descript forlmule.prixFormule = prix forlmule.entite = entite forlmule.createurFormule = request.user forlmule.save() logo_name = "form_" + decodeString( entite.nomEntite) + "_" + str( forlmule.idFormule) + last forlmule.logoFormule = "images/uploads/" + decodeString( entite.nomEntite) + "/" + logo_name forlmule.save() destination = open( os.path.join(entite_folder, logo_name), 'wb+') for chunk in myfile.chunks(): destination.write(chunk) destination.close() log = Log() log.utilisateur = request.user.username log.action = u"Création formule pour entité " + decodeString( entite.nomEntite) log.save() messages.success(request, u'formule ajoutée avec succès') try: _next = int(save_plus[0]) except: _next = 0 if _next == 0: return redirect(listeFormule, idEntite) else: libelle = "" descript = "" prix = "" return render(request, 'nouveau_formule.html', locals()) else: return render(request, 'nouveau_formule.html', locals()) else: return render(request, 'nouveau_formule.html', locals()) else: message = "page introuvable" return render(request, '404.html', locals())
def modifierFormule(request, idFormule): if request.user.is_authenticated(): if request.user.is_superuser or request.user.utilisateur.isManager == 0: is_error = 0 try: forlmule = Formule.objects.filter(idFormule=idFormule)[0] entite = Entite.objects.filter(formule=forlmule)[0] except: is_error = 1 if is_error == 0: if request.POST: is_image_change = 0 libelle = request.POST["libelle"] descript = request.POST["descript"] prix = request.POST["prix"] if libelle == "": is_error = 1 error_libelle = "veuillez remplier ce champs" if prix == "": is_error = 1 error_prix = "veuillez remplier ce champs" else: try: int(prix) except: is_error = 1 error_prix = "champs incorrect" try: myfile = request.FILES['logo'] except: is_image_change = 1 if is_error == 0: forlmule.nomFormule = libelle forlmule.descriptFormule = descript forlmule.prixFormule = prix if is_image_change == 0: entite_folder = "C:/Users/root/PycharmProjects/senfood/static/images/uploads/" + decodeString( forlmule.entite.nomEntite) last = myfile.name[myfile.name. rfind("."):len(myfile.name)] logo_name = "form_edit" + str( forlmule.estModifier + 1) + "_" + decodeString( forlmule.entite.nomEntite) + "_" + str( forlmule.idFormule) + last forlmule.logoFormule = "images/uploads/" + decodeString( forlmule.entite.nomEntite) + "/" + logo_name destination = open( os.path.join(entite_folder, logo_name), 'wb+') for chunk in myfile.chunks(): destination.write(chunk) destination.close() forlmule.estModifier = forlmule.estModifier + 1 forlmule.save() log = Log() log.utilisateur = request.user.username log.action = u"Modification formule pour entité " + decodeString( forlmule.entite.nomEntite) log.save() messages.success(request, u'formule modifiée avec succès') return redirect(listeFormule, forlmule.entite.idEntit) else: return render(request, 'editer_formule.html', locals()) else: libelle = forlmule.nomFormule prix = forlmule.prixFormule descript = forlmule.descriptFormule return render(request, 'editer_formule.html', locals()) else: message = "page introuvable" return render(request, '404.html', locals())
def createRestaurant(request,idEntite): global myfile, entite if request.user.is_authenticated(): if request.user.is_superuser : global ckeck try: entite = Entite.objects.filter(idEntit=idEntite)[0] check=1 except: check=0 if check ==1: if request.POST: is_error = 0 nom = request.POST["nom"] quartier = request.POST["quartier"] email = request.POST["email"] numero = request.POST["numero"] latitude = request.POST["latitude"] longitude = request.POST["longitude"] # couleur=request.POST["coleur"] save_plus = request.POST.getlist('save_and') if latitude == "": error_latitude = "veuiller remplir ce champs" is_error = 1 if longitude == "": error_longitude = "veuiller remplir ce champs" is_error = 1 if nom == "": errer_nom = "veuiller remplir ce champs" is_error = 1 if quartier == "": error_quartier = "veuiller remplir ce champs" is_error = 1 if email == "": error_email = "veuiller remplir ce champs" is_error = 1 else: if re.search(r"^[a-z0-9._-]+@[a-z0-9._-]+\.[a-z]+", email) is None: is_error = 1 error_email = "email incorrect" if numero == "": error_numero = "veuiller remplir ce champs" is_error = 1 else: if re.search(r"^[0-9]{9}$", numero) is None: is_error = 1 error_numero = "numero incorrect" try: myfile = request.FILES['logo'] except: error_logo = "veuillez selectionner une image" is_error = 1 # fs = FileSystemStorage() if is_error == 0: restaurant=Restaurant() restaurant.nomRestaurant=nom restaurant.numeroRestaurant=numero restaurant.emailRestaurant=email restaurant.createurRestaurant=request.user restaurant.entite=entite restaurant.quartierRestaurant=quartier restaurant.longiRestaurant=longitude restaurant.latiRestaurant=latitude entite_folder = "C:/Users/root/PycharmProjects/senfood/static/images/uploads/" save_path = "C:/Users/root/PycharmProjects/senfood/static/images/uploads/" +decodeString(entite.nomEntite) logo_name = "restau_" + nom + "_" + myfile.name destination = open(os.path.join(save_path, logo_name), 'wb+') restaurant.logoRestaurant = "images/uploads/" + decodeString(entite.nomEntite) + "/" + logo_name restaurant.save() for chunk in myfile.chunks(): destination.write(chunk) destination.close() log = Log() log.utilisateur = request.user.username log.action = "Creation restaurant " + nom+" pour l'entite "+decodeString(entite.nomEntite) messages.success(request, 'Restaurant ajouté avec succès') try: _next = int(save_plus[0]) except: _next = 0 if _next == 0: v=5 #return render(request, 'creationRestaurant.html', locals()) return redirect(profilEntite,idEntite) else: nom = "" quartier = "" email = "" numero = "" longitude="" latitude="" return render(request, 'creationRestaurant.html', locals()) else: # entite=Entite() # entite.nomEntite=nom # entite.sloganEntite=slogan # entite.emailEntite=email # entite.numeroEntite=numero return render(request, 'creationRestaurant.html', locals()) else: return render(request, 'creationRestaurant.html', locals()) else: message = "page introuvable" return render(request, '404.html', locals())
def regenererTokenMobil(request): global var_tmp, validation idClient = request.POST["idClient"] is_error = 0 try: client = Client.objects.filter(idclient=idClient)[0] validation = Validation.objects.filter(client=client, estValider=0, estSupprimer=0).last() except: is_error = 1 if is_error == 0: validations = Validation.objects.filter(client=validation.client) if validations.count() < 3: validation.estSupprimer = 1 validation.save() validation1 = Validation() validation1.client = validation.client check = 0 exist = 0 listeValidation = Validation.objects.filter(estSupprimer=0) while check == 0: var_tmp = "" while len(var_tmp) < 6: d = randint(0, 9) var_tmp = var_tmp + str(d) for validati in listeValidation: if validati.keyValidation == var_tmp: exist = 1 if exist == 0: check = 1 validation1.keyValidation = var_tmp validation1.estConfirmer = 1 validation1.save() data_message = { "code": var_tmp, "numero": validation.client.personne.numeroPersonne } sendSms(validation.client.personne.numeroPersonne, var_tmp) log = Log() log.utilisateur = request.user.username log.action = u"regénération token pour validation compte client pour " + decodeString( validation.client.user.username) log.save() data = '{"statut":200}' return HttpResponse(data) else: date_save = datetime.strftime(validations.last().dateCreation, '%Y-%m-%d %H:%M:%S') currentDate = datetime.now() diff = currentDate - datetime.strptime(date_save, '%Y-%m-%d %H:%M:%S') res = diff.seconds / 60 if res < 60: tmp = 60 - res data = '{"statut":202,"delai":' + str(tmp) + '}' return HttpResponse(data) else: validation.estSupprimer = 1 validation.save() validation1 = Validation() validation1.client = validation.client check = 0 exist = 0 listeValidation = Validation.objects.filter(estSupprimer=0) while check == 0: var_tmp = "" while len(var_tmp) < 6: d = randint(0, 9) var_tmp = var_tmp + str(d) for validati in listeValidation: if validati.keyValidation == var_tmp: exist = 1 if exist == 0: check = 1 validation1.keyValidation = var_tmp validation1.estConfirmer = 1 validation1.save() data_message = { "code": var_tmp, "numero": validation.client.personne.numeroPersonne } sendSms(validation.client.personne.numeroPersonne, var_tmp) log = Log() log.utilisateur = request.user.username log.action = u"regénération token pour validation compte client pour " + decodeString( validation.client.user.username) log.save() data = '{"statut":200}' return HttpResponse(data) else: return HttpResponse("error", status=403)