# Deduction views
* refactors deduction views on interventions and eco accounts from function to class based * introduces basic checks on shared access and permission on BaseView on dispatching --> checks shall be overwritten on inheriting classes
This commit is contained in:
@@ -18,9 +18,17 @@ from konova.contexts import BaseContext
|
||||
from konova.decorators import login_required_modal
|
||||
|
||||
|
||||
class UserDetailView(LoginRequiredMixin, BaseView):
|
||||
_TAB_TITLE = _("User settings")
|
||||
class UserBaseView(BaseView):
|
||||
def _user_has_shared_access(self, user, **kwargs):
|
||||
return True
|
||||
|
||||
def _user_has_permission(self, user):
|
||||
return True
|
||||
|
||||
|
||||
class UserDetailView(LoginRequiredMixin, UserBaseView):
|
||||
_TEMPLATE = "user/index.html"
|
||||
_TAB_TITLE = _("User settings")
|
||||
|
||||
def get(self, request: HttpRequest):
|
||||
context = {
|
||||
@@ -31,7 +39,7 @@ class UserDetailView(LoginRequiredMixin, BaseView):
|
||||
return render(request, self._TEMPLATE, context)
|
||||
|
||||
|
||||
class NotificationsView(LoginRequiredMixin, BaseView):
|
||||
class NotificationsView(LoginRequiredMixin, UserBaseView):
|
||||
_TEMPLATE = "user/notifications.html"
|
||||
_TAB_TITLE = _("User notifications")
|
||||
|
||||
@@ -84,6 +92,14 @@ class ContactView(LoginRequiredMixin, BaseModalFormView):
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, self._TEMPLATE, context)
|
||||
|
||||
def _user_has_shared_access(self, user, **kwargs):
|
||||
# No specific constraints
|
||||
return True
|
||||
|
||||
def _user_has_permission(self, user):
|
||||
# No specific constraints
|
||||
return True
|
||||
|
||||
|
||||
class TeamDetailModalView(LoginRequiredMixin, BaseModalFormView):
|
||||
def get(self, request: HttpRequest, id: str):
|
||||
@@ -104,8 +120,16 @@ class TeamDetailModalView(LoginRequiredMixin, BaseModalFormView):
|
||||
context = BaseContext(request, context).context
|
||||
return render(request, self._TEMPLATE, context)
|
||||
|
||||
def _user_has_shared_access(self, user, **kwargs):
|
||||
# No specific constraints
|
||||
return True
|
||||
|
||||
class TeamIndexView(LoginRequiredMixin, BaseView):
|
||||
def _user_has_permission(self, user):
|
||||
# No specific constraints
|
||||
return True
|
||||
|
||||
|
||||
class TeamIndexView(LoginRequiredMixin, UserBaseView):
|
||||
_TEMPLATE = "user/team/index.html"
|
||||
_TAB_TITLE = _("Teams")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user