def addOffreStage(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("stage.add_offrestage" in permissions): if request.method == 'POST': # Si une requête POST a été passée form = OffreStageForm(request.POST) # On récupère les données if form.is_valid(): # Si les données reçues sont valides form.save() return HttpResponseRedirect('/stage/offrestage/ok') else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'offrestage/forms.html', con) else: # Pas de requête POST form = OffreStageForm() # On crée un formulaire vide con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'offrestage/forms.html', con) else: return HttpResponseRedirect('/oups/')
def modifStage(request, pk): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() stg = Stage.objects.get(pk=pk) if ("stage.change_stage" in permissions or stg.etudiant.username == user): if ("etudiants" in user.groups.values_list('name',flat=True)): etu = Etudiant.objects.get(username=User.objects.get(username=request.user.username)) if stg.etudiant != etu: return HttpResponseRedirect('/stage/monStage/') if request.method == 'POST': # Si une requête POST a été passée en paramètre form = StageFormEtu(request.POST, instance=stg) # On récupère les données if form.is_valid() : # Si les données reçues sont valides form.save() return HttpResponseRedirect('/stage/' + pk) else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Modifier', 'form' : form,'nomEtu': etu.prenom+' '+etu.nom} return render(request,'stage/stage_form.html', con) else: #Si pas de requête form = StageFormEtu(instance=Stage.objects.get(pk=pk)) con = { 'actionAFaire' : 'Modifier', 'form' : form,'nomEtu': etu.prenom+' '+etu.nom} else: if request.method == 'POST': # Si une requête POST a été passée en paramètre form = StageForm(request.POST, instance=stg) # On récupère les données if form.is_valid(): # Si les données reçues sont valides form.save() return HttpResponseRedirect('/stage/' + pk) else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Modifier', 'form' : form} return render(request,'stage/stage_form.html', con) else: #Si pas de requête form = StageForm(instance=Stage.objects.get(pk=pk)) con = { 'actionAFaire' : 'Modifier', 'form' : form} return render(request,'stage/stage_form.html', con) else: return HttpResponseRedirect('/oups/')
def addStage(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') if ("stage.add_stage" in user.get_all_permissions()): if ("etudiants" in user.groups.values_list('name',flat=True)): etu = Etudiant.objects.get(username=User.objects.get(username=request.user.username)) if request.method == 'POST': # Si une requête POST a été passée en paramètre form = StageFormEtu(request.POST) # On récupère les données if form.is_valid(): # Si les données reçues sont valides obj = form.save() obj.reserver() return HttpResponseRedirect('/stage/ok') else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Ajouter', 'form' : form,'nomEtu': etu.prenom+' '+etu.nom} return render(request,'stage/stage_form.html', con) else: #Si pas de requête form = StageFormEtu(initial={'etudiant':etu}) con = { 'actionAFaire' : 'Ajouter', 'form' : form,'nomEtu': etu.prenom+' '+etu.nom} return render(request,'stage/stage_form.html', con) else: if request.method == 'POST': # Si une requête POST a été passée en paramètre form = StageForm(request.POST) # On récupère les données if form.is_valid(): # Si les données reçues sont valides obj = form.save() obj.reserver() return HttpResponseRedirect('/stage/ok') else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'stage/stage_form.html', con) else: #Si pas de requête form = StageForm() con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'stage/stage_form.html', con) else: return HttpResponseRedirect('/oups/')
def modifEnseignant(request, pk): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() enseignant = Enseignant.objects.get(pk=pk) if ("stage.change_enseignant" in permissions or enseignant.username == user): if request.method == 'POST': # Si on a une requête POST (le formulaire a été posté) form = EnseignantForm(request.POST,instance=Enseignant.objects.get(pk=pk)) if form.is_valid(): # Nous vérifions que les données envoyées sont valides form.save() return HttpResponseRedirect('/enseignant/' + pk) else: # Si on a une requête GET, on récupère l'id de l'entreprise à modifier et on affiche le form form = EnseignantForm(instance=Enseignant.objects.get(pk=pk)) print("Error") # On crée un formulaire vide return render(request,'enseignant/forms.html', { 'actionAFaire' : 'Modifier', 'form' : form}) else: return HttpResponseRedirect('/oups')
def addSalle(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("planning.add_salle" in permissions): if request.method == 'POST': # S'il s'agit d'une requête POST form = SalleForm(request.POST) # Nous reprenons les données if form.is_valid(): # Nous vérifions que les données envoyées sont valides form.save() try: request.POST['ajax'] return HttpResponse( serializers.serialize( "json", Salle.objects.filter(num=request.POST['num']) ), mimetype="application/json") except: return HttpResponseRedirect('/planning/') else: form = SalleForm() con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'planning/forms.html', con) else: return HttpResponseRedirect('/oups/')
def show_main(request): return render( request, "gestionStage/main.html", { "nbOffresValides": OffreStage.objects.filter(valideOffreStage=True).count(), "nbOffresInvalides": OffreStage.objects.filter(valideOffreStage=False).count(), "nbStagesInvalides": Stage.objects.filter(valideStage=False).count(), } )
def addLogiciel(request): if request.method == 'POST': form = LogicielForm(request.POST) if form.is_valid(): form.save() return HttpResponseRedirect('/stage/ajouter') form = LogicielForm() con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'stage/stage_form.html', con)
def addPersonneExt(request): if request.method == 'POST': # S'il s'agit d'une requête POST form = PersonneExtForm(request.POST) # Nous reprenons les données if form.is_valid(): # Nous vérifions que les données envoyées sont valides form.save() return HttpResponseRedirect('/stage/ajouter') form = PersonneExtForm() # Nous créons un formulaire vide con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'stage/stage_form.html', con)
def addSoutenance(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("planning.add_soutenance" in permissions): if request.method == 'POST': # Si une requête POST a été passée form = SoutenanceForm(request.POST) # On récupère les données if form.is_valid(): # Si les données reçues sont valides form.save() try: request.POST['ajax'] return HttpResponse( serializers.serialize( "json", Soutenance.objects.filter(stage= Stage.objects.get(pk=request.POST['stage'])), indent = 2, use_natural_keys=True ), mimetype="application/json") except: return HttpResponseRedirect('/planning/') else: # Si les données reçues sont invalides con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'planning/forms.html', con) else: # Pas de requête POST form = SoutenanceForm() # On crée un formulaire vide con = { 'actionAFaire' : 'Ajouter', 'form' : form} return render(request,'planning/forms.html', con) else: return HttpResponseRedirect('/oups/')
def validerOffreStage(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("stage.valider_offrestage" in permissions): return render( request, "offrestage/valideroffrestage.html", {"liste_offrestage": OffreStage.objects.order_by("intitule")} ) else: return HttpResponseRedirect('/oups')
def delOffreStage(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("stage.delete_offrestage" in permissions): form = supprimeOffreStageForm() con ={'form': form, 'actionAFaire' : 'Supprimer'} con.update(csrf(request)) if len(request.POST) > 0: form =supprimeOffreStageForm(request.POST) con = {'form': form} if form.is_valid(): form.save() return HttpResponseRedirect("/stage/offrestage") else: return render(request,'offrestage/forms.html', con) else: return HttpResponseRedirect('/oups')
def delEnt(request): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("entreprise.delete_entreprise" in permissions): supprimeentrepriseform = supprimeEntrepriseForm() con ={'form': supprimeentrepriseform, 'actionAFaire' : 'Supprimer'} con.update(csrf(request)) if len(request.POST) > 0: supprimeentrepriseform =supprimeEntrepriseForm(request.POST) con = {'form': supprimeentrepriseform} if supprimeentrepriseform.is_valid(): supprimeentrepriseform.save() return HttpResponseRedirect("/entreprise/") else: return render(request,'entreprise/forms.html', con) else: return HttpResponseRedirect('/oups')
def editSoutenance(request, pk): try: # Vérification des permissions de l'utilisateur user = User.objects.get(username=request.user.username) except: return HttpResponseRedirect('/oups/') permissions = user.get_all_permissions() if ("planning.change_soutenance" in permissions): if request.method == 'POST': # S'il s'agit d'une requête POST form = SoutenanceForm(request.POST, instance=Soutenance.objects.get(pk=pk)) if form.is_valid(): # Nous vérifions que les données envoyées sont valides form.save() return HttpResponseRedirect('/planning/' + pk) else: # Si ce n'est pas du POST, c'est probablement une requête GET print("Error") return render(request, 'planning/forms.html', { 'actionAFaire' : 'Modifier', 'form' : SoutenanceForm(instance=Soutenance.objects.get(pk=pk))}) else: return HttpResponseRedirect('/oups/')
def showOffres(request): return render( request, "offrestage/offrestage.html", {"liste_offrestage": OffreStage.objects.order_by("intitule")} )
def detailsValiderStage(request, pk): return render( request, "stage/details_valider_stage.html", {"stage": Stage.objects.get(pk=pk)} )
def detailsValiderOffreStage(request, pk): return render( request, "offrestage/details_valider_offrestage.html", {"offrestage": OffreStage.objects.get(pk=pk)} )
def stage_operationEffectuee(request): return render( request, "stage/operation_effectuee.html", {} )
def detailsEnseignant(request, pk): return render( request, "enseignant/details_enseignant.html", {"enseignant": Enseignant.objects.get(pk=pk)} )
def show_stages(request): return render( request, "stage/stage.html", {"liste_stage": Stage.objects.order_by("intitule")})
def detailsEtudiant(request, pk): return render( request, "etudiant/details_etudiant.html", {"etudiant": Etudiant.objects.get(pk=pk)} )
def show_soutenance(request, pk): return render( request, "planning/soutenance.html", {'soutenance' : Soutenance.objects.get(idSoutenance=pk)})
def show_planning(request): return render(request, "planning/planning.html", { 'form' : SoutenanceForm(), 'salleForm' : SalleForm()})
def show_visiter(request): return render( request, "entreprise/visite_entreprise.html", {"liste_entreprise": Entreprise.objects.order_by("nom")})
def oups(request): return render( request, "oups.html", {} )
def show_detail_stage(request, pk): return render( request, "stage/detail_stage.html", {"stage": Stage.objects.get(pk=pk)} )
def search(request): if request.method == 'POST': model = request.POST.get('search_data') attribut = request.POST.get('select_champ') champ = request.POST.get('search_text') if (model=="Stage" ) and attribut=="entreprise": listeEntreprises = Entreprise.objects.filter(nom__contains=champ) res = [] for i in listeEntreprises: res += Stage.objects.filter(entreprise=i.idEntreprise, valideStage = True) model = get_model('stage', model) elif (model=="OffreStage") and attribut=="entreprise": listeEntreprises = Entreprise.objects.filter(nom__contains=champ) res = [] for i in listeEntreprises: res += OffreStage.objects.filter(entreprise=i.idEntreprise,valideOffreStage=True) model = get_model('stage', model) elif (model=="Stage") and attribut=="nomLogiciels": listeNomLog = Logiciel.objects.filter(nomLog__contains=champ) res = [] for i in listeNomLog: res += Stage.objects.filter(nomLogiciels=i.nomLog , valideStage = True) model = get_model('stage', model) elif (model=="OffreStage") and attribut=="nomLogiciels": listeNomLog = Logiciel.objects.filter(nomLog__contains=champ) res = [] for i in listeNomLog: res += OffreStage.objects.filter(nomLogiciels=i.nomLog, valideOffreStage=True) model = get_model('stage', model) elif (model=="OffreStage") and attribut=="intitule": res= [] res = OffreStage.objects.filter(intitule__contains=champ,valideOffreStage=True) model = get_model('stage', model) elif (model=="Stage") and attribut=="intitule": res= [] res = Stage.objects.filter(intitule__contains=champ,valideStage=True) model = get_model('stage', model) elif (model=="Stage") and attribut=="etudiant": listeEtudiant = Etudiant.objects.filter(nom__contains=champ) res = [] for i in listeEtudiant: res += Stage.objects.filter(etudiant=i.numEtu , valideStage = True) model = get_model('stage', model) elif (model=="Stage") and attribut=="enseignantTuteur": listeEnseignants = Enseignant.objects.filter(nom__contains=champ) res = [] for i in listeEnseignants: res += Stage.objects.filter(enseignantTuteur=i.idEnseignant , valideStage = True) model = get_model('stage', model) elif (model=="Stage") and attribut=="promotion": listePromo = Promotion.objects.filter(intitule__contains=champ) res = [] etu = [] for i in listePromo: etu += Etudiant.objects.filter(promotion=i.idPromotion) for i in etu: res += Stage.objects.filter(etudiant=i.numEtu , valideStage = True) model = get_model('stage', model) elif (model=="Etudiant") and attribut=="promotion": listePromo = Promotion.objects.filter(intitule__contains=champ) res = [] for i in listePromo: res += Etudiant.objects.filter(promotion=i.idPromotion) model = get_model('stage', model) else: column = attribut+'__contains' kwargs = { column : champ } if model== "Entreprise": model = get_model('entreprise', model) else: model = get_model('stage', model) res=model.objects.filter(**kwargs) # Construction du tableau de résultats result = model.search_result_header() result+= '<tbody>' for i in res: result += i.search_result() result += '</tbody>' else: result = None type_donnee = {'Entreprise':('nom','ville','pays'), 'Etudiant':('numEtu','nom','prenom','emailEtu','promotion'), 'Enseignant':('nom','prenom','emailEns','departement'), 'OffreStage':('intitule','entreprise','nomLogiciels'), 'Stage':('intitule','entreprise','nomLogiciels','etudiant','enseignantTuteur','promotion') } con = { 'data' : type_donnee, "res" : result} return render(request,"search.html",con)
def show_detail_entreprise(request, pk): return render( request, "entreprise/detail_entreprise.html", {"entreprise": Entreprise.objects.get(pk=pk)})