summaryrefslogtreecommitdiffstats
path: root/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py
diff options
context:
space:
mode:
Diffstat (limited to 'ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py')
-rw-r--r--ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py58
1 files changed, 58 insertions, 0 deletions
diff --git a/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py b/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py
new file mode 100644
index 00000000..77ebe8dd
--- /dev/null
+++ b/ipa-server/ipa-gui/ipagui/subcontrollers/ipacontroller.py
@@ -0,0 +1,58 @@
+import cherrypy
+import turbogears
+from turbogears import controllers, expose, flash
+from turbogears import validators, validate
+from turbogears import widgets, paginate
+from turbogears import error_handler
+from turbogears import identity
+
+class IPAController(controllers.Controller):
+ def restrict_post(self):
+ if cherrypy.request.method != "POST":
+ turbogears.flash("This method only accepts posts")
+ raise turbogears.redirect("/")
+
+ def utf8_encode(self, value):
+ if value != None:
+ value = value.encode('utf-8')
+ return value
+
+ def sort_group_member(self, a, b):
+ """Comparator function used for sorting group members."""
+ if a.getValue('uid') and b.getValue('uid'):
+ if a.getValue('givenname') == b.getValue('givenname'):
+ if a.getValue('sn') == b.getValue('sn'):
+ if a.getValue('uid') == b.getValue('uid'):
+ return 0
+ elif a.getValue('uid') < b.getValue('uid'):
+ return -1
+ else:
+ return 1
+ elif a.getValue('sn') < b.getValue('sn'):
+ return -1
+ else:
+ return 1
+ elif a.getValue('givenname') < b.getValue('givenname'):
+ return -1
+ else:
+ return 1
+ elif a.getValue('uid'):
+ return -1
+ elif b.getValue('uid'):
+ return 1
+ else:
+ if a.getValue('cn') == b.getValue('cn'):
+ return 0
+ elif a.getValue('cn') < b.getValue('cn'):
+ return -1
+ else:
+ return 1
+
+ def sort_by_cn(self, a, b):
+ """Comparator function used for sorting groups."""
+ if a.getValue('cn') == b.getValue('cn'):
+ return 0
+ elif a.getValue('cn') < b.getValue('cn'):
+ return -1
+ else:
+ return 1