wagtail-cjkcms 24.6.2__py2.py3-none-any.whl → 24.6.5__py2.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.
cjkcms/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
- VERSION = (24, 6, 2, "")
1
+ VERSION = (24, 6, 5, "")
2
2
 
3
3
  __version_info__ = VERSION
4
4
  __version__ = ".".join(map(str, VERSION[:3])) + (f"-{VERSION[3]}" if VERSION[3] else "")
cjkcms/blocks/__init__.py CHANGED
@@ -31,6 +31,7 @@ from .content_blocks import ( # noqa
31
31
  NavPageLinkWithSubLinkBlock,
32
32
  PriceListBlock,
33
33
  ReusableContentBlock,
34
+ HighlightBlock,
34
35
  )
35
36
  from .content.events import PublicEventBlock, EventCalendarBlock
36
37
  from .layout_blocks import CardGridBlock, GridBlock, HeroBlock
@@ -75,6 +76,7 @@ CONTENT_STREAMBLOCKS = HTML_STREAMBLOCKS + [
75
76
  ("pricelist", PriceListBlock()),
76
77
  ("reusable_content", ReusableContentBlock()),
77
78
  ("event_calendar", EventCalendarBlock()),
79
+ ("highlight", HighlightBlock()),
78
80
  ]
79
81
 
80
82
  NAVIGATION_STREAMBLOCKS = [
@@ -359,3 +359,48 @@ class ReusableContentBlock(BaseBlock):
359
359
  label = _("Reusable Content")
360
360
  template = "cjkcms/blocks/reusable_content_block.html"
361
361
  label_format = "{content} (Reusable Content)"
362
+
363
+
364
+ class HighlightBlock(BaseBlock):
365
+ """
366
+ Block that highlights a piece of text
367
+ """
368
+
369
+ text = blocks.RichTextBlock(
370
+ features=cms_settings.CJKCMS_RICHTEXT_FEATURES["default"],
371
+ label=_("Text"),
372
+ )
373
+
374
+ background_color = blocks.ChoiceBlock(
375
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
376
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
377
+ required=False,
378
+ label=_("Background Color"),
379
+ )
380
+
381
+ border_color = blocks.ChoiceBlock(
382
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
383
+ default=cms_settings.CJKCMS_HIGHLIGHT_DEFAULT_COLOR,
384
+ required=False,
385
+ label=_("Border Color"),
386
+ )
387
+
388
+ text_color = blocks.ChoiceBlock(
389
+ choices=cms_settings.CJKCMS_HIGHLIGHT_COLORS,
390
+ default="dark",
391
+ required=False,
392
+ label=_("Text Color"),
393
+ )
394
+
395
+ icon = blocks.ChoiceBlock(
396
+ choices=cms_settings.FONT_AWESOME_ICONS,
397
+ default=cms_settings.FONT_AWESOME_ICONS_DEFAULT,
398
+ required=False,
399
+ label=_("Icon"),
400
+ )
401
+
402
+ class Meta:
403
+ icon = "thumbtack"
404
+ label = _("Highlight")
405
+ label_format = _("Highlight")
406
+ template = "cjkcms/blocks/highlight_block.html"
@@ -4,15 +4,20 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0017_layoutsettings_default_seo_image'),
8
+ ("cjkcms", "0017_layoutsettings_default_seo_image"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='layoutsettings',
15
- name='search_format',
16
- field=models.CharField(blank=True, choices=[], default='', max_length=50, verbose_name='Search format'),
13
+ model_name="layoutsettings",
14
+ name="search_format",
15
+ field=models.CharField(
16
+ blank=True,
17
+ choices=[],
18
+ default="",
19
+ max_length=50,
20
+ verbose_name="Search format",
21
+ ),
17
22
  ),
18
23
  ]
@@ -4,25 +4,42 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0018_layoutsettings_search_format'),
8
+ ("cjkcms", "0018_layoutsettings_search_format"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='layoutsettings',
15
- name='searchbox_input_class',
16
- field=models.CharField(blank=True, default='border-secondary mb-0', help_text='Classes applied to searchbox input', max_length=255, verbose_name='Searchbox input class'),
13
+ model_name="layoutsettings",
14
+ name="searchbox_input_class",
15
+ field=models.CharField(
16
+ blank=True,
17
+ default="border-secondary mb-0",
18
+ help_text="Classes applied to searchbox input",
19
+ max_length=255,
20
+ verbose_name="Searchbox input class",
21
+ ),
17
22
  ),
18
23
  migrations.AddField(
19
- model_name='layoutsettings',
20
- name='searchbutton_class',
21
- field=models.CharField(blank=True, default='btn btn-outline-secondary', help_text='Classes applied to search button. Add e.g. `fas fa-search` for icon.', max_length=255, verbose_name='Search button (with text) class'),
24
+ model_name="layoutsettings",
25
+ name="searchbutton_class",
26
+ field=models.CharField(
27
+ blank=True,
28
+ default="btn btn-outline-secondary",
29
+ help_text="Classes applied to search button. Add e.g. `fas fa-search` for icon.",
30
+ max_length=255,
31
+ verbose_name="Search button (with text) class",
32
+ ),
22
33
  ),
23
34
  migrations.AddField(
24
- model_name='layoutsettings',
25
- name='searchbutton_label',
26
- field=models.CharField(blank=True, default='Search', help_text='Leave empty when using icon-only button. Otherwise, add button label.', max_length=255, verbose_name='Search button label'),
35
+ model_name="layoutsettings",
36
+ name="searchbutton_label",
37
+ field=models.CharField(
38
+ blank=True,
39
+ default="Search",
40
+ help_text="Leave empty when using icon-only button. Otherwise, add button label.",
41
+ max_length=255,
42
+ verbose_name="Search button label",
43
+ ),
27
44
  ),
28
45
  ]
@@ -4,25 +4,32 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0019_layoutsettings_searchbox_input_class_and_more'),
8
+ ("cjkcms", "0019_layoutsettings_searchbox_input_class_and_more"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.AddField(
14
- model_name='socialmediasettings',
15
- name='github',
16
- field=models.URLField(blank=True, help_text='Your GitHub page URL', verbose_name='GitHub'),
13
+ model_name="socialmediasettings",
14
+ name="github",
15
+ field=models.URLField(
16
+ blank=True, help_text="Your GitHub page URL", verbose_name="GitHub"
17
+ ),
17
18
  ),
18
19
  migrations.AddField(
19
- model_name='socialmediasettings',
20
- name='pinterset',
21
- field=models.URLField(blank=True, help_text='Your Pinterest page URL', verbose_name='Pinterest'),
20
+ model_name="socialmediasettings",
21
+ name="pinterset",
22
+ field=models.URLField(
23
+ blank=True,
24
+ help_text="Your Pinterest page URL",
25
+ verbose_name="Pinterest",
26
+ ),
22
27
  ),
23
28
  migrations.AddField(
24
- model_name='socialmediasettings',
25
- name='tiktok',
26
- field=models.URLField(blank=True, help_text='Your TikTok account URL', verbose_name='TikTok'),
29
+ model_name="socialmediasettings",
30
+ name="tiktok",
31
+ field=models.URLField(
32
+ blank=True, help_text="Your TikTok account URL", verbose_name="TikTok"
33
+ ),
27
34
  ),
28
35
  ]
@@ -4,44 +4,82 @@ from django.db import migrations, models
4
4
 
5
5
 
6
6
  class Migration(migrations.Migration):
7
-
8
7
  dependencies = [
9
- ('cjkcms', '0020_socialmediasettings_github_and_more'),
8
+ ("cjkcms", "0020_socialmediasettings_github_and_more"),
10
9
  ]
11
10
 
12
11
  operations = [
13
12
  migrations.RemoveField(
14
- model_name='layoutsettings',
15
- name='navbar_color_scheme',
13
+ model_name="layoutsettings",
14
+ name="navbar_color_scheme",
16
15
  ),
17
16
  migrations.AddField(
18
- model_name='layoutsettings',
19
- name='color_scheme',
20
- field=models.CharField(blank=True, choices=[], default='', help_text='Default light/dark/custom theme. (MD/Bootstrap only)', max_length=50, verbose_name='Color scheme'),
17
+ model_name="layoutsettings",
18
+ name="color_scheme",
19
+ field=models.CharField(
20
+ blank=True,
21
+ choices=[],
22
+ default="",
23
+ help_text="Default light/dark/custom theme. (MD/Bootstrap only)",
24
+ max_length=50,
25
+ verbose_name="Color scheme",
26
+ ),
21
27
  ),
22
28
  migrations.AddField(
23
- model_name='layoutsettings',
24
- name='light_dark_switch',
25
- field=models.BooleanField(default=False, help_text='Show switch to toggle light/dark theme (MD/Bootstrap only)', verbose_name='Light/Dark switch'),
29
+ model_name="layoutsettings",
30
+ name="light_dark_switch",
31
+ field=models.BooleanField(
32
+ default=False,
33
+ help_text="Show switch to toggle light/dark theme (MD/Bootstrap only)",
34
+ verbose_name="Light/Dark switch",
35
+ ),
26
36
  ),
27
37
  migrations.AlterField(
28
- model_name='layoutsettings',
29
- name='frontend_theme',
30
- field=models.CharField(blank=True, choices=[], default='', help_text='Change the source of your Bootstrap theme.', max_length=50, verbose_name='Theme variant'),
38
+ model_name="layoutsettings",
39
+ name="frontend_theme",
40
+ field=models.CharField(
41
+ blank=True,
42
+ choices=[],
43
+ default="",
44
+ help_text="Change the source of your Bootstrap theme.",
45
+ max_length=50,
46
+ verbose_name="Theme variant",
47
+ ),
31
48
  ),
32
49
  migrations.AlterField(
33
- model_name='layoutsettings',
34
- name='navbar_collapse_mode',
35
- field=models.CharField(blank=True, choices=[], default='', help_text='Control on what screen sizes to show and collapse the navbar menu links.', max_length=50, verbose_name='Collapse navbar menu'),
50
+ model_name="layoutsettings",
51
+ name="navbar_collapse_mode",
52
+ field=models.CharField(
53
+ blank=True,
54
+ choices=[],
55
+ default="",
56
+ help_text="Control on what screen sizes to show and collapse the navbar menu links.",
57
+ max_length=50,
58
+ verbose_name="Collapse navbar menu",
59
+ ),
36
60
  ),
37
61
  migrations.AlterField(
38
- model_name='layoutsettings',
39
- name='navbar_format',
40
- field=models.CharField(blank=True, choices=[], default='', max_length=50, verbose_name='Navbar format'),
62
+ model_name="layoutsettings",
63
+ name="navbar_format",
64
+ field=models.CharField(
65
+ blank=True,
66
+ choices=[],
67
+ default="",
68
+ max_length=50,
69
+ verbose_name="Navbar format",
70
+ ),
41
71
  ),
42
72
  migrations.AlterField(
43
- model_name='layoutsettings',
44
- name='navbar_langselector',
45
- field=models.CharField(blank=True, choices=[], default=None, help_text='Choose lang choice selector', max_length=255, null=True, verbose_name='Language selector'),
73
+ model_name="layoutsettings",
74
+ name="navbar_langselector",
75
+ field=models.CharField(
76
+ blank=True,
77
+ choices=[],
78
+ default=None,
79
+ help_text="Choose lang choice selector",
80
+ max_length=255,
81
+ null=True,
82
+ verbose_name="Language selector",
83
+ ),
46
84
  ),
47
85
  ]
cjkcms/settings.py CHANGED
@@ -155,18 +155,18 @@ class _DefaultSettings:
155
155
  "https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.3.3/js/bootstrap.bundle.min.js",
156
156
  ],
157
157
  "mdb": [
158
- "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.3.0/mdb.min.css",
159
- "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.3.0/mdb.umd.min.js",
158
+ "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.3.2/mdb.min.css",
159
+ "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.3.2/mdb.umd.min.js",
160
160
  ],
161
161
  # "mdb.dark": [
162
162
  # "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.2.0/mdb.dark.min.css",
163
163
  # "https://cdnjs.cloudflare.com/ajax/libs/mdb-ui-kit/7.2.0/mdb.umd.min.js",
164
164
  # ],
165
- "mdb.light": [ # 7.3.0
165
+ "mdb.light": [ # 7.3.2
166
166
  "vendor/mdb/css/mdb.min.css",
167
167
  "vendor/mdb/js/mdb.umd.min.js",
168
168
  ],
169
- "mdb.dark": [ # 7.3.0
169
+ "mdb.dark": [ # 7.3.2
170
170
  "vendor/mdb/css/mdb.dark.min.css",
171
171
  "vendor/mdb/js/mdb.umd.min.js",
172
172
  ],
@@ -370,6 +370,29 @@ class _DefaultSettings:
370
370
  ("hidden", "Hidden for all"),
371
371
  )
372
372
 
373
+ CJKCMS_HIGHLIGHT_COLORS = (
374
+ ("primary", "Dark Blue"),
375
+ ("secondary", "Gray"),
376
+ ("success", "Green"),
377
+ ("danger", "Red"),
378
+ ("warning", "Yellow"),
379
+ ("info", "Light Blue"),
380
+ ("light", "Light"),
381
+ ("dark", "Dark"),
382
+ )
383
+ CJKCMS_HIGHLIGHT_DEFAULT_COLOR = "none"
384
+
385
+ FONT_AWESOME_ICONS = (
386
+ ("fa-solid fa-circle-check", "Checkmark"),
387
+ ("fa-solid fa-scissors", "Scissors"),
388
+ ("fa-solid fa-pencil", "Pencil"),
389
+ ("fa-solid fa-question", "Question mark"),
390
+ ("fa-solid fa-globe", "Globe"),
391
+ ("fa-regular fa-folder", "Folder"),
392
+ ("fa-solid fa-triangle-exclamation", "Warning Triangle"),
393
+ )
394
+ FONT_AWESOME_ICONS_DEFAULT = "fa-solid fa-circle-check"
395
+
373
396
  BANNER = None
374
397
  BANNER_BACKGROUND = "#f00"
375
398
  BANNER_TEXT_COLOR = "#fff"
cjkcms/templates/404.html CHANGED
@@ -1,94 +1,56 @@
1
1
  {% extends "cjkcms/pages/web_page_notitle.html" %}
2
2
 
3
3
  {% block custom_assets %}
4
- <style>
5
- body {
6
- background-color: #FFFFFF;
7
- }
8
- svg {
9
- position: absolute;
10
- top: 50%;
11
- left: 50%;
12
- margin-top: -250px;
13
- margin-left: -400px;
14
- }
15
- .message-box {
16
- height: 200px;
17
- width: 380px;
18
- position: absolute;
19
- top: 50%;
20
- left: 50%;
21
- margin-top: -100px;
22
- margin-left: 50px;
23
- color: #333;
24
- font-family: Roboto;
25
- font-weight: 300;
26
- }
27
- .message-box h1 {
28
- font-size: 60px;
29
- line-height: 46px;
30
- margin-bottom: 40px;
31
- }
32
- .buttons-con .action-link-wrap {
33
- margin-top: 40px;
34
- }
35
- .buttons-con .action-link-wrap a {
36
- background: #68c950;
37
- padding: 8px 25px;
38
- border-radius: 4px;
39
- color: #333;
40
- font-weight: bold;
41
- font-size: 14px;
42
- transition: all 0.3s linear;
43
- cursor: pointer;
44
- text-decoration: none;
45
- margin-right: 10px
46
- }
47
- .buttons-con .action-link-wrap a:hover {
48
- background: #5A5C6C;
49
- color: #333;
50
- }
51
-
52
- #Polygon-1 , #Polygon-2 , #Polygon-3 , #Polygon-4 , #Polygon-4, #Polygon-5 {
53
- animation: float 1s infinite ease-in-out alternate;
54
- }
55
- #Polygon-2 {
56
- animation-delay: .2s;
57
- }
58
- #Polygon-3 {
59
- animation-delay: .4s;
60
- }
61
- #Polygon-4 {
62
- animation-delay: .6s;
63
- }
64
- #Polygon-5 {
65
- animation-delay: .8s;
66
- }
67
-
68
- @keyframes float {
69
- 100% {
70
- transform: translateY(20px);
71
- }
72
- }
73
- @media (max-width: 450px) {
74
- svg {
75
- position: absolute;
76
- top: 50%;
77
- left: 50%;
78
- margin-top: -250px;
79
- margin-left: -190px;
80
- width: 190px;
81
- height: 250px;
82
- }
83
- .message-box {
84
- top: 50%;
85
- left: 50%;
86
- margin-top: -100px;
87
- margin-left: -190px;
88
- text-align: center;
89
- }
90
- }
91
- </style>
4
+ <style>
5
+ body {
6
+ background-color: #FFFFFF;
7
+ }
8
+ .message-box h1 {
9
+ font-size: 60px;
10
+ line-height: 46px;
11
+ margin-bottom: 40px;
12
+ }
13
+ .buttons-con .action-link-wrap {
14
+ margin-top: 40px;
15
+ }
16
+ .buttons-con .action-link-wrap a {
17
+ background: #68c950;
18
+ padding: 8px 25px;
19
+ border-radius: 4px;
20
+ color: #333;
21
+ font-weight: bold;
22
+ font-size: 14px;
23
+ transition: all 0.3s linear;
24
+ cursor: pointer;
25
+ text-decoration: none;
26
+ margin-right: 10px
27
+ }
28
+ .buttons-con .action-link-wrap a:hover {
29
+ background: #5A5C6C;
30
+ color: #333;
31
+ }
32
+ #Polygon-1 , #Polygon-2 , #Polygon-3 , #Polygon-4 , #Polygon-4, #Polygon-5 {
33
+ animation: float 1s infinite ease-in-out alternate;
34
+ }
35
+ #Polygon-2 {
36
+ animation-delay: .2s;
37
+ }
38
+ #Polygon-3 {
39
+ animation-delay: .4s;
40
+ }
41
+ #Polygon-4 {
42
+ animation-delay: .6s;
43
+ }
44
+ #Polygon-5 {
45
+ animation-delay: .8s;
46
+ }
47
+ @keyframes float {
48
+ 100% {
49
+ transform: translateY(20px);
50
+ }
51
+ }
52
+
53
+ </style>
92
54
  {% endblock %}
93
55
 
94
56
  {% block title %}Page not found{% endblock %}
@@ -96,22 +58,28 @@
96
58
  {% block body_class %}404{% endblock %}
97
59
 
98
60
  {% block content_body %}
99
- <svg width="380px" height="500px" viewBox="0 0 837 1045" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
100
- <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
101
- <path d="M353,9 L626.664028,170 L626.664028,487 L353,642 L79.3359724,487 L79.3359724,170 L353,9 Z" id="Polygon-1" stroke="#007FB2" stroke-width="6" sketch:type="MSShapeGroup"></path>
102
- <path d="M78.5,529 L147,569.186414 L147,648.311216 L78.5,687 L10,648.311216 L10,569.186414 L78.5,529 Z" id="Polygon-2" stroke="#EF4A5B" stroke-width="6" sketch:type="MSShapeGroup"></path>
103
- <path d="M773,186 L827,217.538705 L827,279.636651 L773,310 L719,279.636651 L719,217.538705 L773,186 Z" id="Polygon-3" stroke="#795D9C" stroke-width="6" sketch:type="MSShapeGroup"></path>
104
- <path d="M639,529 L773,607.846761 L773,763.091627 L639,839 L505,763.091627 L505,607.846761 L639,529 Z" id="Polygon-4" stroke="#F2773F" stroke-width="6" sketch:type="MSShapeGroup"></path>
105
- <path d="M281,801 L383,861.025276 L383,979.21169 L281,1037 L179,979.21169 L179,861.025276 L281,801 Z" id="Polygon-5" stroke="#36B455" stroke-width="6" sketch:type="MSShapeGroup"></path>
106
- </g>
107
- </svg>
108
- <div class="message-box">
109
- <h1>404</h1>
110
- <p>Page not found</p>
111
- <div class="buttons-con">
112
- <div class="action-link-wrap">
113
- <a onclick="history.back(-1)" class="link-button link-back-button">Go Back</a>
114
- <a href="/" class="link-button">Go to Home Page</a>
61
+ <div class="container d-flex justify-content-center align-items-center">
62
+ <div class="row">
63
+ <div class="col-md-6 d-flex justify-content-center">
64
+ <svg width="380px" height="500px" viewBox="0 0 837 1045" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:sketch="http://www.bohemiancoding.com/sketch/ns">
65
+ <g id="Page-1" stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" sketch:type="MSPage">
66
+ <path d="M353,9 L626.664028,170 L626.664028,487 L353,642 L79.3359724,487 L79.3359724,170 L353,9 Z" id="Polygon-1" stroke="#007FB2" stroke-width="6" sketch:type="MSShapeGroup"></path>
67
+ <path d="M78.5,529 L147,569.186414 L147,648.311216 L78.5,687 L10,648.311216 L10,569.186414 L78.5,529 Z" id="Polygon-2" stroke="#EF4A5B" stroke-width="6" sketch:type="MSShapeGroup"></path>
68
+ <path d="M773,186 L827,217.538705 L827,279.636651 L773,310 L719,279.636651 L719,217.538705 L773,186 Z" id="Polygon-3" stroke="#795D9C" stroke-width="6" sketch:type="MSShapeGroup"></path>
69
+ <path d="M639,529 L773,607.846761 L773,763.091627 L639,839 L505,763.091627 L505,607.846761 L639,529 Z" id="Polygon-4" stroke="#F2773F" stroke-width="6" sketch:type="MSShapeGroup"></path>
70
+ <path d="M281,801 L383,861.025276 L383,979.21169 L281,1037 L179,979.21169 L179,861.025276 L281,801 Z" id="Polygon-5" stroke="#36B455" stroke-width="6" sketch:type="MSShapeGroup"></path>
71
+ </g>
72
+ </svg>
73
+ </div>
74
+ <div class="col-md-6 d-flex flex-column justify-content-center align-items-start">
75
+ <h1>404</h1>
76
+ <p>Page not found</p>
77
+ <div class="buttons-con">
78
+ <div class="action-link-wrap">
79
+ <a onclick="history.back(-1)" class="link-button link-back-button">Go Back</a>
80
+ <a href="/" class="link-button">Go to Home Page</a>
81
+ </div>
82
+ </div>
115
83
  </div>
116
84
  </div>
117
85
  </div>
@@ -0,0 +1,21 @@
1
+ {% load wagtailadmin_tags wagtailcore_tags wagtailimages_tags %}
2
+
3
+ <div class="card mb-3 {% if self.border_color %} border border-{{ self.border_color }}{% endif %} text-bg-{{ self.background_color }}
4
+ text-{{ self.text_color }}
5
+ {{self.settings.custom_css_class}}"
6
+ {% if self.settings.custom_id %}id="{{self.settings.custom_id}}"{% endif %}>
7
+ <div class="card-body">
8
+ <div class="d-flex justify-content-between p-md-1">
9
+ <div class="d-flex flex-row">
10
+ {% if self.icon %}
11
+ <div class="align-self-start">
12
+ <i class="{{self.icon}} fa-5x me-4"></i>
13
+ </div>
14
+ {% endif %}
15
+ <div>
16
+ {{ self.text }}
17
+ </div>
18
+ </div>
19
+ </div>
20
+ </div>
21
+ </div>
cjkcms/views.py CHANGED
@@ -95,7 +95,6 @@ def robots(request):
95
95
 
96
96
 
97
97
  class VersionView(APIView):
98
-
99
98
  def get(self, request, token):
100
99
  monitor_token = settings.CJKCMS_VERSION_MONITOR_TOKEN
101
100
  allowed_domains = settings.CJKCMS_VERSION_MONITOR_ALLOWED_DOMAINS
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: wagtail-cjkcms
3
- Version: 24.6.2
3
+ Version: 24.6.5
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
@@ -1,22 +1,22 @@
1
- cjkcms/__init__.py,sha256=uzDcEIDpp5lH6IeiWtbJf_4eZ4bGrRhIYQO0B5H7PV0,272
1
+ cjkcms/__init__.py,sha256=eKNQK4Iu3BBjUyGXrnlivBmN8ssYC3pnwnmwNbYCanY,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
5
5
  cjkcms/image_formats.py,sha256=d4zRshuybwxSRL8UpBH31dFBr32o4HNexa0ks5PX3TI,1833
6
6
  cjkcms/search_urls.py,sha256=92XkGTJRrQQyA061wWl1l5C0vq6INVJPXOrpcgp3aoU,125
7
- cjkcms/settings.py,sha256=ACxaVRUhpdMbcnv_QAe0BfrcTx0Q5ZJdoIj0_PsSHbY,19568
7
+ cjkcms/settings.py,sha256=ODBpl3Fn3yCX0CYogt0OIGD-2IGaijefwpdZngx3Bnc,20324
8
8
  cjkcms/urls.py,sha256=k5tEHWI4Umi2PWvGdNJ-FZ9OCy6AS3Y2S7k5jNOpgt0,644
9
9
  cjkcms/utils.py,sha256=u4pkPxAwqH3SgyIcmvk7I5L3w-eIcz0Rphmv0Y1DRpA,2006
10
- cjkcms/views.py,sha256=Us1rsJ6-N0A_WNkH-jANHrWgUh7lbImDitaRBoPH8bE,4106
10
+ cjkcms/views.py,sha256=29kegEdmwfKUmz84Cr8VbvfAVAN3PH2UIWQhNb5QP4U,4105
11
11
  cjkcms/wagtail_hooks.py,sha256=utrTXxJzjumhbzHmB_p5xZsIOZHkDQUJKGQ5geKD-mY,6543
12
12
  cjkcms/widgets.py,sha256=2B92WkaktZC1ge4GrAMTB7VVYKnKR8qoZLAtWS2z_00,1745
13
13
  cjkcms/api/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
14
14
  cjkcms/api/mailchimp.py,sha256=pufnnu8n-c6kkWNKy-EsRLW5LLBn8_TmYrnRSQCPFdY,2832
15
15
  cjkcms/bin/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  cjkcms/bin/cjkcms.py,sha256=i11hhB11COQhTk05y7mkeIkUYcFjhI8-QxLkN3tCxgg,5763
17
- cjkcms/blocks/__init__.py,sha256=2HXyFkGExR6oeL-mzaCz81_fInfpvKn8t3k9-pvzwzQ,3402
17
+ cjkcms/blocks/__init__.py,sha256=cp7D9NSxF9HOEQN_h0GWMGFoZfhBYhDpCosZ7Gqi_mo,3459
18
18
  cjkcms/blocks/base_blocks.py,sha256=uKp6QO3iOPT4P0H0yOumvL7faPvLQK9Dj-D8iqlvqQ4,11616
19
- cjkcms/blocks/content_blocks.py,sha256=Pf5FGGnmqz09jc34kuTZNstUS2BiCA_pbGDRg28-s5E,8890
19
+ cjkcms/blocks/content_blocks.py,sha256=db_CNBqpKdAq1e9Y4AdpRm1077ANIWD8DzqG56_rSNs,10098
20
20
  cjkcms/blocks/html_blocks.py,sha256=rXdR1uxFYDYjOXpxndItxacWstiME8CdqZgB6d5qAYE,9543
21
21
  cjkcms/blocks/layout_blocks.py,sha256=n2oVyL-ZQQaEA00HU6YraR59YF065o-OK7WuAahGuiw,3406
22
22
  cjkcms/blocks/searchable_html_block.py,sha256=i1rWv4vwwvZ9fxkASwPKl87-TqVHkXOFyohH3ve7pYk,171
@@ -49,10 +49,10 @@ cjkcms/migrations/0014_navbar_alignment.py,sha256=arSBLVajQBkjLv7r8AbXnkL8ayxkmf
49
49
  cjkcms/migrations/0015_eventcalendar.py,sha256=WQFnU23gHcPMzcHOchNU4LFTPWrgZNyMj_Ma54BPUvs,1467
50
50
  cjkcms/migrations/0016_layoutsettings_breadcrumb_icon_and_more.py,sha256=PnQsKpWBXPJPj5FCNDTemvT1_yaXPy92FPTwm1FmckM,918
51
51
  cjkcms/migrations/0017_layoutsettings_default_seo_image.py,sha256=jwQ4oiiIU-p6p3vsLdTEJ0aat1jy81k6x2eAiqRTXEA,788
52
- cjkcms/migrations/0018_layoutsettings_search_format.py,sha256=S-RiDwsrAE6wn2hVOBb8MFUkQHMXr9LNTonYMVT2lY0,478
53
- cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py,sha256=8lMgcrgZJrlHjbj4NvlUNpXccKcEEpXINTcLuAjXJDE,1220
54
- cjkcms/migrations/0020_socialmediasettings_github_and_more.py,sha256=Zh7HPwStK54EIYta_MCUNU0wEYXVuAmFRr7OaglxgrQ,922
55
- cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py,sha256=Z4h_PvDzJ5lobQ8Ama1YGWin_6yEjoLMWZMAtBOEGjU,2106
52
+ cjkcms/migrations/0018_layoutsettings_search_format.py,sha256=NURMUoMyg20hSM_IDc78EWIylimhq1yyeuA16Fq3CH4,572
53
+ cjkcms/migrations/0019_layoutsettings_searchbox_input_class_and_more.py,sha256=SeA-oN5r9uePXOfPv57ETfGF_ZzNpv9vnkA_rmATXUY,1504
54
+ cjkcms/migrations/0020_socialmediasettings_github_and_more.py,sha256=flCSiw6wB32wsxSln2NA66zWkxrJLhNfL1O3UInH2to,1044
55
+ cjkcms/migrations/0021_remove_layoutsettings_navbar_color_scheme_and_more.py,sha256=lOOyu3QHjnjZY3HwXWCvUBxngm-t_sk4TvuxZ2Cq_j4,2723
56
56
  cjkcms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
57
57
  cjkcms/models/__init__.py,sha256=f99GmxfFxGtQl8JvZFz8rAtklCIesLoSccyhhi2xgPU,232
58
58
  cjkcms/models/admin_sidebar.py,sha256=R3gtDUfbtdVPLNb-__XZWYk9Ap5k9WkHc-u6XDhesdc,665
@@ -170,7 +170,7 @@ cjkcms/static/vendor/mdb/css/mdb.min.css,sha256=NwSiVkXzh8wtWxshP59CXHGRsNaM03bm
170
170
  cjkcms/static/vendor/mdb/css/mdb.min.css.map,sha256=HCd-vGDs-t7EinsTSmawI-CdC92HmydrH0TqlB4Oh4s,546228
171
171
  cjkcms/static/vendor/mdb/js/mdb.umd.min.js,sha256=6ExxHAv6V4GggQXwu1gkXc4MHtdiqKgVwBQ2m1HGr2M,124534
172
172
  cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map,sha256=1k9rRQNB3hrVj47Anhg19MtXioMnuffFMh34NEyrBcY,502496
173
- cjkcms/templates/404.html,sha256=6MyoIWkoqT4BGg1scNhVmLiD-MO1bnmmmn_KuM2hnuk,4176
173
+ cjkcms/templates/404.html,sha256=GnIFZoXMcFzz_UTMChOgbO6-IIWQZKaAom7OJXn6dao,3245
174
174
  cjkcms/templates/500.html,sha256=YWYel2g2SDKLwSv8C9VLPzVvkcRLo6X9WYwWjxnfz0U,4802
175
175
  cjkcms/templates/cjkcms/robots.txt,sha256=TuxRK7bsNJqXJsYlE13cpQmh78YhDGs6m-l6RYt_XDM,122
176
176
  cjkcms/templates/cjkcms/blocks/accordion_block.html,sha256=9gsMZMflXqdYcFVqf8YOsyb3YYHgC26Sug_tzGvc6N8,1443
@@ -206,6 +206,7 @@ cjkcms/templates/cjkcms/blocks/h1_block.html,sha256=1THQrcNJFICX63kgfOmbFBlg3bnG
206
206
  cjkcms/templates/cjkcms/blocks/h2_block.html,sha256=F2pyouvyTmHIvxx63fsCHTsOfGZSjrkDDd48bX559kg,200
207
207
  cjkcms/templates/cjkcms/blocks/h3_block.html,sha256=9ywHXmVmKnSzyewDAN8_NN49YNNAH2TihGoBECT-IkA,200
208
208
  cjkcms/templates/cjkcms/blocks/hero_block.html,sha256=AvMdorfA_c5oHLQ6sEsfbZTUlUUC-LLi_QD4LX3VwgU,790
209
+ cjkcms/templates/cjkcms/blocks/highlight_block.html,sha256=QYR2HAW1hVx2rnIqGlDmq1gfo-s2xNLPy_1F0epc-ME,777
209
210
  cjkcms/templates/cjkcms/blocks/image_block.html,sha256=A_jRCQDL0GT3NQzxhaGGalnvdnnh3Ly3vSed4AAN7x4,275
210
211
  cjkcms/templates/cjkcms/blocks/image_gallery_block.html,sha256=gFAlNq07qY-6tzHi7gMPol6xBkx6mAvLXZcuNkb9q6w,1400
211
212
  cjkcms/templates/cjkcms/blocks/image_link_block.html,sha256=1SnNXhvgorW3oIPOWuLeU9gUp4nGS2vBuPZKf6eM9TI,627
@@ -326,9 +327,9 @@ cjkcms/tests/testapp/models.py,sha256=Rkn9KHrGbLzrKjP4y_gwtXma1_fJOZNU7ekb689fJE
326
327
  cjkcms/tests/testapp/migrations/0001_initial.py,sha256=hxr-r-42IQEGr_OsZkxXXCW7wbxAHuI_OLOkn-seJUU,4942
327
328
  cjkcms/tests/testapp/migrations/0002_create_homepage.py,sha256=EfsxHh1oyqwahW9RVpTvaRDx_CHtFSJQahKEr7XC5Gg,1999
328
329
  cjkcms/tests/testapp/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
329
- wagtail_cjkcms-24.6.2.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
330
- wagtail_cjkcms-24.6.2.dist-info/METADATA,sha256=KZ60vLD33NHKl5rgTMPeh_sAuruQ0dh4OVC8bDGtUpE,3108
331
- wagtail_cjkcms-24.6.2.dist-info/WHEEL,sha256=DZajD4pwLWue70CAfc7YaxT1wLUciNBvN_TTcvXpltE,110
332
- wagtail_cjkcms-24.6.2.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
333
- wagtail_cjkcms-24.6.2.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
334
- wagtail_cjkcms-24.6.2.dist-info/RECORD,,
330
+ wagtail_cjkcms-24.6.5.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
331
+ wagtail_cjkcms-24.6.5.dist-info/METADATA,sha256=Ygl-d9CHZqgab-pJ4Kja3LnJURQPn3T3mlPrm0TfCHM,3108
332
+ wagtail_cjkcms-24.6.5.dist-info/WHEEL,sha256=_4XEmVmaBFWtekSGrbfOGNjC2I5lUr0lZSRblBllIFA,109
333
+ wagtail_cjkcms-24.6.5.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
334
+ wagtail_cjkcms-24.6.5.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
335
+ wagtail_cjkcms-24.6.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: bdist_wheel (0.43.0)
2
+ Generator: setuptools (70.1.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any