manager: fix cell form rendering when disabled (#87871)
gitea/combo/pipeline/head This commit looks good Details

This commit is contained in:
Lauréline Guérin 2024-03-08 11:09:52 +01:00
parent 9f6ca2c862
commit 057c8f49a0
No known key found for this signature in database
GPG Key ID: 1FAB9B9B4F93D473
6 changed files with 29 additions and 34 deletions

View File

@ -41,7 +41,7 @@ class ChartForm(forms.ModelForm):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
available_charts = []
for site_dict in settings.KNOWN_SERVICES.get('bijoe').values():
for site_dict in (settings.KNOWN_SERVICES.get('bijoe') or {}).values():
result = requests.get(
'/visualization/json/',
remote_service=site_dict,

View File

@ -109,7 +109,7 @@ class RecentDocumentsCell(CellBase):
def get_fargo_services():
return settings.KNOWN_SERVICES.get('fargo') or []
return settings.KNOWN_SERVICES.get('fargo') or {}
def get_fargo_site(fargo_site):

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

@ -47,6 +47,7 @@ from combo.data.models import (
ValidityInfo,
)
from combo.manager.forms import PageAddForm, PageSelectTemplateForm
from tests.wcs.utils import mocked_requests_send
from .utils import manager_submit_cell
@ -3407,18 +3408,8 @@ def test_manager_placeholder_grid(app, admin_user):
assert set(cell.extra_css_class.split()) == {'plop', 'size--t1-2'}
def test_manager_inspect_page(settings, app, admin_user):
settings.KNOWN_SERVICES = {
'fargo': {
'default': {
'title': 'test',
'url': 'http://example.org',
'secret': 'combo',
'orig': 'combo',
'backoffice-menu-url': 'http://example.org/manage/',
}
}
}
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
def test_manager_inspect_page(mock_send, app, admin_user):
page = Page.objects.create(title='Page', slug='page')
for klass in get_cell_classes():
klass.objects.create(page=page, placeholder='content', order=0)

View File

@ -157,20 +157,6 @@ def test_form_cell_load(mock_send):
assert cell.cached_title == 'too long form title' + 'e' * 231
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
def test_category_cell_feature_flag(mock_send, settings, app, admin_user):
page = Page.objects.create(title='xxx', slug='test', template_name='standard')
WcsCategoryCell.objects.create(page=page, placeholder='content', order=0)
app = login(app)
resp = app.get('/manage/pages/%s/' % page.pk)
assert not resp.pyquery('[data-tab-slug="general"] select[name$="category_reference"]')
settings.CATEGORY_CELL_ENABLED = True
resp = app.get('/manage/pages/%s/' % page.pk)
assert resp.pyquery('[data-tab-slug="general"] select[name$="category_reference"]')
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
def test_category_cell_save_cache(mock_send, settings):
settings.CATEGORY_CELL_ENABLED = True
@ -253,10 +239,6 @@ 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"]')
settings.CATEGORIES_CELL_ENABLED = True
resp = app.get('/manage/pages/%s/' % page.pk)
assert resp.pyquery('[data-tab-slug="general"] select[name$="wcs_site"]')
default = settings.KNOWN_SERVICES['wcs']['default']

View File

@ -18,6 +18,7 @@ from requests.exceptions import ConnectionError
from requests.models import Response
from webtest import TestResponse
from combo.apps.lingo.models import InvoicesCell
from combo.apps.wcs.forms import WcsCardCellDisplayForm
from combo.apps.wcs.models import WcsCardCell
from combo.apps.wcs.utils import get_wcs_services
@ -751,6 +752,29 @@ def test_manager_card_cell_tabs(mock_send, app, admin_user):
assert resp.pyquery('[data-tab-slug="display"] input[name$="customize_display"]')
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
def test_manager_invoices_cell_tabs_with_card_cell(mock_send, app, admin_user):
page = Page.objects.create(title='xxx', slug='test', template_name='standard')
cell = InvoicesCell.objects.create(
regie='remote', display_mode='active', page=page, placeholder='content', order=1
)
assert cell.is_enabled() is False
app = login(app)
resp = app.get('/manage/pages/%s/' % page.id, status=200)
# assert resp.pyquery('[data-tab-slug="general"] input')
assert not resp.pyquery('.invoices-cell [data-tab-slug="general"] input[name$="title"]')
assert resp.pyquery('.invoices-cell [data-tab-slug="appearance"] input[name$="title"]')
cell2 = WcsCardCell.objects.create(page=page, placeholder='content', order=0)
resp = app.get('/manage/pages/%s/' % page.id, status=200)
assert resp.pyquery('.invoices-cell [data-tab-slug="general"] input')
assert not resp.pyquery(
'.invoices-cell [data-tab-slug="general"] input#id_cwcs_wcscardcell-%s-card_ids' % cell2.pk
)
@mock.patch('requests.Session.send', side_effect=mocked_requests_send)
def test_manager_card_cell_filters(mock_send, app, admin_user):
page = Page.objects.create(title='xxx', slug='test_cards', template_name='standard', sub_slug='foobar')