diff --git a/admin/collection_providers/views.py b/admin/collection_providers/views.py index ac9efd0e935..f14f1732c2c 100644 --- a/admin/collection_providers/views.py +++ b/admin/collection_providers/views.py @@ -268,7 +268,9 @@ def get_object(self, queryset=None): return CollectionProvider.objects.get(id=self.kwargs['collection_provider_id']) -class CannotDeleteProvider(TemplateView): +class CannotDeleteProvider(PermissionRequiredMixin, TemplateView): + permission_required = 'osf.delete_collectionprovider' + raise_exception = True template_name = 'collection_providers/cannot_delete.html' def get_context_data(self, **kwargs): diff --git a/admin/institutions/views.py b/admin/institutions/views.py index 50b1bcf9d4c..f589d38148d 100644 --- a/admin/institutions/views.py +++ b/admin/institutions/views.py @@ -339,7 +339,9 @@ def post(self, request, *args, **kwargs): return redirect('institutions:detail', institution_id=institution.id) -class CannotDeleteInstitution(TemplateView): +class CannotDeleteInstitution(PermissionRequiredMixin, TemplateView): + permission_required = 'osf.delete_institution' + raise_exception = True template_name = 'institutions/cannot_delete.html' def get_context_data(self, **kwargs): diff --git a/admin/notifications/views.py b/admin/notifications/views.py index bef2ceed94d..1e6aa57d9d8 100644 --- a/admin/notifications/views.py +++ b/admin/notifications/views.py @@ -553,7 +553,9 @@ def get_context_data(self, *args, **kwargs): } -class NotificationCampaignCreateView(CreateView): +class NotificationCampaignCreateView(PermissionRequiredMixin, CreateView): + permission_required = 'osf.change_notificationcampaign' + raise_exception = True model = NotificationCampaign form_class = NotificationCampaignCreateForm template_name = 'notifications/notification_campaing_create.html' diff --git a/admin/preprint_providers/views.py b/admin/preprint_providers/views.py index 10035702ea4..1055962a800 100644 --- a/admin/preprint_providers/views.py +++ b/admin/preprint_providers/views.py @@ -319,7 +319,9 @@ def get_object(self, queryset=None): return PreprintProvider.objects.get(id=self.kwargs['preprint_provider_id']) -class CannotDeleteProvider(TemplateView): +class CannotDeleteProvider(PermissionRequiredMixin, TemplateView): + permission_required = 'osf.delete_preprintprovider' + raise_exception = True template_name = 'preprint_providers/cannot_delete.html' def get_context_data(self, **kwargs): diff --git a/admin/registration_providers/views.py b/admin/registration_providers/views.py index 64cac2da4ab..cf53acdea34 100644 --- a/admin/registration_providers/views.py +++ b/admin/registration_providers/views.py @@ -212,7 +212,9 @@ def get_context_data(self, *args, **kwargs): return super().get_context_data(*args, **kwargs) -class CannotDeleteProvider(TemplateView): +class CannotDeleteProvider(PermissionRequiredMixin, TemplateView): + permission_required = 'osf.delete_registrationprovider' + raise_exception = True template_name = 'registration_providers/cannot_delete.html' def get_context_data(self, **kwargs):