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
@@ -7,21 +7,27 @@
7
7
  top: y + 'px',
8
8
  left: x + 'px',
9
9
  }"
10
- class="position-fixed card shadow-lg z-3 vstack cursor-pointer"
10
+ class="position-fixed card shadow-lg z-3 vstack cursor-pointer bg-app-layer-one"
11
11
  @click.away="hide_menu()"
12
12
  >
13
13
  <span class="px-2 py-1" x-text="title"></span>
14
14
 
15
+ {% if AuthController.knowledge.can_change %}
16
+ <span class="border-top bg-app-layer-one-hover px-3 text-app-default-link-color" @click="edit_collection()">
17
+ <i class="bi bi-pencil pe-1"></i>
18
+ Edit Collection
19
+ </span>
20
+ {% endif %}
15
21
  {% if AuthController.knowledge.can_add %}
16
- <span class="border-top bg-app-layer-one-hover px-3 text-app-default-link-color" @click="add_entry()">
17
- <i class="bi bi-plus pe-1"></i>
18
- Add Entry
19
- </span>
20
- <span class="border-top bg-app-layer-one-hover px-3 text-app-default-link-color" @click="import_entry()">
21
- <i class="bi bi-upload pe-1">
22
- </i>
23
- Import Entry
24
- </span>
22
+ <span class="border-top bg-app-layer-one-hover px-3 text-app-default-link-color" @click="add_entry()">
23
+ <i class="bi bi-plus pe-1"></i>
24
+ Add Entry
25
+ </span>
26
+ <span class="border-top bg-app-layer-one-hover px-3 text-app-default-link-color" @click="import_entry()">
27
+ <i class="bi bi-upload pe-1">
28
+ </i>
29
+ Import Entry
30
+ </span>
25
31
  {% endif %}
26
32
 
27
33
  {% if AuthController.knowledge.can_delete %}
@@ -5,11 +5,15 @@
5
5
  x-data="{
6
6
  collection: new ModelObjectGlue('collection'),
7
7
  collection_query_set: new QuerySetGlue('collections'),
8
+ groups: new GlueCharField('groups'),
9
+ group_query_set: new QuerySetGlue('group_query_set'),
8
10
  async init() {
9
11
  await this.collection.get()
10
12
  this.collection.glue_fields.parent.choices = await this.collection_query_set.to_choices()
11
-
12
13
  this.collection.glue_fields.parent.label = 'Parent Collection'
14
+
15
+ this.groups.choices = await this.group_query_set.to_choices()
16
+ this.groups.value = JSON.parse('{{ group_ids }}')
13
17
  }
14
18
  }"
15
19
  >
@@ -23,6 +27,11 @@
23
27
  <div class="col-12 mt-2">
24
28
  {% include 'django_glue/form/field/search_and_select_field.html' with glue_model_field='collection.parent' %}
25
29
  </div>
30
+ {% if AuthController.knowledge.can_change_collection_groups %}
31
+ <div class="col-12 mt-2">
32
+ {% include 'django_glue/form/field/multi_select_field.html' with glue_field='groups' %}
33
+ </div>
34
+ {% endif %}
26
35
  <div class="col-12 mt-2">
27
36
  {% include 'django_spire/contrib/form/button/form_submit_button.html' %}
28
37
  </div>
@@ -105,6 +105,9 @@
105
105
  {% endif %}
106
106
 
107
107
  {% if AuthController.knowledge.can_change %}
108
+ edit_collection() {
109
+ window.location.href = this.focused_object.edit_url
110
+ },
108
111
  edit_entry() {
109
112
  window.location.href = this.focused_object.edit_url
110
113
  },
@@ -7,7 +7,7 @@
7
7
  top: y + 'px',
8
8
  left: x + 'px',
9
9
  }"
10
- class="position-fixed card shadow-lg z-3 vstack cursor-pointer"
10
+ class="position-fixed card shadow-lg z-3 vstack cursor-pointer bg-app-layer-one"
11
11
  @click.away="hide_menu()"
12
12
  >
13
13
  <span class="px-2 py-1" x-text="title"></span>
@@ -51,7 +51,7 @@
51
51
  ></i>
52
52
  </div>
53
53
  <div
54
- class="offcanvas offcanvas-end rounded-3"
54
+ class="offcanvas offcanvas-end rounded-3 bg-app-layer-one"
55
55
  data-bs-scroll="true"
56
56
  data-bs-backdrop="false"
57
57
  tabindex="-1"
@@ -15,7 +15,7 @@ class ThemeFilesystemValidationTests(TestCase):
15
15
  def _get_themes_base_path(self) -> Path:
16
16
  file = Path(__file__)
17
17
  root = file.parent.parent.parent.parent
18
- return root / 'django_spire' / 'static' / 'django_spire' / 'css' / 'themes'
18
+ return root / 'django_spire' / 'core' / 'static' / 'django_spire' / 'css' / 'themes'
19
19
 
20
20
  def test_themes_directory_exists(self) -> None:
21
21
  if not self.base_path.exists():
@@ -98,7 +98,7 @@ class ThemeFilesystemValidationTests(TestCase):
98
98
 
99
99
  file = Path(__file__)
100
100
  root = file.parent.parent.parent.parent
101
- path = root / 'django_spire' / 'static' / expected
101
+ path = root / 'django_spire' / 'core' / 'static' / expected
102
102
 
103
103
  if not path.exists():
104
104
  missing.append(f'{theme.value}: {expected}')
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-spire
3
- Version: 0.16.5
3
+ Version: 0.16.6
4
4
  Summary: A project for Django Spire
5
5
  Author-email: Brayden Carlson <braydenc@stratusadv.com>, Nathan Johnson <nathanj@stratusadv.com>
6
6
  License: Copyright (c) 2024 Stratus Advanced Technologies and Contributors.
@@ -1,6 +1,6 @@
1
1
  django_spire/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2
2
  django_spire/conf.py,sha256=EYC1hXqYqheYrb_b6Q93LrSgNl91JV633E4N5j-KGTo,1012
3
- django_spire/consts.py,sha256=MWoKzsjUKe3fISnGCP3AUF30O-pQqwVf496yUBNaewM,390
3
+ django_spire/consts.py,sha256=b-ZLKW2TfJ9usKaHkyvoGYTqBCMCxBJ4TbeFRowbO2Q,390
4
4
  django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
5
5
  django_spire/settings.py,sha256=NBDa_kZozESTz2UfHgy2PzhBqj54eIrjZsUsWqDgI0g,735
6
6
  django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
@@ -142,7 +142,7 @@ django_spire/auth/group/templates/django_spire/auth/group/item/group_item.html,s
142
142
  django_spire/auth/group/templates/django_spire/auth/group/item/group_perm_item.html,sha256=J6swoj3ZTgNx0_CQLTyfBdzWmq1g-3sSyX_pjakBZ-4,1279
143
143
  django_spire/auth/group/templates/django_spire/auth/group/item/group_user_item.html,sha256=hzSwPZs4FvvoWSNfZUoZF4j5pHPRrQgD0SE3QPPz8QE,1020
144
144
  django_spire/auth/group/templates/django_spire/auth/group/item/permission_user_group_form_item.html,sha256=zzKBStvHqDJbg73fqGb9KKJRUkx1g2OcAwrXnkL0yEA,508
145
- django_spire/auth/group/templates/django_spire/auth/group/navigation/accordion/permission_nav_accordion.html,sha256=0qjaQufj-ya-R0oYun9yXxSTICLJNXcZQZmC44gVkfQ,794
145
+ django_spire/auth/group/templates/django_spire/auth/group/navigation/accordion/permission_nav_accordion.html,sha256=c06C5tE_M8H3DFud2xfCTFmOVkF7qGoPeAApF6857ak,798
146
146
  django_spire/auth/group/templates/django_spire/auth/group/page/detail_page.html,sha256=WI-rkfn_nZRRGUkszHd3AJp2FpKx6oD80aJlT-zvZZ8,745
147
147
  django_spire/auth/group/templates/django_spire/auth/group/page/form_page.html,sha256=tBNmcLLQPfzZM12WmOHfo6ayJFWDouzO9N4QTcIucVw,244
148
148
  django_spire/auth/group/templates/django_spire/auth/group/page/group_user_form_page.html,sha256=m5Mh05KWaD1RbOrHw4N49aLErnRwnHNpObQfaVk3mLc,255
@@ -408,55 +408,14 @@ django_spire/core/forms/widgets.py,sha256=_XgJZ9SoMJ4yz-NhLCAOppSvEWk_5JLUtn3I3_
408
408
  django_spire/core/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
409
409
  django_spire/core/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
410
410
  django_spire/core/management/commands/spire_remove_migration.py,sha256=G3dibVdzvEm9ZMfE_czOk6SyPDn5IEpJ3m1nw-rxuYs,1755
411
- django_spire/core/management/commands/spire_startapp.py,sha256=EnDPeRofugaZeuvSUUndlGVHPYEYpOqEKMsNe2YKRLc,3084
411
+ django_spire/core/management/commands/spire_startapp.py,sha256=TWSN7c8-dgn0BBHn6pOq0oMBTxZ7keKBs3Yzu7WKfRo,3001
412
412
  django_spire/core/management/commands/spire_startapp_pkg/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
413
413
  django_spire/core/management/commands/spire_startapp_pkg/constants.py,sha256=PPlf_6xV2nQucGvGuqEHk64ZN8HEJiyot1Yst8jSY2A,94
414
414
  django_spire/core/management/commands/spire_startapp_pkg/manager.py,sha256=HWgPHtApsDDsw4o1NhboSdw40kr2Yc7WP5Grh9ippkQ,5251
415
415
  django_spire/core/management/commands/spire_startapp_pkg/maps.py,sha256=sGTAljQsH7C27kQ_ECChIeS5VQ8FyqMGkqFyb9ZYyzQ,763
416
- django_spire/core/management/commands/spire_startapp_pkg/processor.py,sha256=cOnGkXHBmYoCRBqbusKbO1mZ0vbvB3VB_iO83HmIbDA,2117
417
- django_spire/core/management/commands/spire_startapp_pkg/reporter.py,sha256=SaS9YELZi1ddDMNVwQuOijDtnvBsAu6Rt5D5YCUWICk,6122
416
+ django_spire/core/management/commands/spire_startapp_pkg/processor.py,sha256=yEiGQMrgTOxvd-PAvmgFQjFIaAE-NBu80LD2CR5abfY,2623
417
+ django_spire/core/management/commands/spire_startapp_pkg/reporter.py,sha256=alxyyH7zX7f0cFO-rKJq0pP9N7UfZIUGVx2XN9yh7bs,6489
418
418
  django_spire/core/management/commands/spire_startapp_pkg/template/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
419
- django_spire/core/management/commands/spire_startapp_pkg/template/app/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
420
- django_spire/core/management/commands/spire_startapp_pkg/template/app/apps.py,sha256=0z_yVC_fvR-6NDCMOudpl_KRdpRG-Hd1uBL_UpqVQ0E,194
421
- django_spire/core/management/commands/spire_startapp_pkg/template/app/forms.py,sha256=O3qId2a-akgY05i1Mz1_j0ucD3_RfhBCbwRPxQtVtjk,300
422
- django_spire/core/management/commands/spire_startapp_pkg/template/app/models.py,sha256=j-C5073C8PBF4-LIGCFJxz6eRpaT_dn765WHiVyLURg,1381
423
- django_spire/core/management/commands/spire_startapp_pkg/template/app/querysets.py,sha256=QRhLXIhI0_7DCyHDwhPl_WtlUHyTr0Q52-GzSRnpw4I,258
424
- django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
425
- django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/bots.py,sha256=DQIC-AmtbAJT58aqd6sOpSqeBIoMZOd2sRmK0OBwVSE,503
426
- django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/intel.py,sha256=lzquS8NsfD6ueX6NC2JSLqsGIbr_zBro4F93JMlOB1M,124
427
- django_spire/core/management/commands/spire_startapp_pkg/template/app/intelligence/prompts.py,sha256=RJgQYyXLLDx0woDe4xKFqYNhZZkO9g2kscYZPcrUhSU,744
428
- django_spire/core/management/commands/spire_startapp_pkg/template/app/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
429
- django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
430
- django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/seed.py,sha256=DLsTvn6t0mMsWP83RhUbcFHZFXUMuMRlzqgyWoC_HeU,98
431
- django_spire/core/management/commands/spire_startapp_pkg/template/app/seeding/seeder.py,sha256=Ax55-jl21fe1yyuVav87pFsE4PFXEaX_EvBZX0qlNcA,235
432
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
433
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/factory_service.py,sha256=DFqY9EheSQis4UcjBmwE9YoJ-aXBT_o2YEHMOd6xCtE,297
434
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/intelligence_service.py,sha256=0v_gQHkS4FS4ajqGLDTgpUOA_GB24nSwXZ4OCx7VRnU,302
435
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/processor_service.py,sha256=QKSKvqqWbaDlKqbjCknGwmupC8dG15ADDCwE-W8ffPc,299
436
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/service.py,sha256=fl-z0IYXz-H0zoD6AQFwdwptQ4ZxtgNJ2Mvp6EF1USo,811
437
- django_spire/core/management/commands/spire_startapp_pkg/template/app/services/transformation_service.py,sha256=QqhRWL57SdctDEUbNs3CaY726kv7vcrtCMkbKlbvoes,304
438
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
439
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_models.py,sha256=DLAV40r0UYYc7Ykf6WbGoS3NXIXp7Pwj6xskrZBj01k,124
440
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
441
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_intelligence/test_bots.py,sha256=UIXaRu-YZEApAgKwXnhjv-PPpEqXT3tBNSW-Pl945e4,122
442
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
443
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_factory_service.py,sha256=JExToUT1dQESKF9t-XhyGSE23_-SNEasxB3hlVUGQUs,133
444
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_intelligence_service.py,sha256=MkAMtycp9xHidJ4sekv1k3F03a6hitXXH5Xum2gI4Xw,138
445
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_processor_service.py,sha256=i5zt7tR_qX6GbljU-vT3xC5O6Lyz1ra_8Wslujx2W88,135
446
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_service.py,sha256=-Gc_XoLDQG0lhtPqqOaVAbGnwosHRQ4ZIxyQvQ7_rgQ,126
447
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_services/test_transformation_service.py,sha256=O5-bAedw4UfEXNiniRue8sXLA-JQ6brxcVlbZGDBh9k,140
448
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
449
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/test_form_urls.py,sha256=PChrQJh2nANH4sX281YWAjhjrENyIrMOUfJRS7UVpAk,122
450
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_urls/test_page_urls.py,sha256=PChrQJh2nANH4sX281YWAjhjrENyIrMOUfJRS7UVpAk,122
451
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
452
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_form_views.py,sha256=jAc6e0uZfA507Ntk8Zw7pRrtCkjm266GM8npy6jWuEw,123
453
- django_spire/core/management/commands/spire_startapp_pkg/template/app/tests/test_views/test_page_views.py,sha256=jAc6e0uZfA507Ntk8Zw7pRrtCkjm266GM8npy6jWuEw,123
454
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/__init__.py,sha256=tBesQ97z5xgl0paYfWRQt3yDQTGO75YZGdiMfgRTlKE,248
455
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/form_urls.py,sha256=cTVgpMEaSHfHJoYU8_GX8k80ZNBZppod8Py34BlOD2E,443
456
- django_spire/core/management/commands/spire_startapp_pkg/template/app/urls/page_urls.py,sha256=Uksgf3UgcCDIK5cwZdM5CKlSQ5u0-7F3e66N4c8qkqw,228
457
- django_spire/core/management/commands/spire_startapp_pkg/template/app/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
458
- django_spire/core/management/commands/spire_startapp_pkg/template/app/views/form_views.py,sha256=8iANHUOx5fDxh_PELnGHPC8b1r7-AFPQZq_6xyUtFWc,3668
459
- django_spire/core/management/commands/spire_startapp_pkg/template/app/views/page_views.py,sha256=qzYjuGAL8BjxiNJ5a5LUDDV6jE91xDrTAhGnoaa0dm4,1247
460
419
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/card/spirechildapp_detail_card.html,sha256=rylPJuIdsNOfyvILe1KIYCwtB_3od_tQlg2wKuJ4dFQ,941
461
420
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/card/spirechildapp_form_card.html,sha256=T0_iqVGb8CK2HnoMTRSDEUQ3YZTFZ-sOVcaVqU-5Gag,226
462
421
  django_spire/core/management/commands/spire_startapp_pkg/template/templates/card/spirechildapp_list_card.html,sha256=RkFT0dwduWtj-hdwQ--R3eypaQQhtp8SbxIrTMrDw54,633
@@ -587,7 +546,7 @@ django_spire/core/templates/django_spire/element/divider_element.html,sha256=Ejp
587
546
  django_spire/core/templates/django_spire/element/grabber_element.html,sha256=ZH6abnf8p4jMRSdjWNsbRqNBuM1yMJF_EKNLh7c4pj8,198
588
547
  django_spire/core/templates/django_spire/element/no_data_element.html,sha256=-WSsQZVh3T3NROSfQo8U-ZPxt8nxmDggp3Cz_gbeNL4,145
589
548
  django_spire/core/templates/django_spire/element/page_loading_element.html,sha256=wdwYIVGoaUaapYQM_ekv2-3loXQ8Abchhhs8ipm5r-U,242
590
- django_spire/core/templates/django_spire/element/pagination_element.html,sha256=nSxEzC3c7Dq6H27FirZv-YxhzBzE3WkRQL5dKlui3YU,1674
549
+ django_spire/core/templates/django_spire/element/pagination_element.html,sha256=jEyTNxaBxwJmuvDtgSP9NEb574Hn2F5taYh44KBSQWw,1702
591
550
  django_spire/core/templates/django_spire/error/error.html,sha256=ZsNCwdEax8IhaMPE1jQ7mwWkQ63KHoZOuRzb_IjYoNc,390
592
551
  django_spire/core/templates/django_spire/filtering/form/base_session_filter_form.html,sha256=trTZacrnwmRdwUeqxUfxW-rpDYMrzE2gPGwTqP1b9AI,859
593
552
  django_spire/core/templates/django_spire/filtering/form/filter_form.html,sha256=MJz2R7lA2BxuLi2n-MPPZ0rrE88q93gTEzOwQJMjwdY,264
@@ -748,28 +707,29 @@ django_spire/history/viewed/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JC
748
707
  django_spire/knowledge/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
749
708
  django_spire/knowledge/admin.py,sha256=lTjm5N-kEtAyztFMGE14G5R8QYayySDEzUWy_srC8Vc,312
750
709
  django_spire/knowledge/apps.py,sha256=uRDRhk6ILMFtGQF_9nl9iW3A-o0ei9kEIzOyBSeWFoE,714
751
- django_spire/knowledge/context_processors.py,sha256=IgaQwhpPy2M0T4k_FQ6-T0cFyzp4Nez5EsXZSNXp1xg,505
710
+ django_spire/knowledge/context_processors.py,sha256=CY9mfxSVTtpsnufFaqFEzmMmCx_LcNqeoCHggV_s1E0,414
752
711
  django_spire/knowledge/exceptions.py,sha256=NGCh7e1fkSUIyZaSFbwCo5NhSioQnyKPZuAyixUH2-M,60
753
712
  django_spire/knowledge/models.py,sha256=ey1C-_jjxbXbBrrAu1qTKPCPhJzFiEVcJ3wnOUEY3Uc,308
754
713
  django_spire/knowledge/auth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
755
- django_spire/knowledge/auth/controller.py,sha256=ZQvwlbq03H7HjLVOLrlhAoVqZRFaU301LM45r16dwNg,569
714
+ django_spire/knowledge/auth/controller.py,sha256=dUOC01sRXSf8w5ma6IgkhczGV2WhNaL3B-AGEst4wuQ,893
756
715
  django_spire/knowledge/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
757
- django_spire/knowledge/collection/admin.py,sha256=6Xc4np9ps_g_IWVjlkw5IIv_D09TN8yUKQQnth6xnpU,391
716
+ django_spire/knowledge/collection/admin.py,sha256=7Ykw1zDBzMuoO4OfyszsOXWmVvtof4ooXseplTmqa-E,677
758
717
  django_spire/knowledge/collection/forms.py,sha256=4zMzdonUjYEK7GW-3m0DDimG19zm9ji89j0FVFIg6W0,202
759
- django_spire/knowledge/collection/models.py,sha256=-j0UG_BT94adobABkt6HcKLmzkUC4X13AEyMJFaJK8s,931
760
- django_spire/knowledge/collection/querysets.py,sha256=NyQx-XV4b0lX7MtZczU3_EjDDHzECELtiUdg-X4htaA,1013
718
+ django_spire/knowledge/collection/models.py,sha256=eArUPJu9bnFMixnfogQiA-TSbnz2NGoaJbmR4tJU3Mw,1625
719
+ django_spire/knowledge/collection/querysets.py,sha256=bmLCqlRMkZ_9GOzNUiRanuxTIjiIXeQ8tiXMvXvsk-8,1717
761
720
  django_spire/knowledge/collection/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
762
721
  django_spire/knowledge/collection/seeding/seed.py,sha256=DVTYx8gt4zQQ1UpeOfMq5G1PWGdeENaw-XdA7DtjRUg,267
763
722
  django_spire/knowledge/collection/seeding/seeder.py,sha256=l8qDxIPYMlc8hntpVtb3BpvlPXr3XLemxOdnl8B16fo,1531
764
723
  django_spire/knowledge/collection/services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
724
+ django_spire/knowledge/collection/services/factory_service.py,sha256=92DLZODSRPF-iA9r3Jgys2GzbC39KssGEk9eOJ5wZjs,1298
765
725
  django_spire/knowledge/collection/services/ordering_service.py,sha256=vTkSdt1lVT4VxSK3GhZibj8FPDDy5butwPkVzqmm07g,1243
766
726
  django_spire/knowledge/collection/services/processor_service.py,sha256=3ArKBndoL3HEvH_1EBqfiw7AnbFYZ0WmBgcPV8BHdLQ,911
767
- django_spire/knowledge/collection/services/service.py,sha256=oDFr0TpNg35xRLfJcHDPYRKYr-jrZKYJbrIs_GHydmA,1438
768
- django_spire/knowledge/collection/services/transformation_service.py,sha256=8KbV76srdYTn6uSEWtrg_eOoRXJ0hfXw9iXsuRGG9EA,2928
727
+ django_spire/knowledge/collection/services/service.py,sha256=Vg9ZPWlCxZ_43fkudvBUBZfd7L7A8_vKlBA9dIHUNas,1709
728
+ django_spire/knowledge/collection/services/transformation_service.py,sha256=dfjl5xm_N1CrAMBShNxMs351plwaN_eTfcWXZHy0cek,3648
769
729
  django_spire/knowledge/collection/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
770
730
  django_spire/knowledge/collection/tests/factories.py,sha256=rQfLX9kz72X-ne6i_IDWXoQMlAnyrxrReuOFM01bC2Q,393
771
731
  django_spire/knowledge/collection/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
772
- django_spire/knowledge/collection/tests/test_services/test_transformation_service.py,sha256=BNe9tOcuB3lJRjSWRTmZCFqoR_U6oGnPLePueqFzlp0,2662
732
+ django_spire/knowledge/collection/tests/test_services/test_transformation_service.py,sha256=zprPNNmXS4144pbM2C6HloV1Jz-j8pnCeY_iq5_waZk,2707
773
733
  django_spire/knowledge/collection/tests/test_urls/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
774
734
  django_spire/knowledge/collection/tests/test_urls/test_form_urls.py,sha256=YEZPA8ne8ON52ythwPfSqLzlkxvMA7_GpF00hclBymw,424
775
735
  django_spire/knowledge/collection/tests/test_urls/test_json_urls.py,sha256=O1uuTszX1MUHGSH9lDx4f8YgxBL-6CdMuy_yajWldNY,705
@@ -779,7 +739,7 @@ django_spire/knowledge/collection/urls/form_urls.py,sha256=zOAbLQXw-POh9F7lzxAFW
779
739
  django_spire/knowledge/collection/urls/json_urls.py,sha256=XZp5wt8m9x38Uuy1dhegqZ4qlJLZK2EgJsLltx97o0Q,195
780
740
  django_spire/knowledge/collection/urls/page_urls.py,sha256=zvcqS6zE_OZd_Ah1nMIIbMOzYkIYJ-BQbCMXijeDj7E,324
781
741
  django_spire/knowledge/collection/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
782
- django_spire/knowledge/collection/views/form_views.py,sha256=JJo9V3m_fUAeX2zRyWNKnq8ydEyCVrUN1hF_t1DUL3M,1838
742
+ django_spire/knowledge/collection/views/form_views.py,sha256=FoVC9IjD-3nLemw9ai5pIyKFdsBN04mmP1DkDN7d034,2460
783
743
  django_spire/knowledge/collection/views/json_views.py,sha256=JvTciCngT_dc_7JlTlAcc1zD5aaFelqLL67kc0e6JmU,994
784
744
  django_spire/knowledge/collection/views/page_views.py,sha256=Vbi87b0xSCrXQULAReK2SY-8HVvDT7Y83zAM6nVYwNM,2566
785
745
  django_spire/knowledge/entry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -894,28 +854,29 @@ django_spire/knowledge/intelligence/workflows/knowledge_workflow.py,sha256=XbsSv
894
854
  django_spire/knowledge/migrations/0001_initial.py,sha256=0oAx4e0Tu1wbcMwQZ4I_B2X_EGdEA9Qz_UBdVNGc3yE,5487
895
855
  django_spire/knowledge/migrations/0002_alter_entryversionblock_type.py,sha256=Eg8tLjDO0nJ3go_jgVvoqwYKFOpYUUyNtZtLI2V3IQQ,527
896
856
  django_spire/knowledge/migrations/0003_alter_collection_order_alter_entry_order_and_more.py,sha256=nIIUg1lHQ1iLbPlOulwZgzHrP1erGMYVXDaEdDXv4ik,749
857
+ django_spire/knowledge/migrations/0004_alter_collection_options_collectiongroup.py,sha256=Ds6axLJLsmbcJORQmmwHe0aTYhpDJEgGH-UkL0jIk2k,1309
897
858
  django_spire/knowledge/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
898
859
  django_spire/knowledge/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
899
860
  django_spire/knowledge/seeding/seed.py,sha256=mdVbtQVbGdTjheHAnMPEQojik_gv7rT1YcvWZRLgFy8,61
900
- django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js,sha256=6VBSF6LRt0n4h978wyf_Gc_ahZCraIT-ywXN7anB94k,4216
861
+ django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js,sha256=1b0pRPYJvYjKKZB2wshdoseAUR3_Al-2qxFUWE5q-oo,4319
901
862
  django_spire/knowledge/static/django_spire/knowledge/collection/js/x_component.js,sha256=avczuHac3i58k06wA-LPpgupedCYbuDVTjTYVjEho18,898
902
863
  django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css,sha256=V4e4cq5fVUsUswhoXQHWI-L0vYQveDVq6DnyhNOeSaQ,223
903
864
  django_spire/knowledge/static/django_spire/knowledge/entry/version/js/managers.js,sha256=q-HiSnOnMMomxU0EAWSbQO55HMVvb8wPxA0KCP3VyP4,2772
904
865
  django_spire/knowledge/templates/django_spire/knowledge/collection/card/collection_card.html,sha256=VTSB4ddVYg7-QMWrlTgb0b7UakITmhWbFzlttMlHVWU,2462
905
- django_spire/knowledge/templates/django_spire/knowledge/collection/card/context_menu_card.html,sha256=7j5uRsMsqs8ssgKuY3rEavtljyosmswwFwfHClAoNJk,1061
866
+ django_spire/knowledge/templates/django_spire/knowledge/collection/card/context_menu_card.html,sha256=yvJjkzRheXSZYBoGnMM-EQCFonJBVThWQp6KHd4cx9k,1386
906
867
  django_spire/knowledge/templates/django_spire/knowledge/collection/card/form_card.html,sha256=Fm1PFgMJO0B1ji86pjeL_KbGkKq-ho7n6v9gtCODlzU,154
907
868
  django_spire/knowledge/templates/django_spire/knowledge/collection/card/navigation_card.html,sha256=1xnf1vReqgar77LF3bkbwaKgejlH9wntxeHG3f4g3TY,218
908
869
  django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html,sha256=p7vq_OJ69slxryg08PKt41MYX-DtwtdoO6Jx799c9jQ,1889
909
870
  django_spire/knowledge/templates/django_spire/knowledge/collection/container/detail_container.html,sha256=0T1L7mRyAH-I04_8rmyL6ZbsT1TWcIGzZ-NnGPllRco,321
910
- django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=uASSEfFuNSFT-7fdcntrkL9rSmNsUdkkjSMnQPxlmiU,1130
911
- django_spire/knowledge/templates/django_spire/knowledge/collection/navigation/navigation.html,sha256=9vLu0GXimcLd5Ok-zktnZxOxZdhmW4tNgwoyoSHc8sA,4625
871
+ django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=SyeQ784-jxUf0aPAV8-Qsv3GkWWWBmaCJqYAWRN3uF0,1605
872
+ django_spire/knowledge/templates/django_spire/knowledge/collection/navigation/navigation.html,sha256=q8G6taYkKOUrn0XP4lIoO46JsEiXFz9s2VFEvXbL3Nw,4728
912
873
  django_spire/knowledge/templates/django_spire/knowledge/collection/navigation/content/navigation_content.html,sha256=HagneFpP4s8nx9pgXS-8eM7IHkhSLpz-Gp64HsnFOrA,2495
913
874
  django_spire/knowledge/templates/django_spire/knowledge/collection/navigation/item/collection_item.html,sha256=x1brFbCsAyJE4FDKeSIykhlgif-o9r0MExGQlF7KzJg,975
914
875
  django_spire/knowledge/templates/django_spire/knowledge/collection/page/detail_page.html,sha256=TkZ-4lkxlytwXZHMscYVe-jZe2EY0dIxgvJKzvoOI_A,286
915
876
  django_spire/knowledge/templates/django_spire/knowledge/collection/page/form_page.html,sha256=ql4a15Thua39_apBxi2iz5SJdI54YUtYkttDe9t3ZiI,254
916
877
  django_spire/knowledge/templates/django_spire/knowledge/collection/page/list_page.html,sha256=NVzy8olkH33Ls7UAmRhIgT28eb_i_uCzOMkafhLl90k,879
917
878
  django_spire/knowledge/templates/django_spire/knowledge/entry/badge/entry_status_badge.html,sha256=qz7Y2ac1T4qu0Nr_Yj4BdUbQamgA6Llq7TmoXAf5Arw,381
918
- django_spire/knowledge/templates/django_spire/knowledge/entry/card/context_menu_card.html,sha256=UVE1VxbOvCOjysd9Xmr4o6PKciZKwM1N39_DMf0d2J8,1366
879
+ django_spire/knowledge/templates/django_spire/knowledge/entry/card/context_menu_card.html,sha256=DJNBSNLRVmoWSawSgBRJhhfjRj0niyq-GaT-twKc5pM,1383
919
880
  django_spire/knowledge/templates/django_spire/knowledge/entry/card/form_card.html,sha256=EtMKPgQzBhOkOxom-9u9wr4nMXAY8PxcCzyNRpjk4H0,146
920
881
  django_spire/knowledge/templates/django_spire/knowledge/entry/card/list_card.html,sha256=N_ndMWbP4Pll9G82Us53i8qPJCGep4fKNRPMSoXjoys,2061
921
882
  django_spire/knowledge/templates/django_spire/knowledge/entry/container/import_form_container.html,sha256=Bs2mH4qjWsOUzX70cvwAo_0keIHTJI9h3MrNL1px-mY,225
@@ -943,7 +904,7 @@ django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/
943
904
  django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/detail_page.html,sha256=bVxildiAIrQR9lFFdnc8H0eYVr2itX97A_y3pQk87E4,326
944
905
  django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/form_page.html,sha256=ufUISOfNmk45hl7F-ujtAzpHdEmUxh55odW0eyL6SMU,722
945
906
  django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html,sha256=yIca58o4_UC-6WgeGT9WOrJ0cQrXfZo3B0QFd03nlXU,130
946
- django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=Oc8cxg8jiB8pzO5bilmo2H8jt9dwpbimL7PzBLoYSXc,2299
907
+ django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=eeT8YzSNH0NKu5N41PafajcO3nTWglbcFIXHdT2wolg,2316
947
908
  django_spire/knowledge/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
948
909
  django_spire/knowledge/templatetags/spire_knowledge_tags.py,sha256=WQcmaS7sh6ga3_HqblThYv0__u3soyJ5Jp6sn9rU76c,585
949
910
  django_spire/knowledge/urls/__init__.py,sha256=f_d2AMnV2eD9eXe3-RAZk17rb39Kvl654ptSirNmfmI,266
@@ -1068,7 +1029,7 @@ django_spire/theme/templates/django_spire/theme/section/typography_section.html,
1068
1029
  django_spire/theme/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1069
1030
  django_spire/theme/tests/test_context_processor.py,sha256=JHo7nUdpDKcE1Mvd5CXhPGgqaZFWpMJO-hI-PoDm9dI,3026
1070
1031
  django_spire/theme/tests/test_enums.py,sha256=38KaKRdJwpUPialpSHU_BFeX98kTsS93sI_kl3MjFTA,841
1071
- django_spire/theme/tests/test_filesystem.py,sha256=o-kr76wOEvJoCVAGCmvQKEWMbBIYW_-gWoo_i7hTVa8,6611
1032
+ django_spire/theme/tests/test_filesystem.py,sha256=o18Hqkf7iUE1XYP2GfN-upnTFYM3nhzuU9e0Jq3RmZQ,6629
1072
1033
  django_spire/theme/tests/test_integration.py,sha256=yzA4PIUhw6n79fcKr-7SmKPNJT7IIqy6RH_zfWbhZjc,1869
1073
1034
  django_spire/theme/tests/test_model.py,sha256=l-_e0z0f6SXKGmLGLI2JzA3GpDAgwV6876C5Efy6K6M,7023
1074
1035
  django_spire/theme/tests/test_views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -1079,8 +1040,8 @@ django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_
1079
1040
  django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1080
1041
  django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
1081
1042
  django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
1082
- django_spire-0.16.5.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1083
- django_spire-0.16.5.dist-info/METADATA,sha256=PXy20uNpaGz328ajflrVW0MvcxLd-7GNOccW5UBR284,4762
1084
- django_spire-0.16.5.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1085
- django_spire-0.16.5.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1086
- django_spire-0.16.5.dist-info/RECORD,,
1043
+ django_spire-0.16.6.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
1044
+ django_spire-0.16.6.dist-info/METADATA,sha256=SgNlsugbwqiRdETA-JSmu4l8643rKabhbRLFbuBHpbo,4762
1045
+ django_spire-0.16.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
1046
+ django_spire-0.16.6.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
1047
+ django_spire-0.16.6.dist-info/RECORD,,
@@ -1,7 +0,0 @@
1
- from django.apps import AppConfig
2
-
3
-
4
- class SpireChildAppConfig(AppConfig):
5
- default_auto_field = 'django.db.models.BigAutoField'
6
- label = 'spireparentapp_spirechildapp'
7
- name = 'module'
@@ -1,15 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing_extensions import ClassVar
4
-
5
- from django import forms
6
-
7
- from module import models
8
-
9
-
10
- class SpireChildAppForm(forms.ModelForm):
11
- field = forms.JSONField(required=False)
12
-
13
- class Meta:
14
- model = models.SpireChildApp
15
- fields: ClassVar = []
@@ -1,19 +0,0 @@
1
- from dandy.llm import BaseLlmBot
2
-
3
- from module.intelligence import prompts
4
- from module.intelligence import intel
5
-
6
-
7
- class SpireChildAppBot(BaseLlmBot):
8
- instructions_prompt = prompts.spirechildapp_instruction_prompt()
9
- intel_class = intel.SpireChildAppIntel
10
-
11
- @classmethod
12
- def process(
13
- cls,
14
- user_input: str
15
- ) -> intel.SpireChildAppIntel:
16
-
17
- return cls.process_prompt_to_intel(
18
- prompt=prompts.spirechildapp_user_input_prompt(user_input)
19
- )
@@ -1,7 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from dandy.intel import BaseIntel
4
-
5
-
6
- class SpireChildAppIntel(BaseIntel):
7
- data: dict
@@ -1,30 +0,0 @@
1
- from dandy.llm import Prompt
2
-
3
-
4
- def spirechildapp_instruction_prompt():
5
- return (
6
- Prompt()
7
- .title('SpireChildApp Operations')
8
- .line_break()
9
- .heading('Purpose')
10
- .text('This prompt provides instructions for SpireChildApp operations.')
11
- .line_break()
12
- .heading('Instructions')
13
- .ordered_list([
14
- 'Instruction 1',
15
- 'Instruction 2',
16
- 'Instruction 3',
17
- ])
18
- .line_break()
19
- )
20
-
21
-
22
- def spirechildapp_user_input_prompt(user_input: str):
23
- return (
24
- Prompt()
25
- .heading('SpireChildApp Request')
26
- .text('The user wants to perform the following operation:')
27
- .text('')
28
- .text(user_input)
29
- .text('')
30
- )
@@ -1,52 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from django.db import models
4
- from django.urls import reverse
5
-
6
- from django_spire.contrib.breadcrumb import Breadcrumbs
7
- from django_spire.history.mixins import HistoryModelMixin
8
-
9
- from module import querysets
10
- from module.services.service import SpireChildAppService
11
-
12
-
13
- class SpireChildApp(HistoryModelMixin):
14
- name = models.CharField(max_length=255)
15
- description = models.TextField(default='')
16
-
17
- objects = querysets.SpireChildAppQuerySet().as_manager()
18
- services = SpireChildAppService()
19
-
20
- def __str__(self):
21
- return self.name
22
-
23
- @classmethod
24
- def base_breadcrumb(cls) -> Breadcrumbs:
25
- crumbs = Breadcrumbs()
26
-
27
- crumbs.add_breadcrumb(
28
- 'SpireChildApp',
29
- reverse('spireparentapp:spirechildapp:page:list')
30
- )
31
-
32
- return crumbs
33
-
34
- def breadcrumbs(self) -> Breadcrumbs:
35
- crumbs = Breadcrumbs()
36
- crumbs.add_base_breadcrumb(self._meta.model)
37
-
38
- if self.pk:
39
- crumbs.add_breadcrumb(
40
- str(self),
41
- reverse(
42
- 'spireparentapp:spirechildapp:page:detail',
43
- kwargs={'pk': self.pk}
44
- )
45
- )
46
-
47
- return crumbs
48
-
49
- class Meta:
50
- verbose_name = 'SpireChildApp'
51
- verbose_name_plural = 'SpireChildApps'
52
- db_table = 'spireparentapp_spirechildapp'
@@ -1,12 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from typing_extensions import TYPE_CHECKING
4
-
5
- from django_spire.history.querysets import HistoryQuerySet
6
-
7
- if TYPE_CHECKING:
8
- from django.db.models import QuerySet
9
-
10
-
11
- class SpireChildAppQuerySet(HistoryQuerySet):
12
- pass
@@ -1,3 +0,0 @@
1
- from module.seeding.seeder import SpireChildAppSeeder
2
-
3
- SpireChildAppSeeder.seed_database(count=10)
@@ -1,13 +0,0 @@
1
- from __future__ import annotations
2
-
3
- from module import models
4
-
5
- from django_spire.contrib.seeding import DjangoModelSeeder
6
-
7
-
8
- class SpireChildAppSeeder(DjangoModelSeeder):
9
- model_class = models.SpireChildApp
10
- fields = {
11
-
12
- }
13
-
@@ -1,11 +0,0 @@
1
- from __future__ import annotations
2
- from typing import TYPE_CHECKING
3
-
4
- from django_spire.contrib.service import BaseDjangoModelService
5
-
6
- if TYPE_CHECKING:
7
- from module.models import SpireChildApp
8
-
9
-
10
- class SpireChildAppFactoryService(BaseDjangoModelService['SpireChildApp']):
11
- obj: SpireChildApp
@@ -1,11 +0,0 @@
1
- from __future__ import annotations
2
- from typing import TYPE_CHECKING
3
-
4
- from django_spire.contrib.service import BaseDjangoModelService
5
-
6
- if TYPE_CHECKING:
7
- from module.models import SpireChildApp
8
-
9
-
10
- class SpireChildAppIntelligenceService(BaseDjangoModelService['SpireChildApp']):
11
- obj: SpireChildApp
@@ -1,11 +0,0 @@
1
- from __future__ import annotations
2
- from typing import TYPE_CHECKING
3
-
4
- from django_spire.contrib.service import BaseDjangoModelService
5
-
6
- if TYPE_CHECKING:
7
- from module.models import SpireChildApp
8
-
9
-
10
- class SpireChildAppProcessorService(BaseDjangoModelService['SpireChildApp']):
11
- obj: SpireChildApp
@@ -1,20 +0,0 @@
1
- from __future__ import annotations
2
- from typing import TYPE_CHECKING
3
-
4
- from django_spire.contrib.service import BaseDjangoModelService
5
- from module.services.factory_service import SpireChildAppFactoryService
6
- from module.services.processor_service import SpireChildAppProcessorService
7
- from module.services.intelligence_service import SpireChildAppIntelligenceService
8
- from module.services.transformation_service import SpireChildAppTransformationService
9
-
10
- if TYPE_CHECKING:
11
- from module.models import SpireChildApp
12
-
13
-
14
- class SpireChildAppService(BaseDjangoModelService['SpireChildApp']):
15
- obj: SpireChildApp
16
-
17
- intelligence = SpireChildAppIntelligenceService()
18
- processor = SpireChildAppProcessorService()
19
- factory = SpireChildAppFactoryService()
20
- transformation = SpireChildAppTransformationService()
@@ -1,11 +0,0 @@
1
- from __future__ import annotations
2
- from typing import TYPE_CHECKING
3
-
4
- from django_spire.contrib.service import BaseDjangoModelService
5
-
6
- if TYPE_CHECKING:
7
- from module.models import SpireChildApp
8
-
9
-
10
- class SpireChildAppTransformationService(BaseDjangoModelService['SpireChildApp']):
11
- obj: SpireChildApp
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppBotTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()
@@ -1,6 +0,0 @@
1
- from django.test import TestCase
2
-
3
-
4
- class SpireChildAppModelTestCase(TestCase):
5
- def setUp(self):
6
- super().setUp()