django-spire 0.22.1__py3-none-any.whl → 0.22.3__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.
- django_spire/consts.py +1 -1
- django_spire/knowledge/collection/querysets.py +11 -14
- django_spire/knowledge/collection/services/service.py +3 -0
- django_spire/knowledge/collection/services/tool_services.py +37 -0
- django_spire/knowledge/collection/services/transformation_service.py +2 -2
- django_spire/knowledge/collection/views/form_views.py +2 -2
- django_spire/knowledge/entry/version/converters/markdown_converter.py +4 -4
- django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html +0 -7
- django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html +0 -1
- django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html +0 -4
- {django_spire-0.22.1.dist-info → django_spire-0.22.3.dist-info}/METADATA +1 -1
- {django_spire-0.22.1.dist-info → django_spire-0.22.3.dist-info}/RECORD +17 -16
- {django_spire-0.22.1.dist-info → django_spire-0.22.3.dist-info}/WHEEL +0 -0
- {django_spire-0.22.1.dist-info → django_spire-0.22.3.dist-info}/licenses/LICENSE.md +0 -0
- {django_spire-0.22.1.dist-info → django_spire-0.22.3.dist-info}/top_level.txt +0 -0
django_spire/consts.py
CHANGED
|
@@ -24,24 +24,21 @@ class CollectionQuerySet(HistoryQuerySet, OrderingQuerySetMixin):
|
|
|
24
24
|
def by_parent_id(self, parent_id: int) -> QuerySet[Collection]:
|
|
25
25
|
return self.filter(parent_id=parent_id)
|
|
26
26
|
|
|
27
|
+
def by_parent_ids(self, parent_ids: list[int]) -> QuerySet[Collection]:
|
|
28
|
+
return self.filter(parent_id__in=parent_ids)
|
|
29
|
+
|
|
27
30
|
def childless(self) -> QuerySet[Collection]:
|
|
28
31
|
return self.annotate(child_count=Count('child')).filter(child_count=0)
|
|
29
32
|
|
|
30
|
-
def
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
while current_level_ids:
|
|
35
|
-
children = self.filter(parent_id__in=current_level_ids)
|
|
36
|
-
child_ids = list(children.values_list('id', flat=True))
|
|
37
|
-
|
|
38
|
-
if not child_ids:
|
|
39
|
-
break
|
|
40
|
-
|
|
41
|
-
descendant_ids.update(child_ids)
|
|
42
|
-
current_level_ids = child_ids
|
|
33
|
+
def children(self, collection_id: int) -> QuerySet[Collection]:
|
|
34
|
+
return self.filter(
|
|
35
|
+
id__in=self.model.services.tool.get_children_ids(parent_id=collection_id)
|
|
36
|
+
)
|
|
43
37
|
|
|
44
|
-
|
|
38
|
+
def exclude_children(self, collection_id: int) -> QuerySet[Collection]:
|
|
39
|
+
return self.exclude(
|
|
40
|
+
id__in=self.model.services.tool.get_children_ids(parent_id=collection_id)
|
|
41
|
+
)
|
|
45
42
|
|
|
46
43
|
def parentless(self) -> QuerySet[Collection]:
|
|
47
44
|
return self.filter(parent_id__isnull=True)
|
|
@@ -11,6 +11,8 @@ from django_spire.knowledge.collection.services.ordering_service import \
|
|
|
11
11
|
from django_spire.knowledge.collection.services.processor_service import \
|
|
12
12
|
CollectionProcessorService
|
|
13
13
|
from django_spire.knowledge.collection.services.tag_service import CollectionTagService
|
|
14
|
+
from django_spire.knowledge.collection.services.tool_services import \
|
|
15
|
+
CollectionToolService
|
|
14
16
|
from django_spire.knowledge.collection.services.transformation_service import \
|
|
15
17
|
CollectionTransformationService
|
|
16
18
|
|
|
@@ -24,6 +26,7 @@ class CollectionService(BaseDjangoModelService['Collection']):
|
|
|
24
26
|
ordering = CollectionOrderingService()
|
|
25
27
|
processor = CollectionProcessorService()
|
|
26
28
|
tag = CollectionTagService()
|
|
29
|
+
tool = CollectionToolService()
|
|
27
30
|
transformation = CollectionTransformationService()
|
|
28
31
|
|
|
29
32
|
def save_model_obj(self, **field_data) -> tuple[Collection, bool]:
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
3
|
+
from django_spire.contrib.service import BaseDjangoModelService
|
|
4
|
+
|
|
5
|
+
from typing import TYPE_CHECKING
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
from django_spire.knowledge.collection.models import Collection
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class CollectionToolService(BaseDjangoModelService['Collection']):
|
|
12
|
+
obj: Collection
|
|
13
|
+
|
|
14
|
+
def get_children_ids(self, parent_id: int) -> set[int]:
|
|
15
|
+
descendant_ids = set()
|
|
16
|
+
current_level_ids = [parent_id]
|
|
17
|
+
|
|
18
|
+
while current_level_ids:
|
|
19
|
+
child_ids = self.obj_class.objects.by_parent_ids(
|
|
20
|
+
parent_ids=current_level_ids
|
|
21
|
+
).values_list('id', flat=True)
|
|
22
|
+
|
|
23
|
+
if not child_ids:
|
|
24
|
+
break
|
|
25
|
+
|
|
26
|
+
descendant_ids.update(child_ids)
|
|
27
|
+
current_level_ids = child_ids
|
|
28
|
+
|
|
29
|
+
return descendant_ids
|
|
30
|
+
|
|
31
|
+
def get_root_collection_pk(self) -> int:
|
|
32
|
+
collection = self.obj
|
|
33
|
+
|
|
34
|
+
while collection.parent_id:
|
|
35
|
+
collection = collection.parent
|
|
36
|
+
|
|
37
|
+
return collection.id
|
|
@@ -19,11 +19,11 @@ if TYPE_CHECKING:
|
|
|
19
19
|
class CollectionTransformationService(BaseDjangoModelService['Collection']):
|
|
20
20
|
obj: Collection
|
|
21
21
|
|
|
22
|
-
def to_hierarchy_json(self, request: WSGIRequest, parent_id: int
|
|
22
|
+
def to_hierarchy_json(self, request: WSGIRequest, parent_id: int) -> str:
|
|
23
23
|
collections = (
|
|
24
24
|
self.obj_class.objects
|
|
25
25
|
.active()
|
|
26
|
-
.
|
|
26
|
+
.children(collection_id=parent_id)
|
|
27
27
|
.request_user_has_access(request)
|
|
28
28
|
.select_related('parent')
|
|
29
29
|
)
|
|
@@ -38,7 +38,7 @@ def form_view(
|
|
|
38
38
|
.active()
|
|
39
39
|
.request_user_has_access(request)
|
|
40
40
|
.exclude(pk=collection.pk)
|
|
41
|
-
.exclude_children(
|
|
41
|
+
.exclude_children(collection_id=pk)
|
|
42
42
|
),
|
|
43
43
|
fields=['name']
|
|
44
44
|
)
|
|
@@ -66,7 +66,7 @@ def form_view(
|
|
|
66
66
|
if collection.parent_id:
|
|
67
67
|
return_url = reverse(
|
|
68
68
|
'django_spire:knowledge:collection:page:top_level',
|
|
69
|
-
kwargs={'pk': collection.
|
|
69
|
+
kwargs={'pk': collection.services.tool.get_root_collection_pk()}
|
|
70
70
|
)
|
|
71
71
|
else:
|
|
72
72
|
return_url = reverse('django_spire:knowledge:page:home')
|
|
@@ -62,10 +62,10 @@ class MarkdownConverter(BaseConverter):
|
|
|
62
62
|
return [
|
|
63
63
|
models.EntryVersionBlock.services.factory.create_validated_block(
|
|
64
64
|
entry_version=self.entry_version,
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
type=MARKO_BLOCK_TYPE_TO_BLOCK_CHOICES[marko_block.__class__],
|
|
66
|
+
data=self._marko_block_to_editor_block_data_dict(marko_block),
|
|
67
|
+
order=order,
|
|
68
|
+
tunes={}
|
|
69
69
|
)
|
|
70
70
|
for order, marko_block in enumerate(marko_blocks)
|
|
71
71
|
]
|
|
@@ -75,7 +75,6 @@ function create_editorjs_instance({holder_id, update_url, initial_editor_blocks}
|
|
|
75
75
|
if (block_id) {
|
|
76
76
|
setTimeout(() => {
|
|
77
77
|
const element = document.querySelector(`[data-id="${block_id}"]`)
|
|
78
|
-
console.log('element', element)
|
|
79
78
|
if (element) {
|
|
80
79
|
element.scrollIntoView({behavior: 'smooth', block: 'center'})
|
|
81
80
|
element.style.transition = 'background-color 1s ease'
|
|
@@ -16,13 +16,6 @@
|
|
|
16
16
|
:class="{'ms-4': collection.parent.id !== -1}"
|
|
17
17
|
class="mb-1 collection"
|
|
18
18
|
>
|
|
19
|
-
<div x-data="{
|
|
20
|
-
init() {
|
|
21
|
-
console.log(collection)
|
|
22
|
-
}
|
|
23
|
-
}">
|
|
24
|
-
|
|
25
|
-
</div>
|
|
26
19
|
{% include 'django_spire/knowledge/sub_navigation/item/collection_sub_navigation_item.html' %}
|
|
27
20
|
|
|
28
21
|
<div x-show="is_expanded(collection.id)" class="my-1">
|
|
@@ -11,7 +11,6 @@
|
|
|
11
11
|
await this.collection.get()
|
|
12
12
|
this.collection.glue_fields.parent.choices = await this.collection_query_set.to_choices()
|
|
13
13
|
this.collection.glue_fields.parent.label = 'Parent Collection'
|
|
14
|
-
console.log(this.collection.parent)
|
|
15
14
|
|
|
16
15
|
if (!this.collection.parent) {
|
|
17
16
|
this.collection.parent = {{ collection_parent_pk|default:'null' }}
|
|
@@ -64,15 +64,11 @@
|
|
|
64
64
|
x-data="{
|
|
65
65
|
editor_element_id: 'knowledge-entry-version-editor',
|
|
66
66
|
init() {
|
|
67
|
-
console.log('Editor blocks:', {{ version_blocks }})
|
|
68
67
|
KNOWLEDGE_ENTRY_VERSION_EDITOR = create_editorjs_instance({
|
|
69
68
|
holder_id: this.editor_element_id,
|
|
70
69
|
initial_editor_blocks: {{ version_blocks }},
|
|
71
70
|
update_url: '{% url "django_spire:knowledge:entry:version:json:update_blocks" pk=entry.id %}'
|
|
72
71
|
})
|
|
73
|
-
console.log('Editor initialized:', KNOWLEDGE_ENTRY_VERSION_EDITOR)
|
|
74
|
-
console.log(KNOWLEDGE_ENTRY_VERSION_EDITOR)
|
|
75
|
-
|
|
76
72
|
}
|
|
77
73
|
|
|
78
74
|
}"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-spire
|
|
3
|
-
Version: 0.22.
|
|
3
|
+
Version: 0.22.3
|
|
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=c5Hs-7lk9T15254tOasiQ2ZTFLQIVJof9_QJDfm1PAI,933
|
|
3
|
-
django_spire/consts.py,sha256=
|
|
3
|
+
django_spire/consts.py,sha256=eJ7iYe078p7JYe0fEg6B3xuHt-HWjI4-tq6KzQLfKg8,171
|
|
4
4
|
django_spire/exceptions.py,sha256=L5ndRO5ftMmh0pHkO2z_NG3LSGZviJ-dDHNT73SzTNw,48
|
|
5
5
|
django_spire/settings.py,sha256=B4GPqBGt_dmkt0Ay0j-IP-SZ6mY44m2Ap5kVSON5YLA,1005
|
|
6
6
|
django_spire/urls.py,sha256=mKeZszb5U4iIGqddMb5Tt5fRC72U2wABEOi6mvOfEBU,656
|
|
@@ -833,7 +833,7 @@ django_spire/knowledge/collection/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
|
833
833
|
django_spire/knowledge/collection/admin.py,sha256=9OKEgiSDiSHX6ZwB11l6mCx-jdF4VKfOe-SwFBdjKK4,1370
|
|
834
834
|
django_spire/knowledge/collection/forms.py,sha256=7JovVxNzE67hSydDa-1JGK4U4zPyzOj605QyEl0JkP8,238
|
|
835
835
|
django_spire/knowledge/collection/models.py,sha256=69ol2B-ytH6mJ48afFywPhENQNnM37gAsX-Grjim-g4,2387
|
|
836
|
-
django_spire/knowledge/collection/querysets.py,sha256=
|
|
836
|
+
django_spire/knowledge/collection/querysets.py,sha256=JzrCudpAzO45cVt-sqdXva8LMJB5wiwSL1zS2eki47E,2485
|
|
837
837
|
django_spire/knowledge/collection/seeding/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
838
838
|
django_spire/knowledge/collection/seeding/seed.py,sha256=i4VEvScJvZ1SUV9ukKZp0qdh_owyLyVSHGgl8vIzhwQ,303
|
|
839
839
|
django_spire/knowledge/collection/seeding/seeder.py,sha256=Zgrl-S0iAwK6LU2pMmRIdr87kAvrPtQ7GLJlONUSBlM,1523
|
|
@@ -841,9 +841,10 @@ django_spire/knowledge/collection/services/__init__.py,sha256=47DEQpj8HBSa-_TImW
|
|
|
841
841
|
django_spire/knowledge/collection/services/factory_service.py,sha256=92DLZODSRPF-iA9r3Jgys2GzbC39KssGEk9eOJ5wZjs,1298
|
|
842
842
|
django_spire/knowledge/collection/services/ordering_service.py,sha256=vTkSdt1lVT4VxSK3GhZibj8FPDDy5butwPkVzqmm07g,1243
|
|
843
843
|
django_spire/knowledge/collection/services/processor_service.py,sha256=3ArKBndoL3HEvH_1EBqfiw7AnbFYZ0WmBgcPV8BHdLQ,911
|
|
844
|
-
django_spire/knowledge/collection/services/service.py,sha256=
|
|
844
|
+
django_spire/knowledge/collection/services/service.py,sha256=g2agKPcnoccjjAw0P5Sj9CVYOA6qU4vNZwn0g4hFvE4,1962
|
|
845
845
|
django_spire/knowledge/collection/services/tag_service.py,sha256=o1HnL0-du0XCGIl_8nMGMgW9AzEQE-AWbGOoBN_cQb0,1774
|
|
846
|
-
django_spire/knowledge/collection/services/
|
|
846
|
+
django_spire/knowledge/collection/services/tool_services.py,sha256=tnOL23zJ_x7vKBH4PtR7a0AzYnmfLxHcEpYHIWzu9Kc,984
|
|
847
|
+
django_spire/knowledge/collection/services/transformation_service.py,sha256=KDCLBSdT9sszjtwtDO2yWdT-iwGpxmCwhIRN6MvEvTU,3450
|
|
847
848
|
django_spire/knowledge/collection/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
848
849
|
django_spire/knowledge/collection/tests/factories.py,sha256=NUu4OliEZIQL9c05RPIPdzYP3Dtn1szLZxP4Wl-kX2w,429
|
|
849
850
|
django_spire/knowledge/collection/tests/test_services/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -857,7 +858,7 @@ django_spire/knowledge/collection/urls/form_urls.py,sha256=yHU3sbaA3w-m9rVvon6nX
|
|
|
857
858
|
django_spire/knowledge/collection/urls/json_urls.py,sha256=XZp5wt8m9x38Uuy1dhegqZ4qlJLZK2EgJsLltx97o0Q,195
|
|
858
859
|
django_spire/knowledge/collection/urls/page_urls.py,sha256=M8zZJJzVmMx7QUc3uGIrjyb8-Kz00fz7u0mHYqFZf3M,280
|
|
859
860
|
django_spire/knowledge/collection/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
860
|
-
django_spire/knowledge/collection/views/form_views.py,sha256=
|
|
861
|
+
django_spire/knowledge/collection/views/form_views.py,sha256=jh9pV6SBF7gqflvFooKVU4EFS34eTqRK-Nt22iqAlRg,3038
|
|
861
862
|
django_spire/knowledge/collection/views/json_views.py,sha256=uzSD83O7p-L5Oh8jo_Ejh-4lbo5zXjLkZGe0cn6SXSw,1030
|
|
862
863
|
django_spire/knowledge/collection/views/page_views.py,sha256=jiKsIqi9pvSY5KbLLGDdTHSPHXmnd-7oyYXckF2ONh4,2045
|
|
863
864
|
django_spire/knowledge/entry/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -920,7 +921,7 @@ django_spire/knowledge/entry/version/block/tests/factories.py,sha256=T2_3E6n9JBF
|
|
|
920
921
|
django_spire/knowledge/entry/version/converters/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
921
922
|
django_spire/knowledge/entry/version/converters/converter.py,sha256=0zbM7FTCpXe_O8gfsVc4V0Pg4cks7HMZi4SXJQ_HIEw,584
|
|
922
923
|
django_spire/knowledge/entry/version/converters/docx_converter.py,sha256=lVpgUHium1JzStvx1em1TkpvXPvGgvF_eEK53V_7V6A,2570
|
|
923
|
-
django_spire/knowledge/entry/version/converters/markdown_converter.py,sha256=
|
|
924
|
+
django_spire/knowledge/entry/version/converters/markdown_converter.py,sha256=Y2xSbb3KknIkBakJEp2H66k0_zgkA4jBoeKu_7X9-DE,8399
|
|
924
925
|
django_spire/knowledge/entry/version/intelligence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
925
926
|
django_spire/knowledge/entry/version/intelligence/bots/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
926
927
|
django_spire/knowledge/entry/version/intelligence/bots/markdown_format_llm_bot.py,sha256=6oM0G8uKGgT21fmTqUkDp4Y8Q5ZTLlabZaBHe-kuy3w,858
|
|
@@ -974,15 +975,15 @@ django_spire/knowledge/seeding/seed.py,sha256=LRhVfPHiFluSLLtjSY44YM9Oo1Hvfs_U-k
|
|
|
974
975
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/managers.js,sha256=1b0pRPYJvYjKKZB2wshdoseAUR3_Al-2qxFUWE5q-oo,4319
|
|
975
976
|
django_spire/knowledge/static/django_spire/knowledge/collection/js/x_component.js,sha256=avczuHac3i58k06wA-LPpgupedCYbuDVTjTYVjEho18,898
|
|
976
977
|
django_spire/knowledge/static/django_spire/knowledge/css/navigation_items.css,sha256=jhjW4fiQI13PUAkSupLrLn-Fu9nzAVqMezK8EkJnGZ8,178
|
|
977
|
-
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js,sha256=
|
|
978
|
+
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/editor.js,sha256=zDK9PNO7XR0j95I17uBmfguSF8LzYijx3irM2my3IqA,3798
|
|
978
979
|
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/managers.js,sha256=q-HiSnOnMMomxU0EAWSbQO55HMVvb8wPxA0KCP3VyP4,2772
|
|
979
980
|
django_spire/knowledge/static/django_spire/knowledge/entry/version/js/null_paragraph.js,sha256=Bc0oslLdlLcncbcUklhU1RF4PGiByC-mH-ENq1S1Niw,211
|
|
980
981
|
django_spire/knowledge/templates/django_spire/knowledge/collection/card/form_card.html,sha256=Fm1PFgMJO0B1ji86pjeL_KbGkKq-ho7n6v9gtCODlzU,154
|
|
981
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html,sha256=
|
|
982
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html,sha256=
|
|
982
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/card/top_level_list_card.html,sha256=RFcSfk37OpuyRTdb3UjQc6ntyE5Rt3_2BgLEoD1mI3Y,695
|
|
983
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/component/x_collection_navigation.html,sha256=3lHzZ1pD-SWVGnzquczsVaAswli8FM7PSQNiLmg0Pn4,2415
|
|
983
984
|
django_spire/knowledge/templates/django_spire/knowledge/collection/container/detail_container.html,sha256=0T1L7mRyAH-I04_8rmyL6ZbsT1TWcIGzZ-NnGPllRco,321
|
|
984
985
|
django_spire/knowledge/templates/django_spire/knowledge/collection/element/ellipsis_dropdown.html,sha256=o9cceexfwUSDtac4uhlUm4LimnBQrgTP6QPkpJF6DD0,1376
|
|
985
|
-
django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=
|
|
986
|
+
django_spire/knowledge/templates/django_spire/knowledge/collection/form/form.html,sha256=o015wNWZCsdqafvdjzsdOS3xUo2UtkyHaXn9-2N2s4s,1854
|
|
986
987
|
django_spire/knowledge/templates/django_spire/knowledge/collection/item/collection_item.html,sha256=gaOqh1wxf5IcWdxWWiYyz6HWjoPyn6FohaTMIssJ67k,517
|
|
987
988
|
django_spire/knowledge/templates/django_spire/knowledge/collection/page/display_page.html,sha256=AzYod7og_yU_lfxWIRFC2R_ga_jwH_Cr4VE07sRlGT8,2400
|
|
988
989
|
django_spire/knowledge/templates/django_spire/knowledge/collection/page/form_page.html,sha256=eD190iYnmx-6u8Y0EAExDdilPtxTlS_ic6-WBfTtj2s,274
|
|
@@ -1000,7 +1001,7 @@ django_spire/knowledge/templates/django_spire/knowledge/entry/item/list_item.htm
|
|
|
1000
1001
|
django_spire/knowledge/templates/django_spire/knowledge/entry/modal/publish_confirm_modal.html,sha256=7SsTjvk_iOdBgnYy83pMBPIdbuvJadd4h5XI5mPos5o,724
|
|
1001
1002
|
django_spire/knowledge/templates/django_spire/knowledge/entry/page/form_page.html,sha256=EBfDjDBvo7IR6f5joTtZjzK5LtZb4rt0U1FO1HQNt88,291
|
|
1002
1003
|
django_spire/knowledge/templates/django_spire/knowledge/entry/page/import_form_page.html,sha256=TK8Bc7mUZwsmV1Xm9FPyWz7Hws68Ijy4c55orvNoOC4,308
|
|
1003
|
-
django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html,sha256
|
|
1004
|
+
django_spire/knowledge/templates/django_spire/knowledge/entry/version/container/editor_container.html,sha256=-fPVVnCdDUMA0AoKjQ3bA7gRrbnggPRlRlPqYvgIoKA,3153
|
|
1004
1005
|
django_spire/knowledge/templates/django_spire/knowledge/entry/version/page/editor_page.html,sha256=Gc5uYGjYJR8nwaLa0hm-5GHO3ezI9CLO0H_OLp8EvdE,3092
|
|
1005
1006
|
django_spire/knowledge/templates/django_spire/knowledge/message/knowledge_message_intel.html,sha256=kOSsRJHkh8hFYp1k1Y0wc-wh75VVjdXldEKErkfANGY,855
|
|
1006
1007
|
django_spire/knowledge/templates/django_spire/knowledge/page/full_page.html,sha256=vz3WQ6SAL43QALRf0haaLfNkUfIQQemR0FAZQ2tznV4,1331
|
|
@@ -1161,8 +1162,8 @@ django_spire/theme/urls/page_urls.py,sha256=S8nkKkgbhG3XHI3uMUL-piOjXIrRkuY2UlM_
|
|
|
1161
1162
|
django_spire/theme/views/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1162
1163
|
django_spire/theme/views/json_views.py,sha256=W1khC2K_EMbEzAFmMxC_P76_MFnkRH4-eVdodrRfAhw,1904
|
|
1163
1164
|
django_spire/theme/views/page_views.py,sha256=pHr8iekjtR99xs7w1taj35HEo133Svq1dvDD0y0VL1c,3933
|
|
1164
|
-
django_spire-0.22.
|
|
1165
|
-
django_spire-0.22.
|
|
1166
|
-
django_spire-0.22.
|
|
1167
|
-
django_spire-0.22.
|
|
1168
|
-
django_spire-0.22.
|
|
1165
|
+
django_spire-0.22.3.dist-info/licenses/LICENSE.md,sha256=tlTbOtgKoy-xAQpUk9gPeh9O4oRXCOzoWdW3jJz0wnA,1091
|
|
1166
|
+
django_spire-0.22.3.dist-info/METADATA,sha256=Aa-oMM1yPLilHIiDXaOaoYe6FgpenWFtSxixuTcbQao,4967
|
|
1167
|
+
django_spire-0.22.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
1168
|
+
django_spire-0.22.3.dist-info/top_level.txt,sha256=xf3QV1e--ONkVpgMDQE9iqjQ1Vg4--_6C8wmO-KxPHQ,13
|
|
1169
|
+
django_spire-0.22.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|