manager: hide properly disabled cells (#85720)
gitea/combo/pipeline/head This commit looks good Details

This commit is contained in:
Valentin Deniaud 2024-01-22 11:37:58 +01:00
parent 9b491b824f
commit 50de7c0b96
5 changed files with 16 additions and 8 deletions

View File

@ -32,8 +32,6 @@ def cell_form(context, cell):
for tab in context['manager_tabs']:
if tab['slug'] == 'general':
form_name = 'form'
if not cell.is_enabled():
continue
else:
form_name = '%s_form' % tab['slug']
if tab.get('fields'):

View File

@ -492,7 +492,9 @@ class PageView(ManagedPageMixin, DetailView):
'key': placeholder.key,
'name': placeholder.get_name(),
}
placeholder_dict['cells'] = [x for x in cells if x.placeholder == placeholder.key]
placeholder_dict['cells'] = [
x for x in cells if x.placeholder == placeholder.key if x.is_enabled()
]
# not optional placeholder
if not placeholder.optional:

View File

@ -634,15 +634,22 @@ def test_configure_invoices_cell(app, admin_user, payment_backend):
assert InvoicesCell.objects.get(id=cell.id).regie == regie2.slug
def test_manager_invoices_cell_tabs(app, admin_user):
def test_manager_invoices_cell_tabs(app, admin_user, payment_backend):
page = Page(title='xxx', slug='test', template_name='standard')
page.save()
Regie.objects.create(
label='test-regie2',
slug='test-regie2',
payment_backend=payment_backend,
webservice_url='http://example.net',
)
cell = InvoicesCell(regie='remote', display_mode='active', page=page, placeholder='content', order=0)
cell.save()
app = login(app)
resp = app.get('/manage/pages/%s/' % page.id, status=200)
assert resp.pyquery('[data-tab-slug="general"]')
assert not resp.pyquery('[data-tab-slug="general"] input[name$="title"]')
assert resp.pyquery('[data-tab-slug="appearance"] input[name$="title"]')

View File

@ -313,12 +313,13 @@ def test_add_delete_layer(app, admin_user, layer, tiles_layer):
assert MapLayerOptions.objects.count() == 0
def test_manager_maps_cell_tabs(app, admin_user):
def test_manager_maps_cell_tabs(app, admin_user, layer):
page = Page.objects.create(title='One', slug='one', template_name='standard')
Map.objects.create(page=page, placeholder='content', order=0, public=True, title='Map')
app = login(app)
resp = app.get('/manage/pages/%s/' % page.pk)
assert resp.pyquery('[data-tab-slug="general"]')
assert not resp.pyquery('[data-tab-slug="general"] input[name$="title"]')
assert resp.pyquery('[data-tab-slug="appearance"] input[name$="title"]')

View File

@ -164,11 +164,11 @@ def test_category_cell_feature_flag(mock_send, settings, app, admin_user):
app = login(app)
resp = app.get('/manage/pages/%s/' % page.pk)
assert not resp.pyquery('[data-tab-slug="general"] select[name$="category_reference"]')
assert 'wcscategorycell' not in resp.text
settings.CATEGORY_CELL_ENABLED = True
resp = app.get('/manage/pages/%s/' % page.pk)
assert resp.pyquery('[data-tab-slug="general"] select[name$="category_reference"]')
assert 'wcscategorycell' in resp.text
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
@ -253,7 +253,7 @@ def test_manager_categories_cell(mock_send, settings, app, admin_user):
app = login(app)
resp = app.get('/manage/pages/%s/' % page.pk)
assert not resp.pyquery('[data-tab-slug="general"] select[name$="wcs_site"]')
assert 'wcscategorycell' not in resp.text
settings.CATEGORIES_CELL_ENABLED = True
resp = app.get('/manage/pages/%s/' % page.pk)