diff options
author | Karl MacMillan <kmacmill@redhat.com> | 2007-12-18 16:25:46 -0500 |
---|---|---|
committer | Karl MacMillan <kmacmill@redhat.com> | 2007-12-18 16:25:46 -0500 |
commit | 6575aa606f18f8d998dcad5552e4f770e9addcdf (patch) | |
tree | d75cb650b3b9f27cad0786d7aa40a5cd3f188061 /ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py | |
parent | a0eacec8e587c0fbc7e24378cef58fa7835ae64a (diff) | |
parent | 4814c0d3f6c11971b841eb6eedcd7925d8840f26 (diff) | |
download | freeipa.git-6575aa606f18f8d998dcad5552e4f770e9addcdf.tar.gz freeipa.git-6575aa606f18f8d998dcad5552e4f770e9addcdf.tar.xz freeipa.git-6575aa606f18f8d998dcad5552e4f770e9addcdf.zip |
Merge.
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py')
-rw-r--r-- | ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py b/ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py index cee239e7..2319b944 100644 --- a/ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py +++ b/ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py @@ -56,6 +56,25 @@ class DelegationController(IPAController): turbogears.flash("Add delegation cancelled") raise turbogears.redirect('/delegate/list') + # Try to handle the case where the user entered just some data + # into the source/dest group name but didn't do a Find. We'll do + # our best to see if a group by that name exists and if so, use it. + dest_group_dn = kw.get('dest_group_dn') + dest_group_cn = kw.get('dest_group_cn') + if not dest_group_dn and dest_group_cn: + try: + group = client.get_entry_by_cn(dest_group_cn, ['dn']) + kw['dest_group_dn'] = group.dn + except: + kw['dest_group_cn'] = "Please choose:" + source_group_dn = kw.get('source_group_dn') + source_group_cn = kw.get('source_group_cn') + if not source_group_dn and source_group_cn: + try: + group = client.get_entry_by_cn(source_group_cn, ['dn']) + kw['source_group_dn'] = group.dn + except: + kw['source_group_cn'] = "Please choose:" tg_errors, kw = self.delegatevalidate(**kw) if tg_errors: turbogears.flash("There were validation errors.<br/>" + @@ -292,4 +311,11 @@ class DelegationController(IPAController): @validate(form=delegate_form) @identity.require(identity.not_anonymous()) def delegatevalidate(self, tg_errors=None, **kw): + # We are faking this because otherwise it shows up as one huge + # block of color in the UI when it has a not empty validator. + if not kw.get('attrs'): + if not tg_errors: + tg_errors = {} + tg_errors['attrs'] = _("Please select at least one value") + cherrypy.request.validation_errors = tg_errors return tg_errors, kw |