From 40de4d5a0fe81a76785dc7864a3c31e6705636d5 Mon Sep 17 00:00:00 2001 From: Ruslan Date: Tue, 29 Sep 2026 13:58:09 +0000 Subject: [PATCH] Bundles feature WIP + fix request-access products cap (20 -> 200) - app/main.py: raise products_raw[:20] cap to [:200] in /api/request-access and /api/request-more-access - was silently truncating access requests with more than 20 selected products - accumulated bundles/product-page WIP (config, models, runtime, templates) Co-Authored-By: Claude Sonnet 5 --- app/config.py | 5 + app/main.py | 876 +++++++++++++++++++++++++++++++---- app/models.py | 7 + app/runtime.py | 3 + app/static/logo-color.png | Bin 0 -> 152776 bytes app/templates/admin.html | 173 ++++++- app/templates/bundles.html | 207 +++++++++ app/templates/dashboard.html | 518 ++++++++++++++------- app/templates/login.html | 450 +++++++++--------- app/templates/product.html | 600 ++++++++++++++++++++++++ app/utils.py | 21 + rdp-proxy/entrypoint.sh | 4 +- 12 files changed, 2407 insertions(+), 457 deletions(-) create mode 100644 app/static/logo-color.png create mode 100644 app/templates/bundles.html create mode 100644 app/templates/product.html diff --git a/app/config.py b/app/config.py index 63e7be4..0b48028 100644 --- a/app/config.py +++ b/app/config.py @@ -45,3 +45,8 @@ SMTP_PASSWORD = os.getenv("SMTP_PASSWORD", "") SMTP_FROM_EMAIL = os.getenv("SMTP_FROM_EMAIL", "stand@4mont.ru") SMTP_FROM_NAME = os.getenv("SMTP_FROM_NAME", "\u0418\u043d\u0444\u0440\u0430\u0441\u0442\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0439 \u043f\u043e\u043b\u0438\u0433\u043e\u043d MONT") PORTAL_URL = os.getenv("PORTAL_URL", "https://stend.4mont.ru") + +# Second approval channel: email notification with click-to-confirm links, +# sent alongside the Telegram message when a new access request comes in. +ADMIN_NOTIFY_EMAIL = os.getenv("ADMIN_NOTIFY_EMAIL", "RGalyaviev@mont.ru") +SIGNING_KEY = os.getenv("SIGNING_KEY", "") diff --git a/app/main.py b/app/main.py index 0204079..bf82947 100644 --- a/app/main.py +++ b/app/main.py @@ -8,7 +8,7 @@ import time import contextvars from typing import Optional -from fastapi import Depends, FastAPI, File, Form, HTTPException, Query, Request, UploadFile, status +from fastapi import BackgroundTasks, Depends, FastAPI, File, Form, HTTPException, Query, Request, UploadFile, status from fastapi.responses import HTMLResponse, JSONResponse, RedirectResponse from fastapi.staticfiles import StaticFiles from fastapi.templating import Jinja2Templates @@ -21,13 +21,14 @@ import urllib.request as _urllib_request import urllib.parse as _urllib_parse import json as _json from config import ( - COOKIE_NAME, CSRF_COOKIE, GO_POOL_LOCK_TIMEOUT_SECONDS, + COOKIE_MAX_AGE, COOKIE_NAME, CSRF_COOKIE, GO_POOL_LOCK_TIMEOUT_SECONDS, GO_USER_LOCK_TIMEOUT_SECONDS, LOG_LEVEL, LOG_SLOW_REQUEST_MS, MAX_ACTIVE_SERVICES_PER_USER, PUBLIC_HOST, SESSION_IDLE_SECONDS, WEB_POOL_BUFFER, WEB_POOL_SIZE, TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, TELEGRAM_API_URL, SMTP_HOST, SMTP_PORT, SMTP_USERNAME, SMTP_PASSWORD, SMTP_FROM_EMAIL, SMTP_FROM_NAME, PORTAL_URL, + ADMIN_NOTIFY_EMAIL, SIGNING_KEY, ) from database import get_db from models import ( @@ -35,9 +36,9 @@ from models import ( PendingAccessRequest, SessionModel, SessionStatus, User, UserServiceAccess, ) from utils import ( - audit, ensure_icons_dir, format_service_comment, log_event, normalize_web_target, - now_utc, parse_rdp_target, remove_icon_file, request_id_ctx, set_service_categories, - session_closed_reason, store_service_icon, + audit, ensure_icons_dir, format_service_comment, format_seo_description, log_event, + normalize_web_target, now_utc, parse_rdp_target, remove_icon_file, request_id_ctx, + set_service_categories, session_closed_reason, store_service_icon, ) from auth import ( get_current_user, has_access, issue_auth_cookie, issue_csrf_cookie, @@ -45,6 +46,7 @@ from auth import ( check_login_rate_limit, record_login_failure, record_login_success, + serializer, ) from runtime import ( acquire_universal_slot, acquire_web_pool_slot, allocator_lock, @@ -113,7 +115,19 @@ def _generate_password(length: int = 10) -> str: and any(c.isdigit() for c in pwd)): return pwd +_EMAIL_RE = re.compile(r"^[^\s@]+@[^\s@]+\.[^\s@]+$") + + def _send_email(to: str, subject: str, html_body: str) -> None: + if not _EMAIL_RE.match(to or ""): + # Some accounts (older/manually-created ones) have a plain username + # instead of an email address as their login - PendingAccessRequest.email + # mirrors that username for the in-app "request more access" flow, so + # this is a normal, expected case here, not a real delivery failure. + # Fail fast with a clear message instead of letting smtplib open a + # connection just to have the SMTP server reject the recipient a few + # seconds later with a cryptic 501. + raise ValueError(f"'{to}' не похож на email-адрес - уведомление не отправлено") msg = _MIMEMultipart("alternative") msg["Subject"] = subject msg["From"] = _formataddr((str(_Header(SMTP_FROM_NAME, "utf-8")), SMTP_FROM_EMAIL)) @@ -147,6 +161,290 @@ def _make_approval_keyboard(req_id: str) -> dict: } +# --- Second approval channel: email ---------------------------------------- +# Alongside the Telegram message, a notification with click-to-confirm links +# goes to ADMIN_NOTIFY_EMAIL. Each link only opens a confirmation page (GET) - +# it does NOT grant/reject anything by itself, because corporate mail +# security (e.g. Microsoft Safe Links) pre-fetches every link in a message +# with a plain GET before a human ever opens the email. The actual decision +# is only applied on the POST triggered by the "Подтвердить" button on that +# page. Whichever channel (Telegram or email) is acted on first wins - the +# other just shows "уже обработано" afterwards. + +_ACTION_DAYS = {"a7": 7, "a14": 14, "a30": 30, "a90": 90, "r": None} +_ACTION_LABELS = {"a7": "7 дней", "a14": "14 дней", "a30": "30 дней", "a90": "90 дней", "r": "Отказать"} + +from itsdangerous import BadSignature, SignatureExpired, URLSafeTimedSerializer as _URLSafeTimedSerializer + +_email_decision_serializer = _URLSafeTimedSerializer(SIGNING_KEY, salt="email-access-decision") +_EMAIL_DECISION_MAX_AGE_SECONDS = 30 * 24 * 3600 # link stays clickable for 30 days + +def _make_decision_token(req_id: str, action: str) -> str: + return _email_decision_serializer.dumps({"req_id": req_id, "action": action}) + +def _verify_decision_token(token: str, req_id: str, action: str) -> bool: + try: + data = _email_decision_serializer.loads(token, max_age=_EMAIL_DECISION_MAX_AGE_SECONDS) + except (BadSignature, SignatureExpired): + return False + return data.get("req_id") == req_id and data.get("action") == action + + +def _apply_access_decision(db, pending, days): + """Approve (days=int) or reject (days=None) a pending access request: + creates/renews the user, assigns requested services, commits, and emails + the requester. Used by the email-approval channel below. Mirrors the + Telegram approve/reject logic in telegram_webhook() / _process_callback_query() + - keep the email templates and grant logic in sync if you change those.""" + import json as _jg + + products = _jg.loads(pending.products_json or "[]") + portal_url = pending.portal_url or PORTAL_URL + + if days is not None: + username = pending.email + expires = now_utc() + dt.timedelta(days=days) + parts = pending.name.strip().split(None, 1) + + existing_user = db.scalar(select(User).where(User.username == username)) + is_renewal = existing_user is not None + + if is_renewal: + password = None + existing_user.expires_at = expires + existing_user.active = True + target_user = existing_user + db.flush() + else: + password = _generate_password() + new_user = User( + username=username, + password_hash=hash_password(password), + expires_at=expires, + active=True, + is_admin=False, + first_name=parts[0] if parts else "", + last_name=parts[1] if len(parts) > 1 else "", + ) + db.add(new_user) + db.flush() + target_user = new_user + + if products: + # Python-side .strip() (not SQL trim()) so this is robust to any + # whitespace - Postgres trim()/btrim() only strip plain spaces by + # default, not tabs, which is exactly the byte that silently broke + # this match for one product that had a leading tab in its name. + _active_by_name = { + svc.name.strip().lower(): svc + for svc in db.scalars(select(Service).where(Service.active == True)).all() + } + # Dedup by the *matched service*, not just the raw product + # string - a product tagged under 2+ categories (e.g. Deckhouse + # Platform in both "Платформы виртуализации" and "Кубернетес") shows up as two + # separate checkboxes in the request modal, so "Выбрать все" submits its + # name twice - without this, that duplicate (user_id, service_id) + # pair violates uq_user_service and rolls back the *entire* + # approval (no user, no grants, status stays "pending") with only + # a silent tg_callback_error in the logs to show for it. + _wanted_names = {p.strip().lower() for p in products} + matched = [svc for name, svc in _active_by_name.items() if name in _wanted_names] + existing_svc_ids = ( + {a.service_id for a in db.scalars(select(UserServiceAccess).where(UserServiceAccess.user_id == target_user.id)).all()} + if is_renewal else set() + ) + for svc in matched: + if svc.id not in existing_svc_ids: + db.add(UserServiceAccess(user_id=target_user.id, service_id=svc.id)) + + pending.status = "approved" + db.commit() + + products_html = "" + if products: + items = "".join(f"
  • {escape(p)}
  • " for p in products) + products_html = ( + '

    Предоставлен доступ к продуктам:

    ' + f'' + ) + + day_word = "день" if days == 1 else ("дня" if days < 5 else "дней") + email_action = "продлён" if is_renewal else "предоставлен" + email_subject = ("Продление доступа к Инфраструктурному полигону MONT" + if is_renewal else + "Доступ к Инфраструктурному полигону MONT") + email_subhead = "Ваш доступ продлён" if is_renewal else "Ваш запрос одобрен" + cred_row = ( + f'Пароль' + f'{password}' + ) if not is_renewal else "" + access_text = f"Вам {email_action} доступ к полигону на {days} {day_word}." + html_email = f""" + + +
    + + + + +
    + MONT
    +

    {email_subject}

    +

    {email_subhead}

    +
    +
    +

    Здравствуйте, {escape(pending.name)}!
    + {access_text}

    + + + + + + {cred_row} + + +
    Адрес портала{portal_url}
    Логин{username}
    Доступ до{expires.strftime("%d.%m.%Y")}
    + {products_html} + +
    + Если у вас возникли вопросы, свяжитесь с вашим менеджером MONT или напишите на mont@mont.ru +
    +""" + + try: + _send_email(pending.email, email_subject, html_email) + email_status = "Email отправлен" + except Exception as ex: + log_event("email_send_error", error=str(ex), channel="email_approval") + email_status = f"Ошибка email: {ex}" + + return { + "kind": "approved", "is_renewal": is_renewal, "days": days, + "username": username, "password": password, "email_status": email_status, + } + + else: + manager_contact = pending.manager if pending.manager else "менеджера MONT" + html_email = f""" + + +
    + + + + +
    + MONT
    +

    Запрос на доступ к полигону MONT

    +
    +
    +

    Здравствуйте, {escape(pending.name)}!

    + К сожалению, на данный момент мы не можем предоставить доступ к полигону.

    +

    + Для уточнения деталей свяжитесь с {escape(manager_contact)}.
    + Если не знаете кто ваш менеджер — напишите на mont@mont.ru.

    +
    + С уважением, команда MONT +
    +""" + + pending.status = "rejected" + db.commit() + + try: + _send_email(pending.email, "Запрос на доступ к полигону MONT", html_email) + email_status = "Email отправлен" + except Exception as ex: + log_event("email_send_error", error=str(ex), channel="email_approval") + email_status = f"Ошибка email: {ex}" + + return {"kind": "rejected", "email_status": email_status} + + +def _send_admin_decision_email(pending) -> None: + """Send the email-approval notification for a freshly created pending + request, alongside the Telegram message. Best-effort: failures are + logged, not raised (a broken email channel must never block the + Telegram channel from working).""" + if not ADMIN_NOTIFY_EMAIL: + return + decide_base = f"{PORTAL_URL}/admin/access-request/{pending.id}/decide" + buttons_html = "" + for action in ("a7", "a14", "a30", "a90"): + token = _make_decision_token(pending.id, action) + url = f"{decide_base}?action={action}&token={_urllib_parse.quote(token)}" + buttons_html += ( + f'{_ACTION_LABELS[action]}' + ) + reject_token = _make_decision_token(pending.id, "r") + reject_url = f"{decide_base}?action=r&token={_urllib_parse.quote(reject_token)}" + buttons_html += ( + f'Отказать' + ) + + products_line = "" + try: + import json as _jg2 + items = _jg2.loads(pending.products_json or "[]") + if items: + products_line = ('

    Продукты: ' + + ", ".join(escape(str(p)) for p in items) + '

    ') + except Exception: + pass + + html = f""" + + +
    + + + + +
    +

    Новый запрос доступа к полигону MONT

    +

    Второй канал согласования — дублирует запрос, отправленный в Telegram

    +
    +
    + + + + + + +
    Имя{escape(pending.name)}
    Компания{escape(pending.company)}
    Email{escape(pending.email)}
    Телефон{escape(pending.phone)}
    Менеджер{escape(pending.manager) if pending.manager else "—"}
    + {products_line} +

    Выдать доступ на:

    +
    {buttons_html}
    +

    Ссылка открывает страницу подтверждения — доступ выдаётся только по нажатию кнопки на ней, а не по самому переходу (безопасно для антифишинг-сканеров почты, которые сами открывают ссылки).

    +
    + Заявка #{pending.id} +
    +""" + + try: + _send_email(ADMIN_NOTIFY_EMAIL, "Новый запрос доступа к полигону MONT", html) + except Exception as ex: + log_event("email_send_error", error=str(ex), channel="admin_notify") + + +def _decision_page(title: str, body: str): + html = f""" +{title} + + +
    + + +
    {body}
    +""" + return _HR(html) + + + _tg_poll_offset: int = 0 _tg_poll_lock_file = None @@ -175,6 +473,49 @@ async def _telegram_poll_loop(): log_event("tg_poll_error", error=str(ex)) await _asyncio.sleep(30) # 30 seconds + +async def _telegram_notify_retry_loop(): + """Every 5 minutes, resend the initial 'new request' Telegram + notification for any pending request whose first attempt failed (e.g. + tel.4mont.ru was down/timed out) - see the 2026-08-18 incident where a + request's only notification attempt failed and nobody found out until + the requester followed up separately. Stops retrying once the request + is no longer 'pending' (decided via Telegram or the email channel) or + once a send finally succeeds.""" + import asyncio as _asyncio3 + from database import SessionLocal as _SL3 + await _asyncio3.sleep(60) # let the app finish starting first + while True: + try: + db = _SL3() + try: + pending_rows = db.scalars( + select(PendingAccessRequest).where( + PendingAccessRequest.status == "pending", + PendingAccessRequest.telegram_notified == False, + PendingAccessRequest.telegram_message != "", + ) + ).all() + for pending in pending_rows: + try: + _tg_api("sendMessage", { + "chat_id": TELEGRAM_CHAT_ID, + "text": pending.telegram_message, + "parse_mode": "HTML", + "reply_markup": _make_approval_keyboard(pending.id), + }) + pending.telegram_notified = True + db.commit() + log_event("telegram_notify_retry_success", req_id=pending.id) + except Exception as ex: + log_event("telegram_notify_retry_error", req_id=pending.id, error=str(ex)) + finally: + db.close() + except Exception as ex: + log_event("telegram_notify_retry_loop_error", error=str(ex)) + await _asyncio3.sleep(300) # 5 минут + + async def _process_callback_query(cq: dict): import json as _jc import datetime as _dtc @@ -250,13 +591,20 @@ async def _process_callback_query(cq: dict): target_user = new_user if products: - from sqlalchemy import func as _func2 - matched = db.scalars( - select(Service).where( - _func2.lower(Service.name).in_([p.lower() for p in products]), - Service.active == True, - ) - ).all() + _active_by_name = { + svc.name.strip().lower(): svc + for svc in db.scalars(select(Service).where(Service.active == True)).all() + } + # Dedup by the *matched service*, not just the raw product + # string - a product tagged under 2+ categories (e.g. Deckhouse + # Platform in both "Платформы виртуализации" and "Кубернетес") shows up as two + # separate checkboxes in the request modal, so "Выбрать все" submits its + # name twice - without this, that duplicate (user_id, service_id) + # pair violates uq_user_service and rolls back the *entire* + # approval (no user, no grants, status stays "pending") with only + # a silent tg_callback_error in the logs to show for it. + _wanted_names = {p.strip().lower() for p in products} + matched = [svc for name, svc in _active_by_name.items() if name in _wanted_names] existing_svc_ids = ( {a.service_id for a in db.scalars(select(UserServiceAccess).where(UserServiceAccess.user_id == target_user.id)).all()} if is_renewal else set() @@ -269,7 +617,7 @@ async def _process_callback_query(cq: dict): products_html = "" if products: - items = "".join(f"
  • {p}
  • " for p in products) + items = "".join(f"
  • {escape(p)}
  • " for p in products) products_html = ( '

    Предоставлен доступ к продуктам:

    ' f'' @@ -298,7 +646,7 @@ async def _process_callback_query(cq: dict):
    -

    Здравствуйте, {pending.name}!
    +

    Здравствуйте, {escape(pending.name)}!
    {access_text}

    @@ -354,10 +702,10 @@ async def _process_callback_query(cq: dict):
    Адрес портала
    -

    Здравствуйте, {pending.name}!

    +

    Здравствуйте, {escape(pending.name)}!

    К сожалению, на данный момент мы не можем предоставить доступ к полигону.

    - Для уточнения деталей свяжитесь с {manager_contact}.
    + Для уточнения деталей свяжитесь с {escape(manager_contact)}.
    Если не знаете кто ваш менеджер — напишите на mont@mont.ru.

    @@ -384,6 +732,69 @@ async def _process_callback_query(cq: dict): db.close() app = FastAPI(title="MONT - инфрастуктурный полигон", docs_url=None, redoc_url=None, openapi_url=None) + + +@app.get("/admin/access-request/{req_id}/decide") +def access_request_decide_confirm(req_id: str, action: str, token: str, db: Session = Depends(get_db)): + """GET only renders a confirmation page - it must never mutate state, + because corporate mail scanners (e.g. Microsoft Safe Links) pre-fetch + every link in an email with a GET before a human reads it.""" + if action not in _ACTION_DAYS or not _verify_decision_token(token, req_id, action): + return _decision_page("Ссылка недействительна", "

    Ссылка недействительна или устарела.

    ") + + pending = db.get(PendingAccessRequest, req_id) + if not pending: + return _decision_page("Запрос не найден", "

    Запрос не найден (возможно, уже обработан).

    ") + if pending.status != "pending": + return _decision_page("Уже обработано", f"

    Запрос уже обработан: {pending.status}.

    ") + + decision_label = "Отказать" if action == "r" else f"Одобрить на {_ACTION_LABELS[action]}" + body = f""" +

    Подтвердите решение

    +

    {escape(pending.name)} ({escape(pending.company)})
    {escape(pending.email)} · {escape(pending.phone)}

    +

    Решение: {decision_label}

    +
    + + + +
    + """ + return _decision_page("Подтверждение решения", body) + + +@app.post("/admin/access-request/{req_id}/decide") +def access_request_decide_apply(req_id: str, action: str = Form(...), token: str = Form(...), db: Session = Depends(get_db)): + if action not in _ACTION_DAYS or not _verify_decision_token(token, req_id, action): + return _decision_page("Ссылка недействительна", "

    Ссылка недействительна или устарела.

    ") + + pending = db.get(PendingAccessRequest, req_id) + if not pending: + return _decision_page("Запрос не найден", "

    Запрос не найден (возможно, уже обработан).

    ") + if pending.status != "pending": + return _decision_page("Уже обработано", f"

    Запрос уже обработан: {pending.status}.

    ") + + days = _ACTION_DAYS[action] + result = _apply_access_decision(db, pending, days) + + if result["kind"] == "approved": + day_word = "день" if days == 1 else ("дня" if days < 5 else "дней") + cred = f"

    Логин: {escape(result['username'])}

    " + if not result["is_renewal"]: + cred += f"

    Пароль: {escape(result['password'])}

    " + title_word = "Продлено" if result["is_renewal"] else "Одобрено" + body = f""" +

    {title_word} на {days} {day_word}

    + {cred} +

    {escape(result['email_status'])}

    + """ + else: + body = f""" +

    Отклонено

    +

    {escape(result['email_status'])}

    + """ + return _decision_page("Готово", body) + app.mount("/static", StaticFiles(directory="static"), name="static") @@ -470,11 +881,56 @@ _MOBILE_PAGE = ( ) +# Public marketing/auth surface that has to work from a phone: the login +# page itself, submitting the login form, the "request access" flow (public +# form + the products list it loads), and static legal/SEO pages. Everything +# else (the actual stand: /go/, /svc/, /s/, /u/, /w/, /rdp/, /admin, ...) +# stays desktop-only - a phone can't usefully drive a remote desktop/browser +# session anyway, and the dashboard has its own width-based #mobile-wall on +# top of this for narrow desktop windows. +_MOBILE_ALLOWED_PATHS = { + "/", + "/login", + "/privacy", + "/robots.txt", + "/sitemap.xml", + "/favicon.ico", + "/api/public/services-by-category", + "/api/request-access", +} +_MOBILE_ALLOWED_PREFIXES = ("/static/", "/admin/access-request/", "/product/") + + +def _looks_authenticated(request: Request) -> bool: + """Best-effort check for a plausibly-valid session cookie, without a DB + round trip. Good enough to decide the mobile gate on "/" - the actual + routes still enforce real auth via get_current_user/require_user.""" + raw = request.cookies.get(COOKIE_NAME) + if not raw: + return False + try: + serializer.loads(raw, max_age=COOKIE_MAX_AGE) + except Exception: + return False + return True + + @app.middleware("http") async def mobile_block_middleware(request: Request, call_next): path = request.url.path - if path.startswith("/static/"): + if path.startswith(_MOBILE_ALLOWED_PREFIXES): + # email-approval links are meant to work from a phone too, same as + # approving from the Telegram app. return await call_next(request) + if path in _MOBILE_ALLOWED_PATHS: + # "/" is shared by the logged-out login page (fine on a phone) and + # the authenticated dashboard (not fine - a phone can't drive a + # remote desktop/browser session), so it needs the real auth-cookie + # check instead of a blanket allow. Every other allowed path here + # (login POST, privacy, robots/sitemap, the public request-access + # API) never renders the dashboard, so they're always fine. + if path != "/" or not _looks_authenticated(request): + return await call_next(request) ua = request.headers.get("user-agent", "") if _MOBILE_UA_RE.search(ua): return _HR(content=_MOBILE_PAGE, status_code=200) @@ -491,10 +947,18 @@ async def startup_event(): _fcntl.flock(_lf.fileno(), _fcntl.LOCK_EX | _fcntl.LOCK_NB) _tg_poll_lock_file = _lf _aio.create_task(_telegram_poll_loop()) + _aio.create_task(_telegram_notify_retry_loop()) except BlockingIOError: _lf.close() +def _login_wall_services(db: Session): + """Active services shown as a logo wall on the public login page.""" + return db.scalars( + select(Service).where(Service.active == True).order_by(Service.name) + ).all() + + @app.get("/", response_class=HTMLResponse) def index(request: Request, user: Optional[User] = Depends(get_current_user), db: Session = Depends(get_db)): session_closed = (request.query_params.get("session_closed") or "").strip().lower() @@ -521,26 +985,30 @@ def index(request: Request, user: Optional[User] = Depends(get_current_user), db "csrf_token": csrf, "login_error": "", "session_notice": session_notice, + "public_services": _login_wall_services(db), }, ) response.set_cookie(CSRF_COOKIE, csrf, httponly=False, secure=True, samesite="lax", path="/") return response - services = db.scalars( + all_services = db.scalars( select(Service) - .join(UserServiceAccess, UserServiceAccess.service_id == Service.id) - .where( - UserServiceAccess.user_id == user.id, - Service.active == True, - Service.type.in_([ServiceType.WEB, ServiceType.RDP]), - ) + .where(Service.active == True, Service.type.in_([ServiceType.WEB, ServiceType.RDP])) .order_by(Service.name) ).all() + granted_ids = set( + db.scalars(select(UserServiceAccess.service_id).where(UserServiceAccess.user_id == user.id)).all() + ) + services = [svc for svc in all_services if svc.id in granted_ids] + locked_services = [svc for svc in all_services if svc.id not in granted_ids] - service_categories = {svc.id: [] for svc in services} + # Categories are computed across the whole catalog (granted + locked) so + # the nav lets a user browse into a category they don't have access to + # yet and request it from there. + service_categories = {svc.id: [] for svc in all_services} categories = [] - if services: - service_ids = [svc.id for svc in services] + if all_services: + service_ids = [svc.id for svc in all_services] rows = db.execute( select(ServiceCategory.service_id, Category.id, Category.name, Category.slug) .join(Category, Category.id == ServiceCategory.category_id) @@ -560,13 +1028,28 @@ def index(request: Request, user: Optional[User] = Depends(get_current_user), db category_map[category_id] = {"id": category_id, "name": category_name, "slug": category_slug} categories = sorted(category_map.values(), key=lambda x: x["name"].lower()) + # Stable per-category counts (granted + locked), computed before any + # ?category= filtering is applied - the rail always shows the full + # catalog's numbers, not just what's currently on screen. + category_counts = { + cat["slug"]: sum( + 1 for svc in all_services + if any(c["slug"] == cat["slug"] for c in service_categories.get(svc.id, [])) + ) + for cat in categories + } + selected_category_slug = (request.query_params.get("category") or "").strip().lower() if selected_category_slug: services = [ svc for svc in services if any(cat["slug"] == selected_category_slug for cat in service_categories.get(svc.id, [])) ] - service_comment_html = {svc.id: format_service_comment(svc.comment) for svc in services} + locked_services = [ + svc for svc in locked_services + if any(cat["slug"] == selected_category_slug for cat in service_categories.get(svc.id, [])) + ] + service_comment_html = {svc.id: format_service_comment(svc.comment) for svc in all_services} return templates.TemplateResponse( "dashboard.html", @@ -574,12 +1057,37 @@ def index(request: Request, user: Optional[User] = Depends(get_current_user), db "request": request, "user": user, "services": services, + "locked_services": locked_services, "categories": categories, + "category_counts": category_counts, + "total_catalog_count": len(all_services), "selected_category_slug": selected_category_slug, "service_categories": service_categories, "service_comment_html": service_comment_html, "csrf_token": request.cookies.get(CSRF_COOKIE, ""), "session_notice": session_notice, + "max_active_services": MAX_ACTIVE_SERVICES_PER_USER, + "idle_timeout_min": SESSION_IDLE_SECONDS // 60, + }, + ) + + +@app.get("/bundles", response_class=HTMLResponse) +def bundles_page(request: Request, user: User = Depends(require_user)): + """Stub landing page for the upcoming "готовые связки" feature - curated + multi-product infrastructure scenarios (e.g. ALDpro + workstations, or + RuBackup + Alt PVE) granted and launched as one bundle instead of + picking products one by one. Not wired to real data yet - the scenario + list here is static copy, kept in sync by hand with the brochure draft + until the Bundle/BundleService models + request-access integration are + built.""" + return templates.TemplateResponse( + "bundles.html", + { + "request": request, + "user": user, + "max_active_services": MAX_ACTIVE_SERVICES_PER_USER, + "idle_timeout_min": SESSION_IDLE_SECONDS // 60, }, ) @@ -855,7 +1363,7 @@ async def telegram_webhook(request: Request, db: Session = Depends(get_db)): # send approval email products_html = "" if products: - items = "".join(f"
  • {p}
  • " for p in products) + items = "".join(f"
  • {escape(p)}
  • " for p in products) products_html = f"

    Предоставлен доступ к продуктам:

      {items}
    " html_email = f""" @@ -870,7 +1378,7 @@ async def telegram_webhook(request: Request, db: Session = Depends(get_db)):
    -

    Здравствуйте, {pending.name}!
    +

    Здравствуйте, {escape(pending.name)}!
    Вам предоставлен доступ к полигону на {days} {'день' if days==1 else 'дня' if days<5 else 'дней'}.

    @@ -930,10 +1438,10 @@ async def telegram_webhook(request: Request, db: Session = Depends(get_db)):
    Адрес портала
    -

    Здравствуйте, {pending.name}!

    +

    Здравствуйте, {escape(pending.name)}!

    К сожалению, на данный момент мы не можем предоставить доступ к полигону.

    - Для уточнения деталей, пожалуйста, свяжитесь с {manager_contact}.
    + Для уточнения деталей, пожалуйста, свяжитесь с {escape(manager_contact)}.
    Если вы не знаете, кто ваш менеджер, напишите нам на mont@mont.ru — мы поможем.

    @@ -967,6 +1475,67 @@ def favicon(): from fastapi.responses import FileResponse return FileResponse("static/favicon.ico", media_type="image/x-icon") +@app.get("/product/{slug}", response_class=HTMLResponse) +def product_page(slug: str, request: Request, db: Session = Depends(get_db)): + """Public, unauthenticated SEO landing page for a single catalog + product - one per active Service row, keyed by slug. There is no + separate "generation" step: as soon as a service is saved active in + the admin panel its page is reachable here, and sitemap_xml() below + picks it up on its next request too. Mirrors the login page's public + "request access" flow (same /api/request-access endpoint + modal), + just pre-scoped to this one product. + """ + service = db.scalar( + select(Service).where(Service.slug == slug, Service.active == True) + ) + if not service: + raise HTTPException(status_code=404, detail="Продукт не найден") + + other_services = db.scalars( + select(Service) + .where(Service.active == True, Service.id != service.id) + .order_by(Service.name) + ).all() + + svc_categories = db.scalars( + select(Category) + .join(ServiceCategory, ServiceCategory.category_id == Category.id) + .where(ServiceCategory.service_id == service.id) + .order_by(Category.name) + ).all() + + canonical_url = f"{PORTAL_URL}/product/{service.slug}" + meta_source = service.seo_description or service.comment or "" + # Drop a leading '# Title' markdown heading line (redundant with the + # page's own /<h1>) before flattening to plain text, same as + # format_seo_description() does for the on-page HTML. + meta_lines = meta_source.strip().split("\n") + if meta_lines and re.match(r"^#\s+", meta_lines[0]): + meta_lines = meta_lines[1:] + meta_plain = re.sub(r"[#*`>\-]+", " ", "\n".join(meta_lines)) + meta_plain = re.sub(r"\s+", " ", meta_plain).strip() + meta_description = (meta_plain[:157] + "…") if len(meta_plain) > 160 else meta_plain + if not meta_description: + meta_description = f"{service.name} — протестируйте продукт бесплатно на инфраструктурном полигоне MONT." + + description_html = format_seo_description(service.seo_description or service.comment) + + return templates.TemplateResponse( + "product.html", + { + "request": request, + "service": service, + "categories": svc_categories, + "description_html": description_html, + "other_services": other_services, + "canonical_url": canonical_url, + "meta_description": meta_description, + "portal_url": PORTAL_URL, + }, + ) + + + @app.get("/robots.txt", include_in_schema=False) def robots_txt(): from fastapi.responses import FileResponse @@ -974,9 +1543,26 @@ def robots_txt(): @app.get("/sitemap.xml", include_in_schema=False) -def sitemap_xml(): - from fastapi.responses import FileResponse - return FileResponse("static/sitemap.xml", media_type="application/xml") +def sitemap_xml(db: Session = Depends(get_db)): + # Built from the live catalog (not a static file) so a new /product/{slug} + # page shows up here the moment its Service row is saved active, with no + # separate publish step - see product_page() above. + from fastapi.responses import Response as _XmlResponse + slugs = db.scalars( + select(Service.slug).where(Service.active == True).order_by(Service.name) + ).all() + entries = [(PORTAL_URL + "/", "1.0")] + entries += [(f"{PORTAL_URL}/product/{slug}", "0.8") for slug in slugs] + url_blocks = [ + f" <url>\n <loc>{loc}</loc>\n <changefreq>weekly</changefreq>\n <priority>{priority}</priority>\n </url>" + for loc, priority in entries + ] + xml = ( + '<?xml version="1.0" encoding="UTF-8"?>\n' + '<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">\n' + + "\n".join(url_blocks) + "\n</urlset>\n" + ) + return _XmlResponse(content=xml, media_type="application/xml") @app.get("/api/public/services-by-category") def public_services_by_category(db: Session = Depends(get_db)): @@ -1005,19 +1591,54 @@ def public_services_by_category(db: Session = Depends(get_db)): return result +_public_form_attempts: dict = {} +_public_form_lock = threading.Lock() +_PUBLIC_FORM_MAX = 5 # заявок/сообщений +_PUBLIC_FORM_WINDOW = 600 # за 10 минут с одного IP +_PUBLIC_FORM_BLOCK = 1800 # затем блок на 30 минут + +def _public_form_rate_limited(bucket: str, ip: str) -> bool: + """Простой лимитер на публичные формы портала (заявка на доступ, + форма обратной связи) - защита от скриптов, которые заваливают + Telegram/почту мусорными/атакующими payload'ами (form-спам, + XSS/SQLi-пробы и т.п.). `bucket` разделяет счётчики между формами, + чтобы спам по одной не блокировал другую.""" + key = f"{bucket}:{ip}" + now = time.monotonic() + with _public_form_lock: + entry = _public_form_attempts.get(key) + if entry and entry["blocked_until"] > now: + return True + if entry and now - entry["first"] > _PUBLIC_FORM_WINDOW: + entry = None + if not entry: + _public_form_attempts[key] = {"count": 1, "first": now, "blocked_until": 0.0} + return False + entry["count"] += 1 + if entry["count"] > _PUBLIC_FORM_MAX: + entry["blocked_until"] = now + _PUBLIC_FORM_BLOCK + return True + return False + + @app.post("/api/request-access") async def request_access(request: Request, db: Session = Depends(get_db)): + ip_for_limit = _get_real_ip(request) + if _public_form_rate_limited("request-access", ip_for_limit): + raise HTTPException(status_code=429, detail="Слишком много заявок с вашего адреса. Попробуйте позже.") + try: data = await request.json() except Exception: raise HTTPException(status_code=400, detail="Invalid JSON") - name = str(data.get("name", "")).strip() - company = str(data.get("company", "")).strip() - email = str(data.get("email", "")).strip() - phone = str(data.get("phone", "")).strip() - manager = str(data.get("manager", "")).strip() - products = data.get("products", []) + name = str(data.get("name", "")).strip()[:200] + company = str(data.get("company", "")).strip()[:200] + email = str(data.get("email", "")).strip()[:254] + phone = str(data.get("phone", "")).strip()[:32] + manager = str(data.get("manager", "")).strip()[:200] + products_raw = data.get("products", []) + products = [str(p).strip()[:100] for p in products_raw[:200]] if isinstance(products_raw, list) else [] import re as _re if not name or not company or not email or not phone: @@ -1074,6 +1695,7 @@ async def request_access(request: Request, db: Session = Depends(get_db)): phone=phone, manager=manager, products_json=_j2.dumps(products, ensure_ascii=False), portal_url=_req_portal_url, + telegram_message=text, ) db.add(pending) db.commit() @@ -1085,72 +1707,163 @@ async def request_access(request: Request, db: Session = Depends(get_db)): "parse_mode": "HTML", "reply_markup": _make_approval_keyboard(req_id), }) + pending.telegram_notified = True + db.commit() except Exception as e: log_event("telegram_send_error", error=str(e)) + # not fatal here - _telegram_notify_retry_loop() will keep retrying + # every 5 minutes (telegram_notified stays False) until it goes through + + # second, independent approval channel - failures here must never affect + # the Telegram channel above (already sent) or the API response below + _send_admin_decision_email(pending) return {"ok": True} -@app.post("/api/contact") -async def contact_ruslan(request: Request): - import re as _re +# /api/contact ("написать Руслану") was removed 2026-08-10: the UI entry +# point (#btn-contact-ruslan button in login.html) was already taken off the +# page earlier, but the route itself stayed registered and reachable by +# anyone calling it directly - which is exactly what an attacker was doing. +# Not registering the route at all means FastAPI returns a plain 404 for it +# without running any app code. If this form is ever brought back, restore +# it from git history / main.py.bak.* on the server instead of re-adding a +# half-remembered version here. + +def _notify_pending_request(pending_id: str, text: str) -> None: + """Send the Telegram + email approval notifications for a pending + request in the background, after the HTTP response has already gone + out - both calls are external network I/O (Telegram API, SMTP) and have + nothing to do with whether the request was accepted.""" + from database import SessionLocal + db2 = SessionLocal() + try: + pending = db2.get(PendingAccessRequest, pending_id) + if not pending: + return + try: + _tg_api("sendMessage", { + "chat_id": TELEGRAM_CHAT_ID, + "text": text, + "parse_mode": "HTML", + "reply_markup": _make_approval_keyboard(pending_id), + }) + pending.telegram_notified = True + db2.commit() + except Exception as e: + log_event("telegram_send_error", error=str(e)) + # not fatal - _telegram_notify_retry_loop() keeps retrying every 5 min + _send_admin_decision_email(pending) + finally: + db2.close() + + +@app.post("/api/request-more-access") +async def request_more_access( + request: Request, + background_tasks: BackgroundTasks, + user: User = Depends(require_user), + db: Session = Depends(get_db), +): + """A logged-in user asking for additional products beyond what they + already have. Deliberately reuses the exact same pending-request / + Telegram-approval / _apply_access_decision pipeline as the public + "Запросить доступ" flow on the login page - approving it renews the + user's expires_at *and* grants the newly-requested services without + touching what they already have (see _apply_access_decision). We skip + company/phone here since the account already identifies the requester; + PendingAccessRequest.company/phone just get an explanatory placeholder + so it reads clearly in Telegram/email, not a real company/phone value.""" + validate_csrf(request) + + if _public_form_rate_limited("request-more-access", f"user:{user.id}"): + raise HTTPException(status_code=429, detail="Слишком много заявок подряд. Попробуйте позже.") + try: data = await request.json() except Exception: raise HTTPException(status_code=400, detail="Invalid JSON") - name = str(data.get("name", "")).strip() - email = str(data.get("email", "")).strip() - phone = str(data.get("phone", "")).strip() - text = str(data.get("text", "")).strip() + products_raw = data.get("products", []) + requested = [str(p).strip()[:200] for p in products_raw[:200]] if isinstance(products_raw, list) else [] + requested = [p for p in requested if p] + note = str(data.get("note", "")).strip()[:500] - if not name or not email or not phone or not text: - raise HTTPException(status_code=422, detail="Заполните все обязательные поля") - if not _re.match(r"^[^\s@]+@[^\s@]+\.[^\s@]+$", email): - raise HTTPException(status_code=422, detail="Некорректный email") - if not _re.match(r"^[\+\d][\d\s\-\(\)]{6,18}$", phone): - raise HTTPException(status_code=422, detail="Некорректный номер телефона") + if not requested: + raise HTTPException(status_code=422, detail="Выберите хотя бы один продукт") + already_granted = { + row[0].lower() + for row in db.execute( + select(Service.name) + .join(UserServiceAccess, UserServiceAccess.service_id == Service.id) + .where(UserServiceAccess.user_id == user.id) + ).all() + } + from sqlalchemy import func as _func4 + matched = db.scalars( + select(Service).where( + _func4.lower(Service.name).in_([p.lower() for p in requested]), + Service.active == True, + ) + ).all() + products = [svc.name for svc in matched if svc.name.lower() not in already_granted] + if not products: + raise HTTPException(status_code=422, detail="Эти продукты уже доступны или не найдены в каталоге") + + display_name = (f"{user.first_name} {user.last_name}".strip()) or user.username + + def _e(s): + import html as _html_local + return _html_local.escape(str(s)) + + items = "\n".join(f" • {_e(p)}" for p in products) + note_text = f"\n\n💬 <b>Комментарий:</b> {_e(note)}" if note else "" divider = "━━━━━━━━━━━━━━━━━━━━━━" - msg = ( - f"🔔 *Сообщение через форму полигона*\n" + text = ( + f"🔔 <b>Запрос дополнительного доступа</b>\n" f"{divider}\n\n" - f"👤 *Имя:* {name}\n" - f"📧 *Email:* {email}\n" - f"📱 *Телефон:* {phone}\n\n" - f"💬 *Сообщение:*\n{text}" + f"👤 <b>Пользователь:</b> {_e(display_name)} ({_e(user.username)})\n" + f"🖥 <b>Запрошенные продукты:</b>\n{items}" + f"{note_text}" ) - ip = _get_real_ip(request) + ip = _get_real_ip(request) geo = _get_geo(ip) geo_text = "" if geo: - geo_text += f"\n📍 *Местоположение:* {geo}" - geo_text += f"\n🖥 *IP:* {ip}" - msg += geo_text + geo_text += "\n📍 <b>Местоположение:</b> " + _e(geo) + geo_text += "\n🖥 <b>IP:</b> " + _e(ip) + text += geo_text - if not TELEGRAM_BOT_TOKEN or not TELEGRAM_CHAT_ID: + req_id = _secrets.token_urlsafe(8)[:12] + origin = request.headers.get("origin", "") + portal_url = "https://stand.mont.ru" if "stand.mont.ru" in origin else PORTAL_URL + pending = PendingAccessRequest( + id=req_id, + name=display_name, + company="Существующий пользователь портала", + email=user.username, + phone="", + manager="", + products_json=__import__("json").dumps(products, ensure_ascii=False), + portal_url=portal_url, + telegram_message=text, + ) + db.add(pending) + db.commit() + + if TELEGRAM_BOT_TOKEN and TELEGRAM_CHAT_ID: + background_tasks.add_task(_notify_pending_request, req_id, text) + else: log_event("telegram_not_configured") - return {"ok": True} - - try: - payload = _json.dumps({ - "chat_id": TELEGRAM_CHAT_ID, - "text": msg, - "parse_mode": "Markdown", - }).encode() - url = f"{TELEGRAM_API_URL}{TELEGRAM_BOT_TOKEN}/sendMessage" - req = _urllib_request.Request(url, data=payload, headers={"Content-Type": "application/json"}) - with _urllib_request.urlopen(req, timeout=10) as resp: - resp.read() - except Exception as e: - log_event("telegram_send_error", error=str(e)) - raise HTTPException(status_code=502, detail="Ошибка отправки") return {"ok": True} + + @app.post("/login") def login( request: Request, @@ -1178,6 +1891,7 @@ def login( "csrf_token": csrf, "login_error": "Неверный логин или пароль", "session_notice": "", + "public_services": _login_wall_services(db), }, status_code=401, ) @@ -1191,6 +1905,8 @@ def login( "request": request, "csrf_token": csrf, "login_error": "Доступ к сервису приостоновлен, обратитесь к вашему менеджеру", + "session_notice": "", + "public_services": _login_wall_services(db), }, status_code=403, ) diff --git a/app/models.py b/app/models.py index 96ebb9a..0e8615d 100644 --- a/app/models.py +++ b/app/models.py @@ -50,6 +50,7 @@ class Service(Base): svc_password: Mapped[str] = mapped_column(String(256), default="") svc_cred_hint: Mapped[str] = mapped_column(Text, default="") icon_path: Mapped[str] = mapped_column(Text, default="") + seo_description: Mapped[str] = mapped_column(Text, default="") active: Mapped[bool] = mapped_column(Boolean, default=True) warm_pool_size: Mapped[int] = mapped_column(Integer, default=0) created_at: Mapped[dt.datetime] = mapped_column(DateTime(timezone=True), default=lambda: dt.datetime.now(dt.timezone.utc)) @@ -130,3 +131,9 @@ class PendingAccessRequest(Base): portal_url: Mapped[str] = mapped_column(String(256), default="") status: Mapped[str] = mapped_column(String(16), default="pending") created_at: Mapped[dt.datetime] = mapped_column(DateTime(timezone=True), default=lambda: dt.datetime.now(dt.timezone.utc)) + # Telegram delivery tracking: the notification is sent once when the + # request is created; if that attempt fails (tel.4mont.ru down/timeout), + # a background retry loop resends telegram_message every 5 minutes until + # it succeeds, without recomputing geo/IP each time. + telegram_notified: Mapped[bool] = mapped_column(Boolean, default=False) + telegram_message: Mapped[str] = mapped_column(Text, default="") diff --git a/app/runtime.py b/app/runtime.py index 7e15f35..0b96168 100644 --- a/app/runtime.py +++ b/app/runtime.py @@ -772,7 +772,10 @@ def ensure_schema_compatibility() -> None: conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS svc_password VARCHAR(256) NOT NULL DEFAULT ''")) conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS svc_cred_hint TEXT NOT NULL DEFAULT ''")) conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS icon_path TEXT NOT NULL DEFAULT ''")) + conn.execute(text("ALTER TABLE services ADD COLUMN IF NOT EXISTS seo_description TEXT NOT NULL DEFAULT ''")) conn.execute(text("ALTER TABLE pending_access_requests ADD COLUMN IF NOT EXISTS portal_url VARCHAR(256) NOT NULL DEFAULT ''")) + conn.execute(text("ALTER TABLE pending_access_requests ADD COLUMN IF NOT EXISTS telegram_notified BOOLEAN NOT NULL DEFAULT false")) + conn.execute(text("ALTER TABLE pending_access_requests ADD COLUMN IF NOT EXISTS telegram_message TEXT NOT NULL DEFAULT ''")) conn.execute( text( """ diff --git a/app/static/logo-color.png b/app/static/logo-color.png new file mode 100644 index 0000000000000000000000000000000000000000..3412dc3a592b6fc861a8db505418795f98aa6288 GIT binary patch literal 152776 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 p3b;#&saQ_YlOh$LvREV#l=L)7~ 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 G3;#c7UFBZ@ literal 0 HcmV?d00001 diff --git a/app/templates/admin.html b/app/templates/admin.html index 42fa393..f086577 100644 --- a/app/templates/admin.html +++ b/app/templates/admin.html @@ -23,8 +23,179 @@ </script> <noscript><div><img src="https://mc.yandex.ru/watch/109119977" style="position:absolute; left:-9999px;" alt="" /></div></noscript> <!-- /Yandex.Metrika counter --> +<style> + :root{ + --av-bg:#eef1f5; --av-panel:#fff; --av-raised:#fff; + --av-line:#d7dee6; --av-line-soft:#e3e8ee; + --av-fg:#16202c; --av-fg-dim:#5c6b7c; --av-fg-faint:#93a1b0; + --av-accent:#c96c14; --av-accent-dim:rgba(201,108,20,.10); --av-accent-ink:#2a1400; + --av-good:#1f9d63; --av-warn:#b5680a; --av-bad:#d3453f; + } + + body.admin-page-v2{ + background:var(--av-bg) !important; color:var(--av-fg); + font-family:"Ubuntu","IBM Plex Sans",system-ui,sans-serif; + } + body.admin-page-v2 *{ box-sizing:border-box; min-width:0; } + + /* header */ + body.admin-page-v2 .header{ + background:var(--av-panel) !important; border-bottom:1px solid var(--av-line); + backdrop-filter:none; + } + body.admin-page-v2 .header-logo{ height:28px; } + body.admin-page-v2 .header > div > div{ + font:600 13px/1 "Ubuntu Mono",monospace; color:var(--av-fg-dim); letter-spacing:.02em; + } + body.admin-page-v2 .btn-link.secondary{ + background:transparent !important; border:1px solid var(--av-line); color:var(--av-fg-dim) !important; + font:600 13px/1 "Ubuntu",sans-serif; padding:9px 16px; border-radius:7px; + } + body.admin-page-v2 .btn-link.secondary:hover{ border-color:var(--av-accent); color:var(--av-fg) !important; } + + /* layout / panels */ + body.admin-page-v2 .admin-layout{ max-width:1500px; } + body.admin-page-v2 .panel{ + background:var(--av-panel) !important; border:1px solid var(--av-line); box-shadow:none; + border-radius:12px; + } + body.admin-page-v2 .admin-intro{ + background:var(--av-accent-dim) !important; border:1px solid var(--av-line); + border-left:3px solid var(--av-accent); color:var(--av-fg-dim) !important; + font:500 13px/1.55 "Ubuntu",sans-serif; letter-spacing:normal; + } + body.admin-page-v2 .admin-intro b{ color:var(--av-fg); } + + /* tabs */ + body.admin-page-v2 .tab-row{ gap:6px; padding-bottom:2px; } + body.admin-page-v2 .tab-btn{ + background:transparent !important; color:var(--av-fg-dim) !important; + border:1px solid var(--av-line); border-radius:8px; + font:600 13px/1 "Ubuntu",sans-serif; padding:9px 16px; + } + body.admin-page-v2 .tab-btn:hover{ border-color:var(--av-fg-faint); color:var(--av-fg) !important; } + body.admin-page-v2 .tab-btn.active-tab{ + background:var(--av-accent-dim) !important; border-color:var(--av-accent); + color:var(--av-fg) !important; + } + + /* split / lists */ + body.admin-page-v2 .split{ grid-template-columns:minmax(280px,340px) minmax(0,1fr); } + @media (max-width:900px){ body.admin-page-v2 .split{ grid-template-columns:minmax(0,1fr); } } + body.admin-page-v2 .list-title{ + font:700 11px/1 "Ubuntu Mono",monospace; letter-spacing:.1em; text-transform:uppercase; + color:var(--av-fg-faint); + } + body.admin-page-v2 .list-box{ + background:var(--av-raised) !important; border:1px solid var(--av-line); border-radius:10px; + } + body.admin-page-v2 .list-search{ + background:var(--av-panel) !important; border:1px solid var(--av-line) !important; + color:var(--av-fg); border-radius:8px; + } + body.admin-page-v2 .list-search::placeholder{ color:var(--av-fg-faint); } + body.admin-page-v2 .list-item{ + background:var(--av-panel) !important; border:1px solid var(--av-line) !important; + color:var(--av-fg) !important; border-radius:8px; transition:border-color .12s; + } + body.admin-page-v2 .list-item:hover{ border-color:var(--av-fg-faint) !important; } + body.admin-page-v2 .list-item.selected-item{ + border-color:var(--av-accent) !important; background:var(--av-accent-dim) !important; + box-shadow:none !important; + } + body.admin-page-v2 .list-item small{ color:var(--av-fg-faint); } + body.admin-page-v2 .user-days{ color:var(--av-fg-faint) !important; } + + /* forms */ + body.admin-page-v2 input, + body.admin-page-v2 button, + body.admin-page-v2 textarea, + body.admin-page-v2 select{ + background:var(--av-panel); border:1px solid var(--av-line); color:var(--av-fg); + border-radius:8px; font:400 13.5px/1.4 "Ubuntu",sans-serif; + } + body.admin-page-v2 input::placeholder, + body.admin-page-v2 textarea::placeholder{ color:var(--av-fg-faint); } + body.admin-page-v2 input:focus, + body.admin-page-v2 textarea:focus, + body.admin-page-v2 select:focus{ outline:none; border-color:var(--av-accent); } + body.admin-page-v2 input[readonly]{ opacity:.6; cursor:default; } + body.admin-page-v2 button{ + background:var(--av-accent); color:var(--av-accent-ink); border:none; + font-weight:700; cursor:pointer; padding:8px 16px; + } + body.admin-page-v2 button:hover{ filter:brightness(1.06); } + body.admin-page-v2 .field-col > span{ + font:600 11.5px/1 "Ubuntu",sans-serif; color:var(--av-fg-faint); + } + body.admin-page-v2 .field-help{ color:var(--av-fg-faint); } + body.admin-page-v2 .actions{ flex-wrap:wrap; } + + /* acl / category grids */ + body.admin-page-v2 .acl-grid label, + body.admin-page-v2 .compact-grid label{ + display:flex; align-items:center; gap:8px; padding:6px 8px; + border:1px solid var(--av-line); border-radius:7px; background:var(--av-panel); + font:400 13px/1.3 "Ubuntu",sans-serif; color:var(--av-fg-dim); + } + body.admin-page-v2 .acl-grid input[type=checkbox], + body.admin-page-v2 .compact-grid input[type=checkbox]{ accent-color:var(--av-accent); } + body.admin-page-v2 .acl-owner{ color:var(--av-accent) !important; } + + /* tables */ + body.admin-page-v2 .admin-table{ color:var(--av-fg-dim); } + body.admin-page-v2 .admin-table th{ + color:var(--av-fg-faint); font:700 10.5px/1 "Ubuntu Mono",monospace; letter-spacing:.06em; + text-transform:uppercase; border-bottom:1px solid var(--av-line) !important; + } + body.admin-page-v2 .admin-table td{ border-bottom:1px solid var(--av-line) !important; } + body.admin-page-v2 .container-table-wrap{ + background:var(--av-panel) !important; border:1px solid var(--av-line) !important; + border-radius:10px; + } + + /* summary strip */ + body.admin-page-v2 .summary-card{ + background:var(--av-panel) !important; border:1px solid var(--av-line); + border-radius:10px; + } + body.admin-page-v2 .summary-label{ + color:var(--av-fg-faint) !important; font:600 10.5px/1 "Ubuntu Mono",monospace; + letter-spacing:.06em; text-transform:uppercase; + } + body.admin-page-v2 .summary-value{ + color:var(--av-fg) !important; font:700 19px/1 "Ubuntu Mono",monospace; margin-top:6px; + font-variant-numeric:tabular-nums; + } + + /* health / icon boxes */ + body.admin-page-v2 .health-box, + body.admin-page-v2 .icon-box{ + background:var(--av-raised) !important; border:1px solid var(--av-line) !important; + border-radius:10px; + } + body.admin-page-v2 .service-thumb, + body.admin-page-v2 .service-icon-preview{ + background:var(--av-panel) !important; border:1px solid var(--av-line-soft) !important; + border-radius:9px; + } + body.admin-page-v2 .status-ok{ background:var(--av-good) !important; } + body.admin-page-v2 .status-degraded{ background:var(--av-warn) !important; } + body.admin-page-v2 .status-down{ background:var(--av-bad) !important; } + + /* categories tab rows */ + body.admin-page-v2 .category-item-row small{ color:var(--av-fg-faint); } + body.admin-page-v2 .category-item-row button{ + background:transparent; border:1px solid var(--av-bad); color:var(--av-bad); + font-weight:600; padding:6px 12px; + } + body.admin-page-v2 .category-item-row button:hover{ background:rgba(255,107,107,.12); } + + body.admin-page-v2 .muted{ color:var(--av-fg-faint) !important; } + body.admin-page-v2 hr{ border:none; border-top:1px solid var(--av-line); margin:1.2rem 0; } +</style> </head> -<body> +<body class="admin-page-v2"> <header class="header"> <div style="display:flex; align-items:center; gap:0.6rem;"> <a href="https://4mont.ru"><img src="/static/logo.png?v=4" alt="MONT" class="header-logo" /></a> diff --git a/app/templates/bundles.html b/app/templates/bundles.html new file mode 100644 index 0000000..dbb9346 --- /dev/null +++ b/app/templates/bundles.html @@ -0,0 +1,207 @@ +<!doctype html> +<html lang="ru"> +<head> + <meta charset="utf-8" /> + <meta name="viewport" content="width=device-width, initial-scale=1" /> + <title>Готовые связки — MONT инфраструктурный полигон + + + + + + + + + + + + + + +
    + MONT +
    🖥️
    +
    Только для компьютера
    +
    Инфраструктурный полигон MONT оптимизирован для работы на ПК.
    Пожалуйста, откройте портал с настольного компьютера или ноутбука.
    +
    + + Минимальная ширина экрана: 1024 px +
    + +
    + +
    + + +
    +
    +
    +
    {{ ((user.first_name[0] if user.first_name else user.username[0]) + (user.last_name[0] if user.last_name else ''))|upper }}
    +
    +
    {{ (user.first_name + ' ' + user.last_name)|trim or user.username }}
    +
    оператор стенда
    +
    +
    +
    + {% if user.is_admin %} + Администрирование + {% endif %} +
    + +
    +
    +
    + +
    +

    MONT · Готовые связки

    +

    Комплексные инфраструктуры

    +

    Заказчику редко нужен один продукт в вакууме — обычно решение должно встроиться в существующую или новую инфраструктуру. Мы собираем на полигоне связку из нескольких продуктов, имитирующую реальный сценарий внедрения, чтобы показать не «продукт», а готовое решение задачи. Раздел готовится — ниже сценарии, которые уже прорабатываются.

    +
    + +
    +

    В подготовке

    +
    +
    + Готовится +
    Миграция домена
    +
    ALDpro в связке с рабочими станциями на Astra Linux, РЕД ОС и Альт Рабочая станция — вход, групповые политики и совместная работа каталога с разными ОС на местах.
    +
    +
    + Готовится +
    VDI-инфраструктура
    +
    Termidesk поверх Ред Виртуализация — типовой сценарий виртуальных рабочих столов, от сервера виртуализации до подключения пользователя.
    +
    +
    + Готовится +
    Резервное копирование виртуальной инфраструктуры
    +
    RuBackup или Vinchin в связке с Альт Виртуализация (PVE) — бэкап и восстановление виртуальных машин на живом кластере.
    +
    +
    + Готовится +
    Импортозамещение рабочего места целиком
    +
    ОС (Astra Linux / РЕД ОС / Альт Рабочая станция) + офисный пакет (АльтерОфис / P7-КС2024) + почта (CommuniGate Pro / RuPost) — полный стек рабочего места сотрудника.
    +
    +
    + Готовится +
    Контейнеризированное приложение с базой данных
    +
    Deckhouse Platform (Kubernetes) + Postgres Pro или Tantor — развёртывание приложения с реальной СУБД под капотом.
    +
    +
    + Готовится +
    Наблюдаемость виртуальной инфраструктуры
    +
    Astra Мониторинг поверх Ред Виртуализация или Альт Виртуализация (PVE) — контроль состояния кластера и виртуальных машин.
    +
    +
    +
    + + +
    +
    + + diff --git a/app/templates/dashboard.html b/app/templates/dashboard.html index 5ea7be3..2d15128 100644 --- a/app/templates/dashboard.html +++ b/app/templates/dashboard.html @@ -23,18 +23,153 @@ - - -{% raw %}{% endraw %} + + :root{ + --dv-bg:#eef1f5; --dv-panel:#fff; --dv-raised:#fff; + --dv-line:#d7dee6; --dv-line-soft:#e3e8ee; + --dv-fg:#16202c; --dv-fg-dim:#5c6b7c; --dv-fg-faint:#93a1b0; + --dv-accent:#c96c14; --dv-accent-dim:rgba(201,108,20,.10); --dv-accent-ink:#2a1400; + --dv-good:#1f9d63; + } + /* style.css has several older `.dashboard-page{background:...!important}` + sky-gradient rules left over from the previous design - beat them with + !important too, otherwise they win regardless of source order. */ + .dashboard-page{background:var(--dv-bg) !important;color:var(--dv-fg); + font-family:"Ubuntu","IBM Plex Sans",system-ui,sans-serif;min-height:100vh;overflow-x:hidden} + .dashboard-page *{box-sizing:border-box;min-width:0} + .dashboard-page a{color:inherit;text-decoration:none} + + .dv-shell{display:grid;grid-template-columns:248px minmax(0,1fr);min-height:100vh} + @media (max-width:980px){ .dv-shell{grid-template-columns:minmax(0,1fr)} } + + .dv-rail{border-right:1px solid var(--dv-line);padding:26px 16px 26px 24px;position:sticky;top:0; + align-self:start;height:100vh;overflow:auto;display:flex;flex-direction:column;gap:22px} + @media (max-width:980px){ .dv-rail{position:static;height:auto;border-right:none;border-bottom:1px solid var(--dv-line);padding:20px 18px} } + .dv-rail-brand{display:flex;align-items:center;gap:10px;flex-wrap:wrap} + .dv-rail-brand img{height:30px} + .dv-rail-kicker{font:700 11px/1 "Ubuntu Mono",monospace;letter-spacing:.16em;color:var(--dv-fg-faint);text-transform:uppercase;margin:0 0 8px 10px} + .dv-rail-nav{display:flex;flex-direction:column;gap:2px} + @media (max-width:980px){ .dv-rail-nav{flex-direction:row;flex-wrap:wrap;gap:6px} } + .dv-rail-link{display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:6px; + font:500 14px/1.3 "Ubuntu",sans-serif;color:var(--dv-fg-dim);border:1px solid transparent} + .dv-rail-link:hover{background:var(--dv-panel);color:var(--dv-fg);border-color:var(--dv-line)} + .dv-rail-dot{width:6px;height:6px;border-radius:50%;background:var(--dv-fg-faint);flex-shrink:0} + .dv-rail-link:hover .dv-rail-dot{background:var(--dv-accent)} + .dv-rail-count{margin-left:auto;font:600 11px/1 "Ubuntu Mono",monospace;color:var(--dv-fg-faint)} + .dv-rail-link.active{background:var(--dv-accent-dim);border-color:var(--dv-accent);color:var(--dv-fg)} + .dv-rail-link.active .dv-rail-dot{background:var(--dv-accent)} + .dv-rail-link.active .dv-rail-count{color:var(--dv-accent)} + .dv-rail-foot{margin-top:auto;font:400 12px/1.6 "Ubuntu Mono",monospace;color:var(--dv-fg-faint)} + @media (max-width:980px){ .dv-rail-foot{display:none} } + + .dv-main{padding:0 clamp(18px,3vw,48px) 70px;min-width:0} + .dv-topbar{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:20px 0; + border-bottom:1px solid var(--dv-line);flex-wrap:wrap} + .dv-who{display:flex;align-items:center;gap:10px} + .dv-who-avatar{width:32px;height:32px;border-radius:8px;background:var(--dv-raised);border:1px solid var(--dv-line); + display:flex;align-items:center;justify-content:center;font:700 13px/1 "Ubuntu Mono",monospace;color:var(--dv-accent)} + .dv-who-name{font:500 14.5px/1.2 "Ubuntu",sans-serif} + .dv-who-role{font:400 12px/1.2 "Ubuntu Mono",monospace;color:var(--dv-fg-faint)} + .dv-topbar-actions{display:flex;gap:8px} + .dv-btn{font:600 13px/1 "Ubuntu",sans-serif;padding:9px 16px;border-radius:7px;border:1px solid var(--dv-line); + background:var(--dv-panel);color:var(--dv-fg-dim);cursor:pointer} + .dv-btn:hover{color:var(--dv-fg);border-color:var(--dv-fg-faint)} + + .dv-hero{padding:32px 0 30px;border-bottom:1px solid var(--dv-line)} + .dv-hero-eyebrow{font:700 12.5px/1 "Ubuntu Mono",monospace;letter-spacing:.16em;text-transform:uppercase;color:var(--dv-accent);margin:0 0 10px} + .dv-hero h1{font:800 clamp(28px,3.8vw,40px)/1.1 "Ubuntu",sans-serif;letter-spacing:-.01em;margin:0 0 4px;overflow-wrap:break-word} + .dv-filter-note{font:400 13.5px/1.4 "Ubuntu",sans-serif;color:var(--dv-fg-faint);margin:10px 0 0} + .dv-filter-note b{color:var(--dv-accent)} + .dv-filter-note a{margin-left:8px;text-decoration:underline;color:var(--dv-fg-faint)} + .dv-readouts{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--dv-line);border-radius:10px;overflow:hidden;width:fit-content;margin-top:16px} + .dv-readout{padding:12px 22px;border-right:1px solid var(--dv-line)} + .dv-readout:last-child{border-right:none} + .dv-readout-val{font:700 23px/1 "Ubuntu Mono",monospace;font-variant-numeric:tabular-nums} + .dv-readout-label{font:600 10.5px/1 "Ubuntu Mono",monospace;letter-spacing:.08em;text-transform:uppercase;color:var(--dv-fg-faint);margin-top:6px} + + .dv-section{padding:36px 0 6px} + .dv-section-head{display:flex;align-items:baseline;gap:12px;margin-bottom:16px} + .dv-section-head h2{font:700 13.5px/1 "Ubuntu Mono",monospace;letter-spacing:.1em;text-transform:uppercase;margin:0} + .dv-section-head::after{content:"";flex:1;height:1px;background:var(--dv-line)} + .dv-section-count{font:600 12px/1 "Ubuntu Mono",monospace;color:var(--dv-fg-faint)} + .dv-empty{padding:18px 0;color:var(--dv-fg-faint);font:400 13px/1.5 "Ubuntu",sans-serif} + + .dv-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px} + .dv-tile{position:relative;background:var(--dv-panel);border:1px solid var(--dv-line);border-radius:12px; + padding:16px;display:flex;flex-direction:column;gap:10px;height:266px; + transition:transform .15s,border-color .15s} + .dv-tile:hover{border-color:var(--dv-accent);transform:translateY(-2px)} + .dv-tile-hit{position:absolute;inset:0;z-index:0;border-radius:12px} + .dv-tile-top{display:flex;align-items:center;gap:12px;position:relative;z-index:1;pointer-events:none} + .dv-tile-plate{flex:none;width:84px;height:84px;border-radius:14px;background:var(--dv-raised);border:1px solid var(--dv-line-soft); + display:flex;align-items:center;justify-content:center} + .dv-tile-plate img{width:60px;height:60px;object-fit:contain} + .dv-tile-name{font:600 15px/1.3 "Ubuntu",sans-serif;overflow-wrap:break-word} + .dv-tile-desc{ + margin:0;font:400 13.5px/1.55 "Ubuntu",sans-serif;color:var(--dv-fg-dim);position:relative;z-index:1; + flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;pointer-events:auto;padding-right:2px; + } + .dv-tile-desc p{margin:0} + .dv-tile-desc::-webkit-scrollbar{width:5px} + .dv-tile-desc::-webkit-scrollbar-thumb{background:var(--dv-line);border-radius:3px} + .dv-tile-desc::-webkit-scrollbar-thumb:hover{background:var(--dv-fg-faint)} + .dv-tile-enter{ + position:relative;z-index:2;margin-top:auto;align-self:flex-start;padding:7px 14px;border-radius:7px; + border:1px solid var(--dv-line);background:transparent;color:var(--dv-fg-dim);font:600 12.5px/1 "Ubuntu",sans-serif;cursor:pointer; + } + .dv-tile:hover .dv-tile-enter{border-color:var(--dv-accent);color:var(--dv-accent)} + .dv-tile-led{position:absolute;top:14px;right:14px;width:6px;height:6px;border-radius:50%;background:var(--dv-good);box-shadow:0 0 6px var(--dv-good);z-index:1} + + .dv-tile.locked{opacity:.6;filter:grayscale(.4)} + .dv-tile.locked:hover{border-color:var(--dv-line);transform:none} + .dv-tile.locked .dv-tile-plate img{filter:grayscale(1)} + .dv-tile-lock{position:absolute;top:14px;right:14px;font-size:13px;opacity:.7;z-index:1} + .dv-tile-request{ + position:relative;z-index:2;margin-top:auto;align-self:flex-start;padding:7px 14px;border-radius:7px; + border:1px dashed var(--dv-fg-faint);background:transparent;color:var(--dv-fg-faint);font:600 12.5px/1 "Ubuntu",sans-serif;cursor:pointer; + } + .dv-tile-request:hover{border-color:var(--dv-accent);border-style:solid;color:var(--dv-accent)} + + .dv-page-footer{margin-top:50px;padding-top:20px;border-top:1px solid var(--dv-line);display:flex; + justify-content:space-between;flex-wrap:wrap;gap:8px;font:400 12px/1 "Ubuntu Mono",monospace;color:var(--dv-fg-faint)} + + /* --- request-more-access modal --- */ + .req-modal-overlay{display:none;position:fixed;inset:0;z-index:9000;background:rgba(6,9,14,.72); + align-items:center;justify-content:center;padding:1rem} + .req-modal-overlay.open{display:flex} + .req-modal{background:var(--dv-panel);border:1px solid var(--dv-line);border-radius:14px;width:100%;max-width:420px; + box-shadow:0 24px 80px rgba(0,0,0,.45);padding:22px 22px 20px} + .req-modal h3{margin:0 0 4px;font:700 17px/1.3 "Ubuntu",sans-serif} + .req-modal .sub{margin:0 0 16px;font:400 12.5px/1.5 "Ubuntu",sans-serif;color:var(--dv-fg-faint)} + .req-list{display:flex;flex-direction:column;gap:8px;margin-bottom:16px;max-height:220px;overflow-y:auto} + .req-item{display:flex;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--dv-line);border-radius:8px;font:500 13px/1.3 "Ubuntu",sans-serif} + .req-item input{accent-color:var(--dv-accent);width:15px;height:15px} + .req-note{width:100%;box-sizing:border-box;background:var(--dv-raised);border:1px solid var(--dv-line);border-radius:8px; + padding:9px 11px;color:var(--dv-fg);font:400 13px/1.5 "Ubuntu",sans-serif;resize:vertical;min-height:56px;margin-bottom:16px} + .req-note::placeholder{color:var(--dv-fg-faint)} + .req-actions{display:flex;justify-content:flex-end;gap:10px} + .req-cancel{padding:9px 16px;border-radius:8px;border:1px solid var(--dv-line);background:transparent;color:var(--dv-fg-dim);font:600 12.5px/1 "Ubuntu",sans-serif;cursor:pointer} + .req-submit{padding:9px 18px;border-radius:8px;border:none;background:var(--dv-accent);color:var(--dv-accent-ink);font:700 12.5px/1 "Ubuntu",sans-serif;cursor:pointer} + .req-submit:disabled{opacity:.55;cursor:default} + .req-error{background:rgba(255,107,107,.12);border:1px solid rgba(255,107,107,.35);color:#ff6b6b; + border-radius:8px;padding:8px 11px;font:500 12.5px/1.4 "Ubuntu",sans-serif;margin-bottom:14px;display:none} + .req-success{text-align:center;padding:10px 0 4px} + .req-success .ico{font-size:30px;margin-bottom:10px;color:var(--dv-good)} + .req-success h4{margin:0 0 6px;font:700 16px/1.3 "Ubuntu",sans-serif} + .req-success p{margin:0;font:400 12.5px/1.5 "Ubuntu",sans-serif;color:var(--dv-fg-dim)} + + + +
    MONT
    🖥️
    @@ -47,176 +182,241 @@
    -
    -
    -
    {{ ((user.first_name[0] if user.first_name else user.username[0]) + (user.last_name[0] if user.last_name else ''))|upper }}
    - {{ (user.first_name + ' ' + user.last_name)|trim or user.username }} +
    +
    -
    - -
    -
    -
    -
    Инфраструктурный полигон MONT
    - {% if session_notice %} -
    {{ session_notice }}
    - {% endif %} -
    -
    -
    Правила работы стенда
    -
    -
    -
    Лимит: до 4 сервисов одновременно. При открытии нового сверх лимита самый старый закрывается автоматически.
    -
    При бездействии более 5 минут сессия закрывается автоматически.
    -
    Все сервисы работают в защищённом контуре с резервированием и бэкапами.
    -
    Состояние сервисов возвращается к базовому каждую ночь в 00:00.
    -
    -
    - +
    SESSION LIMIT: {{ max_active_services }}
    IDLE TIMEOUT: {{ idle_timeout_min }} MIN
    RESET: 00:00 MSK
    + + +
    +
    +
    +
    {{ ((user.first_name[0] if user.first_name else user.username[0]) + (user.last_name[0] if user.last_name else ''))|upper }}
    +
    +
    {{ (user.first_name + ' ' + user.last_name)|trim or user.username }}
    +
    оператор стенда
    - {% if categories %} -
    - Все сервисы - {% for category in categories %} - {{ category.name }} +
    + {% if user.is_admin %} + Администрирование + {% endif %} +
    + +
    +
    +
    + +
    +

    MONT · Испытательный контур

    +

    Инфраструктурный полигон

    + {% if session_notice %}
    {{ session_notice }}
    {% endif %} + {% if selected_category_slug %} + {% set current_cat = categories|selectattr('slug','equalto',selected_category_slug)|list|first %} +

    Показана категория «{{ current_cat.name if current_cat else selected_category_slug }}»сбросить

    + {% endif %} +
    +
    {{ '%02d'|format(services|length) }}
    Доступно
    +
    {{ '%02d'|format(categories|length) }}
    Категорий
    +
    +
    + +
    +

    Ваши сервисы

    {{ '%02d'|format(services|length) }}
    + {% if services %} +
    + {% for service in services %} +
    + +
    +
    +
    {{ service.name }}
    +
    +
    {{ service_comment_html.get(service.id, '') }}
    + Войти → + +
    {% endfor %}
    + {% else %} +
    {% if selected_category_slug %}В этой категории у вас пока нет доступных сервисов.{% else %}Вам пока не назначены сервисы — обратитесь к вашему менеджеру MONT.{% endif %}
    {% endif %}
    -
    - {% for service in services %} - {% set svc_cats = service_categories.get(service.id, []) %} -
    - -
    -
    - icon + + {% if locked_services %} +
    +

    Доступно по запросу

    {{ '%02d'|format(locked_services|length) }}
    +
    + {% for service in locked_services %} +
    +
    +
    +
    {{ service.name }}
    -

    {{ service.name }}

    -
    - {% if service.comment %} -
    {{ service_comment_html.get(service.id, '') }}
    - {% endif %} -
    - {% if svc_cats %} -
    - {% for category in svc_cats %} - {{ category.name }} - {% endfor %} -
    - {% endif %} +
    {{ service_comment_html.get(service.id, '') }}
    + + 🔒
    + {% endfor %}
    - {% else %} -
    - {% if selected_category_slug %} - Нет сервисов в выбранной категории - {% else %} - Нет назначенных сервисов - {% endif %} -
    - {% endfor %}
    - + {% endif %} + +
    - -
    -
    -
    Ожидайте...
    +
    + +
    +
    +

    Запросить доступ

    +

    Заявка уйдёт администратору полигона. После одобрения продукт появится у вас автоматически — заново логиниться не нужно.

    +
    +
    + +
    + + +
    - + } + document.getElementById('req-submit').addEventListener('click', submitRequest); + })(); + diff --git a/app/templates/login.html b/app/templates/login.html index 4cf28de..c288a68 100644 --- a/app/templates/login.html +++ b/app/templates/login.html @@ -41,10 +41,6 @@ - + - -