mango r278 - in branches/django: . mango www
- From: ovitters svn gnome org
- To: svn-commits-list gnome org,gnome-sysadmin gnome org
- Subject: mango r278 - in branches/django: . mango www
- Date: Thu, 17 Jul 2008 19:41:06 +0000 (UTC)
Author: ovitters
Date: Thu Jul 17 19:41:06 2008
New Revision: 278
URL: http://svn.gnome.org/viewvc/mango?rev=278&view=rev
Log:
* mango/models.py (qobject_inlist): New function to create an 'inlist'
Q object.
* mango/urls.py: Add edit_module view to URL.
* mango.views,py (edit_module): New view. Allows an existing module to
be edited. Currently doesn't allow any update to be done.
* www/list_modules.xsl: Correct link to the edit_module view.
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 Thu Jul 17 19:41:06 2008
@@ -172,6 +172,18 @@
self.__class__.handle = l
+def qobject_inlist(**args):
+ q = None
+
+ for key, val in args.iteritems():
+ for l in val:
+ if q is None:
+ q = Q(**{key: l})
+ else:
+ q = q | Q(**{key: l})
+
+ return q
+
class LdapObject(object):
BASEDN = None
Modified: branches/django/mango/urls.py
==============================================================================
--- branches/django/mango/urls.py (original)
+++ branches/django/mango/urls.py Thu Jul 17 19:41:06 2008
@@ -16,6 +16,7 @@
(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'^%smodules/edit/(?P<module>\w+)/$' % mango.settings.SITE_ROOT, view.edit_module),
(r'^%sfoundationmembers/$' % mango.settings.SITE_ROOT, view.list_foundationmembers),
(r'^%sfoundationmembers/add/$' % mango.settings.SITE_ROOT, view.add_foundationmember),
(r'^%sfoundationmembers/edit/(?P<pk>\d+)/$' % mango.settings.SITE_ROOT, view.edit_foundationmember),
Modified: branches/django/mango/views.py
==============================================================================
--- branches/django/mango/views.py (original)
+++ branches/django/mango/views.py Thu Jul 17 19:41:06 2008
@@ -354,6 +354,33 @@
return get_xmlresponse(doc, "list_modules.xsl")
+def edit_module(request, module):
+ doc, pagenode = get_xmldoc('Edit module', request, 'updatemodule')
+
+ modules = models.Modules.search(Q(cn=module))
+
+ if len(modules) != 1:
+ raise Http404()
+
+ module = modules[0]
+
+ for item in ('cn', 'description'):
+ ET.SubElement(pagenode, item).text = module.__dict__.get(item, '')
+
+ maintainers = module.__dict__.get('maintainerUid', [])
+ if len(maintainers):
+ filter = models.qobject_inlist(uid=maintainers)
+ maints = dict([(maint.uid, maint.cn) for maint in models.Users.search(filter)])
+
+ for m in maintainers:
+ mnode = ET.SubElement(pagenode, 'maintainerUid')
+ ET.SubElement(mnode, 'key').text = m
+ ET.SubElement(mnode, 'value').text = maints.get(m, 'Unknown Name')
+
+ # XXX - add l10n module info to XML
+
+ return get_xmlresponse(doc, "update_module.xsl")
+
def handle_login(request):
doc, pagenode = get_xmldoc('List Modules', request, 'loginform')
Modified: branches/django/www/list_modules.xsl
==============================================================================
--- branches/django/www/list_modules.xsl (original)
+++ branches/django/www/list_modules.xsl Thu Jul 17 19:41:06 2008
@@ -51,7 +51,7 @@
<xsl:sort select="cn"/>
<tr class="row-{position() mod 2}">
<td>
- <a href="update_module.php?cn={cn}">
+ <a href="edit/{cn}/">
<xsl:apply-templates select="cn"/>
</a>
</td>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]