From f6e781490b7bac262bcdb3baf1a5ce43efbf0a8f Mon Sep 17 00:00:00 2001 From: Tomas 'Jethro' Pokorny Date: Wed, 23 Dec 2020 00:02:11 +0100 Subject: [PATCH] Admin | u Osoby lze zvolit osoby a ucinit je orgy (nefunguje uplne) --- seminar/admin.py | 17 ++++++++++++++++- seminar/testutils.py | 2 ++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/seminar/admin.py b/seminar/admin.py index e22ecf35..222cafb4 100644 --- a/seminar/admin.py +++ b/seminar/admin.py @@ -1,4 +1,5 @@ from django.contrib import admin +from django.contrib.auth.models import Permission from polymorphic.admin import PolymorphicParentModelAdmin, PolymorphicChildModelAdmin, PolymorphicChildModelFilter from reversion.admin import VersionAdmin @@ -18,7 +19,7 @@ admin.site.register(m.Soustredeni) @admin.register(m.Osoba) class OsobaAdmin(admin.ModelAdmin): - actions = ['synchronizuj_maily'] + actions = ['synchronizuj_maily', 'udelej_orgem'] def synchronizuj_maily(self, request, queryset): for o in queryset: @@ -29,6 +30,20 @@ class OsobaAdmin(admin.ModelAdmin): self.message_user(request, "E-maily synchronizovány.") synchronizuj_maily.short_description = "Synchronizuj vybraným osobám e-maily do uživatelů" + def udelej_orgem(self,request,queryset): + org_perm = Permission.objects.filter(codename__exact='org').first() + print(queryset) + for o in queryset: + user = o.user + user.user_permissions.add(org_perm) + user.is_staff = True + user.save() + org = m.Organizator.objects.create(osoba=o) + org.save() + udelej_orgem.short_description = "Udělej vybraných osob organizátory" + + + @admin.register(m.Problem) class ProblemAdmin(PolymorphicParentModelAdmin): base_model = m.Problem diff --git a/seminar/testutils.py b/seminar/testutils.py index 94fa78b6..913e6abb 100644 --- a/seminar/testutils.py +++ b/seminar/testutils.py @@ -200,6 +200,8 @@ def gen_organizatori(rnd, osoby, last_rocnik): os.user = user os.save() os.user.user_permissions.add(org_perm) + os.user.is_staff = True + os.user.save() organizatori.append(Organizator.objects.create(osoba=os, organizuje_od=od, organizuje_do=do, strucny_popis_organizatora = popis_orga)) return organizatori