django-spire 0.16.5__py3-none-any.whl → 0.16.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. django_spire/auth/group/templates/django_spire/auth/group/navigation/accordion/permission_nav_accordion.html +2 -2
  2. django_spire/consts.py +1 -1
  3. django_spire/core/management/commands/spire_startapp.py +0 -4
  4. django_spire/core/management/commands/spire_startapp_pkg/processor.py +18 -3
  5. django_spire/core/management/commands/spire_startapp_pkg/reporter.py +32 -30
  6. django_spire/core/templates/django_spire/element/pagination_element.html +2 -0
  7. django_spire/knowledge/auth/controller.py +10 -0
  8. django_spire/knowledge/collection/admin.py +10 -3
  9. django_spire/knowledge/collection/models.py +23 -1
  10. django_spire/knowledge/collection/querysets.py +19 -1
  11. django_spire/knowledge/collection/services/factory_service.py +42 -0
  12. django_spire/knowledge/collection/services/service.py +9 -1
  13. django_spire/knowledge/collection/services/transformation_service.py +29 -7
  14. django_spire/knowledge/collection/tests/test_services/test_transformation_service.py +4 -2
  15. django_spire/knowledge/collection/views/form_views.py +20 -4
  16. django_spire/knowledge/context_processors.py +1 -2
  17. django_spire/knowledge/migrations/0004_alter_collection_options_collectiongroup.py +27 -0
  18. django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js +17 -14
  19. django_spire/knowledge/templates/django_spire/knowledge/collection/card/context_menu_card.html +16 -10
  20. django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html +10 -1
  21. django_spire/knowledge/templates/django_spire/knowledge/collection/navigation/navigation.html +3 -0
  22. django_spire/knowledge/templates/django_spire/knowledge/entry/card/context_menu_card.html +1 -1
  23. django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html +1 -1
  24. django_spire/theme/tests/test_filesystem.py +2 -2
  25. {django_spire-0.16.5.dist-info → django_spire-0.16.6.dist-info}/METADATA +1 -1
  26. {django_spire-0.16.5.dist-info → django_spire-0.16.6.dist-info}/RECORD +29 -68
  27. django_spire/core/management/commands/spire_startapp_pkg/template/app/__init__.py +0 -0
  28. django_spire/core/management/commands/spire_startapp_pkg/template/app/apps.py +0 -7
  29. django_spire/core/management/commands/spire_startapp_pkg/template/app/forms.py +0 -15
  30. django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/__init__.py +0 -0
  31. django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/bots.py +0 -19
  32. django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/intel.py +0 -7
  33. django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/prompts.py +0 -30
  34. django_spire/core/management/commands/spire_startapp_pkg/template/app/migrations/__init__.py +0 -0
  35. django_spire/core/management/commands/spire_startapp_pkg/template/app/models.py +0 -52
  36. django_spire/core/management/commands/spire_startapp_pkg/template/app/querysets.py +0 -12
  37. django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/__init__.py +0 -0
  38. django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/seed.py +0 -3
  39. django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/seeder.py +0 -13
  40. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/__init__.py +0 -0
  41. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/factory_service.py +0 -11
  42. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/intelligence_service.py +0 -11
  43. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/processor_service.py +0 -11
  44. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/service.py +0 -20
  45. django_spire/core/management/commands/spire_startapp_pkg/template/app/services/transformation_service.py +0 -11
  46. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/__init__.py +0 -0
  47. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_intelligence/__init__.py +0 -0
  48. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_intelligence/test_bots.py +0 -6
  49. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_models.py +0 -6
  50. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/__init__.py +0 -0
  51. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_factory_service.py +0 -6
  52. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_intelligence_service.py +0 -6
  53. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_processor_service.py +0 -6
  54. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_service.py +0 -6
  55. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_transformation_service.py +0 -6
  56. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/__init__.py +0 -0
  57. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/test_form_urls.py +0 -6
  58. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/test_page_urls.py +0 -6
  59. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/__init__.py +0 -0
  60. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_form_views.py +0 -6
  61. django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_page_views.py +0 -6
  62. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/__init__.py +0 -9
  63. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/form_urls.py +0 -13
  64. django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/page_urls.py +0 -11
  65. django_spire/core/management/commands/spire_startapp_pkg/template/app/views/__init__.py +0 -0
  66. django_spire/core/management/commands/spire_startapp_pkg/template/app/views/form_views.py +0 -120
  67. django_spire/core/management/commands/spire_startapp_pkg/template/app/views/page_views.py +0 -45
  68. {django_spire-0.16.5.dist-info → django_spire-0.16.6.dist-info}/WHEEL +0 -0
  69. {django_spire-0.16.5.dist-info → django_spire-0.16.6.dist-info}/licenses/LICENSE.md +0 -0
  70. {django_spire-0.16.5.dist-info → django_spire-0.16.6.dist-info}/top_level.txt +0 -0
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppFactoryServiceTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppIntelligenceServiceTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppProcessorServiceTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppServiceTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppTransformationServiceTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppUrlTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppUrlTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppViewTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppViewTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,9 +0,0 @@
1
- # from django.urls.conf import path, include
2
- #
3
- #
4
- # app_name = 'spirechildapp'
5
- #
6
- # urlpatterns = [
7
- # path('page/', include('module.urls.page_urls', namespace='page')),
8
- # path('form/', include('module.urls.form_urls', namespace='form')),
9
- # ]
@@ -1,13 +0,0 @@
1
- from django.urls import path
2
-
3
- from module.views import form_views
4
-
5
-
6
- app_name = 'form'
7
-
8
- urlpatterns = [
9
- path('<int:pk>/delete/form/', form_views.delete_view, name='delete'),
10
- path('<int:pk>/delete/form/modal/', form_views.delete_form_modal_view, name='delete_form_modal'),
11
- path('<int:pk>/form/content/', form_views.form_content_modal_view, name='form_modal_content'),
12
- path('<int:pk>/form/', form_views.form_view, name='form'),
13
- ]
@@ -1,11 +0,0 @@
1
- from django.urls import path
2
-
3
- from module.views import page_views
4
-
5
-
6
- app_name = 'page'
7
-
8
- urlpatterns = [
9
- path('<int:pk>/detail/', page_views.detail_view, name='detail'),
10
- path('list/', page_views.list_view, name='list'),
11
- ]
@@ -1,120 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing_extensions import TYPE_CHECKING
4
-
5
- from django.contrib.auth.decorators import permission_required
6
- from django.shortcuts import get_object_or_404, redirect
7
- from django.template.response import TemplateResponse
8
- from django.urls import reverse
9
-
10
- from django_spire.core.redirect.safe_redirect import safe_redirect_url
11
- from django_spire.core.shortcuts import get_object_or_null_obj
12
- from django_spire.contrib.form.utils import show_form_errors
13
- from django_spire.history.activity.utils import add_form_activity
14
- from django_spire.contrib.generic_views import portal_views, modal_views
15
-
16
- import django_glue as dg
17
-
18
- from module import forms, models
19
-
20
-
21
- if TYPE_CHECKING:
22
- from django.core.handlers.wsgi import WSGIRequest
23
-
24
-
25
- @permission_required('spireparentapp.delete_spirepermission')
26
- def delete_form_modal_view(request: WSGIRequest, pk: int) -> TemplateResponse:
27
- spirechildapp = get_object_or_404(models.SpireChildApp, pk=pk)
28
-
29
- form_action = reverse(
30
- 'spireparentapp:spirechildapp:delete_form_modal',
31
- kwargs={'pk': pk}
32
- )
33
-
34
- def add_activity() -> None:
35
- spirechildapp.add_activity(
36
- user=request.user,
37
- verb='deleted',
38
- device=request.device,
39
- information=f'{request.user.get_full_name()} deleted a spirechildapp on "{spirechildapp.spireparentapp}".'
40
- )
41
-
42
- fallback = reverse(
43
- 'spireparentapp:detail',
44
- kwargs={'pk': spirechildapp.spireparentapp.pk}
45
- )
46
-
47
- return_url = safe_redirect_url(request, fallback=fallback)
48
-
49
- return modal_views.dispatch_modal_delete_form_content(
50
- request,
51
- obj=spirechildapp,
52
- form_action=form_action,
53
- activity_func=add_activity,
54
- return_url=return_url,
55
- )
56
-
57
-
58
- @permission_required('spireparentapp.delete_spirepermission')
59
- def delete_view(request: WSGIRequest, pk: int) -> TemplateResponse:
60
- spirechildapp = get_object_or_404(models.SpireChildApp, pk=pk)
61
-
62
- return_url = request.GET.get(
63
- 'return_url',
64
- reverse('spirechildapp:page:list')
65
- )
66
-
67
- return portal_views.delete_form_view(
68
- request,
69
- obj=spirechildapp,
70
- return_url=return_url
71
- )
72
-
73
-
74
- @permission_required('spireparentapp.change_spirepermission')
75
- def form_content_modal_view(request: WSGIRequest, pk: int) -> TemplateResponse:
76
- spirechildapp = get_object_or_404(models.SpireChildApp, pk=pk)
77
-
78
- dg.glue_model_object(request, 'spirechildapp', spirechildapp)
79
-
80
- context_data = {
81
- 'spirechildapp': spirechildapp
82
- }
83
-
84
- return TemplateResponse(
85
- request,
86
- context=context_data,
87
- template='spirechildapp/modal/content/form_modal_content.html'
88
- )
89
-
90
-
91
- @permission_required('spireparentapp.change_spirepermission')
92
- def form_view(request: WSGIRequest, pk: int) -> TemplateResponse:
93
- spirechildapp = get_object_or_null_obj(models.SpireChildApp, pk=pk)
94
-
95
- dg.glue_model_object(request, 'spirechildapp', spirechildapp, 'view')
96
-
97
- if request.method == 'POST':
98
- form = forms.PlaceholderForm(request.POST, instance=spirechildapp)
99
-
100
- if form.is_valid():
101
- spirechildapp = form.save()
102
- add_form_activity(spirechildapp, pk, request.user)
103
-
104
- return redirect(
105
- request.GET.get(
106
- 'return_url',
107
- reverse('spirechildapp:page:list')
108
- )
109
- )
110
-
111
- show_form_errors(request, form)
112
- else:
113
- form = forms.PlaceholderForm(instance=spirechildapp)
114
-
115
- return portal_views.form_view(
116
- request,
117
- form=form,
118
- obj=spirechildapp,
119
- template='spirechildapp/page/form_page.html'
120
- )
@@ -1,45 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing_extensions import TYPE_CHECKING
4
-
5
- from django.contrib.auth.decorators import permission_required
6
- from django.shortcuts import get_object_or_404
7
- from django.template.response import TemplateResponse
8
-
9
- from django_spire.contrib.generic_views import portal_views
10
-
11
- from module import forms, models
12
-
13
-
14
- if TYPE_CHECKING:
15
- from django.core.handlers.wsgi import WSGIRequest
16
-
17
-
18
- @permission_required('spireparentapp.view_spirepermission')
19
- def detail_view(request: WSGIRequest, pk: int) -> TemplateResponse:
20
- spirechildapp = get_object_or_404(models.SpireChildApp, pk=pk)
21
-
22
- context_data = {
23
- 'spirechildapp': spirechildapp,
24
- }
25
-
26
- return portal_views.detail_view(
27
- request,
28
- obj=spirechildapp,
29
- context_data=context_data,
30
- template='spirechildapp/page/detail_page.html'
31
- )
32
-
33
-
34
- @permission_required('spireparentapp.view_spirepermission')
35
- def list_view(request: WSGIRequest) -> TemplateResponse:
36
- context_data = {
37
- 'spirechildapps': models.SpireChildApp.objects.all()
38
- }
39
-
40
- return portal_views.list_view(
41
- request,
42
- model=models.SpireChildApp,
43
- context_data=context_data,
44
- template='spirechildapp/page/list_page.html'
45
- )