mango r212 - in branches/django: . mango
- From: ovitters svn gnome org
- To: svn-commits-list gnome org,gnome-sysadmin gnome org
- Subject: mango r212 - in branches/django: . mango
- Date: Sat, 21 Jun 2008 23:45:50 +0000 (UTC)
Author: ovitters
Date: Sat Jun 21 23:45:50 2008
New Revision: 212
URL: http://svn.gnome.org/viewvc/mango?rev=212&view=rev
Log:
* mango/urls.py: Add new view 'edit_user'.
* mango/views.py (edit_user): Add new view. Get uid information from
ldap and give it to the template. Doesn't show everything in the
template and also fails to do actually do anything.
Modified:
branches/django/ (props changed)
branches/django/ChangeLog
branches/django/mango/urls.py
branches/django/mango/views.py
Modified: branches/django/mango/urls.py
==============================================================================
--- branches/django/mango/urls.py (original)
+++ branches/django/mango/urls.py Sat Jun 21 23:45:50 2008
@@ -1,6 +1,6 @@
from django.conf.urls.defaults import *
-from mango.views import current_datetime, list_users, test_index, list_accounts
+from mango.views import current_datetime, list_users, test_index, list_accounts, edit_user
import mango.settings
urlpatterns = patterns('',
@@ -8,6 +8,7 @@
(r'^%susers/$' % mango.settings.SITE_ROOT, list_users),
(r'^%stest/$' % mango.settings.SITE_ROOT, test_index),
(r'^%saccounts/$' % mango.settings.SITE_ROOT, list_accounts),
+ (r'^%susers/edit/(?P<user>\w+)/$' % mango.settings.SITE_ROOT, edit_user),
# Example:
# (r'^mango/', include('mango.foo.urls')),
Modified: branches/django/mango/views.py
==============================================================================
--- branches/django/mango/views.py (original)
+++ branches/django/mango/views.py Sat Jun 21 23:45:50 2008
@@ -3,6 +3,7 @@
import datetime
import ldap
+import ldap.filter
import models
try:
@@ -67,6 +68,41 @@
return get_xmlresponse(doc, "../www/list_users.xsl")
+def edit_user(request, user):
+ doc, root = get_xmldoc('Update user %s' % user, request)
+ el = ET.SubElement(root, 'updateuser')
+
+
+ l = models.LdapUtil().handle
+ if not l:
+ return HttpResponseServerError('Cannot connect to LDAP?')
+
+ filter = ldap.filter.filter_format('(&(objectClass=posixAccount)(uid=%s))', (user,))
+ users = l.search_s(settings.MANGO_CFG['ldap_users_basedn'],
+ ldap.SCOPE_SUBTREE, filter, None)
+
+ if len(users) != 1:
+ raise Http404()
+
+ user = users[0][1]
+
+ for item in ('uid', 'cn', 'mail', 'description'):
+ node = ET.SubElement(el, item)
+ node.text = user[item][0]
+
+ for key in user.get('authorizedKey', [''])[0].splitlines():
+ if key != "":
+ node = ET.SubElement(el, 'authorizedKey')
+ node.text = key
+
+ # TODO:
+ # - add fingerprint of above keys
+ # - add groups
+
+ return get_xmlresponse(doc, "../../../www/update_user.xsl")
+
+
+
def test_index(request):
doc, root = get_xmldoc('Login Page', request)
root.append(ET.Element('homepage'))
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]