From bdbf364457c31a23095eb5aa25fb3eb32e3d0b5e Mon Sep 17 00:00:00 2001 From: Bkolb Date: Thu, 2 Apr 2026 18:20:38 +0200 Subject: [PATCH] admin panel layout --- app/flask-postgres/app/app.py | 12 ++--- app/flask-postgres/app/security.py | 2 +- app/flask-postgres/styles/site.css | 57 +++++++++++++++++++- app/flask-postgres/tests/conftest.py | 10 +++- app/flask-postgres/tests/test_app_smoke.py | 3 +- app/flask-postgres/tests/test_permissions.py | 3 +- 6 files changed, 75 insertions(+), 12 deletions(-) diff --git a/app/flask-postgres/app/app.py b/app/flask-postgres/app/app.py index e31ce72..3f39c8f 100644 --- a/app/flask-postgres/app/app.py +++ b/app/flask-postgres/app/app.py @@ -15,16 +15,16 @@ from flask import ( ) from werkzeug.security import check_password_hash, generate_password_hash -from .config import Config -from .db import get_connection, fetchone_dict, fetchall_dict -from .auth import login_required -from .permissions import is_video_allowed_for_level -from .logging_config import setup_logging -from .security import ( +from config import Config +from db import get_connection, fetchone_dict, fetchall_dict +from auth import login_required +from permissions import is_video_allowed_for_level +from security import ( admin_required, get_current_user, get_current_user_mandant_level, ) +from logging_config import setup_logging app = Flask(__name__) app.config.from_object(Config) diff --git a/app/flask-postgres/app/security.py b/app/flask-postgres/app/security.py index 07f9730..b528d14 100644 --- a/app/flask-postgres/app/security.py +++ b/app/flask-postgres/app/security.py @@ -1,7 +1,7 @@ from functools import wraps from flask import session, redirect, url_for, request, abort -from .db import get_connection +from db import get_connection def get_current_user_mandant_level(): diff --git a/app/flask-postgres/styles/site.css b/app/flask-postgres/styles/site.css index 2677b32..e95e54c 100644 --- a/app/flask-postgres/styles/site.css +++ b/app/flask-postgres/styles/site.css @@ -171,14 +171,28 @@ p { } .btn-danger { + display: inline-flex; + align-items: center; + justify-content: center; + height: 48px; + padding: 0 20px; + border-radius: 12px; + font-weight: 700; + text-decoration: none; + box-sizing: border-box; + background: #b62323; color: #fff; - border: none; + border: 1px solid #b62323; + cursor: pointer; } .btn-small { height: 40px; min-width: 100px; + padding: 0 16px; + font-size: 14px; + border-radius: 10px; } /* ========================= @@ -261,7 +275,48 @@ p { gap: 16px; margin-top: 16px; } +/* ========================= + ADMIN FORM LAYOUT +========================= */ +.admin-grid-form { + display: grid; + grid-template-columns: 200px minmax(320px, 1fr); + gap: 14px 20px; + align-items: center; + max-width: 760px; +} + +.admin-grid-form .form-row { + display: contents; +} + +.admin-grid-form label { + margin: 0; + font-weight: 700; + color: #0d2f57; +} + +.admin-grid-form input[type="text"], +.admin-grid-form input[type="email"], +.admin-grid-form input[type="number"] { + width: 100%; + min-height: 46px; + padding: 10px 12px; + border: 1px solid #cfd8e3; + border-radius: 10px; + font-size: 16px; + box-sizing: border-box; +} + +.form-row-full { + grid-column: 1 / -1; + margin-top: 8px; +} +.table-actions .btn-primary, +.table-actions .btn-danger { + min-width: 110px; +} /* ========================= 10. TABLES ========================= */ diff --git a/app/flask-postgres/tests/conftest.py b/app/flask-postgres/tests/conftest.py index 62e3e00..e4954d8 100644 --- a/app/flask-postgres/tests/conftest.py +++ b/app/flask-postgres/tests/conftest.py @@ -2,4 +2,12 @@ import os import sys BASE_DIR = os.path.dirname(os.path.dirname(__file__)) -sys.path.insert(0, BASE_DIR) \ No newline at end of file +APP_DIR = os.path.join(BASE_DIR, "app") + +if APP_DIR not in sys.path: + sys.path.insert(0, APP_DIR) + +if BASE_DIR not in sys.path: + sys.path.insert(0, BASE_DIR) + +os.environ["LOG_DIR"] = "./logs" \ No newline at end of file diff --git a/app/flask-postgres/tests/test_app_smoke.py b/app/flask-postgres/tests/test_app_smoke.py index 664801f..912fa2a 100644 --- a/app/flask-postgres/tests/test_app_smoke.py +++ b/app/flask-postgres/tests/test_app_smoke.py @@ -1,4 +1,4 @@ -import pytest + import os os.environ["DB_HOST"] = "192.168.0.10" @@ -9,6 +9,7 @@ os.environ["DB_PORT"] = "55432" os.environ["LOG_DIR"] = "./logs" from app.app import app +import pytest @pytest.fixture diff --git a/app/flask-postgres/tests/test_permissions.py b/app/flask-postgres/tests/test_permissions.py index 6828dc6..9ff340c 100644 --- a/app/flask-postgres/tests/test_permissions.py +++ b/app/flask-postgres/tests/test_permissions.py @@ -1,5 +1,4 @@ -from app.permissions import is_video_allowed_for_level - +from permissions import is_video_allowed_for_level def test_level_0_sees_everything(): assert is_video_allowed_for_level("A1.mp4", 0) is True