#101 Team enhancements
* visual enhancement for team index rendering * adds validity check for admin-membership of a team
This commit is contained in:
+19
-1
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user