Skip to content

Commit ee3f720

Browse files
authored
Merge branch 'develop' into pre-commit-ci-update-config
2 parents 87b3b47 + 2278807 commit ee3f720

File tree

7 files changed

+21
-6
lines changed

7 files changed

+21
-6
lines changed

.github/workflows/lint.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ jobs:
3535
${{ runner.os }}-lint-${{ matrix.toxenv }}-
3636
- name: Install dependencies
3737
run: |
38-
sudo apt-get install libcairo2-dev
38+
sudo apt update
39+
sudo apt install libcairo2-dev
3940
python -m pip install --upgrade pip setuptools tox>4
4041
- name: Test with tox
4142
if: ${{ matrix.toxenv != 'towncrier' || (!contains(github.event.head_commit.message, '[pre-commit.ci]') && !contains(github.event.pull_request.body, 'pre-commit.ci start')) }}

.github/workflows/test.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,8 @@ jobs:
4040
${{ runner.os }}-tox-${{ format('{{py{0}-django{1}-cms{2}}}', matrix.python-version, matrix.django, matrix.cms) }}-
4141
- name: Install dependencies
4242
run: |
43-
sudo apt-get install gettext libcairo2-dev
43+
sudo apt update
44+
sudo apt install gettext libcairo2-dev
4445
python -m pip install --upgrade pip setuptools tox>4
4546
- name: Test with tox
4647
env:

changes/793.bugfix

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Catch Resolver404 when blog menu is rendered in 404 pages

changes/850.feature

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
Make BlogFeaturedPostsPlugin show unpublished posts if in edit mode

djangocms_blog/cms_menus.py

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
from cms.menu_bases import CMSAttachMenu
55
from django.contrib.sites.shortcuts import get_current_site
66
from django.db.models.signals import post_delete, post_save
7-
from django.urls import resolve
7+
from django.urls import Resolver404, resolve
88
from django.utils.translation import get_language_from_request, gettext_lazy as _
99
from menus.base import Modifier, NavigationNode
1010
from menus.menu_pool import menu_pool
@@ -148,7 +148,10 @@ def modify(self, request, nodes, namespace, root_id, post_cut, breadcrumb):
148148
app = apphook_pool.get_apphook(request.current_page.application_urls)
149149

150150
if app and app.app_config:
151-
namespace = resolve(request.path).namespace
151+
try:
152+
namespace = resolve(request.path).namespace
153+
except Resolver404: # pragma: no cover
154+
return nodes
152155
if not self._config.get(namespace, False):
153156
self._config[namespace] = app.get_config(namespace)
154157
config = self._config[namespace]

djangocms_blog/cms_plugins.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ def get_fields(self, request, obj=None):
102102
def render(self, context, instance, placeholder):
103103
"""Render the plugin."""
104104
context = super().render(context, instance, placeholder)
105-
context["posts_list"] = instance.get_posts(context["request"])
105+
context["posts_list"] = instance.get_posts(context["request"], published_only=False)
106106
context["TRUNCWORDS_COUNT"] = get_setting("POSTS_LIST_TRUNCWORDS_COUNT")
107107
return context
108108

tests/test_plugins.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,18 @@ def test_plugin_featured(self):
182182
self.assertTrue(rendered.find(posts[0].get_absolute_url()) > -1)
183183
self.assertTrue(rendered.find(posts[1].get_absolute_url()) > -1)
184184
plugin.posts.remove(posts[1])
185-
186185
rendered = self.render_plugin(pages[0], "en", plugin, edit=True)
187186
self.assertTrue(rendered.find(posts[0].get_absolute_url()) > -1)
188187
self.assertFalse(rendered.find(posts[1].get_absolute_url()) > -1)
188+
posts[1].publish = False
189+
posts[1].save()
190+
plugin.posts.add(posts[1])
191+
rendered = self.render_plugin(pages[0], "en", plugin, edit=True)
192+
self.assertTrue(rendered.find(posts[0].get_absolute_url()) > -1)
193+
self.assertTrue(rendered.find(posts[1].get_absolute_url()) > -1)
194+
rendered = self.render_plugin(pages[0], "en", plugin, edit=False)
195+
self.assertTrue(rendered.find(posts[0].get_absolute_url()) > -1)
196+
self.assertFalse(rendered.find(posts[1].get_absolute_url()) > -1)
189197

190198
def test_plugin_tags(self):
191199
pages = self.get_pages()

0 commit comments

Comments
 (0)