Gratuit

Prix pour cet article

Offert par

Logo - District09

District09

ICT partner of the city of Ghent (Belgium)

If you have any question, visit the developers homepage .
A plugin, which allows you to archive timesheets older than a specified timeframe, using a command.

A Kimai plugin, which allows you to archive timesheets older than a specified timeframe, using a command.

Note that archiving in this case means removing them from the database permanently. You will not be able to restore them.

Configuration

After installing the plugin, the kimai:archive:timesheets command will be available for you to use.

Description:
  Archive (remove) timesheets older than the given preserve period.

Usage:
  kimai:archive:timesheets [options]

Options:
  -p, --preserve-period[=PRESERVE-PERIOD]  The period for which to preserve the timesheets, in the PHP DateInterval format 
(http://php.net/manual/en/dateinterval.construct.php#refsect1-dateinterval.construct-parameters). Defaults to 1 year. [default: "P1Y"]
  -h, --help                               Display this help message
  -q, --quiet                              Do not output any message
  -V, --version                            Display this application version
      --ansi                               Force ANSI output
      --no-ansi                            Disable ANSI output
  -n, --no-interaction                     Do not ask any interactive question
  -e, --env=ENV                            The Environment name. [default: "prod"]
      --no-debug                           Switches off debug mode.
  -v|vv|vvv, --verbose                     Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug

Installation

Copier les fichiers

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

var/plugins/ArchiveTimesheetsCommandBundle/

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

cd kimai/var/plugins/
git clone https://github.com/digipolisgent/kimai_plugin_archive-timesheets-command.git ArchiveTimesheetsCommandBundle

The file structure needs to look like this afterwards:

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

Effacer le 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/

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.

Mises à jour

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/ArchiveTimesheetsCommandBundle/
  • Execute all installation steps again:
    • Copier les fichiers
    • Effacer le cache