diff --git a/blueprints/admin/routes.py b/blueprints/admin/routes.py index 2660f0f..b9a43c7 100644 --- a/blueprints/admin/routes.py +++ b/blueprints/admin/routes.py @@ -162,6 +162,7 @@ def admin_users(): admin_count = sum(1 for u in users if u.has_role(SystemRole.ADMIN)) verified_count = sum(1 for u in users if u.is_verified) unverified_count = total_users - verified_count + pending_company_count = sum(1 for u in users if u.company_id and u.company_role == 'NONE') logger.info(f"Admin {current_user.email} accessed users panel - {total_users} users") @@ -172,7 +173,8 @@ def admin_users(): total_users=total_users, admin_count=admin_count, verified_count=verified_count, - unverified_count=unverified_count + unverified_count=unverified_count, + pending_company_count=pending_company_count ) finally: db.close() diff --git a/blueprints/auth/routes.py b/blueprints/auth/routes.py index 2cb9149..28fd22e 100644 --- a/blueprints/auth/routes.py +++ b/blueprints/auth/routes.py @@ -157,7 +157,7 @@ def register(): name=name, company_nip=company_nip, company_id=company_id, - company_role='VIEWER', + company_role='NONE', is_norda_member=is_norda_member, created_at=datetime.now(), is_active=True, @@ -171,7 +171,7 @@ def register(): # Create user_companies record if company matched if company_id: - uc = UserCompany(user_id=user.id, company_id=company_id, role='VIEWER', is_primary=True) + uc = UserCompany(user_id=user.id, company_id=company_id, role='NONE', is_primary=True) db.add(uc) db.commit() diff --git a/templates/admin/users.html b/templates/admin/users.html index 8d0d7df..aaf72ae 100644 --- a/templates/admin/users.html +++ b/templates/admin/users.html @@ -1101,6 +1101,13 @@ +{% if pending_company_count > 0 %} +
+ ⚠️ + {{ pending_company_count }} {{ 'użytkownik czeka' if pending_company_count == 1 else 'użytkowników czeka' }} na zatwierdzenie uprawnień firmowych (firma przypisana, rola: Brak) +
+{% endif %} +
@@ -1131,6 +1138,9 @@ + {% if pending_company_count > 0 %} + + {% endif %}
{% if users %} @@ -1152,7 +1162,8 @@ {% for user in users %} + data-is-verified="{{ 'true' if user.is_verified else 'false' }}" + data-pending-company="{{ 'true' if user.company_id and user.company_role == 'NONE' else 'false' }}"> {{ user.id }}
@@ -1847,10 +1858,13 @@ Lub format CSV, Excel, lista emaili..."> const isVerified = row.dataset.isVerified === 'true'; let show = false; + const isPendingCompany = row.dataset.pendingCompany === 'true'; + if (filter === 'all') show = true; else if (filter === 'admin') show = isAdmin; else if (filter === 'verified') show = isVerified; else if (filter === 'unverified') show = !isVerified; + else if (filter === 'pending-company') show = isPendingCompany; row.style.display = show ? '' : 'none'; });