api: fix dependencies KeyError inexport/import api (#65859)
gitea-wip/wcs/pipeline/head Build started...
Details
gitea-wip/wcs/pipeline/head Build started...
Details
This commit is contained in:
parent
313dee177d
commit
621ab6b8c5
|
@ -86,6 +86,10 @@ def test_export_import_form_404(pub):
|
|||
get_app(pub).get(sign_uri('/api/export-import/forms/plop/'), status=404)
|
||||
|
||||
|
||||
def test_export_import_form_dependencies_404(pub):
|
||||
get_app(pub).get(sign_uri('/api/export-import/forms/plop/dependencies/'), status=404)
|
||||
|
||||
|
||||
def test_export_import_dependencies(pub):
|
||||
formdef = FormDef()
|
||||
formdef.name = 'Test'
|
||||
|
|
|
@ -158,15 +158,12 @@ def get_object(objects, slug):
|
|||
klass = klasses.get(objects)
|
||||
if not klass:
|
||||
raise Http404()
|
||||
return klass.get_by_slug(slug)
|
||||
return klass.get_by_slug(slug, ignore_errors=True)
|
||||
|
||||
|
||||
@signature_required
|
||||
def object_export(request, objects, slug):
|
||||
try:
|
||||
obj = get_object(objects, slug)
|
||||
except KeyError:
|
||||
obj = None
|
||||
obj = get_object(objects, slug)
|
||||
if obj is None:
|
||||
raise Http404()
|
||||
etree = obj.export_to_xml(include_id=True)
|
||||
|
@ -177,6 +174,8 @@ def object_export(request, objects, slug):
|
|||
@signature_required
|
||||
def object_dependencies(request, objects, slug):
|
||||
obj = get_object(objects, slug)
|
||||
if obj is None:
|
||||
raise Http404()
|
||||
dependencies = []
|
||||
if hasattr(obj, 'get_dependencies'):
|
||||
for dependency in obj.get_dependencies():
|
||||
|
|
|
@ -756,8 +756,10 @@ class FormDef(StorableObject):
|
|||
self.workflow_options.update(variables)
|
||||
|
||||
@classmethod
|
||||
def get_by_urlname(cls, url_name, ignore_migration=False):
|
||||
return cls.get_on_index(url_name, 'url_name', ignore_migration=ignore_migration)
|
||||
def get_by_urlname(cls, url_name, ignore_migration=False, ignore_errors=False):
|
||||
return cls.get_on_index(
|
||||
url_name, 'url_name', ignore_migration=ignore_migration, ignore_errors=ignore_errors
|
||||
)
|
||||
|
||||
get_by_slug = get_by_urlname
|
||||
|
||||
|
|
|
@ -116,8 +116,8 @@ class MailTemplate(XmlStorableObject):
|
|||
return options
|
||||
|
||||
@classmethod
|
||||
def get_by_slug(cls, slug):
|
||||
mail_template = super().get_by_slug(slug, ignore_errors=True)
|
||||
def get_by_slug(cls, slug, ignore_errors=True):
|
||||
mail_template = super().get_by_slug(slug, ignore_errors=ignore_errors)
|
||||
if mail_template is None:
|
||||
get_logger().warning("mail template '%s' does not exist" % slug)
|
||||
return mail_template
|
||||
|
|
Loading…
Reference in New Issue