Revert "fixup! api: use custom digest for carddata view if defined (#55173)"
This reverts commit be5c0dfba1
.
This commit is contained in:
parent
be5c0dfba1
commit
1aea2407ce
|
@ -121,37 +121,6 @@ def test_cards_delete(pub):
|
|||
carddata.remove_self() # don't keep leftovers
|
||||
|
||||
|
||||
def test_cards_in_use_delete(pub):
|
||||
CardDef.wipe()
|
||||
carddef = CardDef()
|
||||
carddef.name = 'card title'
|
||||
carddef.fields = []
|
||||
carddef.store()
|
||||
|
||||
FormDef.wipe()
|
||||
formdef = FormDef()
|
||||
formdef.name = 'form title'
|
||||
formdef.fields = [
|
||||
fields.ItemField(id='0', label='string', type='item', data_source={'type': 'carddef:card-title'}),
|
||||
]
|
||||
formdef.store()
|
||||
|
||||
create_superuser(pub)
|
||||
|
||||
app = login(get_app(pub))
|
||||
resp = app.get('http://example.net/backoffice/cards/1/')
|
||||
resp = resp.click('Delete')
|
||||
print(resp.text)
|
||||
assert 'Deletion is not possible as it is still used as datasource.' in resp.text
|
||||
assert 'delete-button' not in resp.text
|
||||
|
||||
formdef.fields = []
|
||||
formdef.store()
|
||||
resp = app.get('http://example.net/backoffice/cards/1/')
|
||||
resp = resp.click('Delete')
|
||||
assert 'delete-button' in resp.text
|
||||
|
||||
|
||||
def test_cards_duplicate(pub):
|
||||
CardDef.wipe()
|
||||
carddef = CardDef()
|
||||
|
|
|
@ -1203,7 +1203,7 @@ class FormDefPage(Directory):
|
|||
self.formdefui.formdef.store()
|
||||
return redirect('../%s/' % self.formdefui.formdef.id)
|
||||
|
||||
def get_check_deletion_message(self):
|
||||
def get_check_count_before_deletion_message(self):
|
||||
if not get_publisher().is_using_postgresql():
|
||||
return None
|
||||
from wcs import sql
|
||||
|
@ -1219,7 +1219,7 @@ class FormDefPage(Directory):
|
|||
|
||||
def delete(self):
|
||||
form = Form(enctype='multipart/form-data')
|
||||
check_count_message = self.get_check_deletion_message()
|
||||
check_count_message = self.get_check_count_before_deletion_message()
|
||||
if check_count_message:
|
||||
form.widgets.append(HtmlWidget('<p>%s</p>' % check_count_message))
|
||||
else:
|
||||
|
|
|
@ -209,13 +209,9 @@ class CardDefPage(FormDefPage):
|
|||
self.formdefui.formdef.store()
|
||||
return response
|
||||
|
||||
def get_check_deletion_message(self):
|
||||
if self.formdef.is_used():
|
||||
return _('Deletion is not possible as it is still used as datasource.')
|
||||
|
||||
def get_check_count_before_deletion_message(self):
|
||||
if not get_publisher().is_using_postgresql():
|
||||
return None
|
||||
|
||||
criterias = [
|
||||
NotEqual('status', 'draft'),
|
||||
Null('anonymised'),
|
||||
|
|
|
@ -243,28 +243,22 @@ class CardDef(FormDef):
|
|||
items.sort(key=lambda x: misc.simplify(x['text']))
|
||||
return items
|
||||
|
||||
def is_used(self):
|
||||
for formdef in get_formdefs_of_all_kinds():
|
||||
if self.is_used_in_formdef(formdef):
|
||||
return True
|
||||
return False
|
||||
|
||||
def is_used_in_formdef(self, formdef):
|
||||
for field in formdef.fields or []:
|
||||
data_source = getattr(field, 'data_source', None)
|
||||
if not (data_source and data_source.get('type')):
|
||||
continue
|
||||
data_source_id = 'carddef:%s' % self.url_name
|
||||
if data_source.get('type') == data_source_id:
|
||||
return True
|
||||
if data_source.get('type').startswith('%s:' % data_source_id):
|
||||
# custom view
|
||||
return True
|
||||
return False
|
||||
|
||||
def usage_in_formdefs(self):
|
||||
def is_used_in_formdef(formdef):
|
||||
for field in formdef.fields or []:
|
||||
data_source = getattr(field, 'data_source', None)
|
||||
if not (data_source and data_source.get('type')):
|
||||
continue
|
||||
data_source_id = 'carddef:%s' % self.url_name
|
||||
if data_source.get('type') == data_source_id:
|
||||
return True
|
||||
if data_source.get('type').startswith('%s:' % data_source_id):
|
||||
# custom view
|
||||
return True
|
||||
return False
|
||||
|
||||
for formdef in get_formdefs_of_all_kinds():
|
||||
if self.is_used_in_formdef(formdef):
|
||||
if is_used_in_formdef(formdef):
|
||||
yield formdef
|
||||
|
||||
@classmethod
|
||||
|
|
Loading…
Reference in New Issue