From 6c9b3b02a4578f9985b343e4d6f716a7b829b8f0 Mon Sep 17 00:00:00 2001 From: Ana Krivokapic Date: Nov 15 2013 11:46:07 +0000 Subject: Fix error message when adding duplicate automember rule Also fix object_name and object_name_plural for automember rules. https://fedorahosted.org/freeipa/ticket/2708 --- diff --git a/install/ui/test/data/ipa_init_objects.json b/install/ui/test/data/ipa_init_objects.json index 8550e82..2367cf4 100644 --- a/install/ui/test/data/ipa_init_objects.json +++ b/install/ui/test/data/ipa_init_objects.json @@ -52,8 +52,8 @@ "automemberregexrule" ], "object_class_config": null, - "object_name": "auto_member_rule", - "object_name_plural": "auto_member_rules", + "object_name": "Automember rule", + "object_name_plural": "Automember rules", "parent_object": "", "rdn_attribute": "", "relationships": { diff --git a/ipalib/plugins/automember.py b/ipalib/plugins/automember.py index fc696cc..71f9a83 100644 --- a/ipalib/plugins/automember.py +++ b/ipalib/plugins/automember.py @@ -172,8 +172,8 @@ class automember(LDAPObject): container_dn = api.env.container_automember - object_name = 'auto_member_rule' - object_name_plural = 'auto_member_rules' + object_name = 'Automember rule' + object_name_plural = 'Automember rules' object_class = ['top', 'automemberregexrule'] default_attributes = [ 'automemberinclusiveregex', 'automemberexclusiveregex', diff --git a/ipalib/plugins/baseldap.py b/ipalib/plugins/baseldap.py index 503696e..eab8d74 100644 --- a/ipalib/plugins/baseldap.py +++ b/ipalib/plugins/baseldap.py @@ -582,9 +582,10 @@ class LDAPObject(Object): ) def handle_duplicate_entry(self, *keys): - pkey = '' - if self.primary_key: + try: pkey = keys[-1] + except KeyError: + pkey = '' raise errors.DuplicateEntry( message=self.already_exists_msg % { 'pkey': pkey, 'oname': self.object_name, diff --git a/ipatests/test_xmlrpc/test_automember_plugin.py b/ipatests/test_xmlrpc/test_automember_plugin.py index fe66f10..9453ebb 100644 --- a/ipatests/test_xmlrpc/test_automember_plugin.py +++ b/ipatests/test_xmlrpc/test_automember_plugin.py @@ -97,7 +97,7 @@ class test_automember(Declarative): dict( desc='Try to delete non-existent group rule %r' % group1, command=('automember_del', [group1], dict(type=u'group')), - expected=errors.NotFound(reason=u': auto_member_rule not found'), + expected=errors.NotFound(reason=u': Automember rule not found'), ), @@ -119,7 +119,7 @@ class test_automember(Declarative): dict( desc='Try to delete non-existent hostgroup rule %r' % hostgroup1, command=('automember_del', [hostgroup1], dict(type=u'hostgroup')), - expected=errors.NotFound(reason=u': auto_member_rule not found'), + expected=errors.NotFound(reason=u': Automember rule not found'), ), # Automember rebuild membership tests