Sindbad~EG File Manager

Current Path : /home/copmadinaarea/thecopmadinaarea.org/portal/sql/
Upload File :
Current File : /home/copmadinaarea/thecopmadinaarea.org/portal/sql/admin_location_assignments.sql

-- Admin Location Assignments Table
-- Allows multiple admins to be assigned to multiple areas/districts/assemblies

CREATE TABLE IF NOT EXISTS admin_location_assignments (
    id INT AUTO_INCREMENT PRIMARY KEY,
    user_id INT NOT NULL,
    location_type ENUM('area', 'district', 'assembly') NOT NULL,
    area_id INT NULL,
    district_id INT NULL,
    assembly_id INT NULL,
    assigned_by INT NULL,
    assigned_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    is_active BOOLEAN DEFAULT TRUE,
    
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (area_id) REFERENCES areas(id) ON DELETE CASCADE,
    FOREIGN KEY (district_id) REFERENCES districts(id) ON DELETE CASCADE,
    FOREIGN KEY (assembly_id) REFERENCES assemblies(id) ON DELETE CASCADE,
    FOREIGN KEY (assigned_by) REFERENCES users(id) ON DELETE SET NULL,
    
    INDEX idx_user_id (user_id),
    INDEX idx_location_type (location_type),
    INDEX idx_area_id (area_id),
    INDEX idx_district_id (district_id),
    INDEX idx_assembly_id (assembly_id),
    INDEX idx_is_active (is_active),
    
    UNIQUE KEY unique_assignment (user_id, location_type, area_id, district_id, assembly_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

-- Register Administration Module (display_order = 0 to appear before Membership which is 1)
INSERT IGNORE INTO module_management (module_name, module_url, module_icon, required_role, display_order, is_active, created_at)
VALUES ('Administration', 'modules/administration/index.php', 'cogs', 'superuser', 0, 1, NOW());

-- Update Administration display_order if it already exists
UPDATE module_management SET display_order = 0 WHERE module_name = 'Administration';

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists