Added a new section for IPR disclosures on related documents to the IPR document search result page. Fixes issue #2412.
- Legacy-Id: 14514
This commit is contained in:
parent
5a1f3eaf36
commit
d7e1d258e5
|
@ -29,11 +29,11 @@ def iprs_from_docs(aliases,**kwargs):
|
|||
iprdocrels += alias.document.ipr(**kwargs)
|
||||
return list(set([i.disclosure for i in iprdocrels]))
|
||||
|
||||
def related_docs(alias):
|
||||
def related_docs(alias, relationship=['replaces', 'obs']):
|
||||
"""Returns list of related documents"""
|
||||
results = list(alias.document.docalias_set.all())
|
||||
|
||||
rels = alias.document.all_relations_that_doc(['replaces','obs'])
|
||||
rels = alias.document.all_relations_that_doc(relationship)
|
||||
|
||||
for rel in rels:
|
||||
rel_aliases = list(rel.target.document.docalias_set.all())
|
||||
|
@ -42,4 +42,6 @@ def related_docs(alias):
|
|||
x.related = rel
|
||||
x.relation = rel.relationship.revname
|
||||
results += rel_aliases
|
||||
return list(set(results))
|
||||
return list(set(results))
|
||||
|
||||
|
||||
|
|
|
@ -619,7 +619,8 @@ def search(request):
|
|||
docid = request.GET.get("id") or request.GET.get("id_document_tag") or ""
|
||||
docs = doc = None
|
||||
iprs = []
|
||||
|
||||
related_iprs = []
|
||||
|
||||
# set states
|
||||
states = request.GET.getlist('state',('posted','removed'))
|
||||
if states == ['all']:
|
||||
|
@ -647,10 +648,12 @@ def search(request):
|
|||
# one match
|
||||
if len(start) == 1:
|
||||
first = start[0]
|
||||
doc = str(first)
|
||||
doc = first.document
|
||||
docs = related_docs(first)
|
||||
iprs = iprs_from_docs(docs,states=states)
|
||||
template = "ipr/search_doc_result.html"
|
||||
updated_docs = related_docs(first, ['updates',])
|
||||
related_iprs = list(set(iprs_from_docs(updated_docs, states=states)) - set(iprs))
|
||||
# multiple matches, select just one
|
||||
elif start:
|
||||
docs = start
|
||||
|
@ -723,11 +726,12 @@ def search(request):
|
|||
|
||||
return render(request, template, {
|
||||
"q": q,
|
||||
"iprs": iprs,
|
||||
"docs": docs,
|
||||
"doc": doc,
|
||||
"form":form,
|
||||
"states":states
|
||||
"iprs": iprs,
|
||||
"docs": docs,
|
||||
"doc": doc,
|
||||
"form": form,
|
||||
"states": states,
|
||||
"related_iprs": related_iprs,
|
||||
})
|
||||
|
||||
return HttpResponseRedirect(request.path)
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
<link rel="stylesheet" href="{% static "jquery.tablesorter/css/theme.bootstrap.min.css" %}">
|
||||
{% endblock %}
|
||||
|
||||
{% block search_header %}Draft search results{% endblock %}
|
||||
{% block search_header %}Document IPR search results <small>for {{doc}}</small>{% endblock %}
|
||||
|
||||
{% block search_result %}
|
||||
<p class="alert alert-info">Total number of IPR disclosures found: <b>{{ iprs|length }}</b>.</p>
|
||||
|
@ -35,6 +35,12 @@
|
|||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% if related_iprs %}
|
||||
<p>
|
||||
<i>IPR declarations exist for related documents, <a href="#related">see below</a>.
|
||||
These cannot be assumed to apply to the current document without closer inspection.</i>
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
|
||||
<p class="alert alert-info">Total number of documents searched: <b>{{ docs|length}}</b>.</p>
|
||||
|
@ -85,8 +91,35 @@
|
|||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% if related_iprs %}
|
||||
<p class="alert alert-info" id="related">Total number of possibly related IPR disclosures found: <b>{{ related_iprs|length }}</b>.</p>
|
||||
|
||||
<table class="table table-condensed table-striped tablesorter">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>ID</th>
|
||||
<th>Statement</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
{% for ipr in related_iprs %}
|
||||
<tr>
|
||||
<td class="text-nowrap">{{ ipr.time|date:"Y-m-d" }}</td>
|
||||
<td>{{ ipr.id }}</td>
|
||||
<td><a href="{% url "ietf.ipr.views.show" id=ipr.id %}">{{ ipr.title }}</a>
|
||||
{% if ipr.updates %} <br/>(Updates ID#: {% for upd in ipr.updates %}{{upd.target_id}}{% if not forloop.last %}, {% endif %}{% endfor %}){% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% endblock %}
|
||||
|
||||
{% block js %}
|
||||
<script src="{% static "jquery.tablesorter/js/jquery.tablesorter.combined.min.js" %}"></script>
|
||||
{% endblock %}
|
||||
{% endblock %}
|
||||
|
|
Loading…
Reference in a new issue