def initiative_edit(request, slug): group = GroupProfile.objects.get(slug=slug) if not group.profile_type == 'ini': return HttpResponse(status=404) # Can use this function to toggle manager view if not group.user_is_role(request.user, role="manager"): return HttpResponseForbidden() if request.method == "POST": form = GroupUpdateForm(request.POST, request.FILES, instance=group) if form.is_valid(): group = form.save(commit=False) group.save() form.save_m2m() return HttpResponseRedirect( reverse( "organization_detail", args=[ group.slug])) else: form = GroupForm(instance=group) return render_to_response("groups/group_update.html", { "form": form, "group": group, }, context_instance=RequestContext(request))
def group_update(request, slug): group = GroupProfile.objects.get(slug=slug) if not group.user_is_role(request.user, role="manager") and not request.user.is_superuser: return HttpResponseForbidden() if request.method == "POST": form = GroupUpdateForm(request.POST, request.FILES, instance=group) if form.is_valid(): group = form.save(commit=False) group.save() form.save_m2m() if request.POST['admin']: user = Profile.objects.get(id=request.POST['admin']) group.join(user, role="manager") return HttpResponseRedirect( reverse( "group_detail", args=[ group.slug])) else: form = GroupForm(instance=group) return render_to_response("groups/group_update.html", { "form": form, "group": group, }, context_instance=RequestContext(request))
def group_update(request, slug): group = Group.objects.get(slug=slug) if not group.user_is_role(request.user, role="manager"): return HttpResponseForbidden() if request.method == "POST": form = GroupUpdateForm(request.POST, request.FILES, instance=group) if form.is_valid(): group = form.save(commit=False) group.save() if group.access != "private": action.send(request.user, verb="updated", target=group) return redirect("group_detail", group.slug) else: form = GroupForm(instance=group) return render_to_response("groups/group_update.html", { "form": form, }, context_instance=RequestContext(request))