2563: API lister les chercheurs d'une région, partie 1
[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
66386d77 9from chercheurs.models import AdhesionGroupe, Groupe
1fd4a630 10from chercheurs.forms import CGStatutForm
66386d77 11from chercheurs.utils import export as real_export
1fd4a630
PP
12
13
14@login_required
15def 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)
44d40b4e 33 return HttpResponseRedirect('/admin/chercheurs/')
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
46def 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)