From c4ab64cabca33d19b9ec4ed9dd3ab801671339d8 Mon Sep 17 00:00:00 2001
From: Kevin McCarthy
" + str(e.detail))
+ return dict(form=group_new_form, tg_template='ipagui.templates.groupnew')
+
+ @validate(form=group_new_form)
+ @identity.require(identity.not_anonymous())
+ def groupcreatevalidate(self, tg_errors=None, **kw):
+ return tg_errors, kw
+
+ @validate(form=group_edit_form)
+ @identity.require(identity.not_anonymous())
+ def groupupdatevalidate(self, tg_errors=None, **kw):
+ return tg_errors, kw
diff --git a/ipa-server/ipa-gui/ipagui/forms/group.py b/ipa-server/ipa-gui/ipagui/forms/group.py
new file mode 100644
index 000000000..0dd9ef2d0
--- /dev/null
+++ b/ipa-server/ipa-gui/ipagui/forms/group.py
@@ -0,0 +1,48 @@
+import turbogears
+from turbogears import validators, widgets
+
+class GroupFields():
+ cn = widgets.TextField(name="cn", label="Name")
+ gidnumber = widgets.TextField(name="gidnumber", label="GID")
+ description = widgets.TextField(name="description", label="Description")
+
+ cn_hidden = widgets.HiddenField(name="cn")
+
+ group_orig = widgets.HiddenField(name="group_orig")
+
+class GroupNewValidator(validators.Schema):
+ cn = validators.PlainText(not_empty=True)
+ description = validators.String(not_empty=False)
+
+
+class GroupNewForm(widgets.Form):
+ params = ['group']
+
+ fields = [GroupFields.cn, GroupFields.description]
+
+ validator = GroupNewValidator()
+
+ def __init__(self, *args, **kw):
+ super(GroupNewForm,self).__init__(*args, **kw)
+ (self.template_c, self.template) = widgets.meta.load_kid_template("ipagui.templates.groupnewform")
+ self.group = GroupFields
+
+ def update_params(self, params):
+ super(GroupNewForm,self).update_params(params)
+
+
+class GroupEditValidator(validators.Schema):
+ gidnumber = widgets.TextField(name="gidnumber", label="GID")
+ description = widgets.TextField(name="description", label="Description")
+
+class GroupEditForm(widgets.Form):
+ params = ['group']
+
+ fields = [GroupFields.gidnumber, GroupFields.description]
+
+ validator = GroupEditValidator()
+
+ def __init__(self, *args, **kw):
+ super(GroupEditForm,self).__init__(*args, **kw)
+ (self.template_c, self.template) = widgets.meta.load_kid_template("ipagui.templates.groupeditform")
+ self.group = GroupFields
diff --git a/ipa-server/ipa-gui/ipagui/forms/user.py b/ipa-server/ipa-gui/ipagui/forms/user.py
index c5478bf8a..0fc6761f6 100644
--- a/ipa-server/ipa-gui/ipagui/forms/user.py
+++ b/ipa-server/ipa-gui/ipagui/forms/user.py
@@ -65,6 +65,8 @@ class UserEditValidator(validators.Schema):
givenname = validators.String(not_empty=True)
sn = validators.String(not_empty=True)
mail = validators.Email(not_empty=True)
+ uidnumber = validators.Int(not_empty=False)
+ gidnumber = validators.Int(not_empty=False)
# validators.PhoneNumber may be a bit too picky, requiring an area code
# telephonenumber = validators.PlainText(not_empty=False)
diff --git a/ipa-server/ipa-gui/ipagui/templates/groupnew.kid b/ipa-server/ipa-gui/ipagui/templates/groupnew.kid
new file mode 100644
index 000000000..6efb7028b
--- /dev/null
+++ b/ipa-server/ipa-gui/ipagui/templates/groupnew.kid
@@ -0,0 +1,13 @@
+
+
+
+
+ Add Group
+
+ ${form.display(action="groupcreate")}
+
+
diff --git a/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid b/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid
new file mode 100644
index 000000000..66b7c43bb
--- /dev/null
+++ b/ipa-server/ipa-gui/ipagui/templates/groupnewform.kid
@@ -0,0 +1,55 @@
+
- Add Group
+ Add Group
Find Groups
-- cgit