def group_members_add(request, slug): group = get_object_or_404(GroupProfile, slug=slug) if not group.user_is_role(request.user, role="manager") and not request.user.is_superuser: return HttpResponseForbidden() form = GroupMemberForm(request.POST) if form.is_valid(): role = form.cleaned_data["role"] for user in form.cleaned_data["user_identifiers"]: try: group_member = GroupMember.objects.get(group=group, user=user) except GroupMember.DoesNotExist: pass else: if group_member.role == 'manager': permissions = UserObjectPermission.objects.filter(user=user) for layer in Layer.objects.filter(group=group): if layer.owner != user: permissions.filter(object_pk=layer.pk).delete() group.join(user, role=role) if role == 'manager': for layer in Layer.objects.filter(group=group): layer.set_managers_permissions() return redirect("group_detail", slug=group.slug)
def group_members_add(request, slug): group = get_object_or_404(GroupProfile, slug=slug) if not group.user_is_role(request.user, role="manager"): return HttpResponseForbidden() form = GroupMemberForm(request.POST) if form.is_valid(): role = form.cleaned_data["role"] for user in form.cleaned_data["user_identifiers"]: group.join(user, role=role) return redirect("group_detail", slug=group.slug)
def initiative_members_add(request, slug): group = get_object_or_404(GroupProfile, slug=slug) if not group.user_is_role(request.user, role="manager"): return HttpResponseForbidden() form = GroupMemberForm(request.POST) if form.is_valid(): role = form.cleaned_data["role"] for user in form.cleaned_data["user_identifiers"]: group.join(user, role=role) return redirect("initiative_detail", slug=group.slug)
def group_members_add(request, slug): group = get_object_or_404(GroupProfile, slug=slug) if not group.user_is_role(request.user, role="manager"): return HttpResponseForbidden() form = GroupMemberForm(request.POST) if form.is_valid(): role = form.cleaned_data["role"] for user in form.cleaned_data["user_identifiers"]: # dont add them if already a member, just update the role try: gm = GroupMember.objects.get(user=user, group=group) gm.role = role gm.save() except: gm = GroupMember(user=user, group=group, role=role) gm.save() return redirect("group_detail", slug=group.slug)