From c1f51cff02b0ca1bb41447134c77e5f09544b114 Mon Sep 17 00:00:00 2001 From: Tomas Babej Date: Thu, 11 Sep 2014 13:09:44 +0200 Subject: [PATCH] idviews: Raise NotFound errors if object to override could not be found If the object user wishes to override cannot be found, we should properly raise a NotFound error. Part of: https://fedorahosted.org/freeipa/ticket/3979 Reviewed-By: Petr Viktorin Reviewed-By: Petr Vobornik Reviewed-By: Alexander Bokovoy --- ipalib/plugins/idviews.py | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/ipalib/plugins/idviews.py b/ipalib/plugins/idviews.py index 098e71b2f..712e51bf0 100644 --- a/ipalib/plugins/idviews.py +++ b/ipalib/plugins/idviews.py @@ -439,6 +439,9 @@ class baseidoverride(LDAPObject): # about the domain return SID_ANCHOR_PREFIX + sid + # No acceptable object was found + api.Object['idoverride%s' % obj_type].handle_not_found(obj) + def resolve_anchor_to_object_name(self, anchor): if anchor.startswith(IPA_ANCHOR_PREFIX): @@ -477,6 +480,10 @@ class baseidoverride(LDAPObject): name = domain_validator.get_trusted_domain_object_from_sid(sid) return name + # No acceptable object was found + raise errors.NotFound( + reason=_("Anchor '%(anchor)s' could not be resolved.") + % dict(anchor=anchor)) def get_dn(self, *keys, **options): keys = keys[:-1] + (self.resolve_object_to_anchor(keys[-1]), )