summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py
diff options
context:
space:
mode:
authorKarl MacMillan <kmacmill@redhat.com>2007-12-18 16:25:46 -0500
committerKarl MacMillan <kmacmill@redhat.com>2007-12-18 16:25:46 -0500
commit6575aa606f18f8d998dcad5552e4f770e9addcdf (patch)
treed75cb650b3b9f27cad0786d7aa40a5cd3f188061 /ipa-server/ipa-gui/ipagui/subcontrollers/delegation.py
parenta0eacec8e587c0fbc7e24378cef58fa7835ae64a (diff)
parent4814c0d3f6c11971b841eb6eedcd7925d8840f26 (diff)
downloadfreeipa.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.py26
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