Adhésion: Assignation d'un statut par lot
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / chercheurs / admin_views.py
CommitLineData
1fd4a630
PP
1# -*- encoding: utf-8 -*-
2from django.http import HttpResponseRedirect
3from django.core.urlresolvers import reverse as url
4from django.contrib.auth.decorators import login_required
5
6from django.template import Context, RequestContext
7from django.shortcuts import render_to_response
8
9from chercheurs.models import ChercheurGroupe
10from chercheurs.forms import CGStatutForm
11
12
13@login_required
14def assigner_cgstatut(request):
15 ids = request.GET.get("ids").split(",")
16 records = ChercheurGroupe.objects.in_bulk(ids)
17 if request.method == 'POST':
18 cgstatut_form = CGStatutForm(request.POST)
19
20 if cgstatut_form.is_valid():
21
22 statut = request.POST.get("statut")
23
24 # assigner le statut à chaque référence
25 for r in records.values():
26 r.statut = statut
27 r.save()
28
29 # retouner un status à l'utilisateur sur la liste des références
30 succes = u"Le statut a été assigné à %s références" % (len(ids),)
31 request.user.message_set.create(message=succes)
32 return HttpResponseRedirect('/admin/chercheurs/chercheurgroupe')
33 else:
34 cgstatut_form = CGStatutForm()
35
36 return render_to_response ("savoirs/assigner.html",
37 Context ({'records': records,
38 'form': cgstatut_form,
39 'titre': u"Assignation d'un statut par lots",
40 'description': u"Sélectionner le statut qui sera associé :" ,
41 }),
42 context_instance = RequestContext(request))
43