dainsys / human_resource
A full stack package to add human_resource functionality to Laravel applications.
v1.2.0
2022-12-23 14:51 UTC
Requires
- asantibanez/livewire-charts: ^2.4
- cviebrock/eloquent-sluggable: ^8.0
- dainsys/mailing: ^1.0
- illuminate/support: ^8.0|9.0
- laravel/ui: ^3.0|4.0
- livewire/livewire: ^2.10
- maatwebsite/excel: ^3.1|4.0
- php-flasher/flasher-laravel: ^1.7
- rappasoft/laravel-livewire-tables: ^2.8
Requires (Dev)
- nunomaduro/collision: v5.x-dev
- orchestra/testbench: 6.x-dev
- phpunit/php-code-coverage: 9.2.x-dev
README
A full stack package to add human_resource functionality to Laravel applications.
Features
- Events
- Email is sent when employee is created
- Email is sent when employee is terminated
- Email is sent when employee is reactivated
- Email is sent when employee is suspended
- Schedulled commands
- Daily at 3:00 am will check if a employee status needs to be changed based on wether or not it has an active suspension.
- Daily at 4:00 it will send an email with any active employee having birthday today.
- Montly at 4:00 on the 1st it will send emails with employees having birthdays this month and last month. Also on the 25th of each month it will send emails with employees having birthday next month.
- Daily report with the employees missing any information, such as supervisor, other data, afp, ars, etc.
- Dashboard
- Visit your
/hr/admin/dashboard
to view all stats, such as Current Count, Suspended, MTD Attrition, Issues, Monthly Head Count, Monthly attrition and splits by different categories. You can also filter all stats by site using the Filter floating window in the UI, located at the bottom of the page.
- Visit your
- Automatic Employee Status
- The application does not give you the option to update employee status by your self. However, it is updated based on different events happening with the employee:
- When an employee is created, the status will automatically change to
Current
. - When a suspension is added for the employee, it will check if the current date is within the range provided. If so, it will change the status to
Suspended
. It will automatically revert toCurrent
once all suspensions are dued. - When an employee is terminated, it will automatically change its status to
Inactive
. - If you reactivate the employee, it's status will revert to
Current
.
- When an employee is created, the status will automatically change to
- The application does not give you the option to update employee status by your self. However, it is updated based on different events happening with the employee:
Installation
- Require using composer:
composer require dainsys/human_resource
. - Use the
php artisan human_resource:install
command, which will publish the assets and ask some configuration questions.- optionally, you can add the following line to your
composer
file, under thescripts
andpost-update-cmd
key, to publish the assets every time you update your composer dependencies:@php artisan vendor:publish --tag=human_resource:assets --force --ansi
.
- optionally, you can add the following line to your
- Run the migrations:
php artisan migrate
.- If you may want to customize the migrations before this step, first publish them:
@php artisan vendor:publish --force --tag=human_resource:migrations
.
- If you may want to customize the migrations before this step, first publish them:
- This app requires super admin users. You can register them with any of the following steps:
- In the
register
method of yourAppServiceProvider
add the following line:\Dainsys\HumanResource\HumanResource::registerSuperUsers(["super@user1.com", "super@user2.com"]);
. - In your
.env
file, add the following line with list of users who should have super_admin access:HUMAN_RESOURCE_SUPER_USERS= some@email.com,another@email.com
- In the
- Optionally,:
- ou may want to publish and tweek the config file:
@php artisan vendor:publish --force --tag=human_resource:config
. - This package has its own views, designed with livewire and CoreUi. However, if you may want to change them then you can publish them with
@php artisan vendor:publish --force --tag=human_resource:views
. - Package views extend it's own layout app. However, you can change this by adding the key
INVOICE_LAYOUT_VIEW
to your.env
file. Or, change it directly in thehuman_resource
config file, under thelayout
key.
- ou may want to publish and tweek the config file:
Configure your application
- Visit route
/hr/admin
to view the dashboard and visit various app links to prepare your sistem. - This package extends the
dainsys/mailing
package to report events and scheduled taks, so please complete the followint two steps:- Visit the
/mailing/admin/recipients
end point and add the different recipients of you application. - Visit the
/mailing/admin/mailables
to add all of your mailables and assign them with your recipients.
- Visit the