ajout de l'interface de promotion

| Q                         | R
| ------------------------- | -------------------------------------------
| Correction de bugs ?      | [oui]
| Nouvelle Fonctionnalité ? | [oui]
| Tickets concernés         | #54 (yeah !!)

Cette PR se propose d'apporter un nouveau moyen pour upgrader un utilisateur en staff ou en super-utilisateur via la fiche membre

#### QA
+ Seul un super user (compte 'admin' donc) doit pouvoir voir le menu "Promouvoir" sur la fiche d'un utilisateur
+ Un lambda ou staff ne doit pas pouvoir changer quoi que ce soit s'il voulait (bidouiller le template si vous voulez voir apparaitre le menu)
+ ATTENTION, les fixtures sont mauvaises, pour vérifier vos changements utiliser l'interface /admin pour regarder l'impact

INFO : Les TU arriveront plus tard dans la PR que j'ai en cours à ce propos !

#### MISE EN (PRE)PROD

Attention, il y a une constante à rajouter/modifier dans le settings.py. Cette constante est la pk du groupe "staff"
Je ne comprend pas pourquoi il faudrait rajouter un certaine clés dans le
fichier settings.

Mon commentaire sur la précédente PR disait justement que pour traiter ce
cas on devrait s'en tenir a rajouter/modifier un groupe pour un membre.
Quelque soit la nature du groupe
Le 6 août 2014 20:30, "Eskimon" <notifications@github.com> a écrit :

> In zds/member/views.py:
>
> > +
> > +    if not request.user.is_superuser:
> > +        raise PermissionDenied
> > +
> > +    profile = get_object_or_404(Profile, user__pk=user_pk)
> > +    user = profile.user
> > +
> > +    if request.method == "POST":
> > +        form = PromoteMemberForm(request.POST)
> > +        data = dict(form.data.iterlists())
> > +
> > +        groups = Group.objects.all()
> > +        staff_group = Group.objects.get(id=settings.STAFFGROUPID)
> > +        if 'groups' in data:
> > +            for group in groups:
> > +                if unicode(group.id) in data['groups']:
>
>  unicode est-il nécessaire sur un entier?
>
> en fait c'est pas des entiers qui sont renvoyé mais des string unicode...
> oui c'est con...
>
> il n'y a pas un moyen de faire immédiatement une intersection django entre
> les id transmis et les id en bdd?
>
> Hein ? A quoi tu penses ?
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/zestedesavoir/zds-site/pull/1344/files#r15893329>.
>