0001-data_sources-return-an-empty-list-for-an-unknown-car.patch
tests/test_backoffice_pages.py | ||
---|---|---|
5848 | 5848 |
resp = resp.click('card plop') |
5849 | 5849 |
assert '<div class="value">plop</div>' in resp |
5850 | 5850 | |
5851 |
# link to a unknown carddef |
|
5852 |
carddef2.fields = [ |
|
5853 |
fields.ItemField(id='1', label='Test', type='item', |
|
5854 |
data_source={'type': 'carddef:unknown', 'value': ''}), |
|
5855 |
] |
|
5856 |
carddef2.store() |
|
5857 |
app = login(get_app(pub)) |
|
5858 |
resp = app.get('/backoffice/data/') |
|
5859 |
resp = resp.click('bar') |
|
5860 |
resp = resp.click('Add') # no error |
|
5861 | ||
5851 | 5862 |
# look without access rights |
5852 | 5863 |
carddef.backoffice_submission_roles = None |
5853 | 5864 |
carddef.workflow_roles = {'_editor': None} |
wcs/data_sources.py | ||
---|---|---|
149 | 149 |
if data_source.get('type') and data_source.get('type').startswith('carddef:'): |
150 | 150 |
# cards |
151 | 151 |
from wcs.carddef import CardDef |
152 |
carddef = CardDef.get_by_urlname(data_source['type'][8:]) |
|
152 |
try: |
|
153 |
carddef = CardDef.get_by_urlname(data_source['type'][8:]) |
|
154 |
except KeyError: |
|
155 |
return [] |
|
153 | 156 |
items = [x.get_data_source_structured_item() |
154 | 157 |
for x in carddef.data_class().select() |
155 | 158 |
if not x.is_draft()] |
156 |
- |