Versiunea funcțională EUMI
This commit is contained in:
@@ -0,0 +1,107 @@
|
||||
{% load static %}
|
||||
<!DOCTYPE html>
|
||||
<html lang="ro">
|
||||
<head>
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>EUMI - Management IT</title>
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
|
||||
<!-- Bootstrap CSS -->
|
||||
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
|
||||
<!-- HTMX -->
|
||||
<script src="https://unpkg.com/htmx.org@1.9.10"></script>
|
||||
</head>
|
||||
<body class="bg-light" hx-headers='{"X-CSRFToken": "{{ csrf_token }}"}'>
|
||||
|
||||
<!-- Main Navigation -->
|
||||
<nav class="navbar navbar-expand-lg navbar-dark" style="background-color: #417690;">
|
||||
<div class="container-fluid">
|
||||
<a class="navbar-brand fw-bold" href="{% url 'equipment:dashboard' %}">E.U.M.I. v.4.0.0</a>
|
||||
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
|
||||
<span class="navbar-toggler-icon"></span>
|
||||
</button>
|
||||
<div class="collapse navbar-collapse" id="navbarNav">
|
||||
<ul class="navbar-nav me-auto">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'users:user_list' %}">Angajați</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'equipment:equipment_list' %}">Echipamente</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'equipment:certificate_list' %}">Certificate Digitale</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'equipment:handover_list' %}">Procese Verbale</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'equipment:decommission_list' %}">Casări</a>
|
||||
</li>
|
||||
<!-- <li class="nav-item">
|
||||
<a class="nav-link" href="{% url 'interventions:intervention_list' %}">Intervenții (Helpdesk)</a>
|
||||
</li> -->
|
||||
</ul>
|
||||
<ul class="navbar-nav ms-auto align-items-center">
|
||||
{% if user.is_authenticated %}
|
||||
<li class="nav-item me-3 text-white">
|
||||
Salut, <strong>{{ user.username }}</strong>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<form method="post" action="{% url 'logout' %}" class="d-inline">
|
||||
{% csrf_token %}
|
||||
<button type="submit" class="btn btn-sm btn-outline-light">Deconectare</button>
|
||||
</form>
|
||||
</li>
|
||||
{% else %}
|
||||
<li class="nav-item">
|
||||
<span class="navbar-text text-white">Compartimentul IT</span>
|
||||
</li>
|
||||
{% endif %}
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
|
||||
<!-- Dynamic Content Container -->
|
||||
<div class="container mt-4" id="main-content">
|
||||
<!-- Antet Oficial pentru interfața web -->
|
||||
<div class="d-flex align-items-center mb-4 pb-3 border-bottom">
|
||||
<img src="{% static 'img/stema.png' %}" alt="Stema Roman" style="width: 55px; height: auto;" class="me-3">
|
||||
<div class="lh-sm">
|
||||
<div class="fw-bold fs-5">U.A.T. Municipiul Roman</div>
|
||||
<div class="text-secondary" style="font-size: 0.9em;">Compartiment administrare infrastructură I.T. și baze de date</div>
|
||||
</div>
|
||||
</div>
|
||||
{% block content %}
|
||||
<!-- Module views will be injected here -->
|
||||
{% endblock %}
|
||||
</div>
|
||||
<footer class="mt-5 py-3 text-center text-muted small border-top">
|
||||
<div class="container">
|
||||
Aplicație dezvoltată de <strong>Tololoi Cătălin</strong> |
|
||||
✉️ <a href="mailto:catalin@x3c.ro" class="text-decoration-none text-muted">catalin@x3c.ro</a>
|
||||
</div>
|
||||
</footer>
|
||||
<!-- Bootstrap JS Bundle -->
|
||||
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
|
||||
<script src="https://cdn.jsdelivr.net/npm/flatpickr"></script>
|
||||
<script src="https://npmcdn.com/flatpickr/dist/l10n/ro.js"></script>
|
||||
<script>
|
||||
function initializeCalendars() {
|
||||
flatpickr(".flatpickr-date", {
|
||||
dateFormat: "d.m.Y",
|
||||
locale: "ro",
|
||||
allowInput: true
|
||||
});
|
||||
}
|
||||
|
||||
// Inițializăm la prima încărcare a paginii
|
||||
initializeCalendars();
|
||||
|
||||
// Re-inițializăm de fiecare dată când HTMX deschide un modal nou
|
||||
document.body.addEventListener('htmx:afterSwap', function(evt) {
|
||||
initializeCalendars();
|
||||
});
|
||||
</script>
|
||||
</body>
|
||||
</html>
|
||||
@@ -0,0 +1,50 @@
|
||||
{% extends 'base.html' %}
|
||||
{% load static %}
|
||||
|
||||
{% block content %}
|
||||
<div class="row justify-content-center mt-5">
|
||||
<div class="col-md-4">
|
||||
|
||||
<!-- Logo / Titlu instituție -->
|
||||
<!-- <div class="text-center mb-4">
|
||||
<img src="{% static 'img/stema.png' %}" alt="Stema Roman" style="width: 80px;" class="mb-3">
|
||||
<h4 class="fw-bold">U.A.T. Municipiul Roman</h4>
|
||||
<p class="text-muted small">Platformă Gestiune IT (IT EUMI)</p>
|
||||
</div> -->
|
||||
|
||||
<div class="card shadow">
|
||||
<div class="card-header bg-dark text-white text-center fw-bold">
|
||||
Autentificare
|
||||
</div>
|
||||
<div class="card-body p-4">
|
||||
{% if form.errors %}
|
||||
<div class="alert alert-danger p-2 small text-center">
|
||||
Utilizator sau parolă incorectă. Vă rugăm să încercați din nou.
|
||||
</div>
|
||||
{% endif %}
|
||||
|
||||
<form method="post" action="{% url 'login' %}">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="mb-3">
|
||||
<label for="id_username" class="form-label fw-bold">Nume utilizator</label>
|
||||
<input type="text" name="username" class="form-control" id="id_username" required autofocus>
|
||||
</div>
|
||||
|
||||
<div class="mb-4">
|
||||
<label for="id_password" class="form-label fw-bold">Parolă</label>
|
||||
<input type="password" name="password" class="form-control" id="id_password" required>
|
||||
</div>
|
||||
|
||||
<div class="d-grid">
|
||||
<button type="submit" class="btn btn-primary fw-bold">Conectare</button>
|
||||
</div>
|
||||
<!-- Redirect URL ascuns pentru Django -->
|
||||
<input type="hidden" name="next" value="{{ next }}">
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user