#101 Team enhancements

* visual enhancement for team index rendering
* adds validity check for admin-membership of a team
This commit is contained in:
2022-02-17 13:44:32 +01:00
parent e8fae7a6f4
commit 3e2c5b7e47
4 changed files with 163 additions and 61 deletions
+19 -1
View File
@@ -233,10 +233,27 @@ class EditTeamModalForm(NewTeamModalForm):
empty_label=None,
)
def __is_admin_valid(self):
admin = self.cleaned_data.get("admin", None)
members = self.cleaned_data.get("members", None)
_is_valid = admin in members
if not _is_valid:
self.add_error(
"members",
_("Selected admin ({}) needs to be a member of this team.").format(admin.username)
)
return _is_valid
def is_valid(self):
super_valid = super().is_valid()
admin_valid = self.__is_admin_valid()
return super_valid and admin_valid
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.form_title = _("Edit team")
self.form_caption = None
self.action_url = reverse("user:team-edit", args=(self.instance.id,))
self.cancel_redirect = reverse("user:team-index")
@@ -255,6 +272,7 @@ class EditTeamModalForm(NewTeamModalForm):
with transaction.atomic():
self.instance.name = self.cleaned_data.get("name", None)
self.instance.description = self.cleaned_data.get("description", None)
self.instance.admin = self.cleaned_data.get("admin", None)
self.instance.save()
self.instance.users.set(self.cleaned_data.get("members", []))
return self.instance