Summary: Facelift IPR details and history pages, and fix a couple of IPR glitches
- Legacy-Id: 8920
This commit is contained in:
parent
7462ade959
commit
b675c06b44
|
@ -116,7 +116,7 @@ class GenericDisclosureForm(forms.Form):
|
|||
patent_info = forms.CharField(max_length=255,widget=forms.Textarea, required=False, help_text="Patent, Serial, Publication, Registration, or Application/File number(s), Date(s) granted or applied for, Country, and any additional notes")
|
||||
has_patent_pending = forms.BooleanField(required=False)
|
||||
statement = forms.CharField(max_length=255,widget=forms.Textarea,required=False)
|
||||
updates = SearchableIprDisclosuresField(required=False, help_text="If this disclosure <strong>updates</strong> other disclosures identify here which ones. Leave this field blank if this disclosure does not update any prior disclosures. Note: Updates to IPR disclosures must only be made by authorized representatives of the original submitters. Updates will automatically be forwarded to the current Patent Holder's Contact and to the Submitter of the original IPR disclosure.")
|
||||
updates = SearchableIprDisclosuresField(required=False, help_text="If this disclosure <strong>updates</strong> other disclosures identify here which ones. Leave this field blank if this disclosure does not update any prior disclosures. <strong>Note</strong>: Updates to IPR disclosures must only be made by authorized representatives of the original submitters. Updates will automatically be forwarded to the current Patent Holder's Contact and to the Submitter of the original IPR disclosure.")
|
||||
same_as_ii_above = forms.BooleanField(label="Same as in section II above", required=False)
|
||||
|
||||
def __init__(self,*args,**kwargs):
|
||||
|
|
|
@ -393,14 +393,11 @@ def history(request, id):
|
|||
if not has_role(request.user, "Secretariat"):
|
||||
events = events.exclude(type='private_comment')
|
||||
|
||||
tabs = [('Disclosure','disclosure',urlreverse('ipr_show',kwargs={'id':id}),True),
|
||||
('History','history',urlreverse('ipr_history',kwargs={'id':id}),True)]
|
||||
|
||||
return render(request, "ipr/details_history.html", {
|
||||
'events':events,
|
||||
'ipr': ipr,
|
||||
'tabs':tabs,
|
||||
'selected':'history'
|
||||
'tabs': get_details_tabs(ipr, 'History'),
|
||||
'selected_tab_entry':'history'
|
||||
})
|
||||
|
||||
def iprs_for_drafts_txt(request):
|
||||
|
@ -677,6 +674,14 @@ def search(request):
|
|||
form = SearchForm(initial={'state':['all']})
|
||||
return render(request, "ipr/search.html", {"form":form })
|
||||
|
||||
def get_details_tabs(ipr, selected):
|
||||
return [
|
||||
t + (t[0].lower() == selected.lower(),)
|
||||
for t in [
|
||||
('Disclosure', urlreverse('ipr_show', kwargs={ 'id': ipr.pk })),
|
||||
('History', urlreverse('ipr_history', kwargs={ 'id': ipr.pk }))
|
||||
]]
|
||||
|
||||
def show(request, id):
|
||||
"""View of individual declaration"""
|
||||
ipr = get_object_or_404(IprDisclosureBase, id=id).get_child()
|
||||
|
@ -688,13 +693,11 @@ def show(request, id):
|
|||
elif ipr.state.slug != 'posted':
|
||||
raise Http404
|
||||
|
||||
tabs = [('Disclosure','disclosure',urlreverse('ipr_show',kwargs={'id':id}),True),
|
||||
('History','history',urlreverse('ipr_history',kwargs={'id':id}),True)]
|
||||
|
||||
return render(request, "ipr/details_view.html", {
|
||||
'ipr': ipr,
|
||||
'tabs':tabs,
|
||||
'selected':'disclosure',
|
||||
'tabs': get_details_tabs(ipr, 'Disclosure'),
|
||||
'updates_iprs': ipr.relatedipr_source_set.all(),
|
||||
'updated_by_iprs': ipr.relatedipr_target_set.filter(source__state="posted")
|
||||
})
|
||||
|
||||
def showlist(request):
|
||||
|
|
|
@ -1,28 +0,0 @@
|
|||
{% extends "base.html" %}
|
||||
{% load ietf_filters %}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
|
||||
{% block title %}IPR Details - {{ ipr.title }}{% endblock %}
|
||||
|
||||
{% block pagehead %}
|
||||
<meta name="description" content="IPR disclosure #{{ipr.ipr_id}}: {{ ipr.title }} ({{ ipr.time|date:"Y" }})" />
|
||||
<link rel="stylesheet" type="text/css" href="/css/jquery-ui-themes/jquery-ui-1.8.11.custom.css"></link>
|
||||
<link rel="stylesheet" type="text/css" href="/css/ipr.css"></link>
|
||||
{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<h1>{{ ipr.title }}<br/>{{ name }}</h1>
|
||||
|
||||
<div id="mytabs" class="yui-navset">
|
||||
<ul class="yui-nav">
|
||||
{% for name, t, url, active, tooltip in tabs %}
|
||||
<li {% if t == selected %}class="selected"{% endif %}{% if tooltip %}title="{{tooltip}}"{% endif %}{% if not active %}class="disabled"{% endif %}><a{% if active %} href="{{ url }}"{% endif %}><em>{{ name }}</em></a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{% block tab_content %}
|
||||
|
||||
{% endblock %} <!-- tab_content -->
|
||||
|
||||
{% endblock %}
|
|
@ -152,7 +152,7 @@
|
|||
|
||||
<div class="form-group">
|
||||
<label class="col-md-2 control-label"></label>
|
||||
<div class="col-md-10"><a class="draft-add-row btn btn-default"><i class="glyphicon glyphicon-plus"></i> Add more</a></div>
|
||||
<div class="col-md-10"><a class="draft-add-row btn btn-default"><span class="glyphicon glyphicon-plus" aira-hidden="true"></span> Add more</a></div>
|
||||
</div>
|
||||
|
||||
{% bootstrap_field form.other_designations layout='horizontal' %}
|
||||
|
|
|
@ -1,49 +1,52 @@
|
|||
{% extends "ipr/details_base.html" %}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "ietf.html" %}
|
||||
|
||||
{% load ietf_filters %}
|
||||
{% load ipr_filters %}
|
||||
{% load ietf_filters ipr_filters %}
|
||||
|
||||
{% block pagehead %}
|
||||
<link rel="stylesheet" type="text/css" href="/css/ipr.css"></link>
|
||||
{% endblock %}
|
||||
{% block title %}History for IPR - {{ ipr.title }}{% endblock %}
|
||||
|
||||
{% block tab_content %}
|
||||
{% block content %}
|
||||
<h1>History for IPR disclosure<br><small>{{ ipr.title }}</small></h1>
|
||||
|
||||
<h2>Disclosure history</h2>
|
||||
{% if user|has_role:"Area Director,Secretariat,IANA,RFC Editor" %}
|
||||
<div class="history-actions">
|
||||
<a class="button" href="{% url "ipr_add_comment" id=ipr.id %}">Add comment</a>
|
||||
<a class="button" href="{% url "ipr_add_email" id=ipr.id %}">Add email</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
{% include "ipr/details_tabs.html" %}
|
||||
|
||||
{% if user|has_role:"Area Director,Secretariat,IANA,RFC Editor" %}
|
||||
<p class="buttonlist">
|
||||
<a class="btn btn-default" href="{% url "ipr_add_comment" id=ipr.id %}" title="Add comment to history">Add comment</a>
|
||||
<a class="btn btn-default" href="{% url "ipr_add_email" id=ipr.id %}" title="Add email to history">Add email</a>
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
<table class="ietf-table history">
|
||||
<tr><th class="date-column">Date</th><th>Type</th><th>By</th><th>Text</th></tr>
|
||||
<table class="table table-condensed table-striped history">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Date</th>
|
||||
<th>Type</th>
|
||||
<th>By</th>
|
||||
<th>Text</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
{% for e in events %}
|
||||
<tr class="{% cycle oddrow,evenrow %}" id="history-{{ e.pk }}">
|
||||
<td class="date-column">{{ e.time|date:"Y-m-d" }}</td>
|
||||
<td>{{ e.type }}
|
||||
{% if e.response_due %}
|
||||
{% if e.response_past_due %}
|
||||
<img src="/images/warning.png" title="Response overdue"/>
|
||||
<tbody>
|
||||
{% for e in events %}
|
||||
<tr id="history-{{ e.pk }}">
|
||||
<td class="text-nowrap">{{ e.time|date:"Y-m-d" }}</td>
|
||||
<td>{{ e.type }}
|
||||
{% if e.response_due and e.response_past_due %}
|
||||
<span class="glyphicon glyphicon-exclamation-sign" title="Response overdue"></span>
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ e.by }}</td>
|
||||
{% if e.message %}
|
||||
<td>{{ e.message|render_message_for_history|format_history_text:"100" }}
|
||||
{% if e.response_due %}
|
||||
<br>Response Due: {{ e.response_due|date:"Y-m-d" }}
|
||||
{% endif %}
|
||||
</td>
|
||||
{% else %}
|
||||
<td>{{ e.desc|format_history_text }}</td>
|
||||
{% endif %}
|
||||
{% endif %}
|
||||
</td>
|
||||
<td>{{ e.by }}</td>
|
||||
{% if e.message %}
|
||||
<td>{{ e.message|render_message_for_history|format_history_text:"100" }}
|
||||
{% if e.response_due %}
|
||||
<br>Response Due: {{ e.response_due|date:"Y-m-d" }}
|
||||
{% endif %}
|
||||
{% else %}
|
||||
<td>{{ e.desc|format_history_text }}
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</table>
|
||||
|
||||
{% endblock %} <!-- tab_content -->
|
||||
</tr>
|
||||
{% endfor %}
|
||||
</tbody>
|
||||
</table>
|
||||
{% endblock content %}
|
||||
|
|
5
ietf/templates/ipr/details_tabs.html
Normal file
5
ietf/templates/ipr/details_tabs.html
Normal file
|
@ -0,0 +1,5 @@
|
|||
<ul class="nav nav-tabs" role="tablist">
|
||||
{% for name, link, selected in tabs %}
|
||||
<li {% if selected %}class="active"{% endif %}><a href="{{ link }}">{{ name }}</a></li>
|
||||
{% endfor %}
|
||||
</ul>
|
|
@ -1,285 +1,240 @@
|
|||
{% extends "ipr/details_base.html" %}
|
||||
{# Copyright The IETF Trust 2007, All Rights Reserved #}
|
||||
{% extends "ietf.html" %}
|
||||
|
||||
{% load ietf_filters %}
|
||||
{% load ipr_filters %}
|
||||
{% load ietf_filters ipr_filters %}
|
||||
|
||||
{% block tab_content %}
|
||||
{% block title %}IPR Details - {{ ipr.title }}{% endblock %}
|
||||
|
||||
{% if not ipr.compliant %}
|
||||
<p style="color:red;">This IPR disclosure does not comply with the formal requirements of Section 6,
|
||||
"IPR Disclosures," of RFC 3979, "Intellectual Property Rights in IETF Technology."
|
||||
</p>
|
||||
{% endif %}
|
||||
{% block pagehead %}
|
||||
<meta name="description" content="IPR disclosure #{{ipr.ipr_id}}: {{ ipr.title }} ({{ ipr.time|date:"Y" }})" />
|
||||
{% endblock %}
|
||||
|
||||
{% if ipr.has_legacy_event %}
|
||||
<p>The text of the original IPR disclosure is available in the <a href="{% url "ietf.ipr.views.history" id=ipr.id %}">disclosure history</a>.</p>
|
||||
{% endif %}
|
||||
<p>Only those sections of the relevant entry form where the submitter provided information are displayed.</p>
|
||||
{% block content %}
|
||||
<div id="ipr-details">
|
||||
|
||||
{% for item in ipr.relatedipr_source_set.all %}
|
||||
<p>This IPR disclosure updates IPR disclosure ID #{{ item.target.id }},
|
||||
{% if item.target.state.slug == "removed" %}
|
||||
"{{ item.target.title }}", which was removed at the request of the submitter.
|
||||
{% else %}
|
||||
"<a href="{% url "ietf.ipr.views.show" id=item.target.id %}">{{ item.target.title }}</a>".
|
||||
<h1>IPR Details<br><small>{{ ipr.title }}</small></h1>
|
||||
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endfor %}
|
||||
|
||||
{% for item in ipr.relatedipr_target_set.all %}
|
||||
{% if item.source.state.slug == "posted" %}
|
||||
<p>
|
||||
This IPR disclosure has been updated by IPR disclosure ID #{{ item.source.id }},
|
||||
"<a href="{% url "ietf.ipr.views.show" id=item.source.id %}">{{ item.source.title }}</a>".
|
||||
</p>
|
||||
{% endif %}
|
||||
{% endfor %}
|
||||
{% include "ipr/details_tabs.html" %}
|
||||
|
||||
<div class="buttonlist">
|
||||
{% if ipr.state_id == 'posted' %}
|
||||
<p><a href="{% url "ietf.ipr.views.update" ipr.id %}" rel="nofollow">Update this IPR disclosure</a>. Note: Updates to IPR disclosures must only be made by authorized
|
||||
representatives of the original submitters. Updates will automatically
|
||||
be forwarded to the current Patent Holder's Contact and to the Submitter
|
||||
of the original IPR disclosure.</p>
|
||||
{% endif %}
|
||||
|
||||
<p><strong>Submitted Date: {{ ipr.time|date:"F j, Y" }}
|
||||
{% if user|has_role:"Secretariat" %}<br>State: {{ ipr.state }}{% endif %}
|
||||
</strong></p>
|
||||
|
||||
{% if user|has_role:"Secretariat" and ipr.update_notified_date %}
|
||||
<span class="alert">This update was notified to the submitter of the IPR that is being updated on: {{ ipr.update_notified_date|date:"Y-m-d" }}</span>
|
||||
{% endif %}
|
||||
|
||||
<!-- Admin action menu -->
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<div id="admin-menu">
|
||||
{% if ipr.updates and ipr.state_id == 'pending' and not ipr.update_notified_date %}
|
||||
<a class="admin-action" href="{% url "ipr_notify" id=ipr.id type="update"%}" title="Notify the submitter of IPR that is being updated">Notify</a>
|
||||
{% endif %}
|
||||
{% if ipr.updates and ipr.state_id == 'pending' and ipr.update_notified_date or not ipr.updates and ipr.state_id == 'pending' %}
|
||||
<a class="admin-action" href="{% url "ipr_post" id=ipr.id %}">Post</a>
|
||||
{% endif %}
|
||||
<a class="admin-action" href="{% url "ipr_email" id=ipr.id %}" title="Email submitter of this disclsoure">Email</a>
|
||||
<a class="admin-action" href="{% url "ipr_edit" id=ipr.id %}">Edit</a>
|
||||
<a class="admin-action" href="{% url "ipr_state" id=ipr.id %}">Change State</a>
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<!-- Begin Sections -->
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2">
|
||||
{% cycle I,II,III,IV,V,VI,VII,VIII as section %}.
|
||||
{% if ipr|to_class_name == "ThirdPartyIprDisclosure" %}Possible{% endif %}
|
||||
Patent Holder/Applicant ("Patent Holder")
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="{% cycle row_parity %}">
|
||||
<td class="iprlabel">Legal Name:</td> <td class="iprdata">{{ ipr.holder_legal_name }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{% if ipr.holder_contact_name or ipr.holder_contact_info %}
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}"><th colspan="2">
|
||||
{% cycle section %}.
|
||||
Patent Holder's Contact for License Application
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Name:</td><td class="iprdata">{{ ipr.holder_contact_name }}</td></tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Email:</td><td class="iprdata">{{ ipr.holder_contact_email }}</td></tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Other Info:<br>(address,phone,etc)</td> <td class="iprdata">{{ ipr.holder_contact_info|linebreaks }}</td></tr>
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if ipr.ietfer_name or ipr.ietfer_contact_info %}
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
Contact Information for the IETF Participant Whose Personal Belief Triggered this Disclosure:
|
||||
</th>
|
||||
</tr>
|
||||
{% if ipr.ietfer_name %}
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Name:</td><td class="iprdata">{{ ipr.ietfer_name }}</td></tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Email:</td><td class="iprdata">{{ ipr.ietfer_contact_email }}</td></tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Other Info:<br>(address,phone,etc)</td> <td class="iprdata">{{ ipr.ietfer_contact_info|linebreaks }}</td></tr>
|
||||
{% else %}
|
||||
<tr class="{% cycle row_parity %}"><td colspan="2"><i>No information submitted</i></td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if ipr.iprdocrel_set.all or ipr.other_designations %}
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
IETF Document or Other Contribution to Which this IPR Disclosure Relates:
|
||||
</th>
|
||||
</tr>
|
||||
{% for iprdocrel in ipr.iprdocrel_set.all %}
|
||||
<tr class="{% cycle row_parity %}">
|
||||
<td class="iprlabel">{{ iprdocrel.doc_type }}:</td>
|
||||
<td class="iprdata">"{{ iprdocrel.document.document.title }}"<br />({{ iprdocrel.formatted_name }}){% if iprdocrel.revisions or iprdocrel.sections%}<br />{% if iprdocrel.revisions %}Revisions: {{ iprdocrel.revisions }}    {% endif %}{% if iprdocrel.sections %}Sections: {{ iprdocrel.sections }}{% endif %}{% endif %}</td>
|
||||
</tr>
|
||||
{% endfor %}
|
||||
{% if ipr.other_designations %}
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Designations for Other Contributions:</td><td class="iprdata">{{ ipr.other_designations }}</td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.patent_info %}
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
Disclosure of Patent Information (i.e., patents or patent
|
||||
applications required to be disclosed by Section 6 of RFC 3979)
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
{% if ipr.patent_info %}
|
||||
<tbody class="{% cycle row_parity %}">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
A. For granted patents or published pending patent applications,
|
||||
please provide the following information:</td>
|
||||
</tr>
|
||||
<tr><td class="iprlabel">Patent, Serial, Publication, Registration,
|
||||
or Application/File number(s): </td><td class="iprdata">{{ ipr.patent_info|linebreaks }}</td></tr>
|
||||
</tbody>
|
||||
<tr class="{% cycle row_parity %}">
|
||||
<td colspan="2">
|
||||
B. Does this disclosure relate to an unpublished pending patent application?:
|
||||
<span class="iprdata">{{ ipr.has_patent_pending|yesno }}</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{% else %}
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel"></td><td class="iprdata">This disclosure relates to an unpublished pending patent application.</td></tr>
|
||||
{% endif %}
|
||||
|
||||
</table>
|
||||
{% endif %}
|
||||
|
||||
|
||||
{% if ipr.licensing %}
|
||||
<!-- Not to be shown for third-party disclosures -->
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
Licensing Declaration
|
||||
</th>
|
||||
</tr>
|
||||
<tbody class="{% cycle row_parity %}">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
The Patent Holder states that its position with respect
|
||||
to licensing any patent claims contained in the patent(s) or patent
|
||||
application(s) disclosed above that would necessarily be infringed by
|
||||
implementation of the technology required by the relevant IETF specification
|
||||
("Necessary Patent Claims"), for the purpose of implementing such
|
||||
specification, is as follows(select one licensing declaration option only):
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
<td></td><td class="iprdata" colspan="2">{% if ipr.licensing.slug == "later" %}{{ ipr.licensing.desc|slice:"2:"|slice:":43" }}{% else %}{{ ipr.licensing.desc|slice:"2:" }}{% endif %}</td>
|
||||
</tr>
|
||||
|
||||
</tbody>
|
||||
|
||||
<tbody class="{% cycle row_parity %}">
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
Licensing information, comments, notes, or URL for further information:
|
||||
</td>
|
||||
</tr>
|
||||
{% if ipr.licensing_comments %}
|
||||
<tr ><td class="iprlabel"> </td><td class="iprdata">{{ ipr.licensing_comments|linebreaks }}</td></tr>
|
||||
{% else %}
|
||||
<tr ><td class="iprlabel"> </td><td><i>No information submitted</i></td></tr>
|
||||
{% endif %}
|
||||
</tbody>
|
||||
|
||||
{% if ipr.lic_checkbox %}
|
||||
<tr class="{% cycle row_parity %}">
|
||||
<td colspan="2">
|
||||
<p>
|
||||
{% if ipr.lic_checkbox != 1 %}{{ ipr.lic_checkbox }}{% endif %}
|
||||
The individual submitting this template represents and warrants that all
|
||||
terms and conditions that must be satisfied for implementers of any
|
||||
covered IETF specification to obtain a license have been disclosed in this
|
||||
IPR disclosure statement.
|
||||
</p>
|
||||
{% if ipr|to_class_name == "GenericIprDisclosure" %}
|
||||
<p>
|
||||
Note: According to
|
||||
<a href="http://www.ietf.org/rfc/rfc3979.txt?number=3979">RFC 3979</a>,
|
||||
Section 6.4.3, unless you check the box
|
||||
above, and choose either option a) or b), you must still file specific
|
||||
IPR disclosures as appropriate.
|
||||
</p>
|
||||
{% endif %}
|
||||
</td>
|
||||
</tr>
|
||||
{% endif %}
|
||||
|
||||
<tr class="{% cycle row_parity %}">
|
||||
<td colspan="2">
|
||||
<span class="iprdata">Note: The individual submitting this template represents and warrants
|
||||
that he or she is authorized by the Patent Holder to agree to the
|
||||
above-selected licensing declaration.</span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
{% elif ipr.statement %}
|
||||
<table class="ipr data">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
Statement
|
||||
</th>
|
||||
</tr>
|
||||
<tbody class="{% cycle row_parity %}">
|
||||
<tr>
|
||||
<td class="iprdata" colspan="2">{{ ipr.statement }}</td>
|
||||
</tr>
|
||||
</table>
|
||||
<a class="btn btn-default" href="{% url "ietf.ipr.views.update" ipr.id %}" rel="nofollow">Update this IPR disclosure</a>
|
||||
{% endif %}
|
||||
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}"><th colspan="2">
|
||||
{% cycle section %}.
|
||||
Contact Information of Submitter of this Form
|
||||
</th>
|
||||
</tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Name:</td><td class="iprdata">{{ ipr.submitter_name }}</td></tr>
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel">Email:</td><td class="iprdata">{{ ipr.submitter_email }}</td></tr>
|
||||
</table>
|
||||
|
||||
{% if ipr.notes %}
|
||||
<table class="ipr">
|
||||
<tr class="{% cycle dark,light as row_parity %}">
|
||||
<th colspan="2" >
|
||||
{% cycle section %}.
|
||||
Other Notes:
|
||||
</th>
|
||||
</tr>
|
||||
{% if ipr.notes %}
|
||||
<tr class="{% cycle row_parity %}"><td class="iprlabel"> </td><td class="iprdata">{{ ipr.notes|linebreaks }}</td></tr>
|
||||
{% else %}
|
||||
<tr class="{% cycle row_parity %}"><td colspan="2"><i>No information submitted</i></td></tr>
|
||||
{% endif %}
|
||||
</table>
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
{# admin actions #}
|
||||
{% if ipr.updates and ipr.state_id == 'pending' and not ipr.update_notified_date %}
|
||||
<a class="btn btn-default" href="{% url "ipr_notify" id=ipr.id type="update"%}" title="Notify the submitter of IPR that is being updated">Notify</a>
|
||||
{% endif %}
|
||||
|
||||
{% endblock %} <!-- tab_content -->
|
||||
{% if ipr.updates and ipr.state_id == 'pending' and ipr.update_notified_date or not ipr.updates and ipr.state_id == 'pending' %}
|
||||
<a class="btn btn-default" href="{% url "ipr_post" id=ipr.id %}"><span class="glyphicon glyphicon-ok" aria-hidden="true"></span> Post</a>
|
||||
{% endif %}
|
||||
|
||||
<a class="btn btn-default" href="{% url "ipr_email" id=ipr.id %}" title="Email submitter of this disclsoure"><span class="glyphicon glyphicon-envelope" aria-hidden="true"></span> Email</a>
|
||||
<a class="btn btn-default" href="{% url "ipr_edit" id=ipr.id %}">Edit</a>
|
||||
<a class="btn btn-default" href="{% url "ipr_state" id=ipr.id %}">Change State</a>
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
{% if not ipr.compliant %}
|
||||
<p class="alert alert-danger">This IPR disclosure does not comply with the formal requirements of Section 6,
|
||||
"IPR Disclosures," of RFC 3979, "Intellectual Property Rights in IETF Technology."
|
||||
</p>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.has_legacy_event %}
|
||||
<p>The text of the original IPR disclosure is available in the <a href="{% url "ietf.ipr.views.history" id=ipr.id %}">disclosure history</a>.</p>
|
||||
{% endif %}
|
||||
|
||||
<div>
|
||||
<strong>Submitted:</strong>
|
||||
{{ ipr.time|date:"F j, Y" }}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
{% if user|has_role:"Secretariat" %}
|
||||
<strong>State:</strong>
|
||||
{{ ipr.state }}
|
||||
{% endif %}
|
||||
</div>
|
||||
|
||||
|
||||
{% if ipr.state_id == 'posted' %}
|
||||
<p class="help-block">Note: Updates to IPR disclosures must only be made by authorized
|
||||
representatives of the original submitters. Updates will automatically
|
||||
be forwarded to the current Patent Holder's Contact and to the Submitter
|
||||
of the original IPR disclosure.</p>
|
||||
{% endif %}
|
||||
|
||||
{% if updates_iprs %}
|
||||
<h2>Updates</h2>
|
||||
|
||||
{% for item in updates_iprs %}
|
||||
<p>This IPR disclosure updates IPR disclosure ID #{{ item.target.id }},
|
||||
{% if item.target.state.slug == "removed" %}
|
||||
"{{ item.target.title }}", which was removed at the request of the submitter.
|
||||
{% else %}
|
||||
"<a href="{% url "ietf.ipr.views.show" id=item.target.id %}">{{ item.target.title }}</a>".
|
||||
|
||||
{% endif %}
|
||||
</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if updated_by_iprs %}
|
||||
<h2>Updated by</h2>
|
||||
|
||||
{% for item in updated_by_iprs %}
|
||||
<p>
|
||||
This IPR disclosure has been updated by IPR disclosure ID #{{ item.source.id }},
|
||||
"<a href="{% url "ietf.ipr.views.show" id=item.source.id %}">{{ item.source.title }}</a>".
|
||||
</p>
|
||||
{% endfor %}
|
||||
{% endif %}
|
||||
|
||||
{% if user|has_role:"Secretariat" and ipr.update_notified_date %}
|
||||
<div class="alert alert-info">This update was notified to the submitter of the IPR that is being updated on: {{ ipr.update_notified_date|date:"Y-m-d" }}</div>
|
||||
{% endif %}
|
||||
|
||||
<h2 role="form" class="form-horizontal">
|
||||
|
||||
<h2>{% cycle I,II,III,IV,V,VI,VII,VIII as section %}.
|
||||
{% if ipr|to_class_name == "ThirdPartyIprDisclosure" %}Possible{% endif %}
|
||||
Patent Holder/Applicant ("Patent Holder")</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Holder legal name</dt>
|
||||
<dd>{{ ipr.holder_legal_name }}</dd>
|
||||
</dl>
|
||||
|
||||
{% if ipr.holder_contact_name or ipr.holder_contact_info %}
|
||||
<h2>{% cycle section %}. Patent Holder's Contact for License Application</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Holder contact name</dt>
|
||||
<dd>{{ ipr.holder_contact_name }}</dd>
|
||||
|
||||
<dt>Holder contact email</dt>
|
||||
<dd>{{ ipr.holder_contact_email }}</dd>
|
||||
|
||||
<dt>Holder contact info</dt>
|
||||
<dd>{{ ipr.holder_contact_info|linebreaks }}</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.ietfer_name or ipr.ietfer_contact_email or ipr.ietfer_contact_info %}
|
||||
<h2 colspan="2">{% cycle section %}. Contact Information for the IETF Participant Whose Personal Belief Triggered this Disclosure</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Name</dt>
|
||||
<dd>{{ ipr.ietfer_name }}</dd>
|
||||
|
||||
<dt>Email</dt>
|
||||
<dd>{{ ipr.ietfer_contact_email }}</dd>
|
||||
|
||||
<dt>Other info</dt>
|
||||
<dd>{{ ipr.ietfer_contact_info|linebreaks }}</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.iprdocrel_set.all or ipr.other_designations %}
|
||||
<h2>{% cycle section %}. IETF Document or Other Contribution to Which this IPR Disclosure Relates</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
{% for iprdocrel in ipr.iprdocrel_set.all %}
|
||||
<dt>{{ iprdocrel.doc_type }}</dt>
|
||||
<dd>
|
||||
<div>{{ iprdocrel.formatted_name }} ("{{ iprdocrel.document.document.title }}")</div>
|
||||
|
||||
{% if iprdocrel.revisions %}
|
||||
<div>Revisions: {{ iprdocrel.revisions }}</div>
|
||||
{% endif %}
|
||||
|
||||
{% if iprdocrel.sections %}
|
||||
<div>Sections: {{ iprdocrel.sections }}</div>
|
||||
{% endif %}
|
||||
</dd>
|
||||
{% endfor %}
|
||||
|
||||
{% if ipr.other_designations %}
|
||||
<dt>Designations for Other Contributions</dt>
|
||||
<dl>{{ ipr.other_designations }}</dl>
|
||||
{% endif %}
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.patent_info or ipr.has_patent_pending %}
|
||||
<h2>{% cycle section %}. Disclosure of Patent Information <small>i.e., patents or patent applications required to be disclosed by Section 6 of RFC 3979</small></h2>
|
||||
|
||||
<p>A. For granted patents or published pending patent applications, please provide the following information:</p>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Patent, Serial, Publication, Registration, or Application/File number(s):</dt>
|
||||
<dd>{{ ipr.patent_info|linebreaks }}</dd>
|
||||
</dl>
|
||||
|
||||
<p>B. Does this disclosure relate to an unpublished pending patent application?:</p>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Has patent pending:</dt>
|
||||
<dd>{{ ipr.has_patent_pending|yesno }}</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
{% if ipr.licensing %}
|
||||
<h2>{% cycle section %}. Licensing Declaration</h2>
|
||||
|
||||
<p>
|
||||
The Patent Holder states that its position with respect
|
||||
to licensing any patent claims contained in the patent(s) or patent
|
||||
application(s) disclosed above that would necessarily be infringed by
|
||||
implementation of the technology required by the relevant IETF specification
|
||||
("Necessary Patent Claims"), for the purpose of implementing such
|
||||
specification, is as follows(select one licensing declaration option only):
|
||||
</p>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Licensing</dt>
|
||||
<dd>{% if ipr.licensing.slug == "later" %}{{ ipr.licensing.desc|slice:"2:"|slice:":43" }}{% else %}{{ ipr.licensing.desc|slice:"2:" }}{% endif %}</dd>
|
||||
|
||||
<dt>Licensing information, comments, notes, or URL for further information</dt>
|
||||
<dd>{{ ipr.licensing_comments|default:"(No information submitted)"|linebreaks }}</dd>
|
||||
</dl>
|
||||
|
||||
<p>Note: The individual submitting this template represents and warrants
|
||||
that he or she is authorized by the Patent Holder to agree to the
|
||||
above-selected licensing declaration.</p>
|
||||
|
||||
{% elif ipr.statement %}
|
||||
<h2>{% cycle section %}. Statement</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Statement</dt>
|
||||
<dd>{{ ipr.statement|linebreaks }}</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
|
||||
<h2>{% cycle section %}. Contact Information of Submitter of this Form</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Submitter name</dt>
|
||||
<dd>{{ ipr.submitter_name }}</dd>
|
||||
|
||||
<dt>Submitter email</dt>
|
||||
<dd>{{ ipr.submitter_email }}</dd>
|
||||
</dl>
|
||||
|
||||
{% if ipr.notes %}
|
||||
<h2>{% cycle section %}. Other Notes</h2>
|
||||
|
||||
<dl class="dl-horizontal">
|
||||
<dt>Additional notes</dt>
|
||||
<dd>{{ ipr.notes|linebreaks }}</dd>
|
||||
</dl>
|
||||
{% endif %}
|
||||
</h2>
|
||||
|
||||
<p class="help-block">Only those sections of the relevant entry form where the submitter provided information are displayed.</p>
|
||||
|
||||
</div>
|
||||
{% endblock content %}
|
||||
|
|
Loading…
Reference in a new issue