from django.urls import path
import apps.transactions.views as views

urlpatterns = [
    path("transactions/", views.transaction_all_index, name="transactions_all_index"),
    path(
        "transactions/list/", views.transaction_all_list, name="transactions_all_list"
    ),
    path(
        "transactions/filter-presets/create/",
        views.filter_preset_create,
        name="filter_preset_create",
    ),
    path(
        "transactions/filter-presets/<int:preset_id>/apply/",
        views.filter_preset_apply,
        name="filter_preset_apply",
    ),
    path(
        "transactions/filter-presets/<int:preset_id>/delete/",
        views.filter_preset_delete,
        name="filter_preset_delete",
    ),
    path(
        "transactions/filter/clear/",
        views.transaction_filter_clear,
        name="transaction_filter_clear",
    ),
    path(
        "transactions/trash/",
        views.transactions_trash_can_index,
        name="transactions_trash_index",
    ),
    path(
        "transactions/trash/list/",
        views.transactions_trash_can_list,
        name="transactions_trash_list",
    ),
    path(
        "transactions/summary/",
        views.transaction_all_summary,
        name="transactions_all_summary",
    ),
    path(
        "transactions/summary/account/",
        views.transaction_all_account_summary,
        name="transaction_all_account_summary",
    ),
    path(
        "transactions/summary/currency/",
        views.transaction_all_currency_summary,
        name="transaction_all_currency_summary",
    ),
    path(
        "transactions/summary/select/<str:selected>/",
        views.transaction_all_summary_select,
        name="transaction_all_summary_select",
    ),
    path(
        "transactions/actions/pay/",
        views.bulk_pay_transactions,
        name="transactions_bulk_pay",
    ),
    path(
        "transactions/actions/unpay/",
        views.bulk_unpay_transactions,
        name="transactions_bulk_unpay",
    ),
    path(
        "transactions/actions/delete/",
        views.bulk_delete_transactions,
        name="transactions_bulk_delete",
    ),
    path(
        "transactions/actions/undelete/",
        views.bulk_undelete_transactions,
        name="transactions_bulk_undelete",
    ),
    path(
        "transactions/actions/duplicate/",
        views.bulk_clone_transactions,
        name="transactions_bulk_clone",
    ),
    path(
        "transaction/<int:transaction_id>/pay/",
        views.transaction_pay,
        name="transaction_pay",
    ),
    path(
        "transaction/<int:transaction_id>/mute/",
        views.transaction_mute,
        name="transaction_mute",
    ),
    path(
        "transaction/<int:transaction_id>/change-month/<str:change_type>/",
        views.transaction_change_month,
        name="transaction_change_month",
    ),
    path(
        "transaction/<int:transaction_id>/move-to-today/",
        views.transaction_move_to_today,
        name="transaction_move_to_today",
    ),
    path(
        "transaction/<int:transaction_id>/attachments/",
        views.transaction_attachments,
        name="transaction_attachments",
    ),
    path(
        "transaction/<int:transaction_id>/attachments/list/",
        views.transaction_attachments_list,
        name="transaction_attachments_list",
    ),
    path(
        "transaction/attachments/<uuid:attachment_id>/download/",
        views.transaction_attachment_download,
        name="transaction_attachment_download",
    ),
    path(
        "transaction/attachments/<uuid:attachment_id>/delete/",
        views.transaction_attachment_delete,
        name="transaction_attachment_delete",
    ),
    path(
        "transaction/<int:transaction_id>/delete/",
        views.transaction_delete,
        name="transaction_delete",
    ),
    path(
        "transaction/<int:transaction_id>/undelete/",
        views.transaction_undelete,
        name="transaction_undelete",
    ),
    path(
        "transaction/<int:transaction_id>/edit/",
        views.transaction_edit,
        name="transaction_edit",
    ),
    path(
        "transactions/bulk-edit/",
        views.transactions_bulk_edit,
        name="transactions_bulk_edit",
    ),
    path(
        "transactions/json/search/",
        views.get_recent_transactions,
        name="transactions_search",
    ),
    path(
        "transactions/json/search/<str:filter_type>/",
        views.get_recent_transactions,
        name="transactions_search",
    ),
    path(
        "transaction/<int:transaction_id>/clone/",
        views.transaction_clone,
        name="transaction_clone",
    ),
    path(
        "transaction/add/",
        views.transaction_add,
        name="transaction_add",
    ),
    path(
        "add/",
        views.transaction_simple_add,
        name="transaction_simple_add",
    ),
    path(
        "transactions/transfer/",
        views.transactions_transfer,
        name="transactions_transfer",
    ),
    path("tags/", views.tags_index, name="tags_index"),
    path("tags/list/", views.tags_list, name="tags_list"),
    path("tags/table/active/", views.tags_table_active, name="tags_table_active"),
    path("tags/table/archived/", views.tags_table_archived, name="tags_table_archived"),
    path("tags/add/", views.tag_add, name="tag_add"),
    path(
        "tags/<int:tag_id>/edit/",
        views.tag_edit,
        name="tag_edit",
    ),
    path(
        "tags/<int:tag_id>/delete/",
        views.tag_delete,
        name="tag_delete",
    ),
    path(
        "tags/<int:tag_id>/take-ownership/",
        views.tag_take_ownership,
        name="tag_take_ownership",
    ),
    path(
        "tags/<int:pk>/share/",
        views.tag_share,
        name="tag_share_settings",
    ),
    path("entities/", views.entities_index, name="entities_index"),
    path("entities/list/", views.entities_list, name="entities_list"),
    path(
        "entities/table/active/",
        views.entities_table_active,
        name="entities_table_active",
    ),
    path(
        "entities/table/archived/",
        views.entities_table_archived,
        name="entities_table_archived",
    ),
    path("entities/add/", views.entity_add, name="entity_add"),
    path(
        "entities/<int:entity_id>/edit/",
        views.entity_edit,
        name="entity_edit",
    ),
    path(
        "entities/<int:entity_id>/delete/",
        views.entity_delete,
        name="entity_delete",
    ),
    path(
        "entities/<int:entity_id>/take-ownership/",
        views.entity_take_ownership,
        name="entity_take_ownership",
    ),
    path(
        "entities/<int:pk>/share/",
        views.entity_share,
        name="entity_share_settings",
    ),
    path("categories/", views.categories_index, name="categories_index"),
    path("categories/list/", views.categories_list, name="categories_list"),
    path(
        "categories/table/active/",
        views.categories_table_active,
        name="categories_table_active",
    ),
    path(
        "categories/table/archived/",
        views.categories_table_archived,
        name="categories_table_archived",
    ),
    path("categories/add/", views.category_add, name="category_add"),
    path(
        "categories/<int:category_id>/edit/",
        views.category_edit,
        name="category_edit",
    ),
    path(
        "categories/<int:category_id>/delete/",
        views.category_delete,
        name="category_delete",
    ),
    path(
        "categories/<int:pk>/share/",
        views.category_share,
        name="category_share_settings",
    ),
    path(
        "categories/<int:category_id>/take-ownership/",
        views.category_take_ownership,
        name="category_take_ownership",
    ),
    path(
        "installment-plans/",
        views.installment_plans_index,
        name="installment_plans_index",
    ),
    path(
        "installment-plans/list/",
        views.installment_plans_list,
        name="installment_plans_list",
    ),
    path(
        "installment-plans/list/active/",
        views.active_installment_plans_list,
        name="active_installment_plans_list",
    ),
    path(
        "installment-plans/list/finished/",
        views.finished_installment_plans_list,
        name="finished_installment_plans_list",
    ),
    path(
        "installment-plans/add/",
        views.installment_plan_add,
        name="installment_plan_add",
    ),
    path(
        "installment-plans/<int:installment_plan_id>/transactions/",
        views.installment_plan_transactions,
        name="installment_plan_transactions",
    ),
    path(
        "installment-plans/<int:installment_plan_id>/edit/",
        views.installment_plan_edit,
        name="installment_plan_edit",
    ),
    path(
        "installment-plans/<int:installment_plan_id>/delete/",
        views.installment_plan_delete,
        name="installment_plan_delete",
    ),
    path(
        "installment-plans/<int:installment_plan_id>/refresh/",
        views.installment_plan_refresh,
        name="installment_plan_refresh",
    ),
    path(
        "recurring-trasanctions/",
        views.recurring_transactions_index,
        name="recurring_trasanctions_index",
    ),
    path(
        "recurring-trasanctions/list/",
        views.recurring_transactions_list,
        name="recurring_transaction_list",
    ),
    path(
        "recurring-trasanctions/list/active/",
        views.active_recurring_transactions_list,
        name="active_recurring_transaction_list",
    ),
    path(
        "recurring-trasanctions/list/paused/",
        views.paused_recurring_transactions_list,
        name="paused_recurring_transaction_list",
    ),
    path(
        "recurring-trasanctions/list/finished/",
        views.finished_recurring_transactions_list,
        name="finished_recurring_transaction_list",
    ),
    path(
        "recurring-transactions/add/",
        views.recurring_transaction_add,
        name="recurring_transaction_add",
    ),
    path(
        "recurring-transactions/<int:recurring_transaction_id>/transactions/",
        views.recurring_transaction_transactions,
        name="recurring_transaction_transactions",
    ),
    path(
        "recurring-transactions/<int:recurring_transaction_id>/edit/",
        views.recurring_transaction_edit,
        name="recurring_transaction_edit",
    ),
    path(
        "recurring-transactions/<int:recurring_transaction_id>/delete/",
        views.recurring_transaction_delete,
        name="recurring_transaction_delete",
    ),
    path(
        "recurring-transactions/<int:recurring_transaction_id>/toggle-pause/",
        views.recurring_transaction_toggle_pause,
        name="recurring_transaction_toggle_pause",
    ),
    path(
        "recurring-transactions/<int:recurring_transaction_id>/finish/",
        views.recurring_transaction_finish,
        name="recurring_transaction_finish",
    ),
    path(
        "quick-transactions/",
        views.quick_transactions_index,
        name="quick_transactions_index",
    ),
    path(
        "quick-transactions/list/",
        views.quick_transactions_list,
        name="quick_transactions_list",
    ),
    path(
        "quick-transactions/add/",
        views.quick_transaction_add,
        name="quick_transaction_add",
    ),
    path(
        "quick-transactions/<int:quick_transaction_id>/edit/",
        views.quick_transaction_edit,
        name="quick_transaction_edit",
    ),
    path(
        "quick-transactions/<int:quick_transaction_id>/delete/",
        views.quick_transaction_delete,
        name="quick_transaction_delete",
    ),
    path(
        "quick-transactions/create-menu/",
        views.quick_transactions_create_menu,
        name="quick_transactions_create_menu",
    ),
    path(
        "quick-transactions/<int:quick_transaction_id>/create/",
        views.quick_transaction_add_as_transaction,
        name="quick_transaction_add_as_transaction",
    ),
    path(
        "transactions/<int:transaction_id>/add-as-quick-transaction/",
        views.quick_transaction_add_as_quick_transaction,
        name="quick_transaction_add_as_quick_transaction",
    ),
]
