Portal Navigation & Homepage

When an employee logs in, the Concord CRM interface is automatically tailored to their role. The sidebar navigation is replaced with a simplified menu, and the default dashboard is redirected to the employee's landing page.


The standard Concord CRM sidebar (with Contacts, Deals, etc.) is completely replaced for employee users. Instead, employees see a flat menu with only the pages relevant to their self-service tasks:

Position
Menu Item
Route
Icon

1

Timesheets

/timesheets

Clock

2

Leave Requests

/leave-requests

Calendar

3

Attendance

/attendance

Clipboard

4

Leave Balances

/leave-balances

Scale

5

Payslips

/payslips

Document

Note: The menu is flat β€” no groups or dropdowns. This keeps the navigation simple and focused.

How Menu Filtering Works

On every request, a middleware checks whether the logged-in user has the Employee role. If so, it clears the standard CRM menu and registers only the allowed menu items defined in the configuration. This happens on both web and API requests to ensure consistency.


Homepage Redirect

By default, Concord CRM shows a dashboard at / or /dashboard. For employee users, this is redirected to the configured landing page.

Default landing page: /timesheets

When an employee navigates to / or /dashboard, they are automatically redirected to the Timesheets page. This redirect is handled by a frontend route guard that runs before every navigation.

Configuring the Landing Page

To change the default landing page, edit the configuration file:

Or set the environment variable:

EMPLOYEE_LANDING_PAGE=/leave-requests

The landing page must be one of the allowed menu items. Setting it to a route that isn't in allowed_menu_items will result in a 403 error.


Route Protection

The portal enforces route-level access control on the frontend. If an employee tries to access a page outside their allowed routes (e.g., by typing a URL directly in the browser), they are redirected to a 403 (Forbidden) page.

Allowed Routes

Routes are matched by prefix. For example, allowing /timesheets also allows:

  • /timesheets (list view)

  • /timesheets/123 (detail view)

  • /timesheets/create (create form)

Always-Accessible Routes

Regardless of the allowed menu items, employees can always access:

  • /403 β€” Forbidden error page

  • /404 β€” Not found error page

  • /notifications β€” System notifications


Adding Menu Items from Other Modules

If you have other Concord CRM modules installed and want employees to access specific pages, add the route paths to the configuration:

// modules/HRM/config/employee-portal.php

The menu filter will automatically create navigation entries for recognized HRM routes. For routes from other modules, the original module's menu registration will be preserved if it matches an allowed path.


Settings Access

By default, employees have no access to any settings pages. The allowed_settings_items configuration is empty:

'allowed_settings_items' => [ // '/settings/profile', // '/settings/password', ],

If you want employees to access specific settings (such as their profile or password change page), uncomment or add the relevant routes.


Last updated