mirror of
https://github.com/freedombox/FreedomBox.git
synced 2026-08-26 12:46:08 +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>
|
||||||
<td>
|
<td>
|
||||||
<ul>
|
<ul>
|
||||||
{% for domain in key.available_domains %}
|
{% for domain in key.all_domains %}
|
||||||
<li>
|
<li>
|
||||||
{% if domain in key.imported_domains %}
|
{% if domain not in key.imported_domains %}
|
||||||
<span class="label label-success"
|
|
||||||
><span class="glyphicon glyphicon-ok" aria-hidden="true"
|
|
||||||
></span></span>
|
|
||||||
{% else %}
|
|
||||||
<span class="label label-default"
|
<span class="label label-default"
|
||||||
><span class="glyphicon glyphicon-remove" aria-hidden="true"
|
><span class="glyphicon glyphicon-remove"
|
||||||
></span></span>
|
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 %}
|
{% endif %}
|
||||||
{{ domain }}
|
{{ domain }}
|
||||||
</li>
|
</li>
|
||||||
@ -138,7 +142,7 @@
|
|||||||
{% trans "Publish Key" %}</button>
|
{% trans "Publish Key" %}</button>
|
||||||
</form>
|
</form>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if key.imported_domains != key.available_domains %}
|
{% if key.importable_domains %}
|
||||||
<form class="form pull-right" method="post"
|
<form class="form pull-right" method="post"
|
||||||
action="{% url 'monkeysphere:import' key.ssh_fingerprint %}">
|
action="{% url 'monkeysphere:import' key.ssh_fingerprint %}">
|
||||||
{% csrf_token %}
|
{% csrf_token %}
|
||||||
|
|||||||
@ -109,14 +109,15 @@ def get_keys(fingerprint=None):
|
|||||||
for domains_of_a_type in names.domains.values()
|
for domains_of_a_type in names.domains.values()
|
||||||
for domain in domains_of_a_type]
|
for domain in domains_of_a_type]
|
||||||
for key in keys.values():
|
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']:
|
if '*' in key['available_domains']:
|
||||||
key['available_domains'] = set(domains)
|
key['available_domains'] = set(domains)
|
||||||
else:
|
|
||||||
key['available_domains'] = set(key['available_domains'])
|
|
||||||
|
|
||||||
if 'imported_domains' in key:
|
key['all_domains'] = sorted(
|
||||||
key['imported_domains'] = set(key['imported_domains']) \
|
key['available_domains'].union(key['imported_domains']))
|
||||||
.intersection(key['available_domains'])
|
key['importable_domains'] = key['available_domains'] \
|
||||||
|
.difference(key['imported_domains'])
|
||||||
|
|
||||||
return keys
|
return keys
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user