diff --git a/ietf/liaisons/admin.py b/ietf/liaisons/admin.py
index d0626aa54..23956e37d 100644
--- a/ietf/liaisons/admin.py
+++ b/ietf/liaisons/admin.py
@@ -1,10 +1,19 @@
from django.contrib import admin
+from django.core.urlresolvers import reverse
from ietf.liaisons.models import LiaisonStatement
+
class LiaisonStatementAdmin(admin.ModelAdmin):
list_display = ['id', 'title', 'from_name', 'to_name', 'submitted', 'purpose', 'related_to']
list_display_links = ['id', 'title']
ordering = ('title', )
- raw_id_fields = ('from_contact', 'related_to', 'from_group', 'to_group', 'attachments')
+ raw_id_fields = ('from_contact', 'attachments')
+ filter_horizontal = ('from_groups', 'to_groups')
+
+ def related_to(self, obj):
+ return '
'.join(['%s' % (reverse('admin:liaisons_liaisonstatement_change', None, (i.target.id, )), str(i.target)) for i in obj.source_of_set.select_related('target').all()])
+ related_to.allow_tags = True
+
+
admin.site.register(LiaisonStatement, LiaisonStatementAdmin)
diff --git a/ietf/liaisons/forms.py b/ietf/liaisons/forms.py
index fcb77862e..d17918d27 100644
--- a/ietf/liaisons/forms.py
+++ b/ietf/liaisons/forms.py
@@ -497,6 +497,7 @@ class SearchLiaisonForm(forms.Form):
results = LiaisonStatement.objects.filter(state__slug='approved').extra(
select={
'_submitted': 'SELECT time FROM liaisons_liaisonstatementevent WHERE liaisons_liaisonstatement.id = liaisons_liaisonstatementevent.statement_id AND liaisons_liaisonstatementevent.type_id = "submit"',
+ '_awaiting_action': 'SELECT count(*) FROM liaisons_liaisonstatement_tags WHERE liaisons_liaisonstatement.id = liaisons_liaisonstatement_tags.liaisonstatement_id AND liaisons_liaisonstatement_tags.liaisonstatementtagname_id = "required"',
'from_concat': 'SELECT GROUP_CONCAT(name SEPARATOR ", ") FROM group_group JOIN liaisons_liaisonstatement_from_groups WHERE liaisons_liaisonstatement.id = liaisons_liaisonstatement_from_groups.liaisonstatement_id AND liaisons_liaisonstatement_from_groups.group_id = group_group.id',
'to_concat': 'SELECT GROUP_CONCAT(name SEPARATOR ", ") FROM group_group JOIN liaisons_liaisonstatement_to_groups WHERE liaisons_liaisonstatement.id = liaisons_liaisonstatement_to_groups.liaisonstatement_id AND liaisons_liaisonstatement_to_groups.group_id = group_group.id',
})
diff --git a/ietf/liaisons/models.py b/ietf/liaisons/models.py
index 572d1488f..7eb94c940 100644
--- a/ietf/liaisons/models.py
+++ b/ietf/liaisons/models.py
@@ -69,6 +69,12 @@ class LiaisonStatement(models.Model):
def action_taken(self):
return bool(self.tags.filter(slug='taken').count())
+ @property
+ def awaiting_action(self):
+ if getattr(self, '_awaiting_action', None) != None:
+ return bool(self._awaiting_action)
+ return bool(self.tags.filter(slug='awaiting').count())
+
class LiaisonStatementAttachments(models.Model):
statement = models.ForeignKey(LiaisonStatement)
diff --git a/ietf/templates/liaisons/liaison_table.html b/ietf/templates/liaisons/liaison_table.html
index ca03884f7..d2e5f303b 100644
--- a/ietf/templates/liaisons/liaison_table.html
+++ b/ietf/templates/liaisons/liaison_table.html
@@ -24,6 +24,7 @@
{% endif %}