"""
Author: Michel Peltriaux
Organization: Struktur- und Genehmigungsdirektion Nord, Rhineland-Palatinate, Germany
Contact: michel.peltriaux@sgdnord.rlp.de
Created on: 30.11.20

"""
from django.urls import path

from intervention.autocomplete.intervention import InterventionAutocomplete
from intervention.views.check import check_view
from intervention.views.compensation import remove_compensation_view
from intervention.views.deduction import NewInterventionDeductionView, EditInterventionDeductionView, \
    RemoveInterventionDeductionView
from intervention.views.document import NewInterventionDocumentView, GetInterventionDocumentView, \
    RemoveInterventionDocumentView, EditInterventionDocumentView
from intervention.views.intervention import index_view, new_view, new_id_view, detail_view, edit_view, remove_view
from intervention.views.log import InterventionLogView
from intervention.views.record import InterventionRecordView
from intervention.views.report import report_view
from intervention.views.resubmission import InterventionResubmissionView
from intervention.views.revocation import new_revocation_view, edit_revocation_view, remove_revocation_view, \
    get_revocation_view
from intervention.views.share import InterventionShareFormView, InterventionShareByTokenView

app_name = "intervention"
urlpatterns = [
    path("", index_view, name="index"),
    path('new/', new_view, name='new'),
    path('new/id', new_id_view, name='new-id'),
    path('<id>', detail_view, name='detail'),
    path('<id>/log', InterventionLogView.as_view(), name='log'),
    path('<id>/edit', edit_view, name='edit'),
    path('<id>/remove', remove_view, name='remove'),
    path('<id>/share/<token>', InterventionShareByTokenView.as_view(), name='share-token'),
    path('<id>/share', InterventionShareFormView.as_view(), name='share-form'),
    path('<id>/check', check_view, name='check'),
    path('<id>/record', InterventionRecordView.as_view(), name='record'),
    path('<id>/report', report_view, name='report'),
    path('<id>/resub', InterventionResubmissionView.as_view(), name='resubmission-create'),

    # Compensations
    path('<id>/compensation/<comp_id>/remove', remove_compensation_view, name='remove-compensation'),

    # Documents
    path('<id>/document/new/', NewInterventionDocumentView.as_view(), name='new-doc'),
    path('<id>/document/<doc_id>', GetInterventionDocumentView.as_view(), name='get-doc'),
    path('<id>/document/<doc_id>/remove/', RemoveInterventionDocumentView.as_view(), name='remove-doc'),
    path('<id>/document/<doc_id>/edit/', EditInterventionDocumentView.as_view(), name='edit-doc'),

    # Deductions
    path('<id>/deduction/new', NewInterventionDeductionView.as_view(), name='new-deduction'),
    path('<id>/deduction/<deduction_id>/edit', EditInterventionDeductionView.as_view(), name='edit-deduction'),
    path('<id>/deduction/<deduction_id>/remove', RemoveInterventionDeductionView.as_view(), name='remove-deduction'),

    # Revocation routes
    path('<id>/revocation/new', new_revocation_view, name='new-revocation'),
    path('<id>/revocation/<revocation_id>/edit', edit_revocation_view, name='edit-revocation'),
    path('<id>/revocation/<revocation_id>/remove', remove_revocation_view, name='remove-revocation'),
    path('revocation/<doc_id>', get_revocation_view, name='get-doc-revocation'),

    # Autocomplete
    path("atcmplt/interventions", InterventionAutocomplete.as_view(), name="autocomplete"),
]