feat: unlock Integracje page for MANAGER+ instead of single email
Some checks are pending
NordaBiz Tests / Unit & Integration Tests (push) Waiting to run
NordaBiz Tests / E2E Tests (Playwright) (push) Blocked by required conditions
NordaBiz Tests / Smoke Tests (Production) (push) Blocked by required conditions
NordaBiz Tests / Send Failure Notification (push) Blocked by required conditions

OAuth integrations page was hardcoded to maciej.pienczyn@inpi.pl.
Now accessible to any user with MANAGER role or higher.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Maciej Pienczyn 2026-02-19 12:19:38 +01:00
parent ed60643ec6
commit 21b2be1ead

View File

@ -16,7 +16,7 @@ from flask_login import login_required, login_user, logout_user, current_user
from werkzeug.security import generate_password_hash, check_password_hash
from . import bp
from database import SessionLocal, User, Company, UserBlock, UserCompany
from database import SessionLocal, User, Company, UserBlock, UserCompany, SystemRole
from utils.helpers import sanitize_input, validate_email, validate_password
from extensions import limiter
from security_service import log_audit
@ -866,13 +866,12 @@ def konto_blokady_dodaj():
@bp.route('/konto/integracje')
@login_required
def konto_integracje():
"""OAuth integrations page - owner only.
"""OAuth integrations page for MANAGER+.
Allows connecting Google/Meta accounts for enriched audit data.
Restricted to platform owner (maciej.pienczyn@inpi.pl).
"""
if current_user.email != 'maciej.pienczyn@inpi.pl':
flash('Brak dostępu do tej strony.', 'error')
if not current_user.has_role(SystemRole.MANAGER):
flash('Ta strona wymaga uprawnień kadry zarządzającej.', 'error')
return redirect(url_for('auth.konto_dane'))
if not current_user.company_id:
flash('Musisz byc przypisany do firmy, aby korzystac z integracji.', 'info')