When adding a rule for I-Ds, only apply the selection to active I-Ds, not those which are expired or published.
- Legacy-Id: 4528
This commit is contained in:
parent
956b3d39df
commit
e3a2b6113f
|
@ -31,7 +31,7 @@ class WgAsociatedRule(RuleManager):
|
|||
description = 'All I-Ds associated with a particular WG'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(group__acronym=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(group__acronym=self.value).distinct()
|
||||
|
||||
def options(self):
|
||||
return [(i.acronym, "%s — %s"%(i.acronym, i.name)) for i in Group.objects.filter(type='wg', state='active').distinct().order_by('name')]
|
||||
|
@ -48,7 +48,7 @@ class AreaAsociatedRule(RuleManager):
|
|||
description = 'All I-Ds associated with all WGs in a particular Area'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(group__parent__acronym=self.value, group__parent__type='area').distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(group__parent__acronym=self.value, group__parent__type='area').distinct()
|
||||
|
||||
def options(self):
|
||||
return [(i.acronym, "%s — %s"%(i.acronym, i.name)) for i in Group.objects.filter(type='area', state='active').distinct().order_by('name')]
|
||||
|
@ -65,7 +65,7 @@ class AdResponsibleRule(RuleManager):
|
|||
description = 'All I-Ds with a particular responsible AD'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(ad=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(ad=self.value).distinct()
|
||||
|
||||
def options(self):
|
||||
return [(i.pk, i.name) for i in Person.objects.filter(role__name='ad',group__state='active').distinct().order_by('name')]
|
||||
|
@ -82,7 +82,7 @@ class AuthorRule(RuleManager):
|
|||
description = 'All I-Ds with a particular author'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(authors__person__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(authors__person__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
class ShepherdRule(RuleManager):
|
||||
|
@ -90,7 +90,7 @@ class ShepherdRule(RuleManager):
|
|||
description = 'All I-Ds with a particular document shepherd'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(shepherd__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(shepherd__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
class ReferenceToRFCRule(RuleManager):
|
||||
|
@ -98,7 +98,7 @@ class ReferenceToRFCRule(RuleManager):
|
|||
description = 'All I-Ds that have a reference to a particular RFC'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(relateddocument__target__document__states='rfc', relateddocument__target__document__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(relateddocument__target__document__states='rfc', relateddocument__target__document__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
class ReferenceToIDRule(RuleManager):
|
||||
|
@ -106,7 +106,7 @@ class ReferenceToIDRule(RuleManager):
|
|||
description = 'All I-Ds that have a reference to a particular I-D'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(relateddocument__target__document__type='draft', relateddocument__target__document__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(relateddocument__target__document__type='draft', relateddocument__target__document__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
class ReferenceFromRFCRule(RuleManager):
|
||||
|
@ -114,7 +114,7 @@ class ReferenceFromRFCRule(RuleManager):
|
|||
description = 'All I-Ds that are referenced by a particular RFC'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(relateddocument__source__states='rfc', relateddocument__source__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(relateddocument__source__states='rfc', relateddocument__source__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
|
||||
|
@ -123,7 +123,7 @@ class ReferenceFromIDRule(RuleManager):
|
|||
description = 'All I-Ds that are referenced by a particular I-D'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(relateddocument__source__type='draft', relateddocument__source__name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(relateddocument__source__type='draft', relateddocument__source__name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
class WithTextRule(RuleManager):
|
||||
|
@ -131,7 +131,7 @@ class WithTextRule(RuleManager):
|
|||
description = 'All I-Ds that contain a particular text string in the name'
|
||||
|
||||
def get_documents(self):
|
||||
return Document.objects.filter(type='draft').filter(name__icontains=self.value).distinct()
|
||||
return Document.objects.filter(type='draft', states__slug='active').filter(name__icontains=self.value).distinct()
|
||||
|
||||
|
||||
TYPES_OF_RULES = [(i.codename, i.description) for i in RuleManager.__subclasses__()]
|
||||
|
|
Loading…
Reference in a new issue