misc: mark some cells as requiring a session (#69301)
This commit is contained in:
parent
5972b44739
commit
871742a416
|
@ -862,6 +862,7 @@ class WcsCardCell(CardMixin, CellBase):
|
|||
cached_json = JSONField(blank=True, default=dict)
|
||||
|
||||
is_enabled = classmethod(is_wcs_enabled)
|
||||
session_required = True
|
||||
|
||||
manager_appearance_template = 'combo/wcs/manager/card-cell-form-appearance.html'
|
||||
|
||||
|
|
|
@ -848,6 +848,7 @@ class CellBase(models.Model, metaclass=CellMeta):
|
|||
user_dependant = False
|
||||
default_template_name = None
|
||||
max_one_by_page = False
|
||||
session_required = False
|
||||
|
||||
# get_badge(self, context); set to None so cell types can be skipped easily
|
||||
get_badge = None
|
||||
|
@ -2053,6 +2054,7 @@ class JsonCellBase(CellBase):
|
|||
make_global = False
|
||||
actions = {}
|
||||
additional_data = None
|
||||
session_required = True
|
||||
# [
|
||||
# {'key': ...,
|
||||
# 'url': ...,
|
||||
|
|
|
@ -570,6 +570,10 @@ def publish_page(request, page, status=200, template_name=None):
|
|||
for cell in cells:
|
||||
cell._assets = {a.key: a for a in assets if a.key in cell._asset_keys.keys()}
|
||||
|
||||
# create a session if required by a cell
|
||||
if not request.session.session_key and any(cell.session_required for cell in cells):
|
||||
request.session.cycle_key()
|
||||
|
||||
ctx.update(
|
||||
{
|
||||
'page_cells': cells,
|
||||
|
|
Loading…
Reference in New Issue