ever-co / ever-gauzy

Ever® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co
https://gauzy.co
GNU Affero General Public License v3.0
2.25k stars 531 forks source link

Feature: "Time off" #314

Open evereq opened 4 years ago

evereq commented 4 years ago

Our contractors are always working on a free schedule, so this feature only for employees.

Our employees normally just take days off and don't need to request time off in advance, but they do need a place where to report such days off, best if in an "immutable" way (i.e. so when holiday recorded, it's not possible to remove it). In addition, for some specific employees (on high critical roles/projects) or teams, we will need to have a request for approval for time off.

Also, such a feature should manage official holidays or some custom company/team-wide holidays, when multiple employees get days off. We think it will be very useful to manage all such information on a single page.

So we need to have "Time Off Policy" to which it is possible to add Employees (using some combobox with multi-select, like "tags") or add Teams. The policy should have following properties:

Next, there should be a main page "Time Off" (add to Menu above "Help" item), which will use settings from site header for Employee / Period (so it shows days off for specific employee or for all employees in specific period or for all periods, etc, same as Expenses or Income pages). That page will show Grid with the following columns:

On that page, we should have a button "Request Days Off" which will show a popup with the following:

Another button "Add Holidays" which will allow adding Holiday for specific employees / team members OR all employees (not recurring, just one-time entry). It will show a popup with the following fields:

In the page Grid, if the record was created with status "Requested", there should be actions (as icons in the last column in Grid) to "Approve" or "Deny". In addition, action to "Delete" needed.

In addition, above Grid, we should have a checkbox for "Display Holidays" (checked by default), which if selected, makes Grid display holidays taken by employees. Otherwise, only Days Off are displayed in the Grid.

Above Grid, we should also place additional filters "Requested", "Approved", "Denied", "All" to filter days off / holidays records.

So, both Days Off and Holidays can be displayed/managed in a single page. They also should be stored in the same DB table, because basically the difference between Holidays and Days Off is that holidays usually related to multiple employees and can be some official dates (for that we will need to have another table "OfficialHolidays" which store official holidays in specific country, so we can use Company Country settings to filter holidays list)

evereq commented 4 years ago

@AlexTasev can you check what is implemented from the ticket description and list here what is not implemented yet? Plus maybe add some screenshots/videos for features which implemented already. Thank you!

AlexTasev commented 4 years ago

Currently we have implemented ""Time Off Settings" page where admin can manage "Time off Policy" - create, edit, delete. On the "Time off" main page, the header is implemented with corresponding buttons: "Request Days Off" / "Add Holidays", filters: "Requested", "Approved", "Denied", "All" and checkbox for "Display Holidays". Currently the selected Date, Employee and Organization are available in the component.

https://www.screencast.com/t/aVElYbLauPvK

TODO:

  1. "Time Off" Grid with the following columns:
  1. "Request Days Off" button which show a popup with the following:
  1. "Add Holidays" button show a popup with the following fields:

if the record was created with status "Requested", there should be actions (as icons in the last column in Grid) to "Approve" or "Deny". In addition, action to "Delete" needed.

AlexTasev commented 4 years ago

via Hubstaff User: Aleksandar Tasev

Project: Gauzy Platform - https://app.hubstaff.com/projects/681079 Date Range: 07/09/20 - 07/10/20 Work session total: 0:47:10 Billable: No

Grand total: 24:26:54

AlexTasev commented 4 years ago

Time off demo: https://www.screencast.com/t/DuuJ3tjHM6Bv

AlexTasev commented 4 years ago

via Hubstaff User: Aleksandar Tasev

Project: Gauzy Platform - https://app.hubstaff.com/projects/681079 Date Range: 07/13/20 - 07/13/20 Work session total: 1:01:49 Billable: No

Grand total: 25:28:43