Restrict rules to match drafts and rfcs. Fixes #722

- Legacy-Id: 3590
This commit is contained in:
Emilio A. Sánchez López 2011-11-03 18:37:35 +00:00
parent c1ca982ec4
commit 675c9fcb7f

View file

@ -23,7 +23,7 @@ class WgAsociatedRule(RuleManager):
description = 'All I-Ds associated with a particular WG'
def get_documents(self):
return Document.objects.filter(group__acronym=self.value)
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(group__acronym=self.value).distinct()
class AreaAsociatedRule(RuleManager):
@ -31,7 +31,7 @@ class AreaAsociatedRule(RuleManager):
description = 'All I-Ds associated with all WGs in a particular Area'
def get_documents(self):
return Document.objects.filter(group__parent__acronym=self.value, group__parent__type='area')
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(group__parent__acronym=self.value, group__parent__type='area').distinct()
class AdResponsibleRule(RuleManager):
@ -39,7 +39,7 @@ class AdResponsibleRule(RuleManager):
description = 'All I-Ds with a particular responsible AD'
def get_documents(self):
return Document.objects.filter(ad__name__icontains=self.value)
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(ad__name__icontains=self.value).distinct()
class AuthorRule(RuleManager):
@ -47,7 +47,7 @@ class AuthorRule(RuleManager):
description = 'All I-Ds with a particular author'
def get_documents(self):
return Document.objects.filter(authors__person__name__icontains=self.value)
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(authors__person__name__icontains=self.value).distinct()
class ShepherdRule(RuleManager):
@ -55,7 +55,7 @@ class ShepherdRule(RuleManager):
description = 'All I-Ds with a particular document shepherd'
def get_documents(self):
return Document.objects.filter(shepherd__name__icontains=self.value)
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(shepherd__name__icontains=self.value).distinct()
class ReferenceToRFCRule(RuleManager):
@ -83,7 +83,7 @@ class WithTextRule(RuleManager):
description = 'All I-Ds that contain a particular text string'
def get_documents(self):
return Document.objects.filter(Q(title__icontains=self.value) | Q(abstract__icontains=self.value))
return Document.objects.filter(Q(type__name='Draft') | Q(state__name='rfc')).filter(Q(title__icontains=self.value) | Q(abstract__icontains=self.value)).distinct()
TYPES_OF_RULES = [(i.codename, i.description) for i in RuleManager.__subclasses__()]