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 initiative_members(request, slug): group = get_object_or_404(GroupProfile, slug=slug) ctx = {} if not group.can_view(request.user): raise Http404() if group.access in [ "public-invite", "private"] and group.user_is_role( request.user, "manager"): ctx["invite_form"] = GroupInviteForm() if group.user_is_role(request.user, "manager"): ctx["member_form"] = GroupMemberForm() ctx.update({ "group": group, "members": group.member_queryset(), "is_member": group.user_is_member(request.user), "is_manager": group.user_is_role(request.user, "manager"), }) ctx = RequestContext(request, ctx) return render_to_response("groups/initiative_members.html", ctx)
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)