diff --git a/blueprints/admin/routes.py b/blueprints/admin/routes.py index 94aa952..773b0f8 100644 --- a/blueprints/admin/routes.py +++ b/blueprints/admin/routes.py @@ -150,7 +150,7 @@ def admin_recommendation_reject(recommendation_id): @bp.route('/users') @login_required -@role_required(SystemRole.ADMIN) +@role_required(SystemRole.OFFICE_MANAGER) def admin_users(): """Admin panel for user management""" db = SessionLocal() @@ -405,7 +405,7 @@ def admin_user_update(user_id): @bp.route('/users//assign-company', methods=['POST']) @login_required -@role_required(SystemRole.ADMIN) +@role_required(SystemRole.OFFICE_MANAGER) def admin_user_assign_company(user_id): """Assign a company to a user""" db = SessionLocal() @@ -584,7 +584,7 @@ def admin_user_delete(user_id): @bp.route('/users//reset-password', methods=['POST']) @login_required -@role_required(SystemRole.ADMIN) +@role_required(SystemRole.OFFICE_MANAGER) def admin_user_reset_password(user_id): """Generate password reset token and optionally send email""" db = SessionLocal() diff --git a/blueprints/admin/routes_users_api.py b/blueprints/admin/routes_users_api.py index 3e3faae..0148922 100644 --- a/blueprints/admin/routes_users_api.py +++ b/blueprints/admin/routes_users_api.py @@ -314,7 +314,7 @@ def admin_users_bulk_create(): @bp.route('/users-api/change-role', methods=['POST']) @login_required -@role_required(SystemRole.ADMIN) +@role_required(SystemRole.OFFICE_MANAGER) def admin_users_change_role(): """Change user's system role.""" db = SessionLocal() @@ -372,7 +372,7 @@ def admin_users_change_role(): @bp.route('/users-api/roles', methods=['GET']) @login_required -@role_required(SystemRole.ADMIN) +@role_required(SystemRole.OFFICE_MANAGER) def admin_users_get_roles(): """Get list of available roles for dropdown.""" roles = [ diff --git a/templates/admin/users.html b/templates/admin/users.html index 9845ee9..b3d4f70 100644 --- a/templates/admin/users.html +++ b/templates/admin/users.html @@ -1174,6 +1174,11 @@ {% if locked_count > 0 %} {% endif %} + + + + + {% if users %} @@ -1183,8 +1188,8 @@ ID Użytkownik Firma - Upr. firmowe - Rola + Upr. firmowe + Rola Utworzono Ostatnie logowanie Status @@ -1195,6 +1200,7 @@ {% for user in users %} @@ -1215,7 +1221,7 @@ - {% endif %} - + {% if user.company %} else if (filter === 'unverified') show = !isVerified; else if (filter === 'pending-company') show = isPendingCompany; else if (filter === 'locked') show = row.dataset.locked === 'true'; + else if (filter === 'role-manager') show = row.dataset.role === 'MANAGER'; + else if (filter === 'role-office') show = row.dataset.role === 'OFFICE_MANAGER'; + else if (filter === 'company-role-none') show = row.dataset.companyRole === 'NONE' && row.querySelector('.user-company'); + else if (filter === 'company-role-manager') show = row.dataset.companyRole === 'MANAGER'; row.style.display = show ? '' : 'none'; });