149€ (excl. VAT)

Pricing for this item

Offered by

Logo - HMR-IT GmbH

HMR-IT GmbH

Software + App development company from Germany

If you have any question, visit the developers homepage or use the email for direct contact .
A plugin for Kimai 2 which adds the full workflow for vacation + official & local holidays
Last update: 18 Jan 2021

Features

  • Set the vacation entitlement per user via Custom-fields plugin
  • Let users create a vacation application based on their vacation days budget
  • Admins can grant, deny or cancel vacation applications
  • See in one view a summary of all users vacation days
  • German public holidays can be automatically imported based on the state
  • Manual creation of public/local holidays is also possible
  • Fully configurable via GUI
  • Support for multiple working times (e.g. 40 h/week, 15 h/week - fully configurable per user)
  • Full history of every request

Requires

  • Custom-fields plugin to save the vacation entitlement per user
  • Ability to create and run cronjobs
  • Kimai 2, V1.12+

Documentation

Setup

Create three custom fields for users using the custom-fields plugin:

  • One for the amount of vacation days in the first year in which the users started working (number)
  • The other for the amount of vacation days in all other years (number)
  • A third one for the daily working time (duration)

If you’re logged in as super-admin you will see an item in the menu called “Vacation view”. In it there is a settings-tab. Here you can select the state for public holidays, the activities that will be used as public holidays and vacations.

The last three inputs are dropdowns with all meta-fields. Select the ones you created earlier.

How to add public holidays automatically

Important: do the Setup before you run this script! You may want to create a backup before you run this script.

You may have to adjust your path to composer and you may have to write php in front of bin/console Does only work if you use the git version of Kimai 2.

Run the following commands:

cd var/plugins/VacationBundle
bash __create_public_holidays.sh

Roles

The install-command will create two roles:

  • ROLE_VACATION
  • ROLE_VACATION_ADMIN

Users with none of the roles won’t see the vacation tab in the menu.

If you assign the vacation-role to a user they will see the leave-application tab in the menu.

Super-admins and users with the vacation-admin role have full control over this plugin.

Updating the plugin

Updating the bundle works the same way as the installation does.

  • Delete the directory var/plugins/VacationBundle/ (to remove deleted files)
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:vacation:install

Video Tutorial

IMAGE ALT TEXT

Screenshots

Installation

Copy files

Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:

var/plugins/VacationBundle/

The file structure needs to like like this afterwards:

var/plugins/
├── VacationBundle
│   ├── VacationBundle.php
|   └ ... more files and directories follow here ...

Clear cache

After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:

How to reload Kimai cache

bin/console kimai:reload --env=prod

FTP users: please have a look at this documentation.

If you are running an older version of Kimai (before 1.8) you have to use:

bin/console cache:clear --env=prod
bin/console cache:warmup --env=prod

You might have to set file permissions afterwards:

Fix Kimai file permission

You have to allow PHP (your webserver process) to write to var/ and it subdirectories.

Here is an example for Debian/Ubuntu (to be executed inside the Kimai directory):

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/
chmod -R g+rw public/avatars/

Test Kimai before executing these commands (they are likely not required in a shared-hosting environment). You probably need to prefix them with sudo and the group might be called different than www-data.

Create database

Run the following command:

bin/console bin/console kimai:bundle:vacation:install

This will create the required database tables and update them to the latest version.

Updates

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/VacationBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console bin/console kimai:bundle:vacation:install