Подготовка проекта к публикации: Docker, чистая установка, разделение папок

- Убраны приватные URL и данные из README и docker-compose.yml
- Добавлен .env.example с примером переменных окружения
- Улучшен Dockerfile: добавлен libcairo2-dev для rlPyCairo
- Убраны fallbacks на общие папки: фото, QR, билеты, логотипы строго внутри event_{id}
- Папка скрин/ и *.txt исключены из git
- Пасхалка о создателе mycloud24.ru сохранена
This commit is contained in:
InviteMe Developer
2026-08-31 17:18:43 +03:00
parent 8b5f3f2c0c
commit 6e7b8dfd3a
9 changed files with 46 additions and 18 deletions
+5 -5
View File
@@ -118,16 +118,16 @@ class Guest(db.Model):
return " ".join(parts) if parts else self.full_name
def _photo_paths(self):
"""Возвращает возможные пути к фото: сначала папка мероприятия, потом корень."""
"""Возвращает путь к фото гостя в папке мероприятия."""
if not self.photo_filename:
return []
from pathlib import Path
from flask import current_app
base = Path(current_app.config["PHOTO_FOLDER"])
paths = [base / self.photo_filename]
from app.utils.paths import event_photo_folder
if self.event_id:
paths.insert(0, base / f"event_{self.event_id}" / self.photo_filename)
return paths
return [event_photo_folder(self.event_id) / self.photo_filename]
# fallback только если мероприятие ещё не назначено
return [Path(current_app.config["PHOTO_FOLDER"]) / self.photo_filename]
@property
def has_photo_file(self):