def index(self, request): context = dict(self.admin_site.each_context(request)) context.update({ 'views': get_views(), 'group_by': request.GET.get('group_by', 'module') }) return TemplateResponse(request, "permissions_auditor/admin/views_index.html", context)
def test_get_views_results(self): blacklist = { 'namespaces': [], 'view_names': [], 'modules': [], } with self.settings(PERMISSIONS_AUDITOR_BLACKLIST=blacklist): self.reload_blacklist() views = core.get_views() self.assertSequenceEqual(views, self.views_results)
def test_module_blacklist(self): blacklist = { 'namespaces': [], 'view_names': [], 'modules': [self.module], } with self.settings(PERMISSIONS_AUDITOR_BLACKLIST=blacklist): self.reload_blacklist() views = core.get_views() self.assertEqual(views, [])
def test_view_name_blacklist(self): blacklist = { 'namespaces': [], 'view_names': ['{}.BaseView'.format(self.module)], 'modules': [], } with self.settings(PERMISSIONS_AUDITOR_BLACKLIST=blacklist): self.reload_blacklist() views = core.get_views() self.assertNotIn(views, self.views_results[0]) # BaseView
def test_namespace_blacklist(self): blacklist = { 'namespaces': ['admin'], 'view_names': [], 'modules': [], } with self.settings(PERMISSIONS_AUDITOR_BLACKLIST=blacklist): self.reload_blacklist() views = core.get_views() self.assertNotIn( views, self.views_results[3]) # staff_member_required_view
def permission_detail(self, request, permission, obj=None): try: obj = self.get_object(request, permission) except Permission.MultipleObjectsReturned: return self._get_obj_multiple_exist_redirect(request, permission) if obj is None: return self._get_obj_does_not_exist_redirect(request, self.model._meta, permission) opts = self.model._meta adminForm = helpers.AdminForm( self.get_form(request, obj), list(self.get_fieldsets(request, obj)), {}, model_admin=self ) media = self.media + adminForm.media if (request.method == 'POST' and adminForm.form.is_valid() and self.has_auditor_change_permission(request)): obj.user_set.set(adminForm.form.cleaned_data['users']) obj.group_set.set(adminForm.form.cleaned_data['groups']) return self.response_change(request, obj) context = { **self.admin_site.each_context(request), 'adminform': adminForm, 'errors': helpers.AdminErrorList(adminForm.form, []), 'media': media, 'views': get_views(), 'permission': '{}.{}'.format(obj.content_type.app_label, obj.codename), 'opts': opts, 'add': False, 'change': True, 'is_popup': False, 'save_as': self.save_as, 'has_editable_inline_admin_formsets': False, 'has_view_permission': self.has_view_permission(request, obj), 'has_add_permission': self.has_add_permission(request, obj), 'has_change_permission': self.has_auditor_change_permission(request), 'has_delete_permission': self.has_delete_permission(request, obj), 'app_label': opts.app_label, } return TemplateResponse( request, "permissions_auditor/admin/permission_detail.html", context )
def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) context['views'] = get_views() return context
def permissions_index(request): context = {'views': get_views()} return render(request, 'permissions_list.html', context)