Organization Title Management System
Complete guide for managing organization job titles, band numbers, and leave type associations. Select a topic below to get started.
System Overview
Learn about the system features, user roles, and permissions.
Accessing the System
How to login and navigate to the organization title module.
Organization Titles View
Understanding the main interface for viewing organization titles.
Adding Organization Titles
How to create new organization title configurations.
Editing Organization Titles
How to modify existing organization title configurations.
Deleting Organization Titles
Process for removing organization titles from the system.
Leave Type Integration
How organization titles integrate with leave type management.
Error Handling
Understanding and resolving system errors.
Loading States
How the system handles loading and data fetching.
Dark Mode Support
How the system handles dark mode theming.
Troubleshooting
Solutions to common issues and problems.
System Overview
The Organization Title Management System enables administrators to define and manage job titles within the organization, including band numbers and associated leave type configurations.
Key Features
🏢 Job Title Management
Create and manage organization-specific job titles and positions.
📊 Band Number System
Configure band numbers for salary and position classification.
📋 Leave Type Integration
Associate specific leave types with organization titles.
🔄 CRUD Operations
Full Create, Read, Update, and Delete functionality for titles.
🌙 Dark Mode Support
Complete dark mode theming for better user experience.
⏳ Loading States
Visual feedback during data operations with loading indicators.
System Architecture
- React Components: OrganizationTitle component with state management
- UI Elements: Modal dialogs, tables, forms, and buttons
- Icons: Lucide React icons for consistent visual language
- Loading States: LoadingFlower component for data fetching
- Redux Store: Centralized state management
- organizationTitleSlice: Dedicated slice for title operations
- Actions: create, fetch, update, delete operations
- Selectors: Access to organization titles and loading states
- Leave Type Integration: Real-time synchronization with leave types
- Organization Context: Organization-based data isolation
- API Integration: RESTful API calls for CRUD operations
- Real-time Updates: Immediate UI updates after operations
Organization Title Data Structure
| Field | Type | Description | Required |
|---|---|---|---|
| id | Number | Unique identifier for the organization title | Auto-generated |
| title | String | Job title name (e.g., "Senior Carer", "Team Lead") | Yes |
| bandnumber | String | Band number for salary classification | Yes |
| leaveTypeId | Number | ID of the associated leave type | Optional |
| organizationId | Number | ID of the organization this title belongs to | Yes |
Accessing the Organization Title System
How to navigate to and access the organization title management module.
- Navigate to the main application URL
- Enter your username and password
- Complete any required authentication steps
- System validates your credentials and permissions
- From the main dashboard, locate the Admin or Settings section
- Click on "Organization Management" or similar navigation item
- Select "Organization Titles" from the submenu
- System loads the Organization Title Management interface
- Component mounts and checks for organization ID
- Automatically fetches existing organization titles from the server
- Simultaneously fetches available leave types for association
- Displays loading state during data retrieval
- Renders the organization titles table once data is loaded
Organization Titles View
Understanding the main interface for viewing and managing organization titles.
Interface Components
- Page Title: "Organization Title Management"
- Add Button: Circular yellow button with plus icon in top-right corner
- Loading Indicator: Shows when data is being fetched
- Position: Top of the content area, below header
- Appearance: Red background with white text
- Close Button: X icon on the right to dismiss errors
- Auto-hide: Some errors auto-dismiss after timeout
- Structure: Responsive table with horizontal scrolling
- Columns: Title, Band Number, Leave Type, Actions
- Styling: Alternating row colors for better readability
- Hover Effects: Rows highlight on hover
Table Columns Explained
| Column | Description | Data Source |
|---|---|---|
| Title | Job title name (e.g., "Senior Carer", "Team Lead") | organizationTitle.title |
| Band Number | Salary band classification number | organizationTitle.bandnumber |
| Leave Type | Associated leave type name or "N/A" if not assigned | leaveTypes.find(lt => lt.id === organizationTitle.leaveTypeId)?.name |
| Actions | Edit and Delete buttons for each organization title | Component-generated |
Action Buttons
- Appearance: Blue circular button with pencil icon
- Position: First button in Actions column
- Function: Opens edit modal with pre-filled data
- Disabled State: Grayed out during loading operations
- Appearance: Red circular button with trash icon
- Position: Second button in Actions column
- Function: Opens confirmation dialog for deletion
- Disabled State: Grayed out during loading operations
Adding Organization Titles
Process for creating new organization title configurations in the system.
Accessing the Add Function
- Find the circular yellow button in the top-right corner
- Button has a plus (+) icon
- Hover shows tooltip: "Add Organization Title"
- Button is always visible when on the organization titles page
- Click the yellow circular button
- System opens a slide-in modal from the right
- Modal has teal gradient header: "Add Organization Title"
- Form fields are empty and ready for input
Filling Out the Form
- Field: Title (required)
- Purpose: Job title name for the position
- Format: Any text (e.g., "Senior Carer", "Team Lead", "Administrator")
- Validation: Cannot be empty, must be unique within organization
- Field: Band Number (required)
- Purpose: Salary band classification
- Format: Any text or number (e.g., "B3", "Level 2", "Senior")
- Validation: Cannot be empty
- Field: Leave Type (optional)
- Purpose: Associate a specific leave type with this title
- Format: Dropdown selection of available leave types
- Default: "Select Leave Type" (blank option)
- Options: All leave types configured for the organization
Submitting the Form
- Double-check all entered information
- Ensure title is unique and descriptive
- Verify band number is appropriate
- Confirm leave type selection if applicable
- Locate the green "Add" button at bottom of modal
- Button is disabled during submission to prevent duplicates
- System validates all fields before submission
- If validation fails, error messages display below fields
- Modal closes automatically
- Success message appears: "Organization title added successfully!"
- New organization title appears in the table
- Table automatically refreshes with updated data
Editing Organization Titles
Process for modifying existing organization title configurations.
Accessing the Edit Function
- Find the blue circular button with pencil icon in Actions column
- Button is available for every organization title in the table
- Hover shows tooltip: "Edit"
- Button is disabled during loading operations
- Click the blue edit button for the desired organization title
- System opens a slide-in modal from the right
- Modal has teal gradient header: "Edit Organization Title"
- Form fields are pre-populated with current values
Modifying Organization Title Details
- Field: Title (required)
- Current Value: Pre-filled with existing title
- Editing: Modify as needed
- Validation: Must be unique within organization
- Field: Band Number (required)
- Current Value: Pre-filled with current band number
- Editing: Modify as needed
- Considerations: Changes may affect salary classifications
- Field: Leave Type (optional)
- Current Value: Pre-filled with current leave type
- Editing: Change or remove association as needed
- Considerations: Changes affect employees with this title
Saving Changes
- Double-check all modified fields
- Ensure title is still unique if changed
- Verify new band number is appropriate
- Confirm leave type association is correct
- Locate the green "Update" button at bottom of modal
- Button is disabled during submission
- System validates all fields before submission
- If validation fails, error messages display below fields
- Modal closes automatically
- Success message appears: "Organization title updated successfully!"
- Updated organization title appears in the table with new values
- Table automatically refreshes with updated data
Deleting Organization Titles
Process for removing organization titles from the system.
Accessing the Delete Function
- Find the red circular button with trash icon in Actions column
- Button is available for every organization title in the table
- Hover shows tooltip: "Delete"
- Button is disabled during loading operations
- Click the red delete button for the desired organization title
- System opens a confirmation dialog in the center of the screen
- Dialog has title: "Confirm Delete"
- Message: "Are you sure you want to delete this organization title?"
Delete Confirmation Process
- Check Dependencies: Ensure no employees are assigned to this title
- Consider Alternatives: Could you edit instead of delete?
- Backup Plan: Have a replacement title ready if needed
- Data Loss: Deletion is permanent and cannot be undone
- Cancel Button: Gray button to abort deletion
- Delete Button: Red button to confirm deletion
- Default Focus: Cancel button for safety
- Keyboard Shortcut: ESC key also cancels the dialog
Completing the Deletion
- Click the red "Delete" button in the confirmation dialog
- System immediately processes the deletion request
- Confirmation dialog closes
- Loading state may appear briefly during processing
- Success message appears: "Organization title deleted successfully!"
- Deleted organization title disappears from the table
- Table automatically refreshes with updated data
- Success message auto-dismisses after 2 seconds
- Any references to the deleted title are handled
- System remains stable and functional
- No residual data from the deleted title remains
Leave Type Integration
How organization titles integrate with leave type management for comprehensive employee configuration.
Integration Architecture
- Real-time Fetching: Leave types are fetched simultaneously with organization titles
- Organization Scope: Only leave types belonging to the current organization are available
- Automatic Updates: Changes to leave types reflect immediately in organization titles
- Error Handling: Graceful handling of missing leave types
- Optional Association: Leave type assignment is not mandatory
- Dropdown Population: Leave types are displayed in alphabetical order
- Display Logic: Shows leave type name or "N/A" if not assigned
- Fallback Handling: If leave type is deleted, shows "N/A" gracefully
Use Cases for Leave Type Association
- Scenario: Different job titles have different leave entitlements
- Example: "Senior Carer" gets 25 annual leave days, "Junior Carer" gets 20
- Implementation: Associate each title with appropriate leave type
- Benefit: Automated leave entitlement assignment
- Scenario: Some titles don't require specific leave configurations
- Example: Contract positions or temporary roles
- Implementation: Leave leave type field blank
- Benefit: Flexible system that accommodates various employment types
- Scenario: Managing leave entitlements for multiple employees
- Example: All "Team Lead" positions should have executive leave package
- Implementation: Set leave type once at title level
- Benefit: Consistent policy application across organization
Best Practices for Leave Type Association
- Define leave types before creating organization titles
- Plan which titles require specific leave configurations
- Consider future organizational structure changes
- Document the leave type assignment strategy
- Regularly review leave type assignments
- Update associations when leave policies change
- Ensure similar titles have consistent leave configurations
- Audit assignments during organizational reviews
- Communicate changes to affected employees
- Update employee records when title associations change
- Maintain historical data for reporting purposes
- Test changes in a development environment first
Error Handling
Understanding and resolving system errors in the organization title management module.
Error Display System
- Position: Top of content area, below page header
- Appearance: Red background with white text
- Sticky: Remains visible when scrolling
- Close Button: X icon on right side to dismiss
- Duplicate Errors: "already exists" - organization title name conflict
- Validation Errors: Form field validation failures
- Network Errors: API connection issues
- Permission Errors: Insufficient user privileges
- Data Integrity Errors: Leave type association issues
Common Error Scenarios
Error Message: "An organization title with this name already exists"
Cause: Attempting to create or update an organization title with a name that already exists in the organization
Solution:
- Choose a different name for the organization title
- Edit the existing organization title instead of creating a new one
- Check if the organization title was recently deleted and needs to be restored
Error Message: Various field-specific validation messages
Common Causes:
- Empty required fields (Title, Band Number)
- Invalid leave type ID (if leave type was deleted)
- Special characters or invalid format in fields
Solution:
- Fill in all required fields
- Select a valid leave type from the dropdown
- Use appropriate characters and formats
- Contact support if legitimate special characters are needed
Error Message: Various network-related error messages
Common Causes:
- Internet connection lost
- Server unavailable or down for maintenance
- API endpoint changes or incorrect URLs
- Firewall or proxy blocking requests
Solution:
- Check internet connection and try again
- Wait for server maintenance to complete
- Clear browser cache and reload the page
- Contact IT support if issue persists
Error Message: "Invalid leave type association" or similar
Cause: Attempting to associate with a leave type that doesn't exist or isn't accessible
Solution:
- Refresh the page to reload leave types
- Select a different leave type from the dropdown
- Leave the leave type field blank if not needed
- Contact administrator to check leave type availability
Error Resolution Workflow
- Carefully read the entire error message
- Note any specific field names or values mentioned
- Look for error codes or specific technical details
- Determine which operation caused the error (create, update, delete)
- Check if the error is related to specific data values
- Verify if the error is consistent or intermittent
- For validation errors: Correct the invalid data
- For duplicate errors: Change the conflicting value
- For network errors: Refresh the page and try again
- For permission errors: Contact administrator
- If basic resolution fails, contact IT support
- Provide the exact error message
- Note what you were trying to do when the error occurred
- Include any relevant screenshots
Loading States
How the system handles loading and data fetching operations.
Loading Indicators
- Trigger: When navigating to the organization titles page
- Indicator: LoadingFlower component in center of screen
- Duration: Until organization titles and leave types data is fetched from server
- User Action: No action possible during this state
- Trigger: During create, update, or delete operations
- Indicator: Button disabled states and possible spinners
- Duration: Until API request completes
- User Action: Limited - cannot perform duplicate operations
Loading State Behavior
- Add Button: Disabled during initial load and CRUD operations
- Edit Buttons: Disabled during any loading state
- Delete Buttons: Disabled during any loading state
- Form Submit Buttons: Disabled during submission
- Visual Feedback: Clear indicators that operation is in progress
- Prevention of Duplicates: System prevents duplicate submissions
- Error Handling: Loading states handle network timeouts gracefully
- Progressive Enhancement: UI remains functional where possible
- Initial: Empty table → LoadingFlower → Populated table
- Create: Form open → Submit clicked → Loading → Success/Error
- Update: Form open → Submit clicked → Loading → Success/Error
- Delete: Confirm dialog → Delete clicked → Loading → Success/Error
Performance Optimization
- Parallel Loading: Organization titles and leave types fetched simultaneously
- On-Demand Loading: Data fetched only when needed
- Optimistic Updates: UI updates before server confirmation
- Error Recovery: System recovers gracefully from fetch failures
- Component Cleanup: Proper cleanup on component unmount
- State Management: Efficient Redux state updates
- Event Listeners: Proper attachment and removal
- Background Sync: Minimal impact on user interaction
Dark Mode Support
How the system handles dark mode theming and provides optimal viewing in low-light conditions.
Dark Mode Implementation
- Prop-based: darkMode prop passed to component
- Conditional Classes: Dynamic Tailwind classes based on theme
- Consistent Styling: All UI elements support both themes
- User Preference: Respects user's theme preference
- Background Colors: Light gray in light mode, dark gray in dark mode
- Text Colors: High contrast in both themes
- Border Colors: Appropriate contrast for data separation
- Interactive Elements: Consistent styling across themes
Theme-Specific Styling
- Light Mode: White background with gray borders
- Dark Mode: Dark gray background with lighter borders
- Header: Consistent styling with appropriate contrast
- Rows: Alternating colors adjusted for both themes
- Modal Background: Theme-appropriate background colors
- Form Elements: Consistent input styling in both themes
- Buttons: Maintained contrast and visibility
- Headers: Consistent teal gradient in both themes
- Edit Button: Consistent blue color in both themes
- Delete Button: Consistent red color in both themes
- Add Button: Consistent yellow color in both themes
- Disabled States: Clear visual indicators in both themes
Accessibility Considerations
- Text Contrast: Meets WCAG AA standards in both themes
- Button Contrast: Sufficient contrast for all interactive elements
- Border Contrast: Clear visual separation of elements
- Error States: High contrast for important information
- Action Colors: Not relying solely on color for meaning
- Icons: Accompanying icons for color-coded actions
- Status Indicators: Multiple visual cues for important states
- Form Validation: Text labels in addition to color indicators
Troubleshooting Guide
Solutions to common issues and problems you may encounter in the organization title management system.
Common Issues
Symptoms: Loading spinner persists, table remains empty
Possible Causes:
- Network connection issues
- Server unavailable or down
- Organization ID not available
- Permission denied for current user
Solutions:
- Check internet connection and try refreshing
- Verify server status with system administrator
- Ensure you're logged in with correct permissions
- Clear browser cache and try again
- Contact IT support if issue persists
Symptoms: Add button doesn't work, or form submission fails
Possible Causes:
- Duplicate organization title name
- Validation errors in form fields
- Network connection issues
- Insufficient permissions
Solutions:
- Check for duplicate name error message
- Verify all required fields are filled correctly
- Ensure title and band number are provided
- Check network connection and try again
- Contact administrator to verify permissions
Symptoms: Action buttons are grayed out and unclickable
Possible Causes:
- System is in loading state
- Another operation is in progress
- Network delay or timeout
- Browser performance issues
Solutions:
- Wait for current operation to complete
- Refresh the page if buttons remain disabled
- Check browser console for error messages
- Clear browser cache and try again
- Try a different browser if issue persists
Symptoms: Leave type dropdown shows no options
Possible Causes:
- No leave types configured for organization
- Leave types failed to load
- Network issues during data fetch
- Permission issues accessing leave types
Solutions:
- Check if leave types are configured in the system
- Refresh the page to reload leave types
- Verify network connection
- Contact administrator to check leave type setup
- Proceed without leave type association if not needed
Symptoms: Error messages remain visible after issue is resolved
Possible Causes:
- Error state not being cleared properly
- Multiple errors occurring in sequence
- Browser caching previous error state
Solutions:
- Click the X button to manually clear the error
- Refresh the page to reset the error state
- Perform a successful operation to clear previous errors
- Clear browser cache and local storage
Advanced Troubleshooting
- Console Tab: Check for JavaScript errors
- Network Tab: Monitor API requests and responses
- Application Tab: Check Redux state and local storage
- Elements Tab: Inspect CSS and HTML structure
- API Responses: Verify data structure from server
- Redux State: Check organizationTitles array in Redux devtools
- Form Data: Validate payload before submission
- Error Messages: Note exact error text for support
- Large Datasets: Check if too many organization titles are loading
- Memory Leaks: Monitor browser memory usage
- Network Speed: Check internet connection speed
- Browser Resources: Close other tabs to free resources
Contacting Support
- Issues persist after trying all troubleshooting steps
- Systematic errors affecting multiple users
- Data corruption or loss
- Security concerns or unauthorized access
- Feature requests or enhancement suggestions
Information to Provide:
- Your user ID and organization
- Exact error messages (screenshots helpful)
- Steps to reproduce the issue
- Browser and operating system version
- Date and time the issue occurred
- Any recent changes to your system