Skip to main content

Leave Management & Celebrations

The HRMS Employee Dashboard integrates leave balance tracking, holiday display, celebration tracking, and project assignments into a unified view.

Leave Balances

The Leaves Panel in the sidebar displays the employee's leave balance under the heading "CURRENT BALANCE". For each leave type with an approved allocation, you can see:

  • Leave type name on the left (e.g., Casual Leave, Sick Leave, Annual Leave)
  • Remaining days on the right — displayed with 2 decimal places (e.g., "10.00", "7.50")

Leave Balance Panel

Calculation Logic

The balance is calculated as: allocation.number_of_days - allocation.leaves_taken

StepDetail
1The system searches all hr.leave.type records
2For each leave type, it finds the approved allocation (state = 'validate') for the current employee
3Only leave types with at least one approved allocation are shown
4If no allocations exist at all, the panel shows the message: "No leave allocations found"

Setting Up Leave Types

To configure leave types that appear on the dashboard:

  1. Go to Time Off > Configuration > Leave Types
  2. Create or edit leave types such as Casual Leave, Sick Leave, Annual Leave
  3. Ensure "Requires Allocation" is set to Yes for types you want to track balances for
  4. Go to Time Off > Managers > Allocation and create allocations for each leave type per employee
  5. The dashboard will automatically show allocated vs. remaining days

Public Holidays

Public holidays are displayed on the attendance calendar as purple-coded days with the holiday name shown as the time info text.

Configuring Public Holidays

  1. Go to Time Off > Configuration > Public Holidays
  2. Create holiday entries with the name and date
  3. The dashboard automatically picks these up and marks them on the calendar
info

Holidays are sourced from the resource.calendar.leaves model. Both company-wide and employee-specific calendar leaves are detected.

Celebrations

The Celebrations Panel at the bottom of the dashboard shows upcoming employee events within the next 30 days.

Celebrations and Projects

Event Types

TypeSource FieldDisplay
BirthdaysEmployee birthday fieldEmployee name, cake emoji, date, and days until the event
Work AnniversariesEmployee joining_date field (custom)Employee name, party popper emoji, "X Yr Work Anniversary", date, and days until the event

Display Details

Each celebration entry shows:

  • Initials Avatar — A circular avatar with the employee's first initial (e.g., "J" for John). The background color is deterministic, assigned based on the character code of the first letter using a palette of 6 colors
  • Employee Name — Full name of the employee
  • Celebration Type — Birthdays show "Birthday", work anniversaries show "X Yr Work Anniversary" (e.g., "3 Yr Work Anniversary")
  • Date — Displayed as DD MMM format (e.g., "15 Apr"), split into day number and month abbreviation

Results are sorted by the nearest upcoming event first (ascending days_until). The system handles leap year edge cases by falling back to Feb 28 for birthdays/anniversaries on Feb 29 in non-leap years.

tip

Make sure the Joining Date field is filled in on the Employee form to enable work anniversary tracking. This field is added by the HRMS Dashboard module right after the Manager field.

Projects & Tasks

The Projects Panel at the bottom of the dashboard provides an overview of the employee's assigned projects and tasks.

For each project, you will see:

  • Project name — displayed on the left of the project header
  • Overall status badge — displayed on the right with color-coded styling
  • Task breakdown by stage — individual stage tags showing stage name and count (e.g., "To Do (3)", "In Progress (2)", "Done (5)")
  • Total task count — shown at the bottom as "Total tasks: X"

Status Badge Logic

The system examines all task stage names (lowercased) for the project and applies this logic:

BadgeCondition
DoneALL task stages match: "done", "closed", "finished", or "completed"
In ProgressANY stage matches "done/closed/finished/completed" but not all, OR any stage matches "in progress", "doing", or "active"
On HoldANY stage matches "blocked" or "on hold" (and no done/in-progress stages)
NewNone of the above conditions match (default fallback)

Sort Order

Projects are sorted by status priority: In Progress (first) > New > On Hold > Done (last). This ensures the most active projects always appear at the top.

info

Only projects where the current user is assigned to at least one task (via project.task.user_ids) are shown. Tasks without a project (project_id = False) are excluded.

Need Help?

Contact SDLC Corp at sdlccorp.com/contact-us or email sales@sdlccorp.com