Port WG Delegate deletion with new test
- Legacy-Id: 3383
This commit is contained in:
parent
c2dd48ff35
commit
646e8b8615
|
@ -92,7 +92,23 @@ def make_test_data():
|
|||
group=group,
|
||||
email=wgchair,
|
||||
)
|
||||
|
||||
|
||||
# group delegate
|
||||
u = User.objects.create(username="wgdelegate")
|
||||
p = Person.objects.create(
|
||||
name="WG Delegate",
|
||||
ascii="WG Delegate",
|
||||
user=u
|
||||
)
|
||||
email = Email.objects.create(
|
||||
address="wgdelegate@ietf.org",
|
||||
person=p)
|
||||
Role.objects.create(
|
||||
name_id="delegate",
|
||||
group=group,
|
||||
email=email,
|
||||
)
|
||||
|
||||
# secretary
|
||||
u = User.objects.create(username="secretary")
|
||||
p = Person.objects.create(
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
import datetime
|
||||
|
||||
from django.db import models
|
||||
from django.conf import settings
|
||||
|
||||
from ietf.idtracker.models import (IETFWG, PersonOrOrgInfo,
|
||||
InternetDraft)
|
||||
|
@ -11,7 +12,7 @@ class WGDelegate(models.Model):
|
|||
PersonOrOrgInfo,
|
||||
)
|
||||
|
||||
wg = models.ForeignKey(IETFWG)
|
||||
wg = models.ForeignKey(IETFWG, related_name="old_wgdelegate_set" if settings.USE_DB_REDESIGN_PROXY_CLASSES else None)
|
||||
|
||||
def __unicode__(self):
|
||||
return "%s" % self.person
|
||||
|
@ -19,7 +20,6 @@ class WGDelegate(models.Model):
|
|||
class Meta:
|
||||
verbose_name = "WG Delegate"
|
||||
|
||||
|
||||
class ProtoWriteUp(models.Model):
|
||||
person = models.ForeignKey(
|
||||
PersonOrOrgInfo,
|
||||
|
@ -43,3 +43,35 @@ class ProtoWriteUp(models.Model):
|
|||
blank=False,
|
||||
null=False,
|
||||
)
|
||||
|
||||
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
||||
from redesign.group.models import Role
|
||||
class WGDelegateProxy(Role):
|
||||
#person = models.ForeignKey(PersonOrOrgInfo)
|
||||
@property
|
||||
def person(self):
|
||||
return self.email.person
|
||||
#wg = models.ForeignKey(IETFWG)
|
||||
@property
|
||||
def wg(self):
|
||||
return self.group
|
||||
|
||||
def __unicode__(self):
|
||||
return u"%s" % self.person
|
||||
|
||||
class Meta:
|
||||
proxy = True
|
||||
|
||||
from redesign.doc.models import DocEvent
|
||||
class ProtoWriteUpProxy(DocEvent):
|
||||
#person = models.ForeignKey(PersonOrOrgInfo, blank=False, null=False)
|
||||
#draft = models.ForeignKey(InternetDraft, blank=False, null=False)
|
||||
#date = models.DateTimeField(default=datetime.datetime.now(), blank=False, null=False)
|
||||
#writeup = models.TextField(blank=False, null=False)
|
||||
class Meta:
|
||||
proxy = True
|
||||
|
||||
#WGDelegateOld = WGDelegate
|
||||
WGDelegate = WGDelegateProxy
|
||||
ProtoWriteUpOld = ProtoWriteUp
|
||||
ProtoWriteUp = ProtoWriteUpProxy
|
||||
|
|
51
ietf/wgchairs/tests.py
Normal file
51
ietf/wgchairs/tests.py
Normal file
|
@ -0,0 +1,51 @@
|
|||
import datetime, os, shutil
|
||||
|
||||
from django.conf import settings
|
||||
from django.contrib.auth.models import User
|
||||
from django.core.urlresolvers import reverse as urlreverse
|
||||
import django.test
|
||||
from StringIO import StringIO
|
||||
from pyquery import PyQuery
|
||||
|
||||
from ietf.utils.test_utils import login_testing_unauthorized
|
||||
from ietf.utils.test_runner import mail_outbox
|
||||
from ietf.utils.test_data import make_test_data
|
||||
|
||||
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
||||
from redesign.person.models import Person, Email
|
||||
from redesign.group.models import Group, Role
|
||||
|
||||
class ManageDelegatesTestCase(django.test.TestCase):
|
||||
fixtures = ['names']
|
||||
|
||||
def test_delete_delegate(self):
|
||||
make_test_data()
|
||||
|
||||
url = urlreverse('manage_delegates', kwargs=dict(acronym="mars"))
|
||||
login_testing_unauthorized(self, "secretary", url)
|
||||
|
||||
delegates = Role.objects.filter(name="delegate", group__acronym="mars")
|
||||
self.assertTrue(len(delegates) > 0)
|
||||
|
||||
# get
|
||||
r = self.client.get(url)
|
||||
self.assertEquals(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEquals(len(q('form input[name=delete]')), len(delegates))
|
||||
|
||||
# delete
|
||||
r = self.client.post(url,
|
||||
dict(remove="1",
|
||||
delete=[d.pk for d in delegates]))
|
||||
self.assertEquals(r.status_code, 200)
|
||||
q = PyQuery(r.content)
|
||||
self.assertEquals(len(q('form input[name=delete]')), 0)
|
||||
self.assertEquals(Role.objects.filter(name="delegate", group__acronym="mars").count(), 0)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if not settings.USE_DB_REDESIGN_PROXY_CLASSES:
|
||||
# the above tests only work with the new schema
|
||||
del ManageDelegatesTestCase
|
|
@ -209,6 +209,10 @@ class IETFWG(Group):
|
|||
d = Dummy()
|
||||
d.all = self.chairs()
|
||||
return d
|
||||
@property
|
||||
def wgdelegate_set(self):
|
||||
from ietf.wgchairs.models import WGDelegate
|
||||
return WGDelegate.objects.filter(group=self, name="delegate")
|
||||
|
||||
class Meta:
|
||||
proxy = True
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<django-objects version="1.0">
|
||||
<object pk="yes" model="name.ballotpositionname">
|
||||
<field type="CharField" name="name">Yes</field>
|
||||
<object pk="noobj" model="name.ballotpositionname">
|
||||
<field type="CharField" name="name">No Objection</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="noobj" model="name.ballotpositionname">
|
||||
<field type="CharField" name="name">No Objection</field>
|
||||
<object pk="yes" model="name.ballotpositionname">
|
||||
<field type="CharField" name="name">Yes</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
|
@ -54,24 +54,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="iana-crd" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">IANA coordination</field>
|
||||
<field type="TextField" name="desc">RFC-Editor/IANA Registration Coordination</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="missref" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">Missing references</field>
|
||||
<field type="TextField" name="desc">Awaiting missing normative reference</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="fasttrac" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">FastTrack</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="rfc-rev" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">Review by RFC Editor</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -102,12 +84,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ref" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">Holding for references</field>
|
||||
<field type="TextField" name="desc">Holding for normative reference</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="point" model="name.docinfotagname">
|
||||
<field type="CharField" name="name">Point Raised - writeup needed</field>
|
||||
<field type="TextField" name="desc">IESG discussions on the document have raised some issues that need to be brought to the attention of the authors/WG, but those issues have not been written down yet. (It is common for discussions during a telechat to result in such situations. An AD may raise a possible issue during a telechat and only decide as a result of that discussion whether the issue is worth formally writing up and bringing to the attention of the authors/WG). A document stays in the "Point Raised - Writeup Needed" state until *ALL* IESG comments that have been raised have been documented.</field>
|
||||
|
@ -138,14 +114,14 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">5</field>
|
||||
</object>
|
||||
<object pk="updates" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">Updates</field>
|
||||
<object pk="replaces" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">Replaces</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="replaces" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">Replaces</field>
|
||||
<object pk="updates" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">Updates</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
|
@ -156,20 +132,8 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="reviews" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">Reviews</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="refs" model="name.docrelationshipname">
|
||||
<field type="CharField" name="name">References</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="rfc" model="name.docstatename">
|
||||
<field type="CharField" name="name">RFC</field>
|
||||
<object pk="active" model="name.docstatename">
|
||||
<field type="CharField" name="name">Active</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
|
@ -180,14 +144,8 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="repl" model="name.docstatename">
|
||||
<field type="CharField" name="name">Replaced</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="active" model="name.docstatename">
|
||||
<field type="CharField" name="name">Active</field>
|
||||
<object pk="rfc" model="name.docstatename">
|
||||
<field type="CharField" name="name">RFC</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
|
@ -198,12 +156,24 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="repl" model="name.docstatename">
|
||||
<field type="CharField" name="name">Replaced</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ietf-rm" model="name.docstatename">
|
||||
<field type="CharField" name="name">Withdrawn by IETF</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="legacy" model="name.docstreamname">
|
||||
<field type="CharField" name="name">Legacy</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ietf" model="name.docstreamname">
|
||||
<field type="CharField" name="name">IETF</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -216,12 +186,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="legacy" model="name.docstreamname">
|
||||
<field type="CharField" name="name">Legacy</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="iab" model="name.docstreamname">
|
||||
<field type="CharField" name="name">IAB</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -234,18 +198,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="draft" model="name.doctypename">
|
||||
<field type="CharField" name="name">Draft</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ext" model="name.doctypename">
|
||||
<field type="CharField" name="name">External</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="agenda" model="name.doctypename">
|
||||
<field type="CharField" name="name">Agenda</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -264,6 +216,12 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="draft" model="name.doctypename">
|
||||
<field type="CharField" name="name">Draft</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="liai-att" model="name.doctypename">
|
||||
<field type="CharField" name="name">Liaison Attachment</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -318,15 +276,21 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ag" model="name.grouptypename">
|
||||
<field type="CharField" name="name">AG</field>
|
||||
<field type="TextField" name="desc">Area group</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="wg" model="name.grouptypename">
|
||||
<field type="CharField" name="name">WG</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="TextField" name="desc">Working group</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="rg" model="name.grouptypename">
|
||||
<field type="CharField" name="name">RG</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="TextField" name="desc">Research group</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
|
@ -342,15 +306,9 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ag" model="name.grouptypename">
|
||||
<field type="CharField" name="name">AG</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="sdo" model="name.grouptypename">
|
||||
<field type="CharField" name="name">Standards Organization</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="CharField" name="name">SDO</field>
|
||||
<field type="TextField" name="desc">Standards organization</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
|
@ -534,72 +492,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="auth" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">AUTH</field>
|
||||
<field type="TextField" name="desc">Awaiting author action</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="auth48" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">AUTH48</field>
|
||||
<field type="TextField" name="desc">Awaiting final author approval</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="edit" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">EDIT</field>
|
||||
<field type="TextField" name="desc">Approved by the stream manager (e.g., IESG, IAB, IRSG, ISE), awaiting processing and publishing</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="iana-crd" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">IANA</field>
|
||||
<field type="TextField" name="desc">RFC-Editor/IANA Registration Coordination</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="iesg" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">IESG</field>
|
||||
<field type="TextField" name="desc">Holding for IESG action</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="isr" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">ISR</field>
|
||||
<field type="TextField" name="desc">Independent Submission Review by the ISE </field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="isr-auth" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">ISR-AUTH</field>
|
||||
<field type="TextField" name="desc">Independent Submission awaiting author update, or in discussion between author and ISE</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ref" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">REF</field>
|
||||
<field type="TextField" name="desc">Holding for normative reference</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="rfc-edit" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">RFC-EDITOR</field>
|
||||
<field type="TextField" name="desc">Awaiting final RFC Editor review before AUTH48</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="timeout" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">TO</field>
|
||||
<field type="TextField" name="desc">Time-out period during which the IESG reviews document for conflict/concurrence with other IETF working group work</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="missref" model="name.rfcdocstatename">
|
||||
<field type="CharField" name="name">MISSREF</field>
|
||||
<field type="TextField" name="desc">Awaiting missing normative reference</field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="ad" model="name.rolename">
|
||||
<field type="CharField" name="name">Area Director</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -636,12 +528,6 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="dir" model="name.rolename">
|
||||
<field type="CharField" name="name">Executive Director</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="execdir" model="name.rolename">
|
||||
<field type="CharField" name="name">Executive Director</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -666,6 +552,12 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="delegate" model="name.rolename">
|
||||
<field type="CharField" name="name">Delegate</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="schedw" model="name.sessionstatusname">
|
||||
<field type="CharField" name="name">Waiting for Scheduling</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
|
@ -768,16 +660,16 @@
|
|||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="other" model="name.timeslottypename">
|
||||
<field type="CharField" name="name">Other</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="plenary" model="name.timeslottypename">
|
||||
<field type="CharField" name="name">Plenary</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
<object pk="other" model="name.timeslottypename">
|
||||
<field type="CharField" name="name">Other</field>
|
||||
<field type="TextField" name="desc"></field>
|
||||
<field type="BooleanField" name="used">1</field>
|
||||
<field type="IntegerField" name="order">0</field>
|
||||
</object>
|
||||
</django-objects>
|
Loading…
Reference in a new issue