diff --git a/compensation/urls/eco_account.py b/compensation/urls/eco_account.py index e4e0ff41..c0edc4b3 100644 --- a/compensation/urls/eco_account.py +++ b/compensation/urls/eco_account.py @@ -8,8 +8,8 @@ Created on: 24.08.21 from django.urls import path from compensation.autocomplete.eco_account import EcoAccountAutocomplete -from compensation.views.eco_account.eco_account import new_view, new_id_view, edit_view, remove_view, \ - detail_view, EcoAccountIndexView +from compensation.views.eco_account.eco_account import new_view, edit_view, remove_view, \ + detail_view, EcoAccountIndexView, EcoAccountIdentifierGeneratorView from compensation.views.eco_account.log import EcoAccountLogView from compensation.views.eco_account.record import EcoAccountRecordView from compensation.views.eco_account.report import report_view @@ -30,7 +30,7 @@ app_name = "acc" urlpatterns = [ path("", EcoAccountIndexView.as_view(), name="index"), path('new/', new_view, name='new'), - path('new/id', new_id_view, name='new-id'), + path('new/id', EcoAccountIdentifierGeneratorView.as_view(), name='new-id'), path('', detail_view, name='detail'), path('/log', EcoAccountLogView.as_view(), name='log'), path('/record', EcoAccountRecordView.as_view(), name='record'), diff --git a/compensation/views/compensation/compensation.py b/compensation/views/compensation/compensation.py index 4259bf5b..4e6525a8 100644 --- a/compensation/views/compensation/compensation.py +++ b/compensation/views/compensation/compensation.py @@ -119,9 +119,6 @@ class CompensationIdentifierGeneratorView(LoginRequiredMixin, BaseIdentifierGene _MODEL_CLS = Compensation _REDIRECT_URL_NAME = "compensation:index" - def _user_has_permission(self, user): - return user.is_default_user() - @login_required @default_group_required diff --git a/compensation/views/eco_account/eco_account.py b/compensation/views/eco_account/eco_account.py index e70e5690..fd0a7152 100644 --- a/compensation/views/eco_account/eco_account.py +++ b/compensation/views/eco_account/eco_account.py @@ -24,7 +24,7 @@ from konova.settings import ETS_GROUP, DEFAULT_GROUP, ZB_GROUP from konova.sub_settings.context_settings import TAB_TITLE_IDENTIFIER from konova.utils.message_templates import CANCEL_ACC_RECORDED_OR_DEDUCTED, RECORDED_BLOCKS_EDIT, FORM_INVALID, \ IDENTIFIER_REPLACED, DO_NOT_FORGET_TO_SHARE, GEOMETRY_SIMPLIFIED, GEOMETRIES_IGNORED_TEMPLATE -from konova.views.base import BaseIndexView +from konova.views.base import BaseIndexView, BaseIdentifierGeneratorView class EcoAccountIndexView(LoginRequiredMixin, BaseIndexView): @@ -96,23 +96,9 @@ def new_view(request: HttpRequest): return render(request, template, context) -@login_required -@default_group_required -def new_id_view(request: HttpRequest): - """ JSON endpoint - - Provides fetching of free identifiers for e.g. AJAX calls - - """ - tmp = EcoAccount() - identifier = tmp.generate_new_identifier() - while EcoAccount.objects.filter(identifier=identifier).exists(): - identifier = tmp.generate_new_identifier() - return JsonResponse( - data={ - "gen_data": identifier - } - ) +class EcoAccountIdentifierGeneratorView(LoginRequiredMixin, BaseIdentifierGeneratorView): + _MODEL_CLS = EcoAccount + _REDIRECT_URL_NAME = "compensation:acc:index" @login_required diff --git a/intervention/views/intervention.py b/intervention/views/intervention.py index a53a5650..6ac85aee 100644 --- a/intervention/views/intervention.py +++ b/intervention/views/intervention.py @@ -104,9 +104,6 @@ class InterventionIdentifierGeneratorView(LoginRequiredMixin, BaseIdentifierGene _MODEL_CLS = Intervention _REDIRECT_URL_NAME = "intervention:index" - def _user_has_permission(self, user): - return user.is_default_user() - @login_required @any_group_check diff --git a/konova/views/base.py b/konova/views/base.py index b777dcca..abffa13d 100644 --- a/konova/views/base.py +++ b/konova/views/base.py @@ -75,7 +75,7 @@ class BaseIdentifierGeneratorView(View): ) def _user_has_permission(self, user): - """ Has to be implemented in inheriting classes! + """ Should be overwritten in inheriting classes! Args: user (): @@ -83,4 +83,4 @@ class BaseIdentifierGeneratorView(View): Returns: """ - raise NotImplementedError + return user.is_default_user()