@ -26,7 +26,8 @@ from konova.forms import RemoveModalForm, SimpleGeomForm, NewDocumentForm, Recor
from konova . settings import DEFAULT_GROUP , ZB_GROUP , ETS_GROUP
from konova . settings import DEFAULT_GROUP , ZB_GROUP , ETS_GROUP
from konova . utils . documents import get_document , remove_document
from konova . utils . documents import get_document , remove_document
from konova . utils . generators import generate_qr_code
from konova . utils . generators import generate_qr_code
from konova . utils . message_templates import IDENTIFIER_REPLACED , FORM_INVALID , DATA_UNSHARED , DATA_UNSHARED_EXPLANATION
from konova . utils . message_templates import IDENTIFIER_REPLACED , FORM_INVALID , DATA_UNSHARED , DATA_UNSHARED_EXPLANATION , \
CANCEL_ACC_RECORDED_OR_DEDUCTED
from konova . utils . user_checks import in_group
from konova . utils . user_checks import in_group
@ -120,6 +121,7 @@ def new_id_view(request: HttpRequest):
@login_required
@login_required
@default_group_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def edit_view ( request : HttpRequest , id : str ) :
def edit_view ( request : HttpRequest , id : str ) :
"""
"""
Renders a view for editing compensations
Renders a view for editing compensations
@ -225,6 +227,8 @@ def detail_view(request: HttpRequest, id: str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def remove_view ( request : HttpRequest , id : str ) :
def remove_view ( request : HttpRequest , id : str ) :
""" Renders a modal view for removing the eco account
""" Renders a modal view for removing the eco account
@ -236,6 +240,15 @@ def remove_view(request: HttpRequest, id: str):
"""
"""
acc = get_object_or_404 ( EcoAccount , id = id )
acc = get_object_or_404 ( EcoAccount , id = id )
# If the eco account has already been recorded OR there are already deductions, it can not be deleted by a regular
# default group user
if acc . recorded is not None or acc . deductions . exists ( ) :
user = request . user
if not in_group ( user , ETS_GROUP ) :
messages . info ( request , CANCEL_ACC_RECORDED_OR_DEDUCTED )
return redirect ( " compensation:acc-detail " , id = id )
form = RemoveModalForm ( request . POST or None , instance = acc , user = request . user )
form = RemoveModalForm ( request . POST or None , instance = acc , user = request . user )
return form . process_request (
return form . process_request (
request = request ,
request = request ,
@ -246,6 +259,7 @@ def remove_view(request: HttpRequest, id: str):
@login_required
@login_required
@default_group_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def deduction_remove_view ( request : HttpRequest , id : str , deduction_id : str ) :
def deduction_remove_view ( request : HttpRequest , id : str , deduction_id : str ) :
""" Renders a modal view for removing deductions
""" Renders a modal view for removing deductions
@ -272,6 +286,7 @@ def deduction_remove_view(request: HttpRequest, id: str, deduction_id: str):
@login_required
@login_required
@default_group_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def log_view ( request : HttpRequest , id : str ) :
def log_view ( request : HttpRequest , id : str ) :
""" Renders a log view using modal
""" Renders a log view using modal
@ -297,6 +312,7 @@ def log_view(request: HttpRequest, id: str):
@login_required
@login_required
@conservation_office_group_required
@conservation_office_group_required
@shared_access_required ( EcoAccount , " id " )
def record_view ( request : HttpRequest , id : str ) :
def record_view ( request : HttpRequest , id : str ) :
""" Renders a modal form for recording an eco account
""" Renders a modal form for recording an eco account
@ -318,6 +334,8 @@ def record_view(request: HttpRequest, id:str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def state_new_view ( request : HttpRequest , id : str ) :
def state_new_view ( request : HttpRequest , id : str ) :
""" Renders a form for adding new states for an eco account
""" Renders a form for adding new states for an eco account
@ -337,6 +355,8 @@ def state_new_view(request: HttpRequest, id: str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def action_new_view ( request : HttpRequest , id : str ) :
def action_new_view ( request : HttpRequest , id : str ) :
""" Renders a form for adding new actions for an eco account
""" Renders a form for adding new actions for an eco account
@ -400,6 +420,8 @@ def action_remove_view(request: HttpRequest, id: str, action_id: str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def deadline_new_view ( request : HttpRequest , id : str ) :
def deadline_new_view ( request : HttpRequest , id : str ) :
""" Renders a form for adding new states for an eco account
""" Renders a form for adding new states for an eco account
@ -419,6 +441,8 @@ def deadline_new_view(request: HttpRequest, id: str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def new_document_view ( request : HttpRequest , id : str ) :
def new_document_view ( request : HttpRequest , id : str ) :
""" Renders a form for uploading new documents
""" Renders a form for uploading new documents
@ -437,6 +461,7 @@ def new_document_view(request: HttpRequest, id: str):
@login_required
@login_required
@default_group_required
def get_document_view ( request : HttpRequest , doc_id : str ) :
def get_document_view ( request : HttpRequest , doc_id : str ) :
""" Returns the document as downloadable file
""" Returns the document as downloadable file
@ -463,6 +488,8 @@ def get_document_view(request: HttpRequest, doc_id: str):
@login_required
@login_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def remove_document_view ( request : HttpRequest , doc_id : str ) :
def remove_document_view ( request : HttpRequest , doc_id : str ) :
""" Removes the document from the database and file system
""" Removes the document from the database and file system
@ -484,6 +511,7 @@ def remove_document_view(request: HttpRequest, doc_id: str):
@login_required
@login_required
@default_group_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def new_deduction_view ( request : HttpRequest , id : str ) :
def new_deduction_view ( request : HttpRequest , id : str ) :
""" Renders a modal form view for creating deductions
""" Renders a modal form view for creating deductions
@ -601,6 +629,7 @@ def share_view(request: HttpRequest, id: str, token: str):
@login_required
@login_required
@default_group_required
@default_group_required
@shared_access_required ( EcoAccount , " id " )
def create_share_view ( request : HttpRequest , id : str ) :
def create_share_view ( request : HttpRequest , id : str ) :
""" Renders sharing form for an eco account
""" Renders sharing form for an eco account