assets: make it possible to qualify assets as not being images (#27718)
This commit is contained in:
parent
b0973b7c97
commit
9a0b497f7a
|
@ -65,13 +65,14 @@ class CkEditorAsset(object):
|
|||
|
||||
|
||||
class SlotAsset(object):
|
||||
def __init__(self, key=None, name=None, asset=None):
|
||||
def __init__(self, key=None, name=None, asset_type='image', asset=None):
|
||||
self.key = key
|
||||
self.name = name
|
||||
self.asset_type = asset_type
|
||||
self.asset = asset
|
||||
|
||||
def is_image(self):
|
||||
return bool(self.asset)
|
||||
return self.asset_type == 'image' and bool(self.asset)
|
||||
|
||||
def size(self):
|
||||
if self.asset:
|
||||
|
@ -95,7 +96,10 @@ class SlotAsset(object):
|
|||
for cell in CellBase.get_cells(cell_filter=lambda x: bool(x.get_asset_slots)):
|
||||
uniq_slots.update(cell.get_asset_slots())
|
||||
for key, value in uniq_slots.items():
|
||||
yield cls(key, name=value.get('label'), asset=assets.get(key))
|
||||
yield cls(key,
|
||||
name=value.get('label'),
|
||||
asset_type=value.get('asset-type', 'image'),
|
||||
asset=assets.get(key))
|
||||
|
||||
|
||||
class Assets(ListView):
|
||||
|
|
|
@ -107,11 +107,13 @@ class WcsFormCell(CellBase):
|
|||
suffix = ''
|
||||
if slot_template_data.get('suffix'):
|
||||
suffix = ' (%s)' % slot_template_data['suffix']
|
||||
slots['wcs:form:%s:%s' % (slot_template_key, self.formdef_reference)] = {
|
||||
slot_key = 'wcs:form:%s:%s' % (slot_template_key, self.formdef_reference)
|
||||
slots[slot_key] = {
|
||||
'label': u'%(prefix)s — %(label)s%(suffix)s' % {
|
||||
'prefix': slot_template_data['prefix'],
|
||||
'label': self.cached_title,
|
||||
'suffix': suffix}}
|
||||
slots[slot_key].update(slot_template_data)
|
||||
return slots
|
||||
|
||||
|
||||
|
@ -150,11 +152,13 @@ class WcsCommonCategoryCell(CellBase):
|
|||
suffix = ''
|
||||
if slot_template_data.get('suffix'):
|
||||
suffix = ' (%s)' % slot_template_data['suffix']
|
||||
slots['wcs:category:%s:%s' % (slot_template_key, self.category_reference)] = {
|
||||
slot_key = 'wcs:category:%s:%s' % (slot_template_key, self.category_reference)
|
||||
slots[slot_key] = {
|
||||
'label': u'%(prefix)s — %(label)s%(suffix)s' % {
|
||||
'prefix': slot_template_data['prefix'],
|
||||
'label': self.cached_title,
|
||||
'suffix': suffix}}
|
||||
slots[slot_key].update(slot_template_data)
|
||||
return slots
|
||||
|
||||
|
||||
|
|
|
@ -762,6 +762,7 @@ def test_asset_slots_management(app, admin_user):
|
|||
'image/png')
|
||||
resp = resp.form.submit().follow()
|
||||
assert 'test2.png' in resp.text
|
||||
assert '<img data-href' in resp.text # thumbnail
|
||||
assert '>Delete<' in resp.text
|
||||
assert Asset.objects.filter(key='collectivity:banner').count() == 1
|
||||
|
||||
|
@ -773,6 +774,19 @@ def test_asset_slots_management(app, admin_user):
|
|||
|
||||
resp = app.get('/assets/collectivity:banner', status=404)
|
||||
|
||||
with override_settings(COMBO_ASSET_SLOTS={'collectivity:cgu': {'label': 'CGU', 'asset-type': 'document'}}):
|
||||
resp = app.get('/manage/assets/')
|
||||
assert '>CGU<' in resp.text
|
||||
assert '>Delete<' not in resp.text
|
||||
|
||||
resp = resp.click('Overwrite')
|
||||
resp.form['upload'] = Upload('test.pdf', 'PDF-1.4 ...', 'application.pdf')
|
||||
resp = resp.form.submit().follow()
|
||||
assert 'test.pdf' in resp.text
|
||||
assert '<img data-href' not in resp.text # no thumbnail
|
||||
assert '>Delete<' in resp.text
|
||||
assert Asset.objects.filter(key='collectivity:cgu').count() == 1
|
||||
|
||||
def test_menu_json(app, admin_user):
|
||||
app.get('/manage/menu.json', status=302)
|
||||
|
||||
|
|
Loading…
Reference in New Issue