updated settings page

This commit is contained in:
Quality System Admin
2025-10-22 21:39:21 +03:00
parent c96039542d
commit 1afd09b88b
6 changed files with 675 additions and 154 deletions

View File

@@ -172,37 +172,41 @@ def settings_handler():
flash('Access denied: Superadmin only.')
return redirect(url_for('main.dashboard'))
# Get users from external MariaDB database
# Get users from external MariaDB database with modules (same logic as user_management_simple)
users = []
try:
conn = get_external_db_connection()
cursor = conn.cursor()
# Create users table if it doesn't exist
cursor.execute('''
CREATE TABLE IF NOT EXISTS users (
id INT AUTO_INCREMENT PRIMARY KEY,
username VARCHAR(50) UNIQUE NOT NULL,
password VARCHAR(255) NOT NULL,
role VARCHAR(50) NOT NULL,
email VARCHAR(255)
)
''')
# Get all users from external database
cursor.execute("SELECT id, username, password, role, email FROM users")
users_data = cursor.fetchall()
# Convert to list of dictionaries for template compatibility
users = []
for user_data in users_data:
users.append({
'id': user_data[0],
'username': user_data[1],
'password': user_data[2],
'role': user_data[3],
'email': user_data[4] if len(user_data) > 4 else None
})
# Check if users table exists and get users with modules
cursor.execute("SHOW TABLES LIKE 'users'")
if cursor.fetchone():
cursor.execute("SELECT id, username, role, modules FROM users")
for row in cursor.fetchall():
user_data = {
'id': row[0],
'username': row[1],
'role': row[2],
'modules': row[3] if len(row) > 3 else None
}
# Create a mock user object with get_modules method
class MockUser:
def __init__(self, data):
self.id = data['id']
self.username = data['username']
self.role = data['role']
self.modules = data['modules']
def get_modules(self):
if not self.modules:
return []
try:
import json
return json.loads(self.modules)
except:
return []
users.append(MockUser(user_data))
conn.close()