[Freeipa-devel] [PATCH] fix duplicate entry error

Kevin McCarthy kmccarth at redhat.com
Fri Sep 7 23:48:14 UTC 2007


A last batch of minuscule fixes, after finally getting the demo
environment up again.

-Kevin

-------------- next part --------------
# HG changeset patch
# User Kevin McCarthy <kmccarth at redhat.com>
# Date 1189209214 25200
# Node ID 5b206b60249e0a33f700db71c011c09a25fe6808
# Parent  4daefc6ef68c12235fa3756f1b7f49564f758a1e
Fix duplicate entry error to be more descriptive.
Add TurboGears to required package list
Clear password on Edit Person page.
Change uidnumber/gidnumber on Add Person to say 'Generated by server'

diff -r 4daefc6ef68c -r 5b206b60249e ipa-server/ipa-gui/ipagui/controllers.py
--- a/ipa-server/ipa-gui/ipagui/controllers.py	Fri Sep 07 15:59:54 2007 -0700
+++ b/ipa-server/ipa-gui/ipagui/controllers.py	Fri Sep 07 16:53:34 2007 -0700
@@ -94,6 +94,10 @@ class Root(controllers.RootController):
             rv = client.add_user(new_user)
             turbogears.flash("%s added!" % kw['uid'])
             raise turbogears.redirect('/usershow', uid=kw['uid'])
+        except ipaerror.exception_for(ipaerror.LDAP_DUPLICATE):
+            turbogears.flash("Person with login '%s' already exists" %
+                    kw.get('uid'))
+            return dict(form=user_new_form, tg_template='ipagui.templates.usernew')
         except ipaerror.IPAError, e:
             turbogears.flash("User add failed: " + str(e))
             return dict(form=user_new_form, tg_template='ipagui.templates.usernew')
@@ -107,6 +111,10 @@ class Root(controllers.RootController):
 
         user = client.get_user_by_uid(uid, user_fields)
         user_dict = user.toDict()
+        # Edit shouldn't fill in the password field.
+        if user_dict.has_key('userpassword'):
+            del(user_dict['userpassword'])
+
         # store a copy of the original user for the update later
         user_data = b64encode(dumps(user_dict))
         user_dict['user_orig'] = user_data
diff -r 4daefc6ef68c -r 5b206b60249e ipa-server/ipa-gui/ipagui/forms/user.py
--- a/ipa-server/ipa-gui/ipagui/forms/user.py	Fri Sep 07 15:59:54 2007 -0700
+++ b/ipa-server/ipa-gui/ipagui/forms/user.py	Fri Sep 07 16:53:34 2007 -0700
@@ -43,7 +43,6 @@ class UserNewForm(widgets.Form):
     params = ['user']
 
     fields = [UserFields.uid, UserFields.givenname,
-              UserFields.uidnumber, UserFields.gidnumber,
               UserFields.sn, UserFields.mail]
 
     validator = UserNewValidator()
diff -r 4daefc6ef68c -r 5b206b60249e ipa-server/ipa-gui/ipagui/templates/usernewform.kid
--- a/ipa-server/ipa-gui/ipagui/templates/usernewform.kid	Fri Sep 07 15:59:54 2007 -0700
+++ b/ipa-server/ipa-gui/ipagui/templates/usernewform.kid	Fri Sep 07 16:53:34 2007 -0700
@@ -125,9 +125,7 @@
             py:content="user.uidnumber.label" />:
         </th>
         <td>
-          <span py:replace="user.uidnumber.display(value_for(user.uidnumber))" />
-          <span py:if="tg.errors.get('uidnumber')" class="fielderror"
-              py:content="tg.errors.get('uidnumber')" />
+          Generated by server
         </td>
       </tr>
 
@@ -137,9 +135,7 @@
             py:content="user.gidnumber.label" />:
         </th>
         <td>
-          <span py:replace="user.gidnumber.display(value_for(user.gidnumber))" />
-          <span py:if="tg.errors.get('gidnumber')" class="fielderror"
-              py:content="tg.errors.get('gidnumber')" />
+          Generated by server
         </td>
       </tr>
     </table>
diff -r 4daefc6ef68c -r 5b206b60249e ipa-server/ipa-install/README
--- a/ipa-server/ipa-install/README	Fri Sep 07 15:59:54 2007 -0700
+++ b/ipa-server/ipa-install/README	Fri Sep 07 16:53:34 2007 -0700
@@ -18,6 +18,7 @@ mod_python
 mod_python
 gcc
 python-ldap
+TurboGears
 
 Installation example:
 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 2228 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/freeipa-devel/attachments/20070907/45d5803e/attachment.bin>


More information about the Freeipa-devel mailing list