Exemple #1
0
    def obj_perms_manage_organization_view(self, request, object_pk, organization_id):
        """
        Manages selected organization' permissions for current object.
        """
        organization = get_object_or_404(Organization, id=organization_id)
        obj = get_object_or_404(self.get_queryset(request), pk=object_pk)
        form_class = self.get_obj_perms_manage_organization_form()
        form = form_class(organization, obj, request.POST or None)

        if request.method == 'POST' and form.is_valid():
            form.save_obj_perms()
            msg = ugettext("Permissions saved.")
            messages.success(request, msg)
            info = (
                self.admin_site.name,
                self.model._meta.app_label,
                self.model._meta.module_name
            )
            url = reverse(
                '%s:%s_%s_permissions_manage_organization' % info,
                args=[obj.pk, organization.id]
            )
            return redirect(url)

        context = self.get_obj_perms_base_context(request, obj)
        context['organization_obj'] = organization
        context['organization_perms'] = get_organization_perms(organization, obj)
        context['form'] = form

        request.current_app = self.admin_site.name
        return render_to_response(self.get_obj_perms_manage_organization_template(),
            context, RequestContext(request))
Exemple #2
0
 def get_obj_perms_field_initial(self):
     perms = get_organization_perms(self.group, self.obj)
     return perms