Sindbad~EG File Manager
-- Update Module Access Levels
-- This script sets appropriate access levels for all modules
-- Access hierarchy: assembly -> district -> area -> superuser
-- Core modules (accessible to all levels)
UPDATE module_management SET required_role = 'assembly'
WHERE module_name IN ('Membership', 'Events', 'Event Attendance', 'Event Registrations');
-- Card and code management (assembly level)
UPDATE module_management SET required_role = 'assembly'
WHERE module_name IN ('Membership Cards', 'Member Codes');
-- Administration modules (higher levels)
UPDATE module_management SET required_role = 'area'
WHERE module_name IN ('Areas');
UPDATE module_management SET required_role = 'district'
WHERE module_name IN ('Districts');
UPDATE module_management SET required_role = 'assembly'
WHERE module_name IN ('Assemblies');
-- User and system management (area level)
UPDATE module_management SET required_role = 'area'
WHERE module_name IN ('Users', 'User Management', 'Member Accounts');
-- Communication modules (area level)
UPDATE module_management SET required_role = 'area'
WHERE module_name IN ('Email Management', 'Messaging', 'Notifications');
-- Reports and analytics (district level)
UPDATE module_management SET required_role = 'district'
WHERE module_name IN ('Reports', 'Event Reports', 'Audit Logs');
-- System settings (superuser only)
UPDATE module_management SET required_role = 'superuser'
WHERE module_name IN ('Settings', 'System Settings', 'Page Content Editor', 'General Settings');
-- Issues and complaints (assembly level - public facing)
UPDATE module_management SET required_role = 'assembly'
WHERE module_name IN ('Membership Issues');
-- Event forms (assembly level)
UPDATE module_management SET required_role = 'assembly'
WHERE module_name IN ('Event Forms');
-- Verify the changes
SELECT
module_name,
module_url,
required_role,
CASE required_role
WHEN 'assembly' THEN '1 - Assembly Level (Lowest)'
WHEN 'district' THEN '2 - District Level'
WHEN 'area' THEN '3 - Area Level'
WHEN 'superuser' THEN '4 - Superuser (Highest)'
ELSE 'Unknown'
END as access_description,
is_active
FROM module_management
ORDER BY
CASE required_role
WHEN 'assembly' THEN 1
WHEN 'district' THEN 2
WHEN 'area' THEN 3
WHEN 'superuser' THEN 4
END,
display_order;
Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists