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 })
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})