data: add cell get_ajax_url method (#66956)

This commit is contained in:
Valentin Deniaud 2022-07-05 10:54:02 +02:00
parent 1f94e32a17
commit 0996d0923a
3 changed files with 9 additions and 2 deletions

View File

@ -3,7 +3,7 @@
{% for tile in tiles %}
{% with cell=tile.cell %}
<div class="cell {{ cell.css_class_names }} {% if cell.slug %}{{cell.slug}}{% endif %}"
data-ajax-cell-url="{{ site_base }}{% url 'combo-public-ajax-page-cell' page_pk=cell.page.id cell_reference=cell.get_reference %}"
data-ajax-cell-url="{{ site_base }}{{ cell.get_ajax_url }}"
data-ajax-cell-loading-message="{{ cell.loading_message }}"
data-ajax-cell-error-message="{% trans "Loading error" %}"
{% if cell.ajax_refresh %}

View File

@ -54,6 +54,7 @@ from django.template import (
engines,
)
from django.test.client import RequestFactory
from django.urls import reverse
from django.utils import timezone
from django.utils.encoding import force_text, smart_bytes
from django.utils.html import strip_tags
@ -862,6 +863,12 @@ class CellBase(models.Model, metaclass=CellMeta):
def get_additional_label(self):
return ''
def get_ajax_url(self):
return reverse(
'combo-public-ajax-page-cell',
kwargs={'page_pk': self.page_id, 'cell_reference': self.get_reference()},
)
def get_manager_visibility_css_class(self):
if self.public:
return 'visibility-all' if not self.restricted_to_unlogged else ''

View File

@ -8,7 +8,7 @@
{% for cell in cells %}
<div class="cell {{ cell.css_class_names }} {{ cell.asset_css_classes }}{% if cell.slug %} {{cell.slug}}{% endif %}{% if cell|shown_because_admin:request %} shown-because-admin{% endif %}"
{% if cell.slug and cell.use_slug_as_id %}id="{{ cell.slug }}"{% endif %}
data-ajax-cell-url="{{ site_base }}{% url 'combo-public-ajax-page-cell' page_pk=cell.page_id cell_reference=cell.get_reference %}"
data-ajax-cell-url="{{ site_base }}{{ cell.get_ajax_url }}"
data-ajax-cell-loading-message="{{ cell.loading_message }}"
data-ajax-cell-error-message="{% trans "Loading error" %}"
{% if cell.ajax_refresh %}data-ajax-cell-refresh="{{ cell.ajax_refresh }}"{% endif %}