wagtail-cjkcms 25.1.10__py2.py3-none-any.whl → 25.2.2__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. cjkcms/__init__.py +1 -1
  2. cjkcms/blocks/html_blocks.py +1 -0
  3. cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py +16 -7
  4. cjkcms/migrations/0023_alter_navbar_language.py +11 -4
  5. cjkcms/migrations/0024_remove_cjkcmspage_struct_org_actions_and_more.py +80 -0
  6. cjkcms/models/cms_models.py +3 -1
  7. cjkcms/models/integration_models.py +16 -18
  8. cjkcms/models/page_models.py +9 -4
  9. cjkcms/project_template/basic/home/blocks/__init__.py +12 -2
  10. cjkcms/project_template/basic/home/blocks/blocks.py +2 -2
  11. cjkcms/project_template/basic/home/models/cms_models.py +1 -0
  12. cjkcms/project_template/webpack/home/blocks/__init__.py +12 -2
  13. cjkcms/project_template/webpack/home/blocks/blocks.py +2 -2
  14. cjkcms/project_template/webpack/home/models/cms_models.py +1 -0
  15. cjkcms/templates/cjkcms/blocks/cardgrid_columns.html +3 -1
  16. cjkcms/templates/cjkcms/blocks/cardgrid_deck.html +2 -1
  17. cjkcms/templates/cjkcms/blocks/cardgrid_group.html +2 -1
  18. cjkcms/templates/cjkcms/blocks/cardgrid_zero.html +2 -1
  19. cjkcms/templates/cjkcms/blocks/pagelist_article_card_deck.html +1 -2
  20. cjkcms/templates/cjkcms/blocks/pagelist_article_card_group.html +4 -1
  21. cjkcms/templates/cjkcms/blocks/pagelist_article_media.html +4 -1
  22. cjkcms/templates/cjkcms/blocks/pagelist_block.html +4 -1
  23. cjkcms/templates/cjkcms/blocks/pagelist_list_group.html +4 -1
  24. cjkcms/templates/cjkcms/blocks/pagelist_toc_nextprev.html +4 -5
  25. cjkcms/templates/cjkcms/pages/search.html +14 -7
  26. cjkcms/templates/cjkcms/widgets/checkbox_classifiers.html +1 -5
  27. cjkcms/templatetags/friendly_loader.py +1 -0
  28. cjkcms/tests/settings.py +1 -0
  29. cjkcms/tests/test_search_blocks.py +36 -10
  30. cjkcms/tests/test_settings.py +17 -6
  31. cjkcms/tests/testapp/models.py +3 -0
  32. cjkcms/utils/__init__.py +2 -0
  33. cjkcms/utils/richtext.py +16 -0
  34. cjkcms/{utils.py → utils/visibility.py} +0 -16
  35. cjkcms/views.py +58 -15
  36. cjkcms/wagtail_hooks.py +0 -16
  37. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/METADATA +2 -2
  38. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/RECORD +54 -63
  39. cjkcms/tests/media/images/test_XhwqhpE.original.png +0 -0
  40. cjkcms/tests/media/images/test_ef9wMOI.original.png +0 -0
  41. cjkcms/tests/media/images/test_erEkAMT.original.png +0 -0
  42. cjkcms/tests/media/images/test_q64YMWd.original.png +0 -0
  43. cjkcms/tests/media/images/test_xDdLBw1.original.png +0 -0
  44. cjkcms/tests/media/images/test_xtSZp5Z.original.png +0 -0
  45. cjkcms/tests/media/original_images/test_XhwqhpE.png +0 -0
  46. cjkcms/tests/media/original_images/test_ef9wMOI.png +0 -0
  47. cjkcms/tests/media/original_images/test_erEkAMT.png +0 -0
  48. cjkcms/tests/media/original_images/test_q64YMWd.png +0 -0
  49. cjkcms/tests/media/original_images/test_xDdLBw1.png +0 -0
  50. cjkcms/tests/media/original_images/test_xtSZp5Z.png +0 -0
  51. /cjkcms/tests/media/images/{test_0djPZwc.original.png → test_3NMwZ9L.original.png} +0 -0
  52. /cjkcms/tests/media/images/{test_6zOjMLi.original.png → test_AGrWgX3.original.png} +0 -0
  53. /cjkcms/tests/media/images/{test_CWdn4xd.original.png → test_TpkZkXF.original.png} +0 -0
  54. /cjkcms/tests/media/images/{test_DqyysqG.original.png → test_cOs0NW2.original.png} +0 -0
  55. /cjkcms/tests/media/images/{test_J846ST8.original.png → test_sCFpDtv.original.png} +0 -0
  56. /cjkcms/tests/media/images/{test_WP0MnOi.original.png → test_w289mH5.original.png} +0 -0
  57. /cjkcms/tests/media/original_images/{test_0djPZwc.png → test_3NMwZ9L.png} +0 -0
  58. /cjkcms/tests/media/original_images/{test_6zOjMLi.png → test_AGrWgX3.png} +0 -0
  59. /cjkcms/tests/media/original_images/{test_CWdn4xd.png → test_TpkZkXF.png} +0 -0
  60. /cjkcms/tests/media/original_images/{test_DqyysqG.png → test_cOs0NW2.png} +0 -0
  61. /cjkcms/tests/media/original_images/{test_J846ST8.png → test_sCFpDtv.png} +0 -0
  62. /cjkcms/tests/media/original_images/{test_WP0MnOi.png → test_w289mH5.png} +0 -0
  63. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/LICENSE +0 -0
  64. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/WHEEL +0 -0
  65. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/entry_points.txt +0 -0
  66. {wagtail_cjkcms-25.1.10.dist-info → wagtail_cjkcms-25.2.2.dist-info}/top_level.txt +0 -0
@@ -25,35 +25,46 @@ class SettingsTests(TestCase):
25
25
  # self.assertIsNone(abs_path, f"{logo} not found.")
26
26
  self.assertTrue(str(abs_path).endswith(logo), f"{logo} not found.")
27
27
 
28
- def _check_templates(self, templates, skip_empty=False):
28
+ def _check_templates(self, templates, skip_empty=False, check_advanced=False):
29
29
  """Check if all declared template files specified in the `templates` list
30
30
  are accessible and execute without error. Used to check individual
31
- sections in settings.py"""
31
+ sections in settings.py. Skip empty templates if `skip_empty` is True.
32
+ Check advanced settings features optionally (custom_id, custom_css_class)"""
32
33
 
33
34
  for tpl in templates:
34
35
  if skip_empty and not tpl[0]:
35
36
  continue
36
37
  try:
37
- get_template(tpl[0])
38
+ tpl = get_template(tpl[0])
39
+ # if check_advanced, ensure that strings {{self.settings.custom_css_class}}
40
+ # and {{self.settings.custom_id}} are present in template source
41
+ if check_advanced:
42
+ self.assertIn("{{self.settings.custom_css_class}}", tpl.template.source)
43
+ self.assertIn("{{self.settings.custom_id}}", tpl.template.source)
44
+
38
45
  except TemplateDoesNotExist as e:
39
46
  self.fail(f"Template not found: {str(e)}")
40
47
 
41
48
  def test_cardblock_templates(self):
42
49
  templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_BLOCKS["cardblock"]
43
- self._check_templates(templates)
50
+ self._check_templates(templates, check_advanced=True)
44
51
 
45
52
  def test_cardgridblock_templates(self):
46
53
  templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_BLOCKS["cardgridblock"]
47
- self._check_templates(templates)
54
+ self._check_templates(templates, check_advanced=True)
48
55
 
49
56
  def test_pagelistblock_templates(self):
50
57
  templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_BLOCKS["pagelistblock"]
51
- self._check_templates(templates)
58
+ self._check_templates(templates, check_advanced=True)
52
59
 
53
60
  def test_pagepreviewblock_templates(self):
54
61
  templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_BLOCKS["pagepreviewblock"]
55
62
  self._check_templates(templates)
56
63
 
64
+ def test_quoteblock_templates(self):
65
+ templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_BLOCKS["quoteblock"]
66
+ self._check_templates(templates, check_advanced=True)
67
+
57
68
  def test_frontend_template_pages_templates(self):
58
69
  templates = cms_settings.CJKCMS_FRONTEND_TEMPLATES_PAGES["*"]
59
70
  self._check_templates(templates, skip_empty=True)
@@ -8,12 +8,15 @@ from cjkcms.models import (
8
8
  class ProjectArticlePage(CjkcmsArticlePage):
9
9
  template = "cjkcms/pages/article_page.html"
10
10
  search_template = "cjkcms/pages/article_page.search.html"
11
+ search_filterable = True
11
12
 
12
13
 
13
14
  class ProjectArticleIndexPage(CjkcmsArticleIndexPage):
14
15
  template = "cjkcms/pages/article_index_page.html"
16
+ search_filterable = True
15
17
 
16
18
 
17
19
  class ProjectWebPage(CjkcmsWebPage):
18
20
  # use cjkcms template by default
19
21
  template = "cjkcms/pages/web_page.html"
22
+ search_filterable = True
@@ -0,0 +1,2 @@
1
+ from .visibility import can_show_block # noqa: F401
2
+ from .richtext import get_richtext_preview # noqa: F401
@@ -0,0 +1,16 @@
1
+ from django.utils.html import strip_tags
2
+ from django.utils.safestring import mark_safe
3
+
4
+
5
+ def get_richtext_preview(content, max_length=200):
6
+ """Returns a shortened version of a richtext field's content,
7
+ with HTML tags stripped, and trimmed to max_length.
8
+ >>> get_richtext_preview('<h1><div>Hello </div>world</h1>')
9
+ 'Hello world'
10
+ >>> get_richtext_preview('Hi worl\x64')
11
+ 'Hi world'"""
12
+ # strip tags
13
+ c = strip_tags(content)
14
+ # truncate and add ellipses
15
+ preview = f"{c[:max_length]}..." if len(c) > 200 else c
16
+ return mark_safe(preview)
@@ -1,22 +1,6 @@
1
- from django.utils.html import strip_tags
2
- from django.utils.safestring import mark_safe
3
1
  from datetime import datetime, timezone
4
2
 
5
3
 
6
- def get_richtext_preview(content, max_length=200):
7
- """Returns a shortened version of a richtext field's content,
8
- with HTML tags stripped, and trimmed to max_length.
9
- >>> get_richtext_preview('<h1><div>Hello </div>world</h1>')
10
- 'Hello world'
11
- >>> get_richtext_preview('Hi worl\x64')
12
- 'Hi world'"""
13
- # strip tags
14
- c = strip_tags(content)
15
- # truncate and add ellipses
16
- preview = f"{c[:max_length]}..." if len(c) > 200 else c
17
- return mark_safe(preview)
18
-
19
-
20
4
  def can_show_block(
21
5
  context,
22
6
  item_visibility: str,
cjkcms/views.py CHANGED
@@ -23,6 +23,32 @@ from cjkcms.models import (
23
23
  LayoutSettings,
24
24
  )
25
25
 
26
+ from wagtail.models import Locale
27
+
28
+
29
+ def search_model_backend(model, search_query, current_locale):
30
+ """
31
+ Helper function to search a specific model with the search backend.
32
+
33
+ Parameters:
34
+ - model: The model to search.
35
+ - search_query: The query string to search for.
36
+ - current_locale: The current locale for filtering pages.
37
+
38
+ Returns:
39
+ - list: Search results for the model.
40
+ """
41
+ backend = get_search_backend()
42
+ if issubclass(model, Page):
43
+ # Search only live and public pages for models that are Page subclasses
44
+ return backend.search(
45
+ search_query,
46
+ model.objects.live().public().filter(locale=current_locale),
47
+ )
48
+ else:
49
+ # Search normally for non-page models
50
+ return backend.search(search_query, model)
51
+
26
52
 
27
53
  def search(request):
28
54
  """
@@ -34,35 +60,51 @@ def search(request):
34
60
  Returns:
35
61
  HttpResponse: The rendered search results page.
36
62
  """
63
+
37
64
  search_form = SearchForm(request.GET)
38
- results = []
65
+ results = None
39
66
  results_paginated = []
40
67
  indexed_models = []
41
- for model in apps.get_models():
42
- if (
43
- issubclass(model, index.Indexed)
44
- and hasattr(model, "search_filterable")
45
- and model.search_filterable
46
- ):
47
- indexed_models.append(model)
68
+ results_by_model = {}
48
69
 
49
70
  if search_form.is_valid():
71
+ current_locale = Locale.get_active()
50
72
  search_query = search_form.cleaned_data["s"]
51
73
  search_model = search_form.cleaned_data["t"]
52
- backend = get_search_backend()
74
+ results = []
75
+ for model in apps.get_models():
76
+ if (
77
+ issubclass(model, index.Indexed)
78
+ and hasattr(model, "search_filterable")
79
+ and model.search_filterable
80
+ ):
81
+ indexed_models.append(model)
82
+
83
+ # If a specific model is selected
53
84
  if search_model and ContentType.objects.filter(model=search_model).exists():
54
85
  try:
55
86
  # If provided a model name, try to get it
56
87
  model = ContentType.objects.get(model=search_model).model_class()
57
- results = backend.search(search_query, model)
88
+ results = search_model_backend(model, search_query, current_locale)
89
+ # Store the count of results for this model
90
+ results_by_model[model._meta.model_name] = {
91
+ "model": model,
92
+ "count": results.count(),
93
+ }
58
94
  except ContentType.DoesNotExist:
59
- # Maintain existing behavior of only returning objects if the page type is real
60
- results = []
95
+ results = None
61
96
  else:
62
- results = list(Page.objects.live().search(search_query))
63
- # results=[]
97
+ # Search all indexed models
64
98
  for model in indexed_models:
65
- results += backend.search(search_query, model)
99
+ model_results = search_model_backend(
100
+ model, search_query, current_locale
101
+ )
102
+ # Store the count of results for this model
103
+ results_by_model[model._meta.model_name] = {
104
+ "model": model,
105
+ "count": model_results.count(),
106
+ }
107
+ results += model_results
66
108
  # get and paginate results
67
109
  if results:
68
110
  paginator = Paginator(
@@ -84,6 +126,7 @@ def search(request):
84
126
  "results": results,
85
127
  "pagetypes": indexed_models,
86
128
  "results_paginated": results_paginated,
129
+ "results_by_model": results_by_model,
87
130
  }
88
131
  # Render template
89
132
  return render(
cjkcms/wagtail_hooks.py CHANGED
@@ -1,5 +1,3 @@
1
- import mimetypes
2
-
3
1
  from cjkcms import __version__
4
2
  from cjkcms.draftail import (
5
3
  NewWindowExternalLinkHandler,
@@ -8,7 +6,6 @@ from cjkcms.draftail import (
8
6
  )
9
7
 
10
8
  # from cjkcms.models.admin_sidebar import NavbarSnippet, EventCalendarSnippet
11
- from django.http.response import HttpResponse
12
9
  from django.templatetags.static import static
13
10
  from django.utils.html import format_html
14
11
  from wagtail import hooks
@@ -132,19 +129,6 @@ hooks.register("after_edit_snippet", clear_wagtailcache)
132
129
  hooks.register("after_delete_snippet", clear_wagtailcache)
133
130
 
134
131
 
135
- @hooks.register("before_serve_document") # type: ignore
136
- def serve_document_directly(document, request):
137
- """
138
- This hook prevents documents from being downloaded unless
139
- specified by an <a> tag with the download attribute.
140
- """
141
- content_type, content_encoding = mimetypes.guess_type(document.filename)
142
- response = HttpResponse(document.file.read(), content_type=content_type)
143
- response["Content-Disposition"] = 'inline;filename="{0}"'.format(document.filename)
144
- response["Content-Encoding"] = str(content_encoding)
145
- return response
146
-
147
-
148
132
  class ImportExportMenuItem(MenuItem):
149
133
  def is_shown(self, request):
150
134
  return request.user.is_superuser
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: wagtail-cjkcms
3
- Version: 25.1.10
3
+ Version: 25.2.2
4
4
  Summary: Wagtail Content Management System, installable as a Django app into any Wagtail 4.1.x/5.x/6.x site.
5
5
  Author-email: Grzegorz Krol <gk@cjk.pl>
6
6
  License: BSD-3-Clause
@@ -32,7 +32,7 @@ License-File: LICENSE
32
32
  Requires-Dist: django-bootstrap5
33
33
  Requires-Dist: django>=4.2
34
34
  Requires-Dist: wagtail>=5.1
35
- Requires-Dist: wagtail-seo>=2.5.0
35
+ Requires-Dist: wagtail-seo>=3.0
36
36
  Requires-Dist: wagtail-cache>=2.5.1
37
37
  Requires-Dist: cjkcms-color-panel
38
38
 
@@ -1,4 +1,4 @@
1
- cjkcms/__init__.py,sha256=xQ8pfTYB1vbDrctxqOteABI3IJLq0eaFkcE_v8QNVKw,273
1
+ cjkcms/__init__.py,sha256=mpNOQ-DmGjTDCHg_hgrPAPBD0pR1HpwNiATbTvqTH-g,272
2
2
  cjkcms/apps.py,sha256=VA5Z1YerImetvN8KsjPTMSn1fSo6O1JkBJdK5y5ubJY,173
3
3
  cjkcms/fields.py,sha256=dE0DuNIjX7jhA-5GjSmR2l66EDH2kq3vuxL9WyRALCY,3191
4
4
  cjkcms/forms.py,sha256=_uu_FR8odz40lD-Rmw0tlK7-xxxa8THHfV2-1ZJYsIM,361
@@ -6,9 +6,8 @@ cjkcms/image_formats.py,sha256=d4zRshuybwxSRL8UpBH31dFBr32o4HNexa0ks5PX3TI,1833
6
6
  cjkcms/search_urls.py,sha256=92XkGTJRrQQyA061wWl1l5C0vq6INVJPXOrpcgp3aoU,125
7
7
  cjkcms/settings.py,sha256=zw8V6cMP57w-U0M5hU4a1ouRLn-q02Waip7KnTZfbpc,20109
8
8
  cjkcms/urls.py,sha256=k5tEHWI4Umi2PWvGdNJ-FZ9OCy6AS3Y2S7k5jNOpgt0,644
9
- cjkcms/utils.py,sha256=u4pkPxAwqH3SgyIcmvk7I5L3w-eIcz0Rphmv0Y1DRpA,2006
10
- cjkcms/views.py,sha256=NWy3pBBcLUOH6WjEJh03N2sND4oToiyiy6_spgXdUcY,4389
11
- cjkcms/wagtail_hooks.py,sha256=emfgvVN4pkUuBjvHl1mMZz8zXq3CCqAw3BlufrK4S9k,7311
9
+ cjkcms/views.py,sha256=Bl2K_hWwhxBPwkm7SeUo45qyEbrQUlMmE9tis2GQKwg,5793
10
+ cjkcms/wagtail_hooks.py,sha256=AL2laH5wvYcM7rOIqOV2RGYe8Bx0luMi_5xvT1E0xTs,6686
12
11
  cjkcms/widgets.py,sha256=2B92WkaktZC1ge4GrAMTB7VVYKnKR8qoZLAtWS2z_00,1745
13
12
  cjkcms/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
13
  cjkcms/api/mailchimp.py,sha256=pufnnu8n-c6kkWNKy-EsRLW5LLBn8_TmYrnRSQCPFdY,2832
@@ -17,7 +16,7 @@ cjkcms/bin/cjkcms.py,sha256=i11hhB11COQhTk05y7mkeIkUYcFjhI8-QxLkN3tCxgg,5763
17
16
  cjkcms/blocks/__init__.py,sha256=a54EtWyH8UPqszlVEeOtFCvBW2WmbaW1vR4sZuN9Hf0,3542
18
17
  cjkcms/blocks/base_blocks.py,sha256=uKp6QO3iOPT4P0H0yOumvL7faPvLQK9Dj-D8iqlvqQ4,11616
19
18
  cjkcms/blocks/content_blocks.py,sha256=-bIh3BCNYx0N7iK3mpfnLOzIsSMItgpLeC9Cqg-_dTc,9759
20
- cjkcms/blocks/html_blocks.py,sha256=rXdR1uxFYDYjOXpxndItxacWstiME8CdqZgB6d5qAYE,9543
19
+ cjkcms/blocks/html_blocks.py,sha256=bDRDEresn3R87Uux7YztU2WhRnxGhJ429soOpmAd41c,9544
21
20
  cjkcms/blocks/layout_blocks.py,sha256=n2oVyL-ZQQaEA00HU6YraR59YF065o-OK7WuAahGuiw,3406
22
21
  cjkcms/blocks/searchable_html_block.py,sha256=i1rWv4vwwvZ9fxkASwPKl87-TqVHkXOFyohH3ve7pYk,171
23
22
  cjkcms/blocks/content/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -54,14 +53,15 @@ cjkcms/migrations/0018_layoutsettings_search_format.py,sha256=NURMUoMyg20hSM_IDc
54
53
  cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py,sha256=SeA-oN5r9uePXOfPv57ETfGF_ZzNpv9vnkA_rmATXUY,1504
55
54
  cjkcms/migrations/0020_socialmediasettings_github_and_more.py,sha256=flCSiw6wB32wsxSln2NA66zWkxrJLhNfL1O3UInH2to,1044
56
55
  cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py,sha256=lOOyu3QHjnjZY3HwXWCvUBxngm-t_sk4TvuxZ2Cq_j4,2723
57
- cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py,sha256=UqXcsDPMsJOewtU3aTl1R4ZE5I45ykiIEepQBALzno0,812
58
- cjkcms/migrations/0023_alter_navbar_language.py,sha256=TnMs5fzf-PmirNn6CgYh5pUwwHhaYKPDCjqnZqrj8Ok,547
56
+ cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py,sha256=GprAV-Z_jJ9csmrhW1lMT9g91wQ5vVVfhqhxbS96ETc,954
57
+ cjkcms/migrations/0023_alter_navbar_language.py,sha256=uXqRLfKQwFGgEDPICTo_esHmOsKgEVlGPhjc6pDDcCo,658
58
+ cjkcms/migrations/0024_remove_cjkcmspage_struct_org_actions_and_more.py,sha256=sNwzF9U5KuueAx7xtAoyhK8x05bOLKl990bU3SvjkZo,2561
59
59
  cjkcms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  cjkcms/models/__init__.py,sha256=f99GmxfFxGtQl8JvZFz8rAtklCIesLoSccyhhi2xgPU,232
61
61
  cjkcms/models/admin_sidebar.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
- cjkcms/models/cms_models.py,sha256=9U46xwPidQfUlXnuVUW5IbtphXX_8djJD4CohoP3NbU,2356
63
- cjkcms/models/integration_models.py,sha256=L29OBwLH8DfHtDplu218UGbbvL94Erk3J_R7n365zQM,6302
64
- cjkcms/models/page_models.py,sha256=-9SLMKA5KI2gMMOTaAtpr4pE2RhidilaRRzF7nnE0WI,25454
62
+ cjkcms/models/cms_models.py,sha256=leC-RKrd6GltgWcvM_3KT0guMeBt5r2YhgADFi6glzA,2414
63
+ cjkcms/models/integration_models.py,sha256=DAAgMtjErjaWKRu6yPQUoWAG-uu4qZxCg1N9FqlswAA,6280
64
+ cjkcms/models/page_models.py,sha256=OGB_SBP8Oh23JEFHzmwRFlhXHJxW9RZf6bwe7__hc7A,25606
65
65
  cjkcms/models/snippet_models.py,sha256=cV7nFpNfJE_JP-3g77swGgQt3szrwHlAEOXUwwYE2QY,17188
66
66
  cjkcms/models/wagtailsettings_models.py,sha256=ntgbGOquVmgbMehgV36KEiS25olqr_m5Ff7Ce7Pq61Y,23041
67
67
  cjkcms/project_template/basic/.editorconfig,sha256=1wgq7hgAUSHLfuy4Jh9BJ4ysyQL0si5UBbCu_OMz9hg,722
@@ -71,13 +71,13 @@ cjkcms/project_template/basic/README.md,sha256=KqbqIp8hHb6nW7PuQjjKL6QIsibNu3vzV
71
71
  cjkcms/project_template/basic/manage.py,sha256=a0-pofJxi3cyiildUPnerQr2NQUnJz3INLfdA5vAEBE,678
72
72
  cjkcms/project_template/basic/requirements.txt,sha256=ElqN__9IW5lZIZ0M9vKPohdcJShbrTG1oZbF_UjgJZE,123
73
73
  cjkcms/project_template/basic/home/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
74
- cjkcms/project_template/basic/home/blocks/__init__.py,sha256=_dufD-ss9mMATmAtrsgXG9G3Rb4W-QhH2NcMi18tQQo,137
75
- cjkcms/project_template/basic/home/blocks/blocks.py,sha256=UpEzbazb_hIVNtDyZvuiUMvwC7O7OWgCDke0wuxi9gk,2141
74
+ cjkcms/project_template/basic/home/blocks/__init__.py,sha256=Qm1MDxNmnXaY1vVISlaZu0EaySahCfzq0hvmW7ilDig,429
75
+ cjkcms/project_template/basic/home/blocks/blocks.py,sha256=YWE15PKj71bnKvqQqEqK51rTawM2lUkZ25o79b6AsyE,2135
76
76
  cjkcms/project_template/basic/home/migrations/0001_initial.py,sha256=yPFA3NfiTpYBVXzl-ZqFmo1W-JZPXX_GS2XqrkivtSQ,4981
77
77
  cjkcms/project_template/basic/home/migrations/0002_create_homepage.py,sha256=xBM1nxi18c91ojqKMNhdjTZEhaF33dWYoVZneO-GUfM,2047
78
78
  cjkcms/project_template/basic/home/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
79
79
  cjkcms/project_template/basic/home/models/__init__.py,sha256=Zbh266jB2tBtwC8amTyaU0mbjjxjfxxbiYt2M9ctrq8,383
80
- cjkcms/project_template/basic/home/models/cms_models.py,sha256=MXmzahhCcDla1zxdMYTKvhLtpG85iE1NSWiF522umGM,3106
80
+ cjkcms/project_template/basic/home/models/cms_models.py,sha256=W8UeJzB1ATnw-ljnQHxvFevNrUKck638_Iz-x4totmI,3107
81
81
  cjkcms/project_template/basic/home/templates/home/blocks/event_presentation.html,sha256=KUOqay0D20g6N4M4tU8gTGvpNwTP-6F34hO0DfNZ3hI,2282
82
82
  cjkcms/project_template/basic/project_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
83
83
  cjkcms/project_template/basic/project_name/urls.py,sha256=OjM85aN8h7gmM7Haaxmcoe9RlheJ0kuQrIyElM0CzPg,911
@@ -119,13 +119,13 @@ cjkcms/project_template/webpack/frontend/webpack/webpack.config.dev.js,sha256=WH
119
119
  cjkcms/project_template/webpack/frontend/webpack/webpack.config.prod.js,sha256=FjsN0ooC51W39UhISKlsoBMevNewbCw-0Phma1MyaA8,986
120
120
  cjkcms/project_template/webpack/frontend/webpack/webpack.config.watch.js,sha256=JWJCSV0MsvN5ZRS0JiYvlYn0INpD3gVXWiCzJny5L88,1485
121
121
  cjkcms/project_template/webpack/home/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
122
- cjkcms/project_template/webpack/home/blocks/__init__.py,sha256=_dufD-ss9mMATmAtrsgXG9G3Rb4W-QhH2NcMi18tQQo,137
123
- cjkcms/project_template/webpack/home/blocks/blocks.py,sha256=UpEzbazb_hIVNtDyZvuiUMvwC7O7OWgCDke0wuxi9gk,2141
122
+ cjkcms/project_template/webpack/home/blocks/__init__.py,sha256=Qm1MDxNmnXaY1vVISlaZu0EaySahCfzq0hvmW7ilDig,429
123
+ cjkcms/project_template/webpack/home/blocks/blocks.py,sha256=YWE15PKj71bnKvqQqEqK51rTawM2lUkZ25o79b6AsyE,2135
124
124
  cjkcms/project_template/webpack/home/migrations/0001_initial.py,sha256=yPFA3NfiTpYBVXzl-ZqFmo1W-JZPXX_GS2XqrkivtSQ,4981
125
125
  cjkcms/project_template/webpack/home/migrations/0002_create_homepage.py,sha256=xBM1nxi18c91ojqKMNhdjTZEhaF33dWYoVZneO-GUfM,2047
126
126
  cjkcms/project_template/webpack/home/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
127
127
  cjkcms/project_template/webpack/home/models/__init__.py,sha256=7dlJygS5td5eLdIKd-PG5L0vM9xdTsb0yPKcVZNKSKQ,391
128
- cjkcms/project_template/webpack/home/models/cms_models.py,sha256=MXmzahhCcDla1zxdMYTKvhLtpG85iE1NSWiF522umGM,3106
128
+ cjkcms/project_template/webpack/home/models/cms_models.py,sha256=W8UeJzB1ATnw-ljnQHxvFevNrUKck638_Iz-x4totmI,3107
129
129
  cjkcms/project_template/webpack/home/templates/home/blocks/event_presentation.html,sha256=KUOqay0D20g6N4M4tU8gTGvpNwTP-6F34hO0DfNZ3hI,2282
130
130
  cjkcms/project_template/webpack/project_name/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
131
131
  cjkcms/project_template/webpack/project_name/urls.py,sha256=OjM85aN8h7gmM7Haaxmcoe9RlheJ0kuQrIyElM0CzPg,911
@@ -197,10 +197,10 @@ cjkcms/templates/cjkcms/blocks/card_horizontal2.html,sha256=Yx2St6fbjULu4PFppWSa
197
197
  cjkcms/templates/cjkcms/blocks/card_img.html,sha256=-67mrEcSEGllm0XZjxEEcEIW03nboi2-a7lAQLjHglk,786
198
198
  cjkcms/templates/cjkcms/blocks/card_landing1.html,sha256=igysNkq07i_ZjU0mfwd83kWPrXEv3yTL9dqRzhIIDlU,2615
199
199
  cjkcms/templates/cjkcms/blocks/card_landing2.html,sha256=9HNdG1IrMcHhP94c5DTicNoQ0gJOdjotRQ4bUlFDmBo,2823
200
- cjkcms/templates/cjkcms/blocks/cardgrid_columns.html,sha256=YnmGNWLlPloos4Yues9nqQqKLKjRdGPFkGBqFjiai-A,678
201
- cjkcms/templates/cjkcms/blocks/cardgrid_deck.html,sha256=L4Tn6vnRFcZ2nlDWZNxJcr0dKY2q-TOmVPIgtyvoI1o,450
202
- cjkcms/templates/cjkcms/blocks/cardgrid_group.html,sha256=mCOBw0wmTOyHvRXrngI-lweLiucjRmrXpuE2J7k87Qc,277
203
- cjkcms/templates/cjkcms/blocks/cardgrid_zero.html,sha256=lECaWt-D_N1zd5U8xnYWu0H-M-vNnMnIvzlulBag_hg,276
200
+ cjkcms/templates/cjkcms/blocks/cardgrid_columns.html,sha256=1ls8LWuRcX-WQQhI20YcHn0MCG1nUEdyPuYmJof_9Uk,768
201
+ cjkcms/templates/cjkcms/blocks/cardgrid_deck.html,sha256=tP3-RrN8BXUkTWn9Y8HRwSftuQNy5SGLCfZ0dT9RbTA,530
202
+ cjkcms/templates/cjkcms/blocks/cardgrid_group.html,sha256=CBF8Hv-RfhoC6FR9XyBkRAruI4H1US1l4_nwuNrHaM0,359
203
+ cjkcms/templates/cjkcms/blocks/cardgrid_zero.html,sha256=ZJECwiQ3IarjwA5brEVO5KTa6P05BLlHqhb6yW9uIuw,358
204
204
  cjkcms/templates/cjkcms/blocks/carousel_block.html,sha256=XC04uEPWjQKmN7dHoQVv9NmFPkBxLhCpwTzvVGeXUwk,2698
205
205
  cjkcms/templates/cjkcms/blocks/column_block.html,sha256=7aiPizV-MrXS2LyV_fP1aCpNoC0nNAQphyVuAWbi2SI,406
206
206
  cjkcms/templates/cjkcms/blocks/countdown.html,sha256=blU12tkfSUp1G3W7bEK0xBClVgj-baeCk9qGkWIpb9E,921
@@ -222,12 +222,12 @@ cjkcms/templates/cjkcms/blocks/image_link_block.html,sha256=1SnNXhvgorW3oIPOWuLe
222
222
  cjkcms/templates/cjkcms/blocks/modal_block.html,sha256=xlXP0drI0QinbH0-yLpEuIR8H2kz9rY9LmwQTIduqd8,1020
223
223
  cjkcms/templates/cjkcms/blocks/page_link_block.html,sha256=rRLrzIp7eTYNjNzkZelxorD6zEhtBWDG6p4jTBVIDK4,164
224
224
  cjkcms/templates/cjkcms/blocks/pagelist_article_card_columns.html,sha256=48yrs_GgqHfJSfACewqZjdq1AE_RuSZXDvMUTrmsFn0,787
225
- cjkcms/templates/cjkcms/blocks/pagelist_article_card_deck.html,sha256=biFu8CmpvHDNhLn66rmXg-w3gev-R8sEZGXPOhoWCqQ,642
226
- cjkcms/templates/cjkcms/blocks/pagelist_article_card_group.html,sha256=UzLRHUq4_bWv85WGzCTBevjRyjt1cqCfZSuLy9n9pMI,361
227
- cjkcms/templates/cjkcms/blocks/pagelist_article_media.html,sha256=k2AXqDNSntZUmastwPDE5lzs4OTy6KRe6qPTGeLaTXc,956
228
- cjkcms/templates/cjkcms/blocks/pagelist_block.html,sha256=0c0nqSNQtw8OKmbLDsTziRzNG0T98K6F0zhd4oqTQoc,858
229
- cjkcms/templates/cjkcms/blocks/pagelist_list_group.html,sha256=b21qMXTxf8-MluccVVrWBew-FhfjmMbyqas9nm06hGI,610
230
- cjkcms/templates/cjkcms/blocks/pagelist_toc_nextprev.html,sha256=__QZ6SNxoWByrjUsjo1MNx5CP4pnj0xR74WUHJVTkKU,1224
225
+ cjkcms/templates/cjkcms/blocks/pagelist_article_card_deck.html,sha256=BZwOOsSrkwEqV-8Nf0yP6rmsufBylalJ8kqSzG4-V9Q,637
226
+ cjkcms/templates/cjkcms/blocks/pagelist_article_card_group.html,sha256=fuy_XHIVFKSaM9-4V2phJ0l3CE-1FuzxUQbtqFD8Qrs,489
227
+ cjkcms/templates/cjkcms/blocks/pagelist_article_media.html,sha256=zdgEWRQ1lspoMjKz05jci9RNW6NykU3fCfBxAWCpO3c,1083
228
+ cjkcms/templates/cjkcms/blocks/pagelist_block.html,sha256=VX7IkFMqON-BMl1T_Y2fiKJBi6UOhMi1zmQqNdpgzSw,986
229
+ cjkcms/templates/cjkcms/blocks/pagelist_list_group.html,sha256=nQ679sgrRDKbjDYuxP9-ZvvIoewybhjITVbagGQiuMM,738
230
+ cjkcms/templates/cjkcms/blocks/pagelist_toc_nextprev.html,sha256=5kqTxJw5qT8eSn80H1h1WQ3kYIAYcz4o0miSxGqSyKk,1244
231
231
  cjkcms/templates/cjkcms/blocks/pagepreview_block.html,sha256=KGodzh8Pd-Jhg8mmMoLWFuiU3xDzBn4fuCqfYXT_iM4,200
232
232
  cjkcms/templates/cjkcms/blocks/pagepreview_card.html,sha256=SJeuA6lWEQYws53vNCGSOK_JxyUZN-ja2D8dUh2dr4E,793
233
233
  cjkcms/templates/cjkcms/blocks/pricelist_block.html,sha256=kq1M97zQlQjr_8E4Q9pge1hUMzjO_WNFQygN8Y1OUZ8,244
@@ -284,7 +284,7 @@ cjkcms/templates/cjkcms/pages/base.html,sha256=XqaHguBc00cllm304dY-8MMuIYxqosnZq
284
284
  cjkcms/templates/cjkcms/pages/form_page_landing.html,sha256=zdySSHOWF10-x2MFLH9XMjeFSeNTMRM-VpvZ1tM8kw0,248
285
285
  cjkcms/templates/cjkcms/pages/home_page.html,sha256=67h2o3EVXsrivMqM26OZV-7-H_9vv1clFJ4MFMknIMU,50
286
286
  cjkcms/templates/cjkcms/pages/page.mini.html,sha256=VR3lTCUgHPXTd2HAlNrxQAmNjS_0VGzfQccUV5IeDXc,506
287
- cjkcms/templates/cjkcms/pages/search.html,sha256=mWpFQi5P01HAUdm7tOJAAJ2B7LbIALS4ShmbQveF_Go,3006
287
+ cjkcms/templates/cjkcms/pages/search.html,sha256=m3VyiByKmuF3YDUAMHChFYCN6zeihqjKLURZEEOI8A0,3377
288
288
  cjkcms/templates/cjkcms/pages/search_result.html,sha256=peGL-4UtHGQdYlmdUqGUX3MxZLuw4EcxY00yQFW_7Ag,582
289
289
  cjkcms/templates/cjkcms/pages/web_page.html,sha256=floOVzOyPYvTMKfWd3pY0vyrqG7jt4WS5xJt3j6gZM0,594
290
290
  cjkcms/templates/cjkcms/pages/web_page_notitle.html,sha256=HjwzN8NpJBOVjKM6_cLtPfUllotFMkvQPLXL2aoB6A0,378
@@ -305,7 +305,7 @@ cjkcms/templates/cjkcms/snippets/tracking_g3.html,sha256=9OWUZKpHyomU02ubrf1rZpC
305
305
  cjkcms/templates/cjkcms/snippets/tracking_g4.html,sha256=auZnwOOyEpI48JUSlsJMfB3eMwEJV-85hZaJ7xtOSwI,832
306
306
  cjkcms/templates/cjkcms/snippets/tracking_matomo.html,sha256=kreCmOVi5U855Ly-NqxVT_ysbnj29Vb3n1k3PiUnVL8,694
307
307
  cjkcms/templates/cjkcms/snippets/tracking_matomo_noscript.html,sha256=g20zZkBNAY9A6Dk5cKZD3x2SD4ERrIW4AlISdLfkeGs,230
308
- cjkcms/templates/cjkcms/widgets/checkbox_classifiers.html,sha256=4v4RCOtJC1-3Qfksg4zloyI_1LBUpldDpjjJ4UTmBl0,1444
308
+ cjkcms/templates/cjkcms/widgets/checkbox_classifiers.html,sha256=B1DnwyTsjjf9f3SDTo6A3vOsR4iJOCAfUlc0X_lL4ug,1282
309
309
  cjkcms/templates/wagtailadmin/block_forms/base_block_settings_struct.html,sha256=sTMq7WSrxLkTY1bn8BFzRyRg3Dm3YjnYzVmLZfpuiug,839
310
310
  cjkcms/templates/wagtailadmin/block_forms/struct.html,sha256=cGGZY8luf9B29jhEqldzF5BnFTI0scM27bSHNFf-Fx8,550
311
311
  cjkcms/templates/wagtailadmin/shared/cr_main_nav_2fix.html,sha256=BAhkDE8_8KbhUOnHV-_P41jFDxszsp4699rYl33N6zo,885
@@ -313,12 +313,12 @@ cjkcms/templates/wagtailadmin/tables/thumbnail_cell.html,sha256=RzMT-tBnnDOgL-ze
313
313
  cjkcms/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
314
314
  cjkcms/templatetags/auth_extras.py,sha256=IIxQ5n9FaQVZmhW-yW1XM5p2OjIemtqVoX-O-UcCns8,327
315
315
  cjkcms/templatetags/cjkcms_tags.py,sha256=KkKQ0o1FMdIC3zPAu7rKcnT3aAlLWMxTUIkE7ehgUcg,10411
316
- cjkcms/templatetags/friendly_loader.py,sha256=Zwopb9NNNN6IuDJCMFlwKuhmJC0hi4uTPEZSAxeakYY,4962
316
+ cjkcms/templatetags/friendly_loader.py,sha256=jSGOqgAyXaN8XvbjEyvOwYAtAucnehHT8Ld4Qli5_l8,4963
317
317
  cjkcms/templatetags/gravatar.py,sha256=JG5MB6HUFso15J8gZ_te5FTMYAuo4km8rzMKKvLLh-E,1127
318
318
  cjkcms/templatetags/txtutils_tags.py,sha256=UMojdiLt6Jpijc-2QLusPc-qXX9bqFZf0JbqqPsfnWQ,1223
319
319
  cjkcms/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
320
320
  cjkcms/tests/manage.py,sha256=EUgybZlZ7xk2Zf2KCwBbK_z7gf7Ifqs0_bl4Kijhdgo,242
321
- cjkcms/tests/settings.py,sha256=WVu7tOcUH1E_DJ6YOEfi5_r5tJobUbX9O0VAmVl4ICg,2556
321
+ cjkcms/tests/settings.py,sha256=OwAx_73FfO68FcCcc6yaJQdNBd8Pz7N2YqwJ60ouPHo,2557
322
322
  cjkcms/tests/test_advsettings.py,sha256=NiXJfc5ocJgxtbbnWhzEloS2wm3ODbZCyYfsS6lRgvU,6908
323
323
  cjkcms/tests/test_articlepages.py,sha256=7V7tr2kCKiEU1y36PlB9yoP0tmSDb8cchf8VYof3GGM,4226
324
324
  cjkcms/tests/test_bin.py,sha256=z-6vMYYqhv18UO00sUPrNpLLue0mbRr5vzqisu7UKAY,3506
@@ -326,47 +326,38 @@ cjkcms/tests/test_countdown_block.py,sha256=83RgYXvOLErcswXg13WRPD-Lf5VAykx_YRb2
326
326
  cjkcms/tests/test_draftail_extensions.py,sha256=8WAf8LdvSxW7kgtJaXQ8V3rSRNkzRDc-JGnlKOWZr3k,2364
327
327
  cjkcms/tests/test_finders_oembed.py,sha256=J-dG3aTsO2KXnUA0o4yKHh_r5Za9v_8gcXJQGwJrXpI,2489
328
328
  cjkcms/tests/test_gravatar.py,sha256=UWu1cVi3Gj96yqeQu795gw6FVPbZ44eCkkH1NGEGgBo,2629
329
- cjkcms/tests/test_search_blocks.py,sha256=3xUxFX6KP_lySGcQnsmXr3YI7tXs67-YoAMxmU-BNQs,4936
330
- cjkcms/tests/test_settings.py,sha256=n2B-qtaSdMJC4KuMGGx6qo5HIU73aaImbMkI_o7tK8A,2665
329
+ cjkcms/tests/test_search_blocks.py,sha256=K6acussD7to_qttTBl4z-rAF00UJYZpd8OoeBt-T1Kc,5882
330
+ cjkcms/tests/test_settings.py,sha256=I-py7xCNqgx-EMj0ucOZ68dKY11CLgEtJzYkeYD-Mw4,3457
331
331
  cjkcms/tests/test_templatetags.py,sha256=RHaIn93G8Aa2lG3JTHSPhFOTLBa4AWXJnwXa9Us5iqI,5966
332
332
  cjkcms/tests/test_urls.py,sha256=otiKZcs1WLDQM6AOfcdZgsOGDwea1qS3VEc8Yy-FV-Q,2880
333
333
  cjkcms/tests/test_webpage.py,sha256=PvXeXbawigObsdi_YpQNuHFx3Lqi6wM3ktVHZsxYbr4,1520
334
334
  cjkcms/tests/urls.py,sha256=_ksKz7HBHJtQK3HxC9cmJMX_dt6n4alx3FXjcL-cu28,850
335
335
  cjkcms/tests/media/images/test.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
336
- cjkcms/tests/media/images/test_0djPZwc.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
337
- cjkcms/tests/media/images/test_6zOjMLi.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
338
- cjkcms/tests/media/images/test_CWdn4xd.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
339
- cjkcms/tests/media/images/test_DqyysqG.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
340
- cjkcms/tests/media/images/test_J846ST8.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
341
- cjkcms/tests/media/images/test_WP0MnOi.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
342
- cjkcms/tests/media/images/test_XhwqhpE.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
343
- cjkcms/tests/media/images/test_ef9wMOI.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
344
- cjkcms/tests/media/images/test_erEkAMT.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
345
- cjkcms/tests/media/images/test_q64YMWd.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
346
- cjkcms/tests/media/images/test_xDdLBw1.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
347
- cjkcms/tests/media/images/test_xtSZp5Z.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
336
+ cjkcms/tests/media/images/test_3NMwZ9L.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
337
+ cjkcms/tests/media/images/test_AGrWgX3.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
338
+ cjkcms/tests/media/images/test_TpkZkXF.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
339
+ cjkcms/tests/media/images/test_cOs0NW2.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
340
+ cjkcms/tests/media/images/test_sCFpDtv.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
341
+ cjkcms/tests/media/images/test_w289mH5.original.png,sha256=nLMtadXZhXXbt6DTm5enrysKX7cfWiUudtbS2X7mSzI,1938
348
342
  cjkcms/tests/media/original_images/test.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
349
- cjkcms/tests/media/original_images/test_0djPZwc.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
350
- cjkcms/tests/media/original_images/test_6zOjMLi.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
351
- cjkcms/tests/media/original_images/test_CWdn4xd.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
352
- cjkcms/tests/media/original_images/test_DqyysqG.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
353
- cjkcms/tests/media/original_images/test_J846ST8.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
354
- cjkcms/tests/media/original_images/test_WP0MnOi.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
355
- cjkcms/tests/media/original_images/test_XhwqhpE.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
356
- cjkcms/tests/media/original_images/test_ef9wMOI.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
357
- cjkcms/tests/media/original_images/test_erEkAMT.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
358
- cjkcms/tests/media/original_images/test_q64YMWd.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
359
- cjkcms/tests/media/original_images/test_xDdLBw1.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
360
- cjkcms/tests/media/original_images/test_xtSZp5Z.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
343
+ cjkcms/tests/media/original_images/test_3NMwZ9L.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
344
+ cjkcms/tests/media/original_images/test_AGrWgX3.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
345
+ cjkcms/tests/media/original_images/test_TpkZkXF.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
346
+ cjkcms/tests/media/original_images/test_cOs0NW2.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
347
+ cjkcms/tests/media/original_images/test_sCFpDtv.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
348
+ cjkcms/tests/media/original_images/test_w289mH5.png,sha256=xJDvcufuQ-AM1HT-zgMxYEORko4rdK_8MSHU-puJNW8,2306
361
349
  cjkcms/tests/testapp/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
362
350
  cjkcms/tests/testapp/apps.py,sha256=EwyrkWTu-_OoLoERBTlqkqfPIIrEsbHY3kbCxgrv_7I,169
363
- cjkcms/tests/testapp/models.py,sha256=Rkn9KHrGbLzrKjP4y_gwtXma1_fJOZNU7ekb689fJEU,488
351
+ cjkcms/tests/testapp/models.py,sha256=N11rFqkMqQNVagoLjmIX8BVsgfW7wFqYKiDB9gE0PTo,575
364
352
  cjkcms/tests/testapp/migrations/0001_initial.py,sha256=hxr-r-42IQEGr_OsZkxXXCW7wbxAHuI_OLOkn-seJUU,4942
365
353
  cjkcms/tests/testapp/migrations/0002_create_homepage.py,sha256=EfsxHh1oyqwahW9RVpTvaRDx_CHtFSJQahKEr7XC5Gg,1999
366
354
  cjkcms/tests/testapp/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
367
- wagtail_cjkcms-25.1.10.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
368
- wagtail_cjkcms-25.1.10.dist-info/METADATA,sha256=hpUF2y_cCucvl17cqxY5Vvfk6-A0a3xqdnI0RsGVK5k,3121
369
- wagtail_cjkcms-25.1.10.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
370
- wagtail_cjkcms-25.1.10.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
371
- wagtail_cjkcms-25.1.10.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
372
- wagtail_cjkcms-25.1.10.dist-info/RECORD,,
355
+ cjkcms/utils/__init__.py,sha256=uLr0n5jD1dmdICgpv7WjgAtuyrs50ERyRLVUmoSV1cA,110
356
+ cjkcms/utils/richtext.py,sha256=dgNVQIAXevXzaVhCtGc7XW4PDwTFiGEL7q-YGgpcEjo,573
357
+ cjkcms/utils/visibility.py,sha256=sbxIM5g903AydRdBbwwahB8tpoyQrHjmERn9Yg_aJ4g,1433
358
+ wagtail_cjkcms-25.2.2.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
359
+ wagtail_cjkcms-25.2.2.dist-info/METADATA,sha256=ekmb6dItmDGk6uEhDw_9MeK1A_iqdO6xPwuSqNWoIwQ,3118
360
+ wagtail_cjkcms-25.2.2.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
361
+ wagtail_cjkcms-25.2.2.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
362
+ wagtail_cjkcms-25.2.2.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
363
+ wagtail_cjkcms-25.2.2.dist-info/RECORD,,