mango r247 - in branches/django: . mango www
- From: ovitters svn gnome org
- To: svn-commits-list gnome org,gnome-sysadmin gnome org
- Subject: mango r247 - in branches/django: . mango www
- Date: Mon, 23 Jun 2008 21:46:57 +0000 (UTC)
Author: ovitters
Date: Mon Jun 23 21:46:57 2008
New Revision: 247
URL: http://svn.gnome.org/viewvc/mango?rev=247&view=rev
Log:
* mango/models.py (Users.add_to_xml, Modules, Modules.maintainer,
Modules.add_to_xml, L10nModules): Fix Users.add_to_xml to actually
work. For Modules, maintainerUid is a MULTI_ATTR, not memberUid.
Further, add a maintainer property (joins maintainerUid together).
Finally, add an add_to_xml helper function.
* mango/urls.py: Add list_modules view to configuration. Also change
the way existing views are referenced.
* mango/views.py (list_modules): New view. Shows modules.
* www/list_modules.xsl: Update scriptname so that links point to the
right place.
Modified:
branches/django/ (props changed)
branches/django/ChangeLog
branches/django/mango/models.py
branches/django/mango/urls.py
branches/django/mango/views.py
branches/django/www/list_modules.xsl
Modified: branches/django/mango/models.py
==============================================================================
--- branches/django/mango/models.py (original)
+++ branches/django/mango/models.py Mon Jun 23 21:46:57 2008
@@ -226,27 +226,36 @@
return self._groups
- def add_to_xml(ET, formnode):
+ def add_to_xml(self, ET, formnode):
for item in ('uid', 'cn', 'mail', 'description'):
node = ET.SubElement(formnode, item)
- node.text = user.__dict__.get(item, '')
+ node.text = self.__dict__.get(item, '')
- for key in user.__dict__.get('authorizedKey', []):
+ for key in self.__dict__.get('authorizedKey', []):
# TODO:
# - add fingerprint of above keys
if key:
node = ET.SubElement(formnode, 'authorizedKey')
node.text = key
- for group in user.groups:
+ for group in self.groups:
node = ET.SubElement(formnode, 'group', {'cn': group.cn})
class Modules(LdapObject):
"""Base class for Module information (maintainer into, etc)"""
BASEDN = settings.MANGO_CFG['ldap_modules_basedn']
- MULTI_ATTRS = set(('memberUid', 'objectClass'))
+ MULTI_ATTRS = set(('maintainerUid', 'objectClass'))
FILTER = Q(objectClass='gnomeModule')
+ @property
+ def maintainer(self):
+ return u', '.join(self.__dict__.get('maintainerUid', []))
+
+ def add_to_xml(self, ET, formnode):
+ for item in ('cn', 'description', 'maintainer'):
+ node = ET.SubElement(formnode, item)
+ node.text = getattr(self, item, '')
+
class L10nModules(Modules):
"""Specific filter to only return localization modules
Modified: branches/django/mango/urls.py
==============================================================================
--- branches/django/mango/urls.py (original)
+++ branches/django/mango/urls.py Mon Jun 23 21:46:57 2008
@@ -1,19 +1,20 @@
from django.conf.urls.defaults import *
-from mango.views import current_datetime, list_users, list_accounts, edit_user, list_mirrors, add_mirror, edit_mirror, list_foundationmembers, view_index, add_account
+from mango import views as view
import mango.settings
urlpatterns = patterns('',
- (r'^%s$' % mango.settings.SITE_ROOT, view_index),
- (r'^%stime/$' % mango.settings.SITE_ROOT, current_datetime),
- (r'^%susers/$' % mango.settings.SITE_ROOT, list_users),
- (r'^%susers/edit/(?P<user>\w+)/$' % mango.settings.SITE_ROOT, edit_user),
- (r'^%srequests/$' % mango.settings.SITE_ROOT, list_accounts),
- (r'^%srequests/add/$' % mango.settings.SITE_ROOT, add_account),
- (r'^%smirrors/$' % mango.settings.SITE_ROOT, list_mirrors),
- (r'^%smirrors/add/$' % mango.settings.SITE_ROOT, add_mirror),
- (r'^%smirrors/edit/(?P<pk>\d+)/$' % mango.settings.SITE_ROOT, edit_mirror),
- (r'^%sfoundationmembers/$' % mango.settings.SITE_ROOT, list_foundationmembers),
+ (r'^%s$' % mango.settings.SITE_ROOT, view.view_index),
+ (r'^%stime/$' % mango.settings.SITE_ROOT, view.current_datetime),
+ (r'^%susers/$' % mango.settings.SITE_ROOT, view.list_users),
+ (r'^%susers/edit/(?P<user>\w+)/$' % mango.settings.SITE_ROOT, view.edit_user),
+ (r'^%srequests/$' % mango.settings.SITE_ROOT, view.list_accounts),
+ (r'^%srequests/add/$' % mango.settings.SITE_ROOT, view.add_account),
+ (r'^%smirrors/$' % mango.settings.SITE_ROOT, view.list_mirrors),
+ (r'^%smirrors/add/$' % mango.settings.SITE_ROOT, view.add_mirror),
+ (r'^%smirrors/edit/(?P<pk>\d+)/$' % mango.settings.SITE_ROOT, view.edit_mirror),
+ (r'^%smodules/$' % mango.settings.SITE_ROOT, view.list_modules),
+ (r'^%sfoundationmembers/$' % mango.settings.SITE_ROOT, view.list_foundationmembers),
# Example:
# (r'^mango/', include('mango.foo.urls')),
Modified: branches/django/mango/views.py
==============================================================================
--- branches/django/mango/views.py (original)
+++ branches/django/mango/views.py Mon Jun 23 21:46:57 2008
@@ -265,4 +265,20 @@
return get_xmlresponse(doc, "list_foundationmembers.xsl")
+def list_modules(request):
+ doc, root = get_xmldoc('List Modules', request)
+ pagenode = ET.SubElement(root, 'listmodules')
+ queryset = models.Modules.search()
+
+ paginator = Paginator(queryset, 25)
+ try:
+ page = paginator.page(request.GET.get('page', 1))
+ except InvalidPage:
+ raise Http404('Invalid page')
+ add_paginator_to_xml(pagenode, page)
+ for obj in page.object_list:
+ modulenode = ET.SubElement(pagenode, 'module')
+ obj.add_to_xml(ET, modulenode)
+
+ return get_xmlresponse(doc, "list_modules.xsl")
Modified: branches/django/www/list_modules.xsl
==============================================================================
--- branches/django/www/list_modules.xsl (original)
+++ branches/django/www/list_modules.xsl Mon Jun 23 21:46:57 2008
@@ -7,7 +7,7 @@
<xsl:include href="common.xsl" />
- <xsl:variable name="script" select="'list_modules.php'"/>
+ <xsl:variable name="script" select="'.'"/>
<xsl:template match="listmodules">
<xsl:apply-templates select="error"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]