add list, delete and edit comment of SSH public keys

- add sshkeys to hostingpackage detail view context
- implement new osusers.forms.EditSshPublicKeyCommentForm
- implement new views ListSshPublicKeys, DeleteSshPublicKey and
  EditSshPublicKeyComment
- add new URL patterns 'list_ssh_keys', 'edit_ssh_key_comment' and
  'delete_ssh_key'
- link from hosting package detail view to 'list_ssh_keys' when there are
  SSH keys assigned to the shown hosting package
- add new templates osusers/sshpublickey_list.html,
  osusers/sshpublickey_confirm_delete.html and
  osusers/sshpublickey_edit_comment
- add operating system user output to template
  osusers/sshpublickey_create.html
- add changelog entry
This commit is contained in:
Jan Dittberner 2015-02-01 01:55:09 +01:00
parent 0c7bb79109
commit 832a611602
10 changed files with 222 additions and 5 deletions

View file

@ -0,0 +1,35 @@
{% extends "osusers/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Delete SSH Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Delete SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
<div class="panel panel-warning">
<div class="panel-heading">
{% blocktrans with algorithm=key.algorithm %}Do you really want to delete the {{ algorithm }} SSH public key?{% endblocktrans %}
</div>
<div class="panel-body form">
<p >{% blocktrans %}When you confirm the deletion of this key you will no longer be able to use the corresponding private key for authentication.{% endblocktrans %}</p>
<pre>{{ key }}</pre>
<form action="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}" method="post">
{% csrf_token %}
<input class="btn btn-warning" type="submit" value="{% trans "Yes, do it!" %}" />
<a class="btn btn-default" href="{% url 'list_ssh_keys' package=hostingpackage.id %}" title="{% trans "Cancel and go back to the SSH key list" %}">{% trans "Cancel" %}</a>
</form>
</div>
</div>
{% endblock content %}

View file

@ -3,7 +3,7 @@
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new SSH Public Key{% endblocktrans %}
{% blocktrans %}Add new SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add a new SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
@ -11,7 +11,7 @@
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Add new SSH Public Key{% endblocktrans %}
{% blocktrans %}Add new SSH Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Add a new SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}

View file

@ -0,0 +1,30 @@
{% extends "osusers/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}Edit Comment of SSH Public Key for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Edit Comment of SSH Public Key for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}Edit Comment of Public Key <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}Edit Comment of SSH Public Key <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% crispy form %}
{% endblock content %}
{% block extra_js %}
<script type="text/javascript">
$(document).ready(function() {
$('input[type=text]').first().focus().select();
});
</script>
{% endblock extra_js %}

View file

@ -0,0 +1,47 @@
{% extends "osusers/base.html" %}
{% load i18n crispy_forms_tags %}
{% block title %}{{ block.super }} - {% spaceless %}
{% if user == customer %}
{% blocktrans %}SSH Public Keys for Operating System User {{ osuser }}{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}SSH Public Keys for Operating System User {{ osuser }} of Customer {{ full_name }}{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock title %}
{% block page_title %}{% spaceless %}
{% if user == customer %}
{% blocktrans %}SSH Public Keys <small>for Operating System User {{ osuser }}</small>{% endblocktrans %}
{% else %}
{% blocktrans with full_name=customer.get_full_name %}SSH Public Keys <small>for Operating System User {{ osuser }} of Customer {{ full_name }}</small>{% endblocktrans %}
{% endif %}
{% endspaceless %}{% endblock page_title %}
{% block content %}
{% if keys %}
<table class="table">
<thead>
<tr>
<th class="name-column">{% trans "Algorithm" %}</th>
<th>{% trans "Comment" %}</th>
<th title="{% trans "SSH public key actions" %}" class="actions-column"><span class="sr-only">{% trans "Actions" %}</span></th>
</tr>
</thead>
<tbody>
{% for key in keys %}
<tr>
<td>{{ key.algorithm }}</td>
<td>{{ key.comment }}</td>
<td>
<a href="{% url 'delete_ssh_key' package=hostingpackage.id pk=key.id %}" title="{% trans "Delete this SSH public key" %}"><i class="glyphicon glyphicon-trash"></i><span class="sr-only"> {% trans "Delete" %}</span></a>
<a href="{% url 'edit_ssh_key_comment' package=hostingpackage.id pk=key.id %}" title="{% trans "Edit this SSH public key's comment" %}"><i class="glyphicon glyphicon-pencil"></i><span class="sr-only"> {% trans "Edit Comment" %}</span></a>
</td>
</tr>
{% endfor %}
</tbody>
</table>
{% else %}
<p class="bg-warning">{% trans "There are now SSH public keys set for this operating system user yet." %}</p>
{% endif %}
<p><a href="{% url 'add_ssh_key' package=hostingpackage.id %}" class="btn btn-primary">{% trans "Add SSH public key" %}</a></p>
{% endblock content %}