Localization and several UI changes #51

Open
rskthomas wants to merge 55 commits from ux-changes_rebase into main
Showing only changes of commit 23359d27b8 - Show all commits

View file

@ -11,53 +11,69 @@
{% block content %} {% block content %}
<div class="row"> <div class="row">
<div class="col">
<h3>{{ object.id }}</h3>
</div>
</div>
{% load django_bootstrap5 %} <div class="col-md-12 mb-3">
<form role="form" method="post" class="p-2 mb-4 border rounded shadow-sm d-flex d-inline-flex align-items-center gap-3" style="max-width: 400px; {% if form2.erase_server.value %}background-color: #d5f7de;{% else %}background-color: #f7e7d5;{% endif %}"> <div class="card d-flex flex-wrap">
{% csrf_token %} <div class="card-header bg-light">
<strong class="card-title">Evidence
{% if form2.errors %} <span class="text-muted" id="uuid">{{ object.uuid }}</span>
<div class="alert alert-danger d-flex align-items-center alert-dismissible fade show w-100" role="alert"> <button class="btn btn-sm btn-outline-secondary ms-1" onclick="copyToClipboard()">
<i class="mdi mdi-alert-circle me-2"></i> <i class="bi bi-clipboard"></i>
<div> </button>
{% for field, error in form2.errors.items %} </strong>
<strong>{{ field|title }}:</strong> {{ error }}<br />
{% endfor %}
</div> </div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button> <div class="card-body">
<!-- Erase server checkbox -->
{% load django_bootstrap5 %}
<form role="form" method="post" class="p-2 rounded d-flex d-inline-flex align-items-center gap-3" style="max-width: 400px; {% if form2.erase_server.value %}background-color: #f5faf7!important;{% endif %}">
{% csrf_token %}
{% if form2.errors %}
<div class="alert alert-danger d-flex align-items-center alert-dismissible fade show w-100" role="alert">
<i class="mdi mdi-alert-circle me-2"></i>
<div>
{% for field, error in form2.errors.items %}
<strong>{{ field|title }}:</strong> {{ error }}<br />
{% endfor %}
</div>
<button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
</div>
{% endif %}
<!-- erase server switch -->
<div class="form-check form-switch m-0">
<input
class="form-check-input"
type="checkbox"
id="{{ form2.erase_server.id_for_label }}"
name="{{ form2.erase_server.name }}"
onchange="toggleSaveButton(this)"
{% if form2.erase_server.value %}
checked
{% endif %}>
<label class="form-check-label ps-1" for="{{ form2.erase_server.id_for_label }}">
{% if form2.erase_server.value %}
<i class="pe-1 bi bi-eraser"></i>
{% translate "It is an erase server" %}
{% else %}
<i class="pe-1 bi bi-x-circle"></i>
{% translate "It is not an erase server" %}
{% endif %}
</label>
</div>
<!-- submit button -->
<button class="btn btn-sm btn btn-outline-success" d-flex align-items-end gap-1" type="submit" name="submit_form2">
<i class="bi bi-floppy2-fill"></i> {% translate 'Save' %}
</button>
</form>
</div>
</div>
</div> </div>
{% endif %}
<!-- erase server swithc -->
<div class="form-check form-switch m-0">
<input
class="form-check-input"
type="checkbox"
id="{{ form2.erase_server.id_for_label }}"
name="{{ form2.erase_server.name }}"
{% if form2.erase_server.value %}
checked
{% endif %}>
<label class="form-check-label ps-1" for="{{ form2.erase_server.id_for_label }}">
{% if form2.erase_server.value %}
<i class="pe-1 bi bi-eraser"></i>
{% translate "It is an erase server" %}
{% else %}
<i class="pe-1 bi bi-x-circle"></i>
{% translate "It is not an erase server" %}
{% endif %}
</label>
</div> </div>
<!-- submit button -->
<button class="btn btn-sm btn btn-outline-success" d-flex align-items-end gap-1" type="submit" name="submit_form2">
<i class="bi bi-floppy2-fill"></i> {% translate 'Save' %}
</button>
</form>
<div class="row"> <div class="row">
<div class="col"> <div class="col">
@ -153,6 +169,19 @@
{% block extrascript %} {% block extrascript %}
<script> <script>
function toggleSaveButton(checkbox) {
const saveButton = document.getElementById('saveButton');
// Enable the button if the checkbox state changes
saveButton.disabled = false;
}
function copyToClipboard() {
const uuid = document.getElementById('uuid').innerText;
navigator.clipboard.writeText(uuid).then(() => {
alert('UUID copied to clipboard!');
}).catch(() => {
alert('Failed to copy UUID.');
});
}
document.addEventListener("DOMContentLoaded", function() { document.addEventListener("DOMContentLoaded", function() {
// Obtener el hash de la URL (ejemplo: #components) // Obtener el hash de la URL (ejemplo: #components)
const hash = window.location.hash; const hash = window.location.hash;