Lepsi Delani Orgu #35

Merged
zelvuska merged 6 commits from lepsi-delani-orgu into master 2023-10-30 22:21:13 +01:00
Showing only changes of commit 3eb9c7998d - Show all commits

View file

@ -1,6 +1,7 @@
from django.contrib import admin from django.contrib import admin
from django.contrib.auth.models import Group from django.contrib.auth.models import Group
from django_reverse_admin import ReverseModelAdmin from django_reverse_admin import ReverseModelAdmin
from django.contrib.messages import WARNING, ERROR, SUCCESS
import seminar.models as m import seminar.models as m
from datetime import datetime from datetime import datetime
@ -21,14 +22,23 @@ class OsobaAdmin(admin.ModelAdmin):
def udelej_orgem(self,request,queryset): def udelej_orgem(self,request,queryset):
org_group = Group.objects.get(name='org') org_group = Group.objects.get(name='org')
ledoian marked this conversation as resolved
Review

Tenhle print tu být taky nemusí…

Tenhle print tu být taky nemusí…
uspesne_vytvoreni_orgove = 0
for o in queryset: for o in queryset:
if m.Organizator.objects.filter(osoba=o).exists(): continue if m.Organizator.objects.filter(osoba=o).exists():
# Ref: https://docs.djangoproject.com/en/3.2/ref/contrib/admin/#django.contrib.admin.ModelAdmin.message_user

Tady to taky může spadnout. Teda, asi je správně, že to spadne, ale mělo by to padat řízeně. (Je potřeba nastudovat, jak z těchto funkcí vracet použitelné chyby.)

Tady to taky může spadnout. Teda, asi je správně, že to spadne, ale mělo by to padat řízeně. (Je potřeba nastudovat, jak z těchto funkcí vracet použitelné chyby.)

Už by to mělo vracet fancy hlášky, snad.

Už by to mělo vracet fancy hlášky, snad.
self.message_user(request, f"Osoba {o} už je org, přeskakuji.", level=WARNING)
continue
user = o.user user = o.user
if user is None:
self.message_user(request, f"Osoba {o} nemá uživatele! Přeskakuji.", level=ERROR)
ledoian marked this conversation as resolved Outdated

s/j v/j z v/

s/j v/j z v/
continue
user.groups.add(org_group) user.groups.add(org_group)
user.is_staff = True user.is_staff = True
user.save() user.save()
org = m.Organizator.objects.create(osoba=o, organizuje_od=datetime.now()) org = m.Organizator.objects.create(osoba=o, organizuje_od=datetime.now())
org.save() org.save()
uspesne_vytvoreni_orgove += 1
self.message_user(request, f'Úspěšně vytvořeno {uspesne_vytvoreni_orgove} orgů.', level=SUCCESS)
udelej_orgem.short_description = "Udělej z vybraných osob organizátory" udelej_orgem.short_description = "Udělej z vybraných osob organizátory"
class OsobaInline(admin.TabularInline): class OsobaInline(admin.TabularInline):