215 lines
7.9 KiB
HTML
215 lines
7.9 KiB
HTML
{% extends "base.html" %}
|
|
{# Copyright The IETF Trust 2015, All Rights Reserved #}
|
|
{% load origin %}
|
|
|
|
{% load widget_tweaks bootstrap3 %}
|
|
|
|
{% load person_filters %}
|
|
|
|
{% block title %}Profile for {{ user }}{% endblock %}
|
|
|
|
{% block content %}
|
|
{% origin %}
|
|
<h1>Profile for {{ user.username }}</h1>
|
|
|
|
<p>
|
|
Personal information in the datatracker which is derived from your contributions
|
|
to the IETF standards development process is covered by the EU General Data Protection
|
|
Regulation's
|
|
<a href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679#d1e1888-1-1">Article 6(1) (f)</a>
|
|
covering IETF's Legitimate Interest due to the IETF's mission of developing standards
|
|
for the internet. See also the page on <a href="/help/personal-information">handling
|
|
of personal information</a>.
|
|
|
|
</p>
|
|
<p>
|
|
|
|
Personal information which is <b>not</b> derived from your contributions is covered by the EU
|
|
<a href="https://eur-lex.europa.eu/legal-content/EN/TXT/HTML/?uri=CELEX:32016R0679#d1e1888-1-1">GDPR Article 6(1) (a)</a>
|
|
regarding consent. All such information is visible on this page and shown with the
|
|
dagger symbol † next to it, or listed on your
|
|
<a href="{% url 'ietf.community.views.view_list' user.username %}">notification subscription page</a>. Most of this
|
|
information can be edited or removed on these page. There are some exceptions, such
|
|
as photos, which currently require an email to <a href="mailto:{{settings.SECRETARIAT_INFO_EMAIL}}">the Secretariat</a>
|
|
if you wish to update or remove the information.
|
|
|
|
</p>
|
|
<p>
|
|
|
|
All the information the datatracker has that is coupled to this account and visible
|
|
on this page or otherwise related to your work on ietf documents, is also available
|
|
to you as a <a href="{% url 'ietf.api.views.PersonalInformationExportView' %}">JSON blob</a> when
|
|
you are logged in.
|
|
|
|
</p>
|
|
|
|
|
|
<hr>
|
|
|
|
<form class="form-horizontal" method="post">
|
|
{% csrf_token %}
|
|
|
|
{% bootstrap_form_errors person_form %}
|
|
{% for f in new_email_forms %}
|
|
{% bootstrap_form_errors f %}
|
|
{% endfor %}
|
|
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">User name †</label>
|
|
<div class="col-sm-10">
|
|
<p class="form-control-static">
|
|
{{ user.username }}
|
|
<a href="/accounts/username/"><span class="fa fa-pencil"></span></a>
|
|
</p>
|
|
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Password †</label>
|
|
<div class="col-sm-10">
|
|
<p class="form-control-static">
|
|
|
|
<a href="/accounts/password/">Password change form</a>
|
|
<a href="/accounts/password/"><span class="fa fa-pencil"></span></a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
{% if person.photo %}
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Photo †</label>
|
|
<div class="col-sm-10">
|
|
<p class="form-control-static">
|
|
<a href="{{person.photo.url}}">
|
|
<img class="photo" src="{{ person.photo.url }}" alt="Photo of {{ person }}" />
|
|
</a>
|
|
</p>
|
|
</div>
|
|
</div>
|
|
{% endif %}
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Nomcom Eligible</label>
|
|
<div class="col-sm-1 form-control-static">{{person|is_nomcom_eligible|yesno:'Yes,No,No'}}</div>
|
|
<div class="col-sm-9">
|
|
<p class="alert alert-info form-control-static">
|
|
This calculation is EXPERIMENTAL.<br/>
|
|
|
|
If you believe it is incorrect, make sure you've added all the
|
|
email addresses you've registered for IETF meetings with to the
|
|
list below.<br/>
|
|
|
|
If you've done so and the calculation is still incorrect, please
|
|
send a note to
|
|
<a href="mailto:{{settings.SECRETARIAT_TICKET_EMAIL}}">{{settings.SECRETARIAT_TICKET_EMAIL}}</a>.<br/>
|
|
See <a href="{% url 'ietf.doc.views_doc.document_main' name='rfc7437'%}">RFC 7437</a>
|
|
for eligibility requirements.
|
|
|
|
</p>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">External Resources</label>
|
|
<div class="col-sm-10 form-control-static">
|
|
{% for extres in person.personextresource_set.all %}
|
|
<div class="row">
|
|
<div class="col-sm-1"><span title="{{ extres.name.name}}">{% firstof extres.display_name extres.name.name %}</span></div>
|
|
<div class="col-sm-11">{{extres.value}}
|
|
{% if forloop.first %} <a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="fa fa-pencil"></span></a>{% endif %}
|
|
</div>
|
|
</div>
|
|
{% empty %}
|
|
<div class="row"><div class="col-sm-1">None <a href="{% url 'ietf.ietfauth.views.edit_person_externalresources' %}"><span class="fa fa-pencil"></span></a></div></div>
|
|
{% endfor %}
|
|
</div>
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="col-sm-2 control-label">Email addresses</label>
|
|
<div class="col-sm-10">
|
|
<div class="row">
|
|
<div class="col-sm-10" id="emails">
|
|
<table class="table table-condensed">
|
|
<tr ><th>Primary</th><th>Active</th><th>Address</th><th>Origin</th></tr>
|
|
{% for email in emails %}
|
|
<tr >
|
|
<td><input type="radio" name="primary_email" value="{{ email.pk }}" {% if email.primary %}checked{% endif %}></td>
|
|
<td><input type="checkbox" name="active_emails" value="{{ email.pk }}" {% if email.active %}checked{% endif %}></td>
|
|
<td>
|
|
{% if email.origin == person.user.username or email.origin == '' %}†{% endif %}
|
|
{{ email }}
|
|
</td>
|
|
<td>{{ email.origin|default:'(unknown)' }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</table>
|
|
</div>
|
|
<div class="col-sm-10">
|
|
<div class="help-block">Note: Email addresses cannot be deleted in this form, only deactivated.</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
{% for f in new_email_forms %}
|
|
{% bootstrap_field f.new_email layout="horizontal" show_label=False %}
|
|
{% endfor %}
|
|
|
|
<div class="form-group">
|
|
<div class="col-sm-offset-2 col-sm-10">
|
|
<div class="new-emails"></div>
|
|
|
|
<button class="btn btn-default btn-sm add-email">Open a new email address field</button>
|
|
</div>
|
|
</div>
|
|
|
|
{% for role in roles %}
|
|
{% bootstrap_field role.email_form.email layout="horizontal" show_label=False %}
|
|
{% endfor %}
|
|
|
|
{% bootstrap_field person_form.name layout="horizontal" %}
|
|
{% bootstrap_field person_form.plain layout="horizontal" %}
|
|
{% bootstrap_field person_form.ascii layout="horizontal" %}
|
|
{% if roles %}
|
|
{% bootstrap_field person_form.biography layout="horizontal" %}
|
|
{% endif %}
|
|
{% bootstrap_field person_form.consent layout="horizontal" %}
|
|
|
|
<div class="form-group">
|
|
<div class="col-sm-offset-2 col-sm-10">
|
|
<button type="submit" class="btn btn-primary">Submit</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
|
|
{% endblock %}
|
|
|
|
{% block js %}
|
|
<script>
|
|
$(document).ready(function() {
|
|
$("input[name=active_emails]").on("change keypress click", function () {
|
|
if (this.checked) {
|
|
$(this).parent().next().addClass("text-success");;
|
|
$(this).parent().next().removeClass("text-danger line-through");
|
|
} else {
|
|
$(this).parent().next().addClass("text-danger line-through");
|
|
$(this).parent().next().removeClass("text-success");
|
|
}
|
|
}).trigger("change");
|
|
|
|
$(".add-email").click(function(e) {
|
|
e.preventDefault();
|
|
|
|
var container = $(this).closest("form").find(".new-emails");
|
|
|
|
$('<input class="form-control" name="new_email" placeholder="The address entered here will get a confirmation challenge. To add an address that cannot confirm, contact the secretariat.">').appendTo(container).focus();
|
|
$('<div class="pull-right pad"><i>Remember to submit the form for the new email challenge to be sent.</i></div>').appendTo(container);
|
|
})
|
|
});
|
|
</script>
|
|
{% endblock %}
|