Skip to main content

Dashboard Overview

The HRMS Employee Dashboard provides a comprehensive, real-time view of your attendance, leave balances, celebrations, and project assignments — all from a single page.

Full Dashboard View

Dashboard Layout

The dashboard is rendered as a client-side Owl JavaScript component (not a standard Odoo form view). It is divided into four main areas:

AreaPositionContents
HeaderTop of the pageMonth navigation arrows (left and right buttons), current month name, and current year
Calendar SectionMain content area (left)7-column calendar grid (SUN, MON, TUE, WED, THU, FRI, SAT) showing each day as a cell with date number, status label, and time info. Below the grid is a color-coded legend with status counts.
Sidebar SectionRight side of the calendarThree stacked panels: (1) Work Timer Widget with large HH:MM display and "HOURS WORKED TODAY" label, (2) Attendance Statistics Panel with 6 color-coded metrics, (3) Leaves Panel with "CURRENT BALANCE" heading and remaining days per leave type
Bottom RowFull-width below calendar + sidebarTwo side-by-side panels: (1) Celebrations Panel for upcoming birthdays and work anniversaries, (2) Projects Panel for assigned projects with task stage breakdown
info

If the logged-in user is not linked to an employee record, the entire dashboard content is hidden and replaced with a yellow warning box showing a 5-step fix guide.

After installation, the module creates a dedicated top-level menu in Odoo:

  1. Root Menu: Attendance Dashboard — appears in the main Odoo top navigation bar (sequence 10)
  2. Sub Menu: My Attendance — the only sub-item under the root menu. Clicking this opens the client action that renders the full attendance dashboard

The navigation path is: Attendance Dashboard > My Attendance

Feature Overview

FeatureDescription
Attendance CalendarColor-coded monthly calendar showing attendance status for each day at a glance
Live Work TimerReal-time counter tracking hours worked today with accumulated time across check-ins
Statistics PanelInstant monthly summary with counts for present, absent, holiday, leave, and weekend days
Leave BalancesView remaining leave days by type with clear allocated vs. consumed breakdown
CelebrationsTrack upcoming birthdays and work anniversaries within the next 30 days
Projects & TasksView your assigned projects with task breakdown by stage and overall status

Attendance Calendar

The centerpiece of the dashboard is a monthly attendance calendar laid out in a 7-column grid running Sunday through Saturday. Each day cell displays:

  • Date number — The day of the month
  • Status label — One of: Present, Absent, Holiday, the leave type name (e.g. "Casual Leave"), Week Off, Penalty, or empty (for future dates)
  • Time info — For present days: shows the first check-in time and the latest check-out time (e.g. "09:00 - 18:00"). If still checked in, shows "09:00 - Working". For holidays: shows the holiday name.

Status Priority Logic

When determining the status for a day, the system checks in the following priority order:

PriorityStatusCondition
1WeekendSaturday (5) or Sunday (6) — always marked as "Week Off"
2HolidayDate exists in resource.calendar.leaves (company-wide or employee-specific)
3LeaveDate has an approved leave request (hr.leave with state = "validate")
4PresentAt least one attendance record exists for the date
5FutureDate is after today (no status label shown, dashed border styling)
6AbsentNone of the above conditions match (past working day with no attendance or leave)

Calendar Legend

Below the calendar grid, a color-coded legend is displayed showing each status with its current month count:

ColorStatus
GreenPresent
RedAbsent
PurpleHoliday
BlueLeave
GrayWeekend
Dark RedPenalty

Month Navigation

The dashboard header contains left and right arrow buttons for navigating between months.

ButtonBehavior
Left ArrowMoves to the previous month. If January, wraps to December of the previous year.
Right ArrowMoves to the next month. If December, wraps to January of the next year.

When navigating, the calendar, statistics, and legend are all reloaded for the selected month. The month name and year are displayed in the header between the arrow buttons. On initial load, the dashboard defaults to the current month and year.

info

The Work Timer, Celebrations, and Projects panels are not affected by month navigation — they always show current/live data regardless of which month is being viewed in the calendar.

Notifications

The dashboard uses Odoo's built-in notification service to display toast messages for user actions. These appear as temporary pop-up messages in the top-right corner of the screen.

ActionMessageType
Check In"Checked in at HH:MM"Success (green)
Check In (duplicate)"Already checked in at HH:MM"Warning (yellow)
Check Out"Checked out at HH:MM"Success (green)
Check Out (no check-in)"No active check-in found. You are already checked out."Warning (yellow)

Loading & Empty States

Loading State

While attendance data is being fetched from the server, the dashboard displays a centered spinner animation with the text "Loading attendance data..." below it. This appears during initial page load and when navigating between months.

Empty States

When specific panels have no data to display, they show helpful placeholder messages:

PanelEmpty State MessageWhen Shown
Leave Balances"No leave allocations found"No approved leave allocations for any leave type
Celebrations"No upcoming celebrations in the next 30 days"No birthdays or work anniversaries within 30 days
Projects"No projects assigned"User is not assigned to any tasks in any project

Responsive Design

The dashboard is fully responsive and adapts to different screen sizes:

Screen SizeBreakpointLayout Behavior
Desktop> 1200pxFull layout: calendar grid (7 columns), sidebar on the right, bottom row with two side-by-side panels
Tablet768px – 1200pxCalendar and sidebar stack vertically. Bottom panels may stack.
Mobile< 768pxSingle-column layout. Calendar cells become compact. All panels stack vertically. Touch-friendly sizing.

The module uses CSS variables for theming and glassmorphism design effects (gradients, backdrop filters, subtle shadows) for a modern, premium look across all screen sizes.

Need Help?

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