diff --git a/handlers/verification.py b/handlers/verification.py
index 7f7f241..a882cc8 100644
--- a/handlers/verification.py
+++ b/handlers/verification.py
@@ -197,16 +197,33 @@ async def process_verification(message: Message, apartment: str):
session.add(user)
else:
logger.info(f'Пользователь найден: verified={user.verified}, apartment={user.apartment}')
+
# Если уже верифицирован
if user.verified:
- await message.answer(
- f'✅ Вы уже верифицированы (кв. {user.apartment})\n\n'
- 'Если нужно изменить квартиру, обратитесь к администратору.',
- parse_mode='HTML'
- )
- return
-
- # Обновляем квартиру
+ # Но квартиры нет — сохраняем!
+ if not user.apartment:
+ user.apartment = apartment_upper
+ await session.commit()
+ logger.info(f'Сохранена квартира для верифицированного: {apartment_upper}')
+
+ await message.answer(
+ f'✅ Квартира сохранена!\n\n'
+ f'Квартира: {apartment_upper}\n\n'
+ f'Вы уже были верифицированы.\n'
+ f'Теперь ваша квартира привязана к аккаунту!',
+ parse_mode='HTML'
+ )
+ return
+ else:
+ # Уже есть квартира
+ await message.answer(
+ f'✅ Вы уже верифицированы (кв. {user.apartment})\n\n'
+ 'Если нужно изменить квартиру, обратитесь к администратору.',
+ parse_mode='HTML'
+ )
+ return
+
+ # Обновляем квартиру для неверифицированных
user.apartment = apartment_upper
# Создаём заявку на верификацию (если ещё нет активной)
diff --git a/web/app.py b/web/app.py
index c63526b..348ccc0 100644
--- a/web/app.py
+++ b/web/app.py
@@ -158,13 +158,19 @@ async def users_page(request: Request, search: str = "", filter: str = "", usern
@app.post("/api/users/auto_verify")
async def api_auto_verify_users(username: str = Depends(get_current_admin)):
- """Автоверификация активных пользователей"""
+ """Автоверификация активных пользователей (ТОЛЬКО с квартирой!)"""
async with AsyncSessionLocal() as session:
# Находим активных (50+ сообщений) которые не верифицированы
- stmt = select(User).where(User.verified == False, User.message_count >= 50)
+ # И у которых УЖЕ ЕСТЬ квартира!
+ stmt = select(User).where(
+ User.verified == False,
+ User.message_count >= 50,
+ User.apartment != None,
+ User.apartment != ''
+ )
result = await session.execute(stmt)
active_users = list(result.scalars().all())
-
+
# Верифицируем всех
verified_count = 0
for user in active_users:
@@ -172,10 +178,10 @@ async def api_auto_verify_users(username: str = Depends(get_current_admin)):
if not user.verification_date:
user.verification_date = datetime.utcnow()
verified_count += 1
-
+
await session.commit()
-
- return JSONResponse({"success": True, "message": f"Верифицировано {verified_count} активных пользователей"})
+
+ return JSONResponse({"success": True, "message": f"Верифицировано {verified_count} активных пользователей с квартирой"})
@app.post("/api/user/{user_id}/update")