mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-01-21 07:55:00 +00:00
monkeysphere: Handle unavailable imported domains
After a domain has been imported into a key and later the domain is removed, handle the case properly. - Show the Add Domains button only if there are domains that can be imported. - Show domains that have been imported into a key but not available in the system specially. - Sort list of domains shown.
This commit is contained in:
parent
cd96af6854
commit
f9bea39483
@ -91,16 +91,20 @@
|
||||
</td>
|
||||
<td>
|
||||
<ul>
|
||||
{% for domain in key.available_domains %}
|
||||
{% for domain in key.all_domains %}
|
||||
<li>
|
||||
{% if domain in key.imported_domains %}
|
||||
<span class="label label-success"
|
||||
><span class="glyphicon glyphicon-ok" aria-hidden="true"
|
||||
></span></span>
|
||||
{% else %}
|
||||
{% if domain not in key.imported_domains %}
|
||||
<span class="label label-default"
|
||||
><span class="glyphicon glyphicon-remove" aria-hidden="true"
|
||||
></span></span>
|
||||
><span class="glyphicon glyphicon-remove"
|
||||
aria-hidden="true"></span></span>
|
||||
{% elif domain not in key.available_domains %}
|
||||
<span class="label label-warning"
|
||||
><span class="glyphicon glyphicon-warning-sign"
|
||||
aria-hidden="true"></span></span>
|
||||
{% else %}
|
||||
<span class="label label-success"
|
||||
><span class="glyphicon glyphicon-ok"
|
||||
aria-hidden="true"></span></span>
|
||||
{% endif %}
|
||||
{{ domain }}
|
||||
</li>
|
||||
@ -138,7 +142,7 @@
|
||||
{% trans "Publish Key" %}</button>
|
||||
</form>
|
||||
{% endif %}
|
||||
{% if key.imported_domains != key.available_domains %}
|
||||
{% if key.importable_domains %}
|
||||
<form class="form pull-right" method="post"
|
||||
action="{% url 'monkeysphere:import' key.ssh_fingerprint %}">
|
||||
{% csrf_token %}
|
||||
|
||||
@ -109,14 +109,15 @@ def get_keys(fingerprint=None):
|
||||
for domains_of_a_type in names.domains.values()
|
||||
for domain in domains_of_a_type]
|
||||
for key in keys.values():
|
||||
key['imported_domains'] = set(key.get('imported_domains', []))
|
||||
key['available_domains'] = set(key.get('available_domains', []))
|
||||
if '*' in key['available_domains']:
|
||||
key['available_domains'] = set(domains)
|
||||
else:
|
||||
key['available_domains'] = set(key['available_domains'])
|
||||
|
||||
if 'imported_domains' in key:
|
||||
key['imported_domains'] = set(key['imported_domains']) \
|
||||
.intersection(key['available_domains'])
|
||||
key['all_domains'] = sorted(
|
||||
key['available_domains'].union(key['imported_domains']))
|
||||
key['importable_domains'] = key['available_domains'] \
|
||||
.difference(key['imported_domains'])
|
||||
|
||||
return keys
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user