Commit | Line | Data |
---|---|---|
1fd4a630 PP |
1 | # -*- encoding: utf-8 -*- |
2 | from django.http import HttpResponseRedirect | |
3 | from django.core.urlresolvers import reverse as url | |
4 | from django.contrib.auth.decorators import login_required | |
5 | ||
6 | from django.template import Context, RequestContext | |
7 | from django.shortcuts import render_to_response | |
8 | ||
66386d77 | 9 | from chercheurs.models import AdhesionGroupe, Groupe |
1fd4a630 | 10 | from chercheurs.forms import CGStatutForm |
66386d77 | 11 | from chercheurs.utils import export as real_export |
1fd4a630 PP |
12 | |
13 | ||
14 | @login_required | |
15 | def assigner_cgstatut(request): | |
16 | ids = request.GET.get("ids").split(",") | |
18407f73 | 17 | records = AdhesionGroupe.objects.in_bulk(ids) |
1fd4a630 PP |
18 | if request.method == 'POST': |
19 | cgstatut_form = CGStatutForm(request.POST) | |
20 | ||
21 | if cgstatut_form.is_valid(): | |
22 | ||
23 | statut = request.POST.get("statut") | |
24 | ||
25 | # assigner le statut à chaque référence | |
26 | for r in records.values(): | |
27 | r.statut = statut | |
28 | r.save() | |
29 | ||
30 | # retouner un status à l'utilisateur sur la liste des références | |
31 | succes = u"Le statut a été assigné à %s références" % (len(ids),) | |
32 | request.user.message_set.create(message=succes) | |
18407f73 | 33 | return HttpResponseRedirect('/admin/chercheurs/adhesiongroupe') |
1fd4a630 PP |
34 | else: |
35 | cgstatut_form = CGStatutForm() | |
36 | ||
37 | return render_to_response ("savoirs/assigner.html", | |
38 | Context ({'records': records, | |
39 | 'form': cgstatut_form, | |
40 | 'titre': u"Assignation d'un statut par lots", | |
41 | 'description': u"Sélectionner le statut qui sera associé :" , | |
42 | }), | |
43 | context_instance = RequestContext(request)) | |
44 | ||
66386d77 PP |
45 | @login_required |
46 | def export(request): | |
47 | type = request.GET['type'] | |
48 | id = request.GET['id'] | |
49 | ||
50 | queryset = Groupe.objects.get(pk=id).membres.all() | |
51 | ||
52 | return real_export(queryset, type) |