allow adding users to group by email
This commit is contained in:
@@ -2863,6 +2863,47 @@ def cid_group_view(request):
|
||||
{"groups": groups},
|
||||
)
|
||||
|
||||
@user_is_cid_user_manager
|
||||
def user_group_add_by_email_user(request, group_id):
|
||||
if request.htmx:
|
||||
group = get_object_or_404(UserUserGroup, pk=group_id)
|
||||
emails = request.POST.get("emails")
|
||||
|
||||
if not emails:
|
||||
return HttpResponse("No emails provided", content_type="text/plain")
|
||||
|
||||
|
||||
added = []
|
||||
invalid_emails = []
|
||||
for email in emails.split():
|
||||
try:
|
||||
validate_email(email)
|
||||
|
||||
try:
|
||||
user = User.objects.get(email=email)
|
||||
|
||||
group.users.add(user)
|
||||
added.append(user.username)
|
||||
except User.DoesNotExist:
|
||||
invalid_emails.append(email)
|
||||
except ValidationError:
|
||||
# Ignore invalid emails
|
||||
pass
|
||||
|
||||
res = f"<div class='alert alert-primary'>Users added to {group.name} [{','.join(added)}]</div>"
|
||||
|
||||
if invalid_emails:
|
||||
res += f"<br/><div class='alert alert-warning'>Invalid emails [{','.join(invalid_emails)}]</div>"
|
||||
|
||||
|
||||
return HttpResponse(format_html(res), content_type="text/html")
|
||||
|
||||
|
||||
|
||||
|
||||
raise Http404
|
||||
|
||||
|
||||
|
||||
@user_is_cid_user_manager
|
||||
def cid_group_view_detail(request, group_id):
|
||||
|
||||
Reference in New Issue
Block a user