Пример #1
0
def programme(request, id_classe):
    """Renvoie la vue de la page de gestion des programmes de la classe dont l'id est id_classe"""
    classe = get_object_or_404(Classe, pk=id_classe)
    colleur = request.user.colleur
    matiere = get_object_or_404(Matiere,
                                pk=request.session['matiere'],
                                colleur=colleur)
    if classe not in request.user.colleur.classes.all(
    ) or matiere.pk not in classe.matierespk():
        raise Http404
    programmes = Programme.objects.filter(
        classe=classe, matiere=matiere).prefetch_related('semaine').annotate(
            semainemax=Max('semaine')).order_by('-semainemax')
    isprof = False
    if is_prof(request.user, matiere, classe):
        isprof = True
        programme = Programme(matiere=matiere, classe=classe)
        form = ProgrammeForm(request.POST or None,
                             request.FILES or None,
                             instance=programme)
        if form.is_valid():
            form.save()
            return redirect('programme_colleur', classe.pk)
    else:
        form = False
    return render(
        request, "colleur/programme.html", {
            'programmes': programmes,
            'classe': classe,
            'matiere': matiere,
            'form': form,
            'isprof': isprof,
            'jpeg': IMAGEMAGICK
        })
Пример #2
0
def programmeModif(request,id_programme):
	"""Renvoie la vue de la page de modification du programme dont l'id est id_programme"""
	programme=get_object_or_404(Programme,pk=id_programme)
	if not is_prof(request.user,programme.matiere,programme.classe):
		raise Http404
	form=ProgrammeForm(request.POST or None,request.FILES or None, instance=programme)
	oldfile=os.path.join(MEDIA_ROOT,programme.fichier.name) if programme.fichier else False
	if form.is_valid():
		if request.FILES and oldfile:
			if os.path.isfile(oldfile):
				os.remove(oldfile)
			nomimage=oldfile.replace('programme','image').replace('pdf','jpg')
			if os.path.isfile(nomimage):
				os.remove(nomimage)
		form.save()
		return redirect('programme_colleur', programme.classe.pk)
	return render(request,"colleur/programmeModif.html",{'programme':programme,'form':form})