mirror of
https://github.com/nikdoof/test-auth.git
synced 2025-12-14 06:42:16 +00:00
208 lines
8.3 KiB
HTML
208 lines
8.3 KiB
HTML
{% extends "base.html" %}
|
|
|
|
{% load naturaltimediff %}
|
|
{% load installed %}
|
|
{% load gargoyle_tags %}
|
|
|
|
{% block title %}Your Profile{% endblock %}
|
|
|
|
{% block content %}
|
|
|
|
<script src="{{ STATIC_URL }}bootstrap/js/bootstrap-tabs.js"></script>
|
|
<script src="{{ STATIC_URL }}js/jquery.tablesorter.min.js"></script>
|
|
<script src="{{ STATIC_URL }}bootstrap/js/bootstrap-twipsy.js"></script>
|
|
<script src="{{ STATIC_URL }}bootstrap/js/bootstrap-popover.js"></script>
|
|
|
|
<div class="page-header">
|
|
<h1>Your Profile</h1>
|
|
</div>
|
|
|
|
<ul class="tabs">
|
|
<li class="active"><a href="#overview">Overview</a></li>
|
|
<li><a href="#eveapi">EVE API Keys</a></li>
|
|
{% if "reddit"|installed %}
|
|
{% ifswitch reddit %}
|
|
<li><a href="#reddit">Reddit</a></li>
|
|
{% endifswitch %}
|
|
{% endif %}
|
|
</ul>
|
|
|
|
<div class="pill-content">
|
|
|
|
<!-- Overview Tab -->
|
|
<div class="active" id="overview">
|
|
<p>
|
|
<b>Username:</b> {{ user.username }}<br/>
|
|
<b>Email:</b> {{ user.email }} (<a href="{% url sso-emailupdate %}">change</a>)<br/>
|
|
<b>Primary Character:</b> {{ user.get_profile.primary_character }} (<a href="{% url sso-primarycharacterupdate %}">change</a>)<br/>
|
|
<b>Groups:</b> {{ user.groups.all|join:", " }}<br/>
|
|
</p>
|
|
<h2>Passwords</h2>
|
|
<p>
|
|
<a href="{% url django.contrib.auth.views.password_change %}" class="btn">Change Auth Login Password</a>
|
|
<a href="{% url sso-apipassword %}" class="btn">Change Services Password</a><br/><br/>
|
|
<span class="label info">Note</span> Changing your services password will change it for all linked sites (forums, wiki, reimbursement tool)
|
|
</p>
|
|
|
|
{% if user.eveaccount_set.all %}
|
|
<h2>Service Accounts</h2>
|
|
<p>These are services that cannot talk to auth and require a seperate username/password.</p>
|
|
{% if user.serviceaccount_set.all %}
|
|
<table class="zebra-striped" id="services">
|
|
<thead>
|
|
<tr><th>Service</th><th>Username</th><th>URL</th><th>Active</th><th>Actions</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for acc in user.serviceaccount_set.all %}
|
|
<tr><td>{{ acc.service }}</td>
|
|
<td>{{ acc.service_uid }}</td>
|
|
<td><a href="{{ acc.service.url }}">{{ acc.service.url }}</a></td>
|
|
<td>{% if acc.active %}Yes{% else %}No{% endif %}</td>
|
|
<td>
|
|
{% if acc.active %}
|
|
{% if acc.service.settings.require_password %}<a href="{% url sso.views.service_reset acc.id %}">Reset</a> / {% endif %}
|
|
<a href="{% url sso.views.service_del acc.id %}">Delete</a>
|
|
{% if acc.service.provide_login %} / <a href="{% url sso.views.service_login acc.id %}">Login</a>{% endif %}
|
|
{% endif %}
|
|
</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
<p>
|
|
<a href="{% if available_services > 0 %}{% url sso.views.service_add %}{% else %}#{% endif %}" class="btn{% if available_services == 0 %} disabled{% endif %}">Add Service</a>
|
|
</p>
|
|
{% endif %}
|
|
</div>
|
|
|
|
<!-- EVE API Tab -->
|
|
<div id="eveapi">
|
|
<h2>Eve API Keys</h2>
|
|
<p>Adding an Eve API key will allow you to access any services allowed for your
|
|
corporation. Limited keys are accepted for service validation. API keys
|
|
are stored for on-going authentication. As the assigned owner of a key you may
|
|
remove them at any time, but this may affect any existing services you have
|
|
setup.</p>
|
|
{% if user.eveaccount_set.all %}
|
|
<table id="eveapikeys">
|
|
<thead>
|
|
<tr><th>User ID</th><th>API Key</th><th>Description</th><th>Type</th><th>Active</th><th>Last Updated</th><th>Actions</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for acc in user.eveaccount_set.all %}
|
|
<tr {% if acc.api_keytype == 4 %}style="background-color: #cccccc; color: gray;"{% endif %}>
|
|
<td>{{ acc.api_user_id }}</td>
|
|
<td>{{ acc.api_key|slice:":10" }}…</td>
|
|
<td>{{ acc.description }}</td>
|
|
<td><a href="#" class="accesspopup" id="{{ acc.api_user_id}}" data-original-title="Access for Key {{ acc.api_user_id }}" rel="popover">{{ acc.get_api_keytype_display }}</a>{% if acc.api_keytype == 4 %} <b><sup style="color: red;">*</sup></b>{% endif %}</td>
|
|
<td id="api-status-{{ acc.api_user_id }}">{{ acc.get_api_status_display }}</td>
|
|
<td id="api-time-{{ acc.api_user_id }}">{{ acc.api_last_updated|naturaltimediff }}</td>
|
|
<td>{% ifswitch api-disableprocessing %}{% else %}<a href="{% url eveapi-refresh acc.api_user_id %}" onclick="javascript:refresh_apikey({{ acc.api_user_id }}); return false;">Refresh</a>,
|
|
<a href="{% url eveapi-update acc.api_user_id %}">Update Key</a>, {% endifswitch %}
|
|
<a href="{% url eveapi-log acc.api_user_id %}">Logs</a>{% ifswitch eve-keydelete %},
|
|
<a href="{% url eveapi-delete acc.api_user_id %}">Delete</a>{% endifswitch %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
|
|
<p><span class="label important">Warning</span> Character API Keys are not included in any authorization checks, you will not be able to submit applications or access any services with them.</p>
|
|
<p>
|
|
{% ifswitch api-disableprocessing %}
|
|
{% else %}
|
|
<a href="{% url eveapi-add %}" class="btn primary" title="Adds a new EVE API key to your account">Add a Eve API key</a>
|
|
<a href="https://support.eveonline.com/api/Key/CreatePredefined/59638024/0/false" class="btn" title="Create a API key with all the permissions Auth needs">Create API Key</a>
|
|
<a href="{% url sso.views.refresh_access %}" class="btn {% if not user.eveaccount_set.all %}disabled{% else %}danger{% endif %}" title="Forces auth to recheck your permissions and update your services as needed">Force Access Update</a>
|
|
{% endifswitch %}
|
|
</p>
|
|
</div>
|
|
|
|
{% if "reddit"|installed %}
|
|
{% ifswitch reddit %}
|
|
<!-- Reddit Tab -->
|
|
<div id="reddit">
|
|
<h2>Reddit Accounts</h2>
|
|
<p>This is a list of all your current linked Reddit accounts</p>
|
|
{% if user.redditaccount_set.all %}
|
|
<p>To validate your Reddit account, login on Reddit then click the link next to the account, fill in some text in the message and click send.</p>
|
|
<table>
|
|
<thead>
|
|
<tr><th>Username</th><th>Created Date</th><th>Validated</th></tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for acc in user.redditaccount_set.all %}
|
|
<tr>
|
|
<td>{{ acc.username }}</td>
|
|
<td>{{ acc.date_created }}</td>
|
|
<td>{% if acc.validated %}Yes{% else %}No (<a href="http://www.reddit.com/message/compose/?to=DredditVerification&subject=Validation%3a%20{{user.username}}" target="_blank">Validate</a>){% endif %}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% endif %}
|
|
<p>
|
|
<a href="{% url reddit-addaccount %}" class="btn">Add a Reddit account</a>
|
|
<a href="{% url sso-reddittagging %}" class="btn">{% if user.get_profile.tag_reddit_accounts %}Disable{% else %}Enable{% endif %} Reddit Flare</a>
|
|
</p>
|
|
</div>
|
|
{% endifswitch %}
|
|
{% endif %}
|
|
|
|
</div>
|
|
|
|
<script type="text/javascript">
|
|
|
|
access_popover = function(e) {
|
|
e.preventDefault();
|
|
var el = $(this);
|
|
var id = $(this).attr('id');
|
|
if (!el.attr('data-content')) {
|
|
$.ajax({
|
|
type: 'GET',
|
|
url: '/eve/eveapi/access/' + id + '/',
|
|
dataType: 'html',
|
|
success: function(data) {
|
|
el.attr('data-content', data);
|
|
el.popover('show');
|
|
},
|
|
});
|
|
} else {
|
|
el.popover('show');
|
|
}
|
|
}
|
|
|
|
$('.tabs').tabs();
|
|
$("table#eveapikeys").tablesorter({ sortList: [[0,0]] });
|
|
$('.accesspopup').popover({html: 'true', trigger: 'manual'});
|
|
$('.accesspopup').hover(access_popover, function () { $(this).popover('hide') });
|
|
|
|
|
|
function refresh_apikey(key) {
|
|
$("#api-status-" + key).html("<center><img src='{{ STATIC_URL }}img/spinner.gif'/></center>");
|
|
$("#api-time-" + key).html("<center><img src='{{ STATIC_URL }}img/spinner.gif'/></center>");
|
|
$.getJSON("/eve/eveapi/refresh/" + key + "/", function(json) {
|
|
$("#api-time-" + json[0].pk).html("a moment ago");
|
|
switch(json[0].fields.api_status) {
|
|
case 0:
|
|
$("#api-status-" + json[0].pk).html("Unknown");
|
|
break;
|
|
case 1:
|
|
$("#api-status-" + json[0].pk).html("OK");
|
|
break;
|
|
case 2:
|
|
$("#api-status-" + json[0].pk).html("Other Error");
|
|
break;
|
|
case 3:
|
|
$("#api-status-" + json[0].pk).html("Account Expired");
|
|
break;
|
|
default:
|
|
$("#api-status-" + json[0].pk).html("Error");
|
|
break;
|
|
}
|
|
});
|
|
}
|
|
</script>
|
|
{% endblock %}
|