summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/controllers.py
diff options
context:
space:
mode:
authorKevin McCarthy <kmccarth@redhat.com>2007-08-10 16:31:59 -0700
committerKevin McCarthy <kmccarth@redhat.com>2007-08-10 16:31:59 -0700
commit10cbfe87876f536a51f3420945429cd82b7716b6 (patch)
tree6a2c277f659e711a3aa5cfb8517a40000bdb3bb5 /ipa-server/ipa-gui/ipagui/controllers.py
parent2e1f317b092e2ad28dde3f78159fbeea1e07557b (diff)
downloadfreeipa.git-10cbfe87876f536a51f3420945429cd82b7716b6.tar.gz
freeipa.git-10cbfe87876f536a51f3420945429cd82b7716b6.tar.xz
freeipa.git-10cbfe87876f536a51f3420945429cd82b7716b6.zip
Split userform into edit and new forms.
(They will likely diverge so no sense forcing them together). Add css for required fields. Add "_orig" hidden fields to the edit form in prep for sending only modified fields.
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/controllers.py')
-rw-r--r--ipa-server/ipa-gui/ipagui/controllers.py43
1 files changed, 24 insertions, 19 deletions
diff --git a/ipa-server/ipa-gui/ipagui/controllers.py b/ipa-server/ipa-gui/ipagui/controllers.py
index 361a5cbd..ec4b8719 100644
--- a/ipa-server/ipa-gui/ipagui/controllers.py
+++ b/ipa-server/ipa-gui/ipagui/controllers.py
@@ -7,7 +7,6 @@ from turbogears import error_handler
# from model import *
# import logging
# log = logging.getLogger("ipagui.controllers")
-# import ipa.rpcclient
import ipa.config
import ipa.ipaclient
import ipa.user
@@ -15,7 +14,8 @@ import xmlrpclib
import forms.user
ipa.config.init_config()
-user_form = forms.user.UserFormWidget()
+user_new_form = forms.user.UserNewForm()
+user_edit_form = forms.user.UserEditForm()
client = ipa.ipaclient.IPAClient(True)
client.set_principal("test@FREEIPA.ORG")
@@ -32,8 +32,12 @@ def user_to_hash(user):
'sn' : user.getValue('sn'),
'mail' : user.getValue('mail'),
'telephoneNumber': user.getValue('telephoneNumber'),
- 'uidNumber': user.getValue('uidNumber'),
- 'gidNumber': user.getValue('gidNumber'),
+ 'uidNumber' : user.getValue('uidNumber'),
+ 'gidNumber' : user.getValue('gidNumber'),
+ 'givenName_orig' : user.getValue('givenName'),
+ 'sn_orig' : user.getValue('sn'),
+ 'mail_orig' : user.getValue('mail'),
+ 'telephoneNumber_orig': user.getValue('telephoneNumber'),
}
class Root(controllers.RootController):
@@ -53,7 +57,7 @@ class Root(controllers.RootController):
if tg_errors:
turbogears.flash("There was a problem with the form!")
- return dict(form=user_form)
+ return dict(form=user_new_form)
@expose()
def usercreate(self, **kw):
@@ -63,12 +67,11 @@ class Root(controllers.RootController):
turbogears.flash("Add user cancelled")
raise turbogears.redirect('/userlist')
- tg_errors, kw = self.uservalidate(**kw)
+ tg_errors, kw = self.usercreatevalidate(**kw)
if tg_errors:
- return dict(form=user_form, tg_template='ipagui.templates.usernew')
+ return dict(form=user_new_form, tg_template='ipagui.templates.usernew')
try:
- # rv = ipa.rpcclient.add_user(kw)
newuser = ipa.user.User(None)
newuser.setValue('uid', kw['uid'])
newuser.setValue('givenName', kw['givenName'])
@@ -87,7 +90,7 @@ class Root(controllers.RootController):
raise turbogears.redirect('/usershow', uid=kw['uid'])
except xmlrpclib.Fault, f:
turbogears.flash("User add failed: " + str(f.faultString))
- return dict(form=user_form, tg_template='ipagui.templates.usernew')
+ return dict(form=user_new_form, tg_template='ipagui.templates.usernew')
@expose("ipagui.templates.useredit")
@@ -96,9 +99,8 @@ class Root(controllers.RootController):
if tg_errors:
turbogears.flash("There was a problem with the form!")
- # user = ipa.rpcclient.get_user(uid)
user = client.get_user(uid)
- return dict(form=user_form, user=user_to_hash(user))
+ return dict(form=user_edit_form, user=user_to_hash(user))
@expose()
def userupdate(self, **kw):
@@ -108,24 +110,24 @@ class Root(controllers.RootController):
turbogears.flash("Edit user cancelled")
raise turbogears.redirect('/usershow', uid=kw.get('uid'))
- tg_errors, kw = self.uservalidate(**kw)
+ tg_errors, kw = self.userupdatevalidate(**kw)
if tg_errors:
- return dict(form=user_form, user={}, tg_template='ipagui.templates.useredit')
+ return dict(form=user_edit_form, user=kw,
+ tg_template='ipagui.templates.useredit')
try:
- # rv = ipa.rpcclient.add_user(kw)
turbogears.flash("%s updated!" % kw['uid'])
raise turbogears.redirect('/usershow', uid=kw['uid'])
except xmlrpclib.Fault, f:
turbogears.flash("User add failed: " + str(f.faultString))
- return dict(form=user_form, user={}, tg_template='ipagui.templates.useredit')
+ return dict(form=user_edit_form, user=kw,
+ tg_template='ipagui.templates.useredit')
@expose("ipagui.templates.userlist")
@paginate('users', limit=3, allow_limit_override=True)
def userlist(self):
"""Retrieve a list of all users and display them in one huge list"""
- # users = ipa.rpcclient.get_all_users()
users = client.get_all_users()
return dict(users=users)
@@ -134,15 +136,18 @@ class Root(controllers.RootController):
def usershow(self, uid):
"""Retrieve a single user for display"""
try:
- # user = ipa.rpcclient.get_user(uid)
user = client.get_user(uid)
return dict(user=user_to_hash(user))
except xmlrpclib.Fault, f:
turbogears.flash("User show failed: " + str(f.faultString))
raise turbogears.redirect("/")
- @validate(form=user_form)
- def uservalidate(self, tg_errors=None, **kw):
+ @validate(form=user_new_form)
+ def usercreatevalidate(self, tg_errors=None, **kw):
+ return tg_errors, kw
+
+ @validate(form=user_edit_form)
+ def userupdatevalidate(self, tg_errors=None, **kw):
return tg_errors, kw
@expose()