14 lines
621 B
Python
14 lines
621 B
Python
|
from django.contrib.auth.mixins import LoginRequiredMixin
|
||
|
from django.core.exceptions import PermissionDenied
|
||
|
from django.utils.translation import gettext_lazy as _
|
||
|
from haystack.generic_views import SearchView
|
||
|
|
||
|
|
||
|
class AdminSearchView(LoginRequiredMixin, SearchView):
|
||
|
def dispatch(self, request, *args, **kwargs):
|
||
|
if not request.user.is_authenticated:
|
||
|
return self.handle_no_permission()
|
||
|
if not request.user.registration.is_admin:
|
||
|
raise PermissionDenied(_("Only administrators are allowed to perform a full research."))
|
||
|
return super().dispatch(request, *args, **kwargs)
|