poprawki i funkcje

This commit is contained in:
Mateusz Gruszczyński
2025-02-23 22:44:24 +01:00
parent 8e7a0b3538
commit f58e2c5da0
6 changed files with 226 additions and 36 deletions

View File

@ -10,27 +10,31 @@
<body class="d-flex flex-column min-vh-100">
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container-fluid">
<span class="navbar-brand">RouterOS Update</span>
<a href="{{ url_for('index') }}" class="navbar-brand">RouterOS Update</a>
<div>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarButtons" aria-controls="navbarButtons" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarButtons">
<div class="ms-auto">
{% if current_user.is_authenticated %}
<div class="btn-group me-2" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('devices') }}'">Urządzenia</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('logs') }}'">Logi</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('settings') }}'">Ustawienia</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('logout') }}'">Wyloguj</button>
</div>
{% else %}
<div class="btn-group me-2" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('login') }}'">Logowanie</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('register') }}'">Rejestracja</button>
</div>
{% endif %}
<div class="btn-group me-2" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('dashboard') }}'">Dashboard</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('devices') }}'">Urządzenia</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('logs') }}'">Logi</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('settings') }}'">Ustawienia</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('reset_password') }}'">Reset hasła</button>
</div>
<div class="btn-group" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('logout') }}'">Wyloguj</button>
</div>
{% else %}
<div class="btn-group me-2" role="group">
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('login') }}'">Logowanie</button>
<button type="button" class="btn btn-outline-light" onclick="window.location.href='{{ url_for('register') }}'">Rejestracja</button>
</div>
{% endif %}
</div>
</div>
</div>

42
templates/dashboard.html Normal file
View File

@ -0,0 +1,42 @@
{% extends "base.html" %}
{% block title %}Dashboard - RouterOS Update{% endblock %}
{% block content %}
<div class="container">
<h2 class="mb-4">Dashboard</h2>
<div class="row">
<div class="col-md-3">
<div class="card text-white bg-primary mb-3">
<div class="card-body">
<h5 class="card-title">Urządzenia</h5>
<p class="card-text display-6">{{ devices_count }}</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-danger mb-3">
<div class="card-body">
<h5 class="card-title">Wymagają aktualizacji</h5>
<p class="card-text display-6">{{ pending_updates_count }}</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-success mb-3">
<div class="card-body">
<h5 class="card-title">Logi</h5>
<p class="card-text display-6">{{ logs_count }}</p>
</div>
</div>
</div>
<div class="col-md-3">
<div class="card text-white bg-secondary mb-3">
<div class="card-body">
<h5 class="card-title">Użytkownicy</h5>
<p class="card-text display-6">{{ users_count }}</p>
</div>
</div>
</div>
</div>
<!-- Możesz dodać dodatkowe statystyki lub wykresy poniżej -->
</div>
{% endblock %}

View File

@ -1,16 +1,15 @@
{% extends "base.html" %}
{% block title %}Strona główna - RouterOS Update{% endblock %}
{% block content %}
<div class="p-5 mb-4 bg-light rounded-3">
<div class="container-fluid py-5">
<h1 class="display-5 fw-bold">Witamy w RouterOS Update</h1>
<p class="col-md-8 fs-4">Monitoruj swoje urządzenia, sprawdzaj aktualizacje oraz zarządzaj powiadomieniami w jednym miejscu.</p>
{% if not current_user.is_authenticated %}
<button type="button" class="btn btn-primary btn-lg" onclick="window.location.href='{{ url_for('login') }}'">Logowanie</button>
<button type="button" class="btn btn-secondary btn-lg" onclick="window.location.href='{{ url_for('register') }}'">Rejestracja</button>
{% else %}
<button type="button" class="btn btn-primary btn-lg" onclick="window.location.href='{{ url_for('devices') }}'">Moje urządzenia</button>
{% endif %}
<div class="d-flex flex-column align-items-center justify-content-center" style="min-height: 80vh;">
<div class="text-center">
<img src="https://mikrotik.com/logo/assets/logo-colors-dark-ToiqSI6u.svg" alt="Mikrotik Logo" class="img-fluid" style="max-width: 200px;">
<h1 class="mt-3">Witamy w RouterOS Update</h1>
<p class="lead">Zarządzaj aktualizacjami swoich urządzeń RouterOS w prosty sposób.</p>
<div class="mt-4">
<a href="{{ url_for('login') }}" class="btn btn-primary btn-lg me-3">Login</a>
<a href="{{ url_for('register') }}" class="btn btn-success btn-lg">Rejestracja</a>
</div>
</div>
</div>
</div>
{% endblock %}

View File

@ -0,0 +1,24 @@
{% extends "base.html" %}
{% block title %}Reset hasła - RouterOS Update{% endblock %}
{% block content %}
<div class="row justify-content-center">
<div class="col-md-6">
<h2 class="mb-4">Reset hasła</h2>
<form method="POST">
<div class="mb-3">
<label for="old_password" class="form-label">Stare hasło</label>
<input type="password" class="form-control" name="old_password" id="old_password" required>
</div>
<div class="mb-3">
<label for="new_password" class="form-label">Nowe hasło</label>
<input type="password" class="form-control" name="new_password" id="new_password" required>
</div>
<div class="mb-3">
<label for="confirm_password" class="form-label">Potwierdź nowe hasło</label>
<input type="password" class="form-control" name="confirm_password" id="confirm_password" required>
</div>
<button type="submit" class="btn btn-primary">Zresetuj hasło</button>
</form>
</div>
</div>
{% endblock %}

View File

@ -3,7 +3,9 @@
{% block content %}
<div class="row justify-content-center">
<div class="col-md-8">
<h2>Ustawienia powiadomień</h2>
<h2 class="mb-4">Ustawienia powiadomień i systemu</h2>
<!-- Główny formularz ustawień -->
<form method="POST">
<fieldset class="border p-3 mb-3">
<legend class="w-auto">Pushover</legend>
@ -21,7 +23,6 @@
</div>
</fieldset>
<!-- Pozostała część formularza SMTP oraz interwału -->
<fieldset class="border p-3 mb-3">
<legend class="w-auto">SMTP (E-mail)</legend>
<div class="form-check mb-2">
@ -69,6 +70,18 @@
<button type="submit" class="btn btn-primary">Zapisz ustawienia</button>
</form>
<!-- Przyciski testowe w osobnym bloku, ułożone w jednej linii po prawej stronie -->
<div class="mt-4">
<div class="d-flex justify-content-end">
<form method="POST" action="{{ url_for('test_pushover') }}" class="d-inline me-2">
<button type="submit" class="btn btn-secondary">Test Pushover</button>
</form>
<form method="POST" action="{{ url_for('test_email') }}" class="d-inline">
<button type="submit" class="btn btn-secondary">Test E-mail</button>
</form>
</div>
</div>
</div>
</div>