Create mailing list domains table and idtracker Roles model.

Add fixtures to populate IAD into Roles and existing domains
and authorizers into mailinglists_domains.  (The Roles fixture
will become wrong when we get a new IAD so should be removed
after the production database has this value.)
 - Legacy-Id: 255
This commit is contained in:
Bill Fenner 2007-06-07 17:58:06 +00:00
parent b93c34d7bb
commit e851dbac27
4 changed files with 58 additions and 1 deletions

View file

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object pk="6" model="idtracker.role">
<field to="redirects.suffix" name="person" rel="ManyToOneRel">14966</field>
<field type="CharField" name="role_name">IAD</field>
</object>
</django-objects>

View file

@ -775,6 +775,26 @@ class GoalMilestone(models.Model):
#### end wg stuff
class Role(models.Model):
'''This table is named 'chairs' in the database, as its original
role was to store "who are IETF, IAB and IRTF chairs?". It has
since expanded to store roles, such as "IAB Exec Dir" and "IAD",
so the model is renamed.
'''
person = models.ForeignKey(PersonOrOrgInfo, db_column='person_or_org_tag', raw_id_admin=True)
role_name = models.CharField(maxlength=25, db_column='chair_name')
def __str__(self):
return "%s (%s)" % (self.person, self.role())
def role(self):
if self.role_name in ('IETF', 'IAB', 'IRTF', 'NomCom'):
return "%s Chair" % self.role_name
else:
return self.role_name
class Meta:
db_table = 'chairs'
class Admin:
pass
class ChairsHistory(models.Model):
CHAIR_CHOICES = (
( '1', 'IETF' ),

View file

@ -0,0 +1,23 @@
<?xml version="1.0" encoding="utf-8"?>
<django-objects version="1.0">
<object pk="1" model="mailinglists.domain">
<field type="CharField" name="domain">ietf.org</field>
<field to="idtracker.role" name="approvers" rel="ManyToManyRel">
<object pk="1"/>
<object pk="6"/>
</field>
</object>
<object pk="2" model="mailinglists.domain">
<field type="CharField" name="domain">iab.org</field>
<field to="idtracker.role" name="approvers" rel="ManyToManyRel">
<object pk="2"/>
<object pk="4"/>
</field>
</object>
<object pk="3" model="mailinglists.domain">
<field type="CharField" name="domain">irtf.org</field>
<field to="idtracker.role" name="approvers" rel="ManyToManyRel">
<object pk="5"/>
</field>
</object>
</django-objects>

View file

@ -1,5 +1,6 @@
from django.db import models
from ietf.idtracker.models import Acronym, Area, PersonOrOrgInfo
from ietf.idtracker.models import Role
import random
from datetime import datetime
@ -21,6 +22,12 @@ class ImportedMailingList(models.Model):
class Admin:
pass
class Domain(models.Model):
domain = models.CharField("Mailing List Domain Name", maxlength=100)
approvers = models.ManyToManyField(Role)
class Admin:
pass
class MailingList(models.Model):
SUBSCRIPTION_CHOICES = (
(1, 'Confirm'),
@ -103,7 +110,7 @@ class NonWgMailingList(models.Model):
list_url = models.CharField("List URL", maxlength=255)
admin = models.TextField("Administrator(s)' Email Address(es)", blank=True)
purpose = models.TextField(blank=True)
area = models.ForeignKey(Area, db_column='area_acronym_id')
area = models.ForeignKey(Area, db_column='area_acronym_id', null=True)
subscribe_url = models.CharField("Subscribe URL", blank=True, maxlength=255)
subscribe_other = models.TextField("Subscribe Other", blank=True)
# Can be 0, 1, -1, or what looks like a person_or_org_tag, positive or neg.