Approval workflow for timesheets

This bundle is available to perform a weekly approval for timesheets.

Katja Glass Consulting
Offered by
Katja Glass Consulting

A plugin for Kimai to approve timesheets of users on a weekly basis.

Features

  • Users can send a week for approval (in sequential order)
  • User lockdown -> a submitted/approved week can no longer be edited (apart from admins) - there is one lockdown date per user (LockdownPerUserBundle)
  • Teamlead/Admin can approve or deny the week
  • Overview of approvals, missing approvals and the status
  • Mailing options to recall approval tasks if outstanding
  • Various options to track overtime
  • Option to check for breaks according German Law

Requirements

Compatibility

The following table contains a comparison between plugin and required minimum Kimai version.

Bundle version Minimum Kimai version
1.0.0 1.30.5
2.0.0 2.5.0
2.0.1 2.8.0

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/ApprovalBundle/

Or you can clone it directly to the var/plugins/ directory of your Kimai installation:

cd kimai/var/plugins/
git clone https://github.com/KatjaGlassConsulting/ApprovalBundle ApprovalBundle

The file structure needs to look like this afterwards:

var/plugins/
├── ApprovalBundle
│   ├── ApprovalBundle.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

It is not advised, but in case the above command fails you could try:

rm -r var/cache/prod/*

You might have to set file permissions afterwards:

Adjust 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/

You might not need these commands in a shared-hosting environment. And you probably need to prefix them with sudo and/or the group might be called different from www-data.

Create database

Run the following command:

bin/console kimai:bundle:approval: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/ApprovalBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:approval:install

Screenshots

Screenshot
Displays week details like working time, expected time and actions like submit for approval
Screenshot
Overview screen of open past approvals of the corresponding team members and itself and status of current finished week
Screenshot
The approval history including all comments can be viewed by the team leader or users
Screenshot
Teamleads can approve or deny a weeks approval
Screenshot
Admins have the same permission as teamleads, and can additionally browse all colleagues in the overview and have the option to undo an approval
Offered by

Katja Glass Consulting

Open Source focused consultant in Pharma area

If you have any question, please use the following contact information to get in touch with the developer directly.
Top