Ejemplo n.º 1
0
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/')
Ejemplo n.º 2
0
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/')
Ejemplo n.º 3
0
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/')
Ejemplo n.º 4
0
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')
Ejemplo n.º 5
0
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/')
Ejemplo n.º 6
0
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(),
		}
	)
Ejemplo n.º 7
0
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)
Ejemplo n.º 8
0
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)
Ejemplo n.º 9
0
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/')
Ejemplo n.º 10
0
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')
Ejemplo n.º 11
0
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')
Ejemplo n.º 12
0
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')
Ejemplo n.º 13
0
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/')
Ejemplo n.º 14
0
def showOffres(request):
	return render(
		request,
		"offrestage/offrestage.html",
		{"liste_offrestage": OffreStage.objects.order_by("intitule")}
	)
Ejemplo n.º 15
0
def detailsValiderStage(request, pk):
	return render(
		request,
		"stage/details_valider_stage.html",
		{"stage": Stage.objects.get(pk=pk)}
	)
Ejemplo n.º 16
0
def detailsValiderOffreStage(request, pk):
	return render(
		request,
		"offrestage/details_valider_offrestage.html",
		{"offrestage": OffreStage.objects.get(pk=pk)}
	)
Ejemplo n.º 17
0
def stage_operationEffectuee(request):
	return render(
		request,
		"stage/operation_effectuee.html",
		{}
	)
Ejemplo n.º 18
0
def detailsEnseignant(request, pk):
	return render(
		request,
		"enseignant/details_enseignant.html",
		{"enseignant": Enseignant.objects.get(pk=pk)}
	)
Ejemplo n.º 19
0
def show_stages(request):
	return render(
		request,
		"stage/stage.html",
		{"liste_stage": Stage.objects.order_by("intitule")})
Ejemplo n.º 20
0
def detailsEtudiant(request, pk):
	return render(
		request,
		"etudiant/details_etudiant.html",
		{"etudiant": Etudiant.objects.get(pk=pk)}
	)
Ejemplo n.º 21
0
def show_soutenance(request, pk):
	return render(
		request,
		"planning/soutenance.html",
		{'soutenance' : Soutenance.objects.get(idSoutenance=pk)})
Ejemplo n.º 22
0
def show_planning(request):
	return render(request,
		"planning/planning.html", {
			'form' : SoutenanceForm(),
			'salleForm' : SalleForm()})
Ejemplo n.º 23
0
def show_visiter(request):
	return render(
		request,
		"entreprise/visite_entreprise.html",
		{"liste_entreprise": Entreprise.objects.order_by("nom")})
Ejemplo n.º 24
0
def oups(request):
	return render(
		request,
		"oups.html",
		{}
	)
Ejemplo n.º 25
0
def show_detail_stage(request, pk):
	return render(
		request,
		"stage/detail_stage.html",
		{"stage": Stage.objects.get(pk=pk)}
		)
Ejemplo n.º 26
0
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)
Ejemplo n.º 27
0
def show_detail_entreprise(request, pk):
	return render(
		request,
		"entreprise/detail_entreprise.html",
		{"entreprise": Entreprise.objects.get(pk=pk)})