mango r250 - in branches/django: . mango www
- From: ovitters svn gnome org
- To: svn-commits-list gnome org,gnome-sysadmin gnome org
- Subject: mango r250 - in branches/django: . mango www
- Date: Tue, 24 Jun 2008 20:24:47 +0000 (UTC)
Author: ovitters
Date: Tue Jun 24 20:24:47 2008
New Revision: 250
URL: http://svn.gnome.org/viewvc/mango?rev=250&view=rev
Log:
* mango/models.py (Foundationmembers, FoundationmembersForm,): Require
certain Foundationmembers model fields to be filled in. Correct the
name of the FoundationmembersForm.
* mango/urls.py: Add URL for the edit_foundationmember view.
* mango/views.py (add_foundationmember_to_xml, list_foundationmembers,
edit_foundationmember, list_modules): Create new function
add_foundationmember_to_xml. This either uses the form information
or the form instance to add the member to the XML. Create a new view
called edit_foundationmember, allowing a foundationmember record to
be updated.
* www/list_foundationmembers.xsl: Correct links to the
edit_foundationmember view.
* www/update_foundationmember.xsl: Correct link to
edit_foundationmember 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_foundationmembers.xsl
branches/django/www/update_foundationmember.xsl
Modified: branches/django/mango/models.py
==============================================================================
--- branches/django/mango/models.py (original)
+++ branches/django/mango/models.py Tue Jun 24 20:24:47 2008
@@ -51,13 +51,14 @@
class Foundationmembers(models.Model):
id = models.AutoField(primary_key=True)
- firstname = models.CharField(max_length=50, blank=True)
- lastname = models.CharField(max_length=50, blank=True)
- email = models.EmailField(max_length=255, blank=True)
+ firstname = models.CharField(max_length=50)
+ lastname = models.CharField(max_length=50)
+ email = models.EmailField(max_length=255)
comments = models.TextField(blank=True)
+ userid = models.CharField(max_length=15, null=True, blank=True)
first_added = models.DateField(auto_now_add=True)
- last_renewed_on = models.DateField(null=True, blank=True)
- last_update = models.DateTimeField()
+ last_renewed_on = models.DateField(null=True, blank=True, editable=False)
+ last_update = models.DateTimeField(auto_now=True)
resigned_on = models.DateField(null=True, blank=True)
@property
@@ -73,7 +74,7 @@
db_table = u'foundationmembers'
ordering = ['lastname', 'firstname']
-class FtpmirrorsForm(ModelForm):
+class FoundationmembersForm(ModelForm):
class Meta:
model = Foundationmembers
Modified: branches/django/mango/urls.py
==============================================================================
--- branches/django/mango/urls.py (original)
+++ branches/django/mango/urls.py Tue Jun 24 20:24:47 2008
@@ -15,6 +15,7 @@
(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),
+ (r'^%sfoundationmembers/edit/(?P<pk>\d+)/$' % mango.settings.SITE_ROOT, view.edit_foundationmember),
# Example:
# (r'^mango/', include('mango.foo.urls')),
Modified: branches/django/mango/views.py
==============================================================================
--- branches/django/mango/views.py (original)
+++ branches/django/mango/views.py Tue Jun 24 20:24:47 2008
@@ -247,9 +247,28 @@
return get_xmlresponse(doc, "new_ftpmirror.xsl")
+def add_foundationmember_to_xml(root, member=None, form=None):
+ if member is None and form is None:
+ return
+
+ instance = form and form.instance or member
+ form_or_member = form and form.data or member.__dict__
+
+ ET.SubElement(root, 'id').text = unicode(instance.id)
+ for field in ('firstname', 'lastname', 'comments', 'email'):
+ node = ET.SubElement(root, field)
+ node.text = form_or_member[field]
+ for field in ('first_added', 'last_renewed_on'):
+ node = ET.SubElement(root, field)
+ node.text = unicode(getattr(instance, field))
+ if instance.is_member:
+ ET.SubElement(root, 'member')
+ if instance.need_to_renew:
+ ET.SubElement(root, 'need_to_renew')
+
def list_foundationmembers(request):
doc, root = get_xmldoc('List Foundation Members', request)
- el1 = ET.SubElement(root, 'listfoundationmembers')
+ pagenode = ET.SubElement(root, 'listfoundationmembers')
members = models.Foundationmembers.objects.all()
paginator = QuerySetPaginator(members, 25)
@@ -257,25 +276,29 @@
page = paginator.page(request.GET.get('page', 1))
except InvalidPage:
raise Http404('Invalid page')
- add_paginator_to_xml(el1, page)
+ add_paginator_to_xml(pagenode, page)
for member in page.object_list:
- membernode = ET.SubElement(el1, 'foundationmember')
+ membernode = ET.SubElement(pagenode, 'foundationmember')
membernode.set('id', unicode(member.id))
- ET.SubElement(membernode, 'id').text = unicode(member.id)
- for field in ('firstname', 'lastname', 'comments', 'email'):
- node = ET.SubElement(membernode, field)
- node.text = getattr(member, field)
- for field in ('first_added', 'last_renewed_on'):
- node = ET.SubElement(membernode, field)
- node.text = unicode(getattr(member, field))
- if member.is_member:
- ET.SubElement(membernode, 'member')
- if member.need_to_renew:
- ET.SubElement(membernode, 'need_to_renew')
-
+ add_foundationmember_to_xml(membernode, member)
return get_xmlresponse(doc, "list_foundationmembers.xsl")
+def edit_foundationmember(request, pk):
+ doc, root = get_xmldoc('Update Foundation Member', request)
+ pagenode = ET.SubElement(root, 'updatefoundationmember')
+
+ obj = get_object_or_404(models.Foundationmembers.objects, pk=pk)
+
+ f = models.FoundationmembersForm(request.POST, instance=obj)
+ if request.method == 'POST':
+ if add_form_errors_to_xml(pagenode, f):
+ f.save()
+
+ add_foundationmember_to_xml(pagenode, obj, f)
+
+ return get_xmlresponse(doc, "update_foundationmember.xsl")
+
def list_modules(request):
doc, root = get_xmldoc('List Modules', request)
pagenode = ET.SubElement(root, 'listmodules')
Modified: branches/django/www/list_foundationmembers.xsl
==============================================================================
--- branches/django/www/list_foundationmembers.xsl (original)
+++ branches/django/www/list_foundationmembers.xsl Tue Jun 24 20:24:47 2008
@@ -68,7 +68,7 @@
<xsl:value-of select="concat('row-', position() mod 2)"/>
</xsl:attribute>
<td>
- <a href="update_foundationmember.php?id={id}">
+ <a href="edit/{id}/">
<xsl:apply-templates select="lastname"/>
</a>
</td>
@@ -86,7 +86,7 @@
<td>
<xsl:choose>
<xsl:when test="boolean(member)">
- <a class="button" href="update_foundationmember.php?id={id}">Update</a>
+ <a class="button" href="edit/{id}/">Update</a>
<xsl:if test="boolean(need_to_renew)">
<form method="POST" action="{$script}" name="filterform" style="display: inline">
<input type="hidden" name="mango_token" value="{/page/@token}"/>
Modified: branches/django/www/update_foundationmember.xsl
==============================================================================
--- branches/django/www/update_foundationmember.xsl (original)
+++ branches/django/www/update_foundationmember.xsl Tue Jun 24 20:24:47 2008
@@ -7,7 +7,7 @@
<xsl:include href="common.xsl" />
- <xsl:variable name="script" select="'update_foundationmember.php'"/>
+ <xsl:variable name="script" select="'.'"/>
<xsl:template match="updatefoundationmember">
<xsl:apply-templates select="error"/>
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]