#19 Tests
* adds EMA tests * extends compensation tests * fixes bugs detected by testing * restructured tests for performance boost
This commit is contained in:
+42
-13
@@ -6,13 +6,13 @@ from django.shortcuts import render, get_object_or_404, redirect
|
||||
from django.urls import reverse
|
||||
from django.utils.translation import gettext_lazy as _
|
||||
|
||||
import compensation
|
||||
from compensation.forms.modalForms import NewStateModalForm, NewActionModalForm, NewDeadlineModalForm
|
||||
from compensation.models import CompensationAction, CompensationState
|
||||
from ema.forms import NewEmaForm, EditEmaForm
|
||||
from ema.tables import EmaTable
|
||||
from intervention.forms.modalForms import ShareInterventionModalForm
|
||||
from konova.contexts import BaseContext
|
||||
from konova.decorators import conservation_office_group_required, default_group_required
|
||||
from konova.decorators import conservation_office_group_required, shared_access_required
|
||||
from ema.models import Ema, EmaDocument
|
||||
from konova.forms import RemoveModalForm, NewDocumentForm, SimpleGeomForm, RecordModalForm
|
||||
from konova.settings import DEFAULT_GROUP, ZB_GROUP, ETS_GROUP
|
||||
@@ -92,6 +92,7 @@ def new_view(request: HttpRequest):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
def new_id_view(request: HttpRequest):
|
||||
""" JSON endpoint
|
||||
|
||||
@@ -159,6 +160,8 @@ def detail_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def log_view(request: HttpRequest, id: str):
|
||||
""" Renders a log view using modal
|
||||
|
||||
@@ -183,6 +186,8 @@ def log_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def edit_view(request: HttpRequest, id: str):
|
||||
"""
|
||||
Renders a view for editing compensations
|
||||
@@ -219,6 +224,8 @@ def edit_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def remove_view(request: HttpRequest, id: str):
|
||||
""" Renders a modal view for removing the EMA
|
||||
|
||||
@@ -239,6 +246,8 @@ def remove_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def record_view(request: HttpRequest, id: str):
|
||||
""" Renders a modal view for recording the EMA
|
||||
|
||||
@@ -259,6 +268,8 @@ def record_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def state_new_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for adding new states for an EMA
|
||||
|
||||
@@ -278,6 +289,8 @@ def state_new_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def action_new_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for adding new actions for an EMA
|
||||
|
||||
@@ -297,6 +310,8 @@ def action_new_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def deadline_new_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for adding new states for an EMA
|
||||
|
||||
@@ -316,6 +331,8 @@ def deadline_new_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def document_new_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for uploading new documents
|
||||
|
||||
@@ -334,6 +351,7 @@ def document_new_view(request: HttpRequest, id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
def get_document_view(request: HttpRequest, doc_id: str):
|
||||
""" Returns the document as downloadable file
|
||||
|
||||
@@ -360,6 +378,7 @@ def get_document_view(request: HttpRequest, doc_id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@conservation_office_group_required
|
||||
def remove_document_view(request: HttpRequest, doc_id: str):
|
||||
""" Removes the document from the database and file system
|
||||
|
||||
@@ -380,37 +399,46 @@ def remove_document_view(request: HttpRequest, doc_id: str):
|
||||
|
||||
|
||||
@login_required
|
||||
def state_remove_view(request: HttpRequest, id: str):
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def state_remove_view(request: HttpRequest, id: str, state_id: str):
|
||||
""" Renders a form for removing an EMA state
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
id (str): The state's id
|
||||
id (str): The ema id
|
||||
state_id (str): The state's id
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
return compensation.views.compensation_views.state_remove_view(
|
||||
state = get_object_or_404(CompensationState, id=state_id)
|
||||
form = RemoveModalForm(request.POST or None, instance=state, user=request.user)
|
||||
return form.process_request(
|
||||
request,
|
||||
id
|
||||
msg_success=_("State removed")
|
||||
)
|
||||
|
||||
|
||||
@login_required
|
||||
def action_remove_view(request: HttpRequest, id: str):
|
||||
""" Renders a form for removing an EMA state
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def action_remove_view(request: HttpRequest, id: str, action_id: str):
|
||||
""" Renders a form for removing an EMA action
|
||||
|
||||
Args:
|
||||
request (HttpRequest): The incoming request
|
||||
id (str): The state's id
|
||||
id (str): The ema id
|
||||
id (str): The action's id
|
||||
|
||||
Returns:
|
||||
|
||||
"""
|
||||
# Reuses the route logic from compensation view
|
||||
return compensation.views.compensation_views.action_remove_view(
|
||||
action = get_object_or_404(CompensationAction, id=action_id)
|
||||
form = RemoveModalForm(request.POST or None, instance=action, user=request.user)
|
||||
return form.process_request(
|
||||
request,
|
||||
id
|
||||
msg_success=_("Action removed")
|
||||
)
|
||||
|
||||
|
||||
@@ -505,7 +533,8 @@ def share_view(request: HttpRequest, id: str, token: str):
|
||||
|
||||
|
||||
@login_required
|
||||
@default_group_required
|
||||
@conservation_office_group_required
|
||||
@shared_access_required(Ema, "id")
|
||||
def create_share_view(request: HttpRequest, id: str):
|
||||
""" Renders sharing form for an Ema
|
||||
|
||||
|
||||
Reference in New Issue
Block a user