8000 ci: Merge back `release/4.1.x` (4.1.0rc4) into `develop-4` by fsbraun · Pull Request #7640 · django-cms/django-cms · GitHub
[go: up one dir, main page]

Skip to content

ci: Merge back release/4.1.x (4.1.0rc4) into develop-4 #7640

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 18 commits into from
Sep 1, 2023
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Fix: Open new plugin window in language of toolbar not of page (#7632)
  • Loading branch information
fsbraun authored Aug 23, 2023
commit ac74c212719fb17d7a26cb61feecfb36bba27476
6 changes: 5 additions & 1 deletion cms/plugin_rendering.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import contextlib
import logging
import sys
from collections import OrderedDict
Expand All @@ -9,6 +10,7 @@
from django.utils.functional import cached_property
from django.utils.module_loading import import_string
from django.utils.safestring import mark_safe
from django.utils.translation import override

from cms.cache.placeholder import get_placeholder_cache, set_placeholder_cache
from cms.models import PageContent
Expand Down Expand Up @@ -300,7 +302,9 @@ def render_placeholder(self, placeholder, context, language=None, page=None,
self._rendered_placeholders[placeholder.pk] = rendered_placeholder

if editable:
data = self.get_editable_placeholder_context(placeholder, page=page)
request = context.get("request", None)
with override(request.toolbar.toolbar_language) if request else contextlib.nullcontext():
data = self.get_editable_placeholder_context(placeholder, page=page)
data['content'] = placeholder_content
placeholder_content = self.placeholder_edit_template.format(**data)

Expand Down
5 changes: 5 additions & 0 deletions cms/templatetags/cms_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
from django.utils.http import urlencode
from django.utils.translation import (
get_language,
override,
)
from django.utils.translation import (
gettext_lazy as _,
Expand Down Expand Up @@ -993,6 +994,10 @@ class CMSAdminURL(AsTag):
)

def get_value(self, context, viewname, args, kwargs):
request = context.get("request", None)
if request and hasattr(request, "toolbar"):
with override(request.toolbar.request.toolbar.toolbar_language):
return admin_reverse(viewname, args=args, kwargs=kwargs)
return admin_reverse(viewname, args=args, kwargs=kwargs)


Expand Down
4 changes: 1 addition & 3 deletions cms/tests/test_page_admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -1502,7 +1502,7 @@ def test_page_tree_render_localized_page_ids(self):

admin_user = self.get_superuser()
root = create_page(
"home", "nav_playground.html", "fr", created_by=admin_user, published=True
"home", "nav_playground.html", "fr", created_by=admin_user,
)
with connection.cursor() as c:
c.execute('UPDATE SQLITE_SEQUENCE SET seq = 1001 WHERE name="cms_page"')
Expand All @@ -1513,7 +1513,6 @@ def test_page_tree_render_localized_page_ids(self):
"nav_playground.html",
"fr",
created_by=admin_user,
published=True,
parent=root,
slug="child-page",
)
Expand All @@ -1523,7 +1522,6 @@ def test_page_tree_render_localized_page_ids(self):
"nav_playground.html",
"fr",
created_by=admin_user,
published=True,
parent=page,
slug="grand-child-page",
)
Expand Down
9 changes: 3 additions & 6 deletions cms/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -138,8 +138,7 @@ def test_redirect_to_self_with_host(self):
def test_redirect_not_preserving_query_parameters(self):
# test redirect checking that the query parameters aren't preserved
redirect = '/en/'
one = create_page("one", "nav_playground.html", "en", published=True,
redirect=redirect)
one = create_page("one", "nav_playground.html", "en", redirect=redirect)
url = one.get_absolute_url()
params = "?param_name=param_value"
request = self.get_request(url + params)
Expand All @@ -151,8 +150,7 @@ def test_redirect_not_preserving_query_parameters(self):
def test_redirect_preserving_query_parameters(self):
# test redirect checking that query parameters are preserved
redirect = '/en/'
one = create_page("one", "nav_playground.html", "en", published=True,
redirect=redirect)
one = create_page("one", "nav_playground.html", "en", redirect=redirect)
url = one.get_absolute_url()
params = "?param_name=param_value"
request = self.get_request(url + params)
Expand All @@ -163,8 +161,7 @@ def test_redirect_preserving_query_parameters(self):
@override_settings(CMS_REDIRECT_TO_LOWERCASE_SLUG=True)
def test_redirecting_to_lowercase_slug(self):
redirect = '/en/one/'
one = create_page("one", "nav_playground.html", "en", published=True,
redirect=redirect)
one = create_page("one", "nav_playground.html", "en", redirect=redirect)
url = reverse('pages-details-by-slug', kwargs={"slug": "One"})
request = self.get_request(url)
response = details(request, one.get_path(language="en"))
Expand Down
0