from django.urls import path

from . import views

app_name = "gtd"

urlpatterns = [
    path(
        r'todo',
        views.GTDNoteTODOView.as_view(),
        name="todo-list"
    ),
    path(
        r'notes',
        views.GTDNoteListView.as_view(),
        {'note_type': None},
        name="note-list"
    ),
    path(
        r'note/create',
        views.GTDNoteCreateView.as_view(),
        name="note-create"
    ),
    path(
        r'note/<str:note_type>',
        views.GTDNoteListView.as_view(),
        name="note-list-status"
    ),
    path(
        r'note/<pk>/edit',
        views.GTDNoteUpdateView.as_view(),
        name="note-edit"
    ),
    path(
        r'note/<pk>/delete',
        views.GTDNoteDeleteView.as_view(),
        name="note-delete"
    ),
    path(
        r'projects',
        views.GTDProjectListView.as_view(),
        {'project_type': None},
        name="project-list"
    ),
    path(
        r'project/create',
        views.GTDProjectCreateView.as_view(),
        name="project-create"
    ),
    path(
        r'project/<int:pk>',
        views.GTDProjectDetailView.as_view(),
        name="project-detail"
    ),
    path(
        r'project/<str:project_type>',
        views.GTDProjectListView.as_view(),
        name="project-list-type"
    ),
    path(
        r'project/<pk>/edit',
        views.GTDProjectUpdateView.as_view(),
        name="project-edit"
    ),
    path(
        r'project/<pk>/delete',
        views.GTDProjectDeleteView.as_view(),
        name="project-delete"
    ),
    path(
        r'wirednotes',
        views.WiredNoteListView.as_view(),
        {'status': None},
        name="wirednote-list"
    ),
    path(
        r'wirednote/create',
        views.WiredNoteCreateView.as_view(),
        name="wirednote-create"
    ),
    path(
        r'wirednote/<str:status>',
        views.WiredNoteListView.as_view(),
        name="wirednote-list"
    ),
    path(
        r'wirednote/<pk>/edit',
        views.WiredNoteUpdateView.as_view(),
        name="wirednote-edit"
    ),
    path(
        r'wirednote/<pk>/delete',
        views.WiredNoteDeleteView.as_view(),
        name="wirednote-delete"
    ),
    path(
        r'wiredposts',
        views.WiredPostListView.as_view(),
        name="wiredpost-list"
    ),
    path(
        r'wiredposts/update-overdue',
        views.WiredPostUpdateOverdueView.as_view(),
        name="wiredpost-update-overdue"
    ),
    path(
        r'wiredpost/create',
        views.WiredPostCreateView.as_view(),
        name="wiredpost-create"
    ),
    path(
        r'wiredpost/<pk>/edit',
        views.WiredPostUpdateView.as_view(),
        name="wiredpost-edit"
    ),
    path(
        r'wiredpost/todo',
        views.WiredPostTodoView.as_view(),
        name="wiredpost-todo"
    ),
    path(
        r'wiredpost/<pk>/notes',
        views.WiredPostNotesView.as_view(),
        name="wiredpost-detail"
    ),
    path(
        r'outcomes',
        views.GTDOutcomeListView.as_view(),
        name="outcome-list"
    ),
    path(
        r'outcome/create',
        views.GTDOutcomeCreateView.as_view(),
        name="outcome-create"
    ),
    path(
        r'outcome/<pk>/edit',
        views.GTDOutcomeUpdateView.as_view(),
        name="outcome-edit"
    ),
    path(
        r'outcome/<pk>/delete',
        views.GTDOutcomeDeleteView.as_view(),
        name="outcome-delete"
    ),
]