Hello tout le monde !
Je suis en train de bosser sur un bout d'interface qui permettera pour un super_user de passer un membre en staff ou en super-user sans passer par l'interface admin Django (a cause d'un bug sur certain pseudo).
Voici ou j'en suis au niveau code :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | @login_required @user_passes_test(lambda u: u.is_superuser) def upgrade_profile(request, user_pk): profile = get_object_or_404(Profile, user__pk=user_pk) if request.method == "POST": staff_group = Group.objects.get(name='staff') if request.POST.get('staff-check', False) == "isstaff": profile.user.groups.add(staff_group) else: profile.user.groups.remove(staff_group) # CE MORCEAU NE MARCHE PAS if request.POST.get('superuser-check', False) == "issuperuser": profile.user.is_superuser = True else: profile.user.is_superuser = False profile.save() return redirect(profile.get_absolute_url()) |
Alors qu'avons nous ici…
- L'adhesion/suppression d'un groups semble marcher… Mais il y a confusion entre groupe "Django" et groupe "ZdS"… Un staff ZdS est-il un staff Django (ou me suis j'embrouillé sur toute la ligne par overdose de SO ?)
- Rajouter la permission de super user ne marche pas comme ca, et je n'arrive pas à trouver comment faire…
Bref, si qqun a des lumières la dessus, qu'il partage ca fera plaisir et closera une issue bloquante !
++
+0
-0