wagtail-cjkcms 25.1.3__py2.py3-none-any.whl → 25.1.5__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -24,7 +24,14 @@
24
24
  {% endif %}
25
25
  </a>
26
26
 
27
- <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-mdb-target="#navbar" data-mdb-toggle="collapse" data-bs-target="#navbar" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
27
+ <button
28
+ class="navbar-toggler"
29
+ type="button"
30
+ data-mdb-collapse-init
31
+ data-bs-toggle="collapse"
32
+ data-mdb-target="#navbar"
33
+ data-bs-target="#navbar"
34
+ aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
28
35
  <svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor"><path d="M0 0h24v24H0z" fill="none"/><path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"/></svg>
29
36
  </button>
30
37
 
@@ -159,6 +159,11 @@ def get_navbar_css(context):
159
159
 
160
160
  @register.simple_tag(takes_context=True)
161
161
  def get_navbars(context) -> "QuerySet[Navbar]":
162
+ """Returns all Navbar objects that are associated with the current site layout
163
+
164
+ Returns:
165
+ QuerySet[Navbar]: _description_
166
+ """
162
167
  layout = LayoutSettings.for_request(context["request"])
163
168
  navbarorderables = layout.site_navbar.all()
164
169
  return Navbar.objects.filter(navbarorderable__in=navbarorderables).order_by(
@@ -166,6 +171,19 @@ def get_navbars(context) -> "QuerySet[Navbar]":
166
171
  )
167
172
 
168
173
 
174
+ @register.simple_tag(takes_context=True)
175
+ def get_navbar(context, navbar_id) -> "Navbar":
176
+ """Returns the Navbar object with the given custom_id
177
+
178
+ Args:
179
+ custom_id: Custom_id of the Navbar defined in its settings
180
+
181
+ Returns:
182
+ Navbar: The Navbar object with the given id
183
+ """
184
+ return Navbar.objects.get(custom_id=navbar_id)
185
+
186
+
169
187
  @register.simple_tag(takes_context=True)
170
188
  def get_footers(context) -> "QuerySet[Footer]":
171
189
  layout = LayoutSettings.for_request(context["request"])
@@ -252,13 +270,16 @@ def link_display(context, text: str) -> str:
252
270
  }:
253
271
  return text
254
272
  u = context["request"].user
255
- if text == "{{ user.username }}":
256
- return u.username
257
- if text == "{{ user.first_name }}":
258
- return u.first_name
259
- if text == "{{ user.last_name }}":
260
- return u.last_name
261
- return f"{u.first_name} {u.last_name}"
273
+ if u.is_authenticated:
274
+ if text == "{{ user.username }}":
275
+ return u.username
276
+ if text == "{{ user.first_name }}":
277
+ return u.first_name
278
+ if text == "{{ user.last_name }}":
279
+ return u.last_name
280
+ return f"{u.first_name} {u.last_name}"
281
+ else:
282
+ return "Guest"
262
283
 
263
284
 
264
285
  @register.filter
cjkcms/wagtail_hooks.py CHANGED
@@ -7,7 +7,7 @@ from cjkcms.draftail import (
7
7
  register_inline_styling,
8
8
  )
9
9
 
10
- from cjkcms.models.admin_sidebar import NavbarSnippet, EventCalendarSnippet
10
+ # from cjkcms.models.admin_sidebar import NavbarSnippet, EventCalendarSnippet
11
11
  from django.http.response import HttpResponse
12
12
  from django.templatetags.static import static
13
13
  from django.utils.html import format_html
@@ -16,6 +16,42 @@ from wagtail.admin.menu import MenuItem
16
16
  from wagtail.snippets.models import register_snippet
17
17
  from wagtailcache.cache import clear_cache
18
18
 
19
+ from cjkcms.models.snippet_models import Navbar, NavbarForm, EventCalendar
20
+ from wagtail.snippets.views.snippets import SnippetViewSet
21
+
22
+
23
+ class NavbarSnippet(SnippetViewSet):
24
+ model = Navbar
25
+ menu_label = "Navigation"
26
+ menu_icon = "link" # change as required
27
+ add_to_admin_menu = True
28
+ list_display = (
29
+ "name",
30
+ "custom_css_class",
31
+ "custom_id",
32
+ )
33
+ search_fields = [
34
+ "name",
35
+ ]
36
+
37
+ def get_form_class(self, for_update=False):
38
+ return NavbarForm
39
+
40
+
41
+ class EventCalendarSnippet(SnippetViewSet):
42
+ model = EventCalendar
43
+ menu_label = "Public Events"
44
+ menu_icon = "calendar" # change as required
45
+ # add_to_admin_menu = True
46
+ list_display = ("name",)
47
+ search_fields = [
48
+ "name",
49
+ ]
50
+
51
+
52
+ register_snippet(NavbarSnippet)
53
+ register_snippet(EventCalendarSnippet)
54
+
19
55
 
20
56
  @hooks.register("insert_global_admin_css") # type: ignore
21
57
  def global_admin_css():
@@ -196,7 +232,3 @@ def register_align_right_feature(features):
196
232
  @hooks.register("register_rich_text_features") # type: ignore
197
233
  def register_external_link(features):
198
234
  features.register_link_type(NewWindowExternalLinkHandler)
199
-
200
-
201
- register_snippet(NavbarSnippet)
202
- register_snippet(EventCalendarSnippet)
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: wagtail-cjkcms
3
- Version: 25.1.3
3
+ Version: 25.1.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,14 +1,14 @@
1
- cjkcms/__init__.py,sha256=q3cRcInGhLDtcv5FnZg8GSHEvfl3E3BLSvGT3BcdNYg,272
1
+ cjkcms/__init__.py,sha256=OYSMMDfXv2lnX0PKb9z2ijZfOhIA0JzFyIxcO0tuJvk,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=ODBpl3Fn3yCX0CYogt0OIGD-2IGaijefwpdZngx3Bnc,20324
7
+ cjkcms/settings.py,sha256=zw8V6cMP57w-U0M5hU4a1ouRLn-q02Waip7KnTZfbpc,20109
8
8
  cjkcms/urls.py,sha256=k5tEHWI4Umi2PWvGdNJ-FZ9OCy6AS3Y2S7k5jNOpgt0,644
9
9
  cjkcms/utils.py,sha256=u4pkPxAwqH3SgyIcmvk7I5L3w-eIcz0Rphmv0Y1DRpA,2006
10
10
  cjkcms/views.py,sha256=NWy3pBBcLUOH6WjEJh03N2sND4oToiyiy6_spgXdUcY,4389
11
- cjkcms/wagtail_hooks.py,sha256=utrTXxJzjumhbzHmB_p5xZsIOZHkDQUJKGQ5geKD-mY,6543
11
+ cjkcms/wagtail_hooks.py,sha256=emfgvVN4pkUuBjvHl1mMZz8zXq3CCqAw3BlufrK4S9k,7311
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
@@ -58,7 +58,7 @@ cjkcms/migrations/0022_cjkcmspage_breadcrumb_label_and_more.py,sha256=UqXcsDPMsJ
58
58
  cjkcms/migrations/0023_alter_navbar_language.py,sha256=TnMs5fzf-PmirNn6CgYh5pUwwHhaYKPDCjqnZqrj8Ok,547
59
59
  cjkcms/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
60
60
  cjkcms/models/__init__.py,sha256=f99GmxfFxGtQl8JvZFz8rAtklCIesLoSccyhhi2xgPU,232
61
- cjkcms/models/admin_sidebar.py,sha256=Q8jdlIY1fBxUq8fygYdmOLjDwIRs3rFO0Mze9e2STpM,752
61
+ cjkcms/models/admin_sidebar.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
62
62
  cjkcms/models/cms_models.py,sha256=9U46xwPidQfUlXnuVUW5IbtphXX_8djJD4CohoP3NbU,2356
63
63
  cjkcms/models/integration_models.py,sha256=L29OBwLH8DfHtDplu218UGbbvL94Erk3J_R7n365zQM,6302
64
64
  cjkcms/models/page_models.py,sha256=-9SLMKA5KI2gMMOTaAtpr4pE2RhidilaRRzF7nnE0WI,25454
@@ -167,12 +167,10 @@ cjkcms/static/cjkcms/js/cjkcms-editor.js,sha256=ZIdSmXSBx0h3narH6ge0ZJlllOdV8M1J
167
167
  cjkcms/static/cjkcms/js/cjkcms-front.js,sha256=rutoF9X9-HdxtH2ehOP3LZK3JcDYDN3iUqsO6f1n68A,5579
168
168
  cjkcms/static/cookieconsent/cookieconsent.css,sha256=PPTG3VhEwHh8jgoiOgifordwvLTG5M7hEhrueOUy4Kc,18803
169
169
  cjkcms/static/cookieconsent/cookieconsent.js,sha256=r372zsTupu5VyD3zkc-VWL5tGUNhz5FNcPK9WkP9Mz0,18743
170
- cjkcms/static/vendor/mdb/css/mdb.dark.min.css,sha256=17IsYKguIYznPbr6XEmae91AiHH0I6W2a-02RD8vAMI,393612
171
- cjkcms/static/vendor/mdb/css/mdb.dark.min.css.map,sha256=pfflEJhXkU7NBMjDunZg7wG75T7BQOI4ZCApEoKYxWM,583626
172
- cjkcms/static/vendor/mdb/css/mdb.min.css,sha256=NwSiVkXzh8wtWxshP59CXHGRsNaM03bmKyqI8CyIqXk,378147
173
- cjkcms/static/vendor/mdb/css/mdb.min.css.map,sha256=HCd-vGDs-t7EinsTSmawI-CdC92HmydrH0TqlB4Oh4s,546228
174
- cjkcms/static/vendor/mdb/js/mdb.umd.min.js,sha256=6ExxHAv6V4GggQXwu1gkXc4MHtdiqKgVwBQ2m1HGr2M,124534
175
- cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map,sha256=1k9rRQNB3hrVj47Anhg19MtXioMnuffFMh34NEyrBcY,502496
170
+ cjkcms/static/vendor/mdb/css/mdb.min.css,sha256=1iGJEwUZEQyasXLHrSSe-DR9gE_s8Nq7vkndlhlKr28,379902
171
+ cjkcms/static/vendor/mdb/css/mdb.min.css.map,sha256=NKAF5z9x63H4yfAMe5uQCK5bqpqDokyA-OZ8Js5VRpM,548537
172
+ cjkcms/static/vendor/mdb/js/mdb.umd.min.js,sha256=3KDxvzTmoG1orgwfGejdsnHqPtLkzmGKFaVIonmWhV8,125175
173
+ cjkcms/static/vendor/mdb/js/mdb.umd.min.js.map,sha256=DVxK_TI0xijPyBf5LrUX8xx6LkB-SfgAgf04jQY0vxQ,505660
176
174
  cjkcms/static/vendor/simplycountdown/css/circle.css,sha256=p8XghcW_i3DReRzmivluCPvvTeufVcyzpQRlHtYPxwI,1632
177
175
  cjkcms/static/vendor/simplycountdown/css/cyber.css,sha256=OECAvPFLHuUkgv9ENP27SzVaCimFS0T7g_5jT0l5TTg,3813
178
176
  cjkcms/static/vendor/simplycountdown/css/dark.css,sha256=VEMMr_JIZ303FlNVc5j-_BstLolM2Ru-gZ0MEHUiNW0,1899
@@ -296,7 +294,7 @@ cjkcms/templates/cjkcms/snippets/breadcrumbs.html,sha256=3flWNTJ568V4l9HTuYK5vZ7
296
294
  cjkcms/templates/cjkcms/snippets/footer.html,sha256=_QUtV_LHgGjh-XLzw5Fd_Lxdrx9on5G0luFaa6oirB0,430
297
295
  cjkcms/templates/cjkcms/snippets/frontend_assets.html,sha256=2q24FFzOiM2USJiI1tuNTdJZGvRQnMPjAwTA0AlGNiU,1656
298
296
  cjkcms/templates/cjkcms/snippets/frontend_scripts.html,sha256=kO3lpKZylriXj27ff6ubtDXkpqOwqSZM256iM6cCuHM,510
299
- cjkcms/templates/cjkcms/snippets/navbar.html,sha256=wf64B6LzNW7QrGIqHbXlVHneJ6jfYkPcYcO_u6DP6wY,2821
297
+ cjkcms/templates/cjkcms/snippets/navbar.html,sha256=3J9N2g1MVMyvAaQFbkNBYSwbXp8wpOQiHQabFY6PyTc,2879
300
298
  cjkcms/templates/cjkcms/snippets/navbar_lang_selector.html,sha256=sn7KLDentGOsMZ9CNAxdAGLYO3a_mYfSUhJ6iZzteOE,836
301
299
  cjkcms/templates/cjkcms/snippets/navbar_search.html,sha256=yV6xIWQ3_BdrTEPVp3j0WKqChPui7oC0Zl3C2fUrpes,1075
302
300
  cjkcms/templates/cjkcms/snippets/navbar_search_modal.html,sha256=_9jUjJsk2Q1Ya05b5OguZENZl7XGgqjoMe-YDo3cOD4,1449
@@ -314,7 +312,7 @@ cjkcms/templates/wagtailadmin/shared/cr_main_nav_2fix.html,sha256=BAhkDE8_8KbhUO
314
312
  cjkcms/templates/wagtailadmin/tables/thumbnail_cell.html,sha256=RzMT-tBnnDOgL-zexKanZTTpCEX1bMybFL2p_zvOEV4,578
315
313
  cjkcms/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
316
314
  cjkcms/templatetags/auth_extras.py,sha256=IIxQ5n9FaQVZmhW-yW1XM5p2OjIemtqVoX-O-UcCns8,327
317
- cjkcms/templatetags/cjkcms_tags.py,sha256=hijLNrcc-ORLe88cyQzjtQW2PjbCvH5CEsYr9p5UT7U,9754
315
+ cjkcms/templatetags/cjkcms_tags.py,sha256=JlZ78iPiKdfmb1zQnnQtYj6L13_GTcWryhDH7W92qoU,10339
318
316
  cjkcms/templatetags/friendly_loader.py,sha256=Zwopb9NNNN6IuDJCMFlwKuhmJC0hi4uTPEZSAxeakYY,4962
319
317
  cjkcms/templatetags/gravatar.py,sha256=JG5MB6HUFso15J8gZ_te5FTMYAuo4km8rzMKKvLLh-E,1127
320
318
  cjkcms/templatetags/txtutils_tags.py,sha256=UMojdiLt6Jpijc-2QLusPc-qXX9bqFZf0JbqqPsfnWQ,1223
@@ -342,9 +340,9 @@ cjkcms/tests/testapp/models.py,sha256=Rkn9KHrGbLzrKjP4y_gwtXma1_fJOZNU7ekb689fJE
342
340
  cjkcms/tests/testapp/migrations/0001_initial.py,sha256=hxr-r-42IQEGr_OsZkxXXCW7wbxAHuI_OLOkn-seJUU,4942
343
341
  cjkcms/tests/testapp/migrations/0002_create_homepage.py,sha256=EfsxHh1oyqwahW9RVpTvaRDx_CHtFSJQahKEr7XC5Gg,1999
344
342
  cjkcms/tests/testapp/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
345
- wagtail_cjkcms-25.1.3.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
346
- wagtail_cjkcms-25.1.3.dist-info/METADATA,sha256=-Kip2GVsshP0uiAEKUepH9WE-JSDbAboM7ioOpNTvwI,3120
347
- wagtail_cjkcms-25.1.3.dist-info/WHEEL,sha256=pxeNX5JdtCe58PUSYP9upmc7jdRPgvT0Gm9kb1SHlVw,109
348
- wagtail_cjkcms-25.1.3.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
349
- wagtail_cjkcms-25.1.3.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
350
- wagtail_cjkcms-25.1.3.dist-info/RECORD,,
343
+ wagtail_cjkcms-25.1.5.dist-info/LICENSE,sha256=KHsCh1fKOZzvcKe1a9h3FlDjTjK_UurO3wHK55TnHHo,1538
344
+ wagtail_cjkcms-25.1.5.dist-info/METADATA,sha256=jhcINU9cA_1EBRqll_tUVnMkiQ6JI_xKK7SSPiED0XA,3120
345
+ wagtail_cjkcms-25.1.5.dist-info/WHEEL,sha256=9Hm2OB-j1QcCUq9Jguht7ayGIIZBRTdOXD1qg9cCgPM,109
346
+ wagtail_cjkcms-25.1.5.dist-info/entry_points.txt,sha256=FzoiFENdZ1uebNztyz6GlswkumQspd5VjWbR9MUIH_8,50
347
+ wagtail_cjkcms-25.1.5.dist-info/top_level.txt,sha256=8wJGOGo1pG5nO5akfcMzA7i3ndj5868I8w35vTT0JJM,7
348
+ wagtail_cjkcms-25.1.5.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.6.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py2-none-any
5
5
  Tag: py3-none-any