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))
def get_obj_perms_field_initial(self): perms = get_organization_perms(self.group, self.obj) return perms