Fixed some bugs

- Legacy-Id: 3162
This commit is contained in:
Ole Laursen 2011-05-30 12:19:08 +00:00
parent 925233618f
commit 1ca085f91f
8 changed files with 42 additions and 41 deletions

View file

@ -70,17 +70,17 @@
200 /doc/search/
200 /doc/search/?rfcs=on&name=snmp
200 /doc/search/?rfcs=on&name=nfs&by=ad&ad=lars.eggert%40nokia.com
200 /doc/search/?rfcs=on&name=nfs&by=ad&ad=104942
200 /doc/search/?activeDrafts=on&name=sipping
200 /doc/search/?oldDrafts=on&name=tls
200 /doc/search/?activeDrafts=on&oldDrafts=on&ad=lars.eggert%40nokia.com&by=ad
200 /doc/search/?activeDrafts=on&oldDrafts=on&ad=104942&by=ad
200 /doc/search/?activeDrafts=on&state=iesg-eva&by=state
200 /doc/search/?activeDrafts=on&oldDrafts=on&subState=need-rev&by=state
200 /doc/search/?activeDrafts=on&oldDrafts=on&rfcs=on&ad=lars.eggert%40nokia.com&name=nfs&by=ad
200 /doc/search/?activeDrafts=on&oldDrafts=on&rfcs=on&ad=104942&name=nfs&by=ad
200 /doc/search/?rfcs=on&group=tls&by=group
200 /doc/search/?activeDrafts=on&group=tls&by=group
200 /doc/search/?activeDrafts=on&oldDrafts=on&rfcs=on&author=eronen&by=author
200 /doc/search/?activeDrafts=on&oldDrafts=on&rfcs=on&area=178&name=ldap&by=area
200 /doc/search/?activeDrafts=on&oldDrafts=on&rfcs=on&area=934&name=ldap&by=area
200 /doc/search/?activeDrafts=on&name=asdfsadfsdfasdf
200 /doc/search/?activeDrafts=on&name=%EF%BD%8C #non-ASCII

View file

@ -360,8 +360,8 @@ if settings.USE_DB_REDESIGN_PROXY_CLASSES:
docs = docs.filter(group__acronym=query["group"])
elif by == "area":
docs = docs.filter(Q(group__parent=query["area"]) |
Q(ad__role__name="ad",
ad__role__group=query["area"]))
Q(ad__email__role__name="ad",
ad__email__role__group=query["area"]))
elif by == "ad":
docs = docs.filter(ad=query["ad"])
elif by == "state":

View file

@ -25,18 +25,18 @@ class IdTrackerUrlTestCase(SimpleUrlTestCase):
else:
return content
class WGRoleTest(django.test.TestCase):
fixtures = ['wgtest']
def setUp(self):
from ietf.idtracker.models import IETFWG
self.xmas = IETFWG.objects.get(group_acronym__acronym='xmas')
self.snow = IETFWG.objects.get(group_acronym__acronym='snow')
def test_roles(self):
print " Testing WG roles"
self.assertEquals(self.xmas.wgchair_set.all()[0].role(), 'xmas WG Chair')
self.assertEquals(self.snow.wgchair_set.all()[0].role(), 'snow BOF Chair')
self.assertEquals(self.xmas.wgsecretary_set.all()[0].role(), 'xmas WG Secretary')
self.assertEquals(self.xmas.wgtechadvisor_set.all()[0].role(), 'xmas Technical Advisor')
print "OK"
# class WGRoleTest(django.test.TestCase):
# fixtures = ['wgtest']
#
# def setUp(self):
# from ietf.idtracker.models import IETFWG
# self.xmas = IETFWG.objects.get(group_acronym__acronym='xmas')
# self.snow = IETFWG.objects.get(group_acronym__acronym='snow')
#
# def test_roles(self):
# print " Testing WG roles"
# self.assertEquals(self.xmas.wgchair_set.all()[0].role(), 'xmas WG Chair')
# self.assertEquals(self.snow.wgchair_set.all()[0].role(), 'snow BOF Chair')
# self.assertEquals(self.xmas.wgsecretary_set.all()[0].role(), 'xmas WG Secretary')
# self.assertEquals(self.xmas.wgtechadvisor_set.all()[0].role(), 'xmas Technical Advisor')
# print "OK"

View file

@ -6,13 +6,8 @@
200 /idtracker/status/last-call/
301 /idtracker/rfc3847/
301 /idtracker/12689/
301 /idtracker/draft-ietf-isis-link-attr/
301 /idtracker/draft-ietf-isis-link-attr/comment/65232/
301 /idtracker/draft-eronen-tls-psk/ # no IESG information
301 /idtracker/comment/65232/
301 /idtracker/ballot/1760/
404 /idtracker/ballot/1723/ # dangling ballot, does not link to any doc
301 /idtracker/
200 /feed/comments/draft-ietf-isis-link-attr/
200 /feed/comments/rfc3373/
@ -27,5 +22,4 @@
# Test case for missing comment time (bug fixed in changeset 1733)
200 /feed/comments/draft-ietf-msec-newtype-keyid/
200,heavy /sitemap-drafts.xml
200,heavy /sitemap-idtracker.xml

View file

@ -20,8 +20,5 @@
200 /iesg/ann/new/
# This takes ~ 300s:
#200 /iesg/ann/prev/
200 /iesg/ann/2422/
200 /iesg/ann/1563/
404 /iesg/ann/567/
200 /feed/iesg-agenda/

View file

@ -102,11 +102,19 @@ def new(request, type, update=None, submitter=None):
setattr(self, contact, ContactForm(prefix=contact[:4], initial=contact_initial.get(contact, {}), *args, **kwnoinit))
rfclist_initial = ""
if update:
rfclist_initial = " ".join(["RFC%d" % rfc.document_id for rfc in update.rfcs.all()])
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
from ietf.ipr.models import IprDocAlias
rfclist_initial = " ".join(a.doc_alias.name.upper() for a in IprDocAlias.objects.filter(doc_alias__name__startswith="rfc", ipr=update))
else:
rfclist_initial = " ".join(["RFC%d" % rfc.document_id for rfc in update.rfcs.all()])
self.base_fields["rfclist"] = forms.CharField(required=False, initial=rfclist_initial)
draftlist_initial = ""
if update:
draftlist_initial = " ".join([draft.document.filename + (draft.revision and "-%s" % draft.revision or "") for draft in update.drafts.all()])
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
from ietf.ipr.models import IprDocAlias
draftlist_initial = " ".join(a.doc_alias.name + ("-%s" % a.rev if a.rev else "") for a in IprDocAlias.objects.filter(ipr=update).exclude(doc_alias__name__startswith="rfc"))
else:
draftlist_initial = " ".join([draft.document.filename + (draft.revision and "-%s" % draft.revision or "") for draft in update.drafts.all()])
self.base_fields["draftlist"] = forms.CharField(required=False, initial=draftlist_initial)
if section_list.get("holder_contact", False):
self.base_fields["hold_contact_is_submitter"] = forms.BooleanField(required=False)
@ -135,7 +143,7 @@ def new(request, type, update=None, submitter=None):
for rfc in rfclist:
try:
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
from doc.models import DocAlias
from redesign.doc.models import DocAlias
DocAlias.objects.get(name="rfc%s" % int(rfc))
else:
Rfc.objects.get(rfc_number=int(rfc))
@ -160,7 +168,7 @@ def new(request, type, update=None, submitter=None):
rev = None
try:
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
from doc.models import DocAlias
from redesign.doc.models import DocAlias
id = DocAlias.objects.get(name=filename)
# proxy attribute for code below
id.revision = id.document.rev
@ -277,7 +285,7 @@ def new(request, type, update=None, submitter=None):
name = draft[:-3]
rev = draft[-2:]
from doc.models import DocAlias
from redesign.doc.models import DocAlias
models.IprDocAlias.objects.create(
doc_alias=DocAlias.objects.get(name=name),
ipr=instance,
@ -290,7 +298,7 @@ def new(request, type, update=None, submitter=None):
# Save IprRfc(s)
for rfcnum in form.cleaned_data["rfclist"].split():
if settings.USE_DB_REDESIGN_PROXY_CLASSES:
from doc.models import DocAlias
from redesign.doc.models import DocAlias
models.IprDocAlias.objects.create(
doc_alias=DocAlias.objects.get(name="rfc%s" % int(rfcnum)),
ipr=instance,

View file

@ -96,10 +96,13 @@ class Document(DocumentInfo):
return e[0] if e else None
def canonical_name(self):
name = self.name
if self.type_id == "draft" and self.state_id == "rfc":
return self.docalias_set.get(name__startswith="rfc").name
else:
return self.name
a = self.docalias_set.filter(name__startswith="rfc")
if a:
name = a[0].name
return name
class RelatedDocHistory(models.Model):
source = models.ForeignKey('DocHistory')
@ -244,7 +247,7 @@ class Event(models.Model):
return u"%s %s at %s" % (self.by.name, self.get_type_display().lower(), self.time)
class Meta:
ordering = ['-time', 'id']
ordering = ['-time', '-id']
class NewRevisionEvent(Event):
rev = models.CharField(max_length=16)

View file

@ -131,7 +131,6 @@ class InternetDraft(Document):
#rfc_number = models.IntegerField(null=True, blank=True, db_index=True)
@property
def rfc_number(self):
# simple optimization for search results
n = self.canonical_name()
return int(n[3:]) if n.startswith("rfc") else None