1from django.urls import path
2
3from extras import models, views
4
5
6app_name = 'extras'
7urlpatterns = [
8
9    # Custom fields
10    path('custom-fields/', views.CustomFieldListView.as_view(), name='customfield_list'),
11    path('custom-fields/add/', views.CustomFieldEditView.as_view(), name='customfield_add'),
12    path('custom-fields/import/', views.CustomFieldBulkImportView.as_view(), name='customfield_import'),
13    path('custom-fields/edit/', views.CustomFieldBulkEditView.as_view(), name='customfield_bulk_edit'),
14    path('custom-fields/delete/', views.CustomFieldBulkDeleteView.as_view(), name='customfield_bulk_delete'),
15    path('custom-fields/<int:pk>/', views.CustomFieldView.as_view(), name='customfield'),
16    path('custom-fields/<int:pk>/edit/', views.CustomFieldEditView.as_view(), name='customfield_edit'),
17    path('custom-fields/<int:pk>/delete/', views.CustomFieldDeleteView.as_view(), name='customfield_delete'),
18    path('custom-fields/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='customfield_changelog',
19         kwargs={'model': models.CustomField}),
20
21    # Custom links
22    path('custom-links/', views.CustomLinkListView.as_view(), name='customlink_list'),
23    path('custom-links/add/', views.CustomLinkEditView.as_view(), name='customlink_add'),
24    path('custom-links/import/', views.CustomLinkBulkImportView.as_view(), name='customlink_import'),
25    path('custom-links/edit/', views.CustomLinkBulkEditView.as_view(), name='customlink_bulk_edit'),
26    path('custom-links/delete/', views.CustomLinkBulkDeleteView.as_view(), name='customlink_bulk_delete'),
27    path('custom-links/<int:pk>/', views.CustomLinkView.as_view(), name='customlink'),
28    path('custom-links/<int:pk>/edit/', views.CustomLinkEditView.as_view(), name='customlink_edit'),
29    path('custom-links/<int:pk>/delete/', views.CustomLinkDeleteView.as_view(), name='customlink_delete'),
30    path('custom-links/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='customlink_changelog',
31         kwargs={'model': models.CustomLink}),
32
33    # Export templates
34    path('export-templates/', views.ExportTemplateListView.as_view(), name='exporttemplate_list'),
35    path('export-templates/add/', views.ExportTemplateEditView.as_view(), name='exporttemplate_add'),
36    path('export-templates/import/', views.ExportTemplateBulkImportView.as_view(), name='exporttemplate_import'),
37    path('export-templates/edit/', views.ExportTemplateBulkEditView.as_view(), name='exporttemplate_bulk_edit'),
38    path('export-templates/delete/', views.ExportTemplateBulkDeleteView.as_view(), name='exporttemplate_bulk_delete'),
39    path('export-templates/<int:pk>/', views.ExportTemplateView.as_view(), name='exporttemplate'),
40    path('export-templates/<int:pk>/edit/', views.ExportTemplateEditView.as_view(), name='exporttemplate_edit'),
41    path('export-templates/<int:pk>/delete/', views.ExportTemplateDeleteView.as_view(), name='exporttemplate_delete'),
42    path('export-templates/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='exporttemplate_changelog',
43         kwargs={'model': models.ExportTemplate}),
44
45    # Webhooks
46    path('webhooks/', views.WebhookListView.as_view(), name='webhook_list'),
47    path('webhooks/add/', views.WebhookEditView.as_view(), name='webhook_add'),
48    path('webhooks/import/', views.WebhookBulkImportView.as_view(), name='webhook_import'),
49    path('webhooks/edit/', views.WebhookBulkEditView.as_view(), name='webhook_bulk_edit'),
50    path('webhooks/delete/', views.WebhookBulkDeleteView.as_view(), name='webhook_bulk_delete'),
51    path('webhooks/<int:pk>/', views.WebhookView.as_view(), name='webhook'),
52    path('webhooks/<int:pk>/edit/', views.WebhookEditView.as_view(), name='webhook_edit'),
53    path('webhooks/<int:pk>/delete/', views.WebhookDeleteView.as_view(), name='webhook_delete'),
54    path('webhooks/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='webhook_changelog',
55         kwargs={'model': models.Webhook}),
56
57    # Tags
58    path('tags/', views.TagListView.as_view(), name='tag_list'),
59    path('tags/add/', views.TagEditView.as_view(), name='tag_add'),
60    path('tags/import/', views.TagBulkImportView.as_view(), name='tag_import'),
61    path('tags/edit/', views.TagBulkEditView.as_view(), name='tag_bulk_edit'),
62    path('tags/delete/', views.TagBulkDeleteView.as_view(), name='tag_bulk_delete'),
63    path('tags/<int:pk>/', views.TagView.as_view(), name='tag'),
64    path('tags/<int:pk>/edit/', views.TagEditView.as_view(), name='tag_edit'),
65    path('tags/<int:pk>/delete/', views.TagDeleteView.as_view(), name='tag_delete'),
66    path('tags/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='tag_changelog',
67         kwargs={'model': models.Tag}),
68
69    # Config contexts
70    path('config-contexts/', views.ConfigContextListView.as_view(), name='configcontext_list'),
71    path('config-contexts/add/', views.ConfigContextEditView.as_view(), name='configcontext_add'),
72    path('config-contexts/edit/', views.ConfigContextBulkEditView.as_view(), name='configcontext_bulk_edit'),
73    path('config-contexts/delete/', views.ConfigContextBulkDeleteView.as_view(), name='configcontext_bulk_delete'),
74    path('config-contexts/<int:pk>/', views.ConfigContextView.as_view(), name='configcontext'),
75    path('config-contexts/<int:pk>/edit/', views.ConfigContextEditView.as_view(), name='configcontext_edit'),
76    path('config-contexts/<int:pk>/delete/', views.ConfigContextDeleteView.as_view(), name='configcontext_delete'),
77    path('config-contexts/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='configcontext_changelog',
78         kwargs={'model': models.ConfigContext}),
79
80    # Image attachments
81    path('image-attachments/add/', views.ImageAttachmentEditView.as_view(), name='imageattachment_add'),
82    path('image-attachments/<int:pk>/edit/', views.ImageAttachmentEditView.as_view(), name='imageattachment_edit'),
83    path('image-attachments/<int:pk>/delete/', views.ImageAttachmentDeleteView.as_view(), name='imageattachment_delete'),
84
85    # Journal entries
86    path('journal-entries/', views.JournalEntryListView.as_view(), name='journalentry_list'),
87    path('journal-entries/add/', views.JournalEntryEditView.as_view(), name='journalentry_add'),
88    path('journal-entries/edit/', views.JournalEntryBulkEditView.as_view(), name='journalentry_bulk_edit'),
89    path('journal-entries/delete/', views.JournalEntryBulkDeleteView.as_view(), name='journalentry_bulk_delete'),
90    path('journal-entries/<int:pk>/', views.JournalEntryView.as_view(), name='journalentry'),
91    path('journal-entries/<int:pk>/edit/', views.JournalEntryEditView.as_view(), name='journalentry_edit'),
92    path('journal-entries/<int:pk>/delete/', views.JournalEntryDeleteView.as_view(), name='journalentry_delete'),
93    path('journal-entries/<int:pk>/changelog/', views.ObjectChangeLogView.as_view(), name='journalentry_changelog',
94         kwargs={'model': models.JournalEntry}),
95
96    # Change logging
97    path('changelog/', views.ObjectChangeListView.as_view(), name='objectchange_list'),
98    path('changelog/<int:pk>/', views.ObjectChangeView.as_view(), name='objectchange'),
99
100    # Reports
101    path('reports/', views.ReportListView.as_view(), name='report_list'),
102    path('reports/<str:module>.<str:name>/', views.ReportView.as_view(), name='report'),
103    path('reports/results/<int:job_result_pk>/', views.ReportResultView.as_view(), name='report_result'),
104
105    # Scripts
106    path('scripts/', views.ScriptListView.as_view(), name='script_list'),
107    path('scripts/<str:module>.<str:name>/', views.ScriptView.as_view(), name='script'),
108    path('scripts/results/<int:job_result_pk>/', views.ScriptResultView.as_view(), name='script_result'),
109
110]
111