Documentation Index
Fetch the complete documentation index at: https://mintlify.com/EdgarJr30/proyecto-de-grado-cms/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Settings Hub provides centralized access to all administrative configuration modules in MLM CMMS. It uses a modular interface where each setting category is a separate tab with its own permissions and functionality.Access to each settings module depends on specific permissions. Some modules may be unavailable if you lack the required permissions.
Accessing the Settings Hub
Navigate to Administration → Settings from the sidebar, or use the route/admin/settings.
Settings Modules
The Settings Hub includes the following modules:1. Roles
Permission:rbac:manage_roles
Description: Manage roles and assign permissions to roles.
Features:
- Create, edit, and delete roles
- View and assign permissions to roles
- View users assigned to each role
- Bulk permission assignment (“Seleccionar todo” / “Quitar todo”)
2. Permissions
Permission:rbac:manage_permissions
Description: View and synchronize the permission registry.
Features:
- View all available permissions (code, resource, action, label, description)
- Synchronize permissions from the frontend registry to the database
- Filter permissions by code, label, or description
- View active/inactive permissions
3. Special Incidents
Permissions:special_incidents:full_access, special_incidents:disable, or special_incidents:delete
Description: Manage special incident types for work orders and tickets.
Features:
- Create custom incident types (e.g., “Water Leak”, “Electrical Fault”)
- Assign codes and descriptions to incidents
- Activate/deactivate incident types
- Delete incident types (if no dependencies exist)
4. Announcements
Permissions:announcements:read, announcements:full_access, announcements:disable, or announcements:delete
Description: Publish and manage system-wide announcements.
Features:
- Create announcements with title, message, and validity period
- Target announcements to specific roles
- Set priority levels (info, warning, critical)
- Activate/deactivate announcements
- Delete announcements
5. Society (Organization Settings)
Permissions:society:read, society:full_access, society:disable, or society:delete
Description: Configure organizational branding and identity.
Features:
- Set organization name
- Upload logo and branding assets
- Configure default settings (timezone, currency, etc.)
- Manage contact information
6. General
Permission: None (available to all users) Description: System-wide general settings and catalogs. Features:- View system version and environment
- Configure default behaviors (e.g., notification preferences)
- Manage global catalogs (work order types, priority levels, etc.)
- Review system health and diagnostics
Settings Hub Interface
Navigation Sidebar
The left sidebar lists all available modules. Modules you don’t have permission to access are marked as “Sin acceso” and are disabled.Module Status Panel
The right sidebar shows the “Estado de acceso” panel, which indicates whether each module is available or blocked based on your permissions.Search Functionality
Modules with searchable content (Roles, Permissions, Incidents, Announcements) include a search bar:- Roles: Search by role name or description
- Permissions: Search by code, label, or description
- Incidents: Search by incident name or code
- Announcements: Search by message or content
Permissions Summary
The Settings Hub respects granular permissions for each module:| Module | Required Permission(s) |
|---|---|
| Roles | rbac:manage_roles |
| Permissions | rbac:manage_permissions |
| Special Incidents | special_incidents:full_access, special_incidents:disable, or special_incidents:delete |
| Announcements | announcements:read, announcements:full_access, announcements:disable, or announcements:delete |
| Society | society:read, society:full_access, society:disable, or society:delete |
| General | None (public) |
If you don’t have permission for a module, it will appear in the sidebar but will be disabled and marked as “Sin acceso”.
Common Settings Workflows
Synchronizing Permissions
After updating the permission registry in code:Creating a System Announcement
Fill in Announcement Details
- Title: Brief headline
- Message: Full announcement text
- Priority: Info, Warning, or Critical
- Target Roles: Select roles that should see the announcement
- Validity Period: Start and end dates
Configuring Organization Branding
Technical Implementation
Settings Hub Page Component
The Settings Hub is implemented insrc/pages/admin/AdminSettingsHubPage.tsx.
Key features:
- Dynamic module loading based on permissions
- URL-based tab state (
?tab=roles) - Keyboard navigation support
- Responsive layout with sticky sidebar
- Search functionality for supported modules
Module Definitions
Each module is defined in themodules array:
Permission Checks
The Settings Hub uses React hooks to check permissions:Tab Routing
The active tab is determined by thetab query parameter:
Best Practices
Use Descriptive Announcements
Write clear, actionable announcements with specific dates and instructions.
Sync Permissions After Code Changes
Always synchronize permissions after deploying new features with new permission codes.
Review Special Incidents Regularly
Archive or deactivate incident types that are no longer used.
Maintain Consistent Branding
Use high-quality logos and consistent naming across the organization settings.
Test Permission Changes
After modifying roles or permissions, test with affected users to ensure proper access.
Document Custom Settings
Keep internal documentation of custom incident types, announcement guidelines, and role definitions.
Troubleshooting
”Sin acceso” on All Modules
Cause: Your user account has no administrative permissions. Solution: Contact a system administrator to grant appropriate permissions (e.g.,rbac:manage_roles).
Tab Not Loading
Cause: The URL includes an invalid or inaccessibletab parameter.
Solution:
- Remove the
tabparameter from the URL - The system will redirect to the first available module
Changes Not Saving
Possible causes:- Missing permission for the specific action (create, update, delete)
- Network connectivity issue
- Backend RPC function not available