Registri delle modifiche (audit trail)
Registra dettagliati registri di cambiamenti/audit per tempi, clienti, progetti e attività e li visualizza in una linea temporale per elemento.

Kevin Papst
Find out who changed what and when: record and visualize the changes on timesheets
, customers
, projects
, activities
, users
, system configurations
and invoices
.
Features
A global audit-trail page, listing all recorded changes with username, change datetime, item type and link to detail page.
Actions for each of the following items:
- Timesheets
- Customers
- Projects
- Activities
- Invoices
Introduces a new screen for each of the above items, with all recorded changes and each log entry containing the following information:
- username
- date-time
- type of change (create, update, delete)
- changed fields (see list below)
The change history will be recorded for the following fields:
- Timesheet:
begin
,end
,duration
,timezone
,user
,activity
,project
,description
,rate
,fixedRate
,hourlyRate
,exported
,billable
,internalRate
,category
,modifiedAt
- Customer:
name
,number
,comment
,visible
,company
,contact
,address
,country
,currency
,phone
,fax
,mobile
,email
,homepage
,timezone
,fixedRate
,color
,budget
,timeBudget
,vatId
- Project:
customer
,name
,orderNumber
,comment
,visible
,budget
,fixedRate
,hourlyRate
,color
,budget
,timeBudget
,start
,end
,timezone
- Activity:
project
,name
,comment
,visible
,fixedRate
,hourlyRate
,color
,budget
,timeBudget
- User:
username
,email
,enabled
’,roles
,alias
,title
,avatar
,password_requested_at
,auth
,registration_date
- System configuration:
name
,value
- Invoice:
customer
,user
,invoiceNumber
,createdAt
,timezone
,total
,tax
,currency
,status
,dueDays
,vat
,invoiceFilename
Be aware:
- This bundle needs to be installed and activated to keep track of the change history, previous changes are not available.
- Not all entities and fields will be recorded, please read the above list carefully.
- The “Audit logs” link is not available under “My timsheets” to prevent potential information leaks.
- Certain batch updates (e.g. setting the
exported
flag of multiple timesheets during export) cannot be recorded, as those are executed directly via database
Changelog
## Version 2.4.0 Compatibility: requires minimum Kimai 2.5.0 - Changed: moved some translations to core allowing more languages - Changed: replaced most Gedmo code with own implementation - Changed: bump PHPStan from level 7 to level 9 ## Version 2.3.0 Compatibility: requires minimum Kimai 2.3.0 - Fixed: date formatting failed for timesheets - Fixed: accessing entries without object ids - Fixed: added missing listener calls ## Version 2.2.0 Compatibility: requires minimum Kimai 2.1.0 - Changed: use annotation type for routes (deprecation) - Changed: convert to Doctrine listener (deprecation) ## Version 2.1.0 Compatibility: requires minimum Kimai 2.0.33 - Fixed: possible pagination issue ## Version 2.0.6 Compatibility: requires minimum Kimai 2.0.20 - Added: Hint in README about batch updates - Fixed: removed "plugin" from permission header ## Version 2.0.5 Compatibility: requires minimum Kimai 2.0.20 - Fixed: compatibility with Kimai 2.0.20 and Tabler Beta 19 - Added: title for Audit screen of invoices ## Version 2.0.4 Compatibility: requires minimum Kimai 2.0.9 - Added: upgrade item actions to use v2 API ## Version 2.0.3 Compatibility: requires minimum Kimai 2.0.9 - Fixed: possible error for deleted users in timesheet listing ## Version 2.0.2 Compatibility: requires minimum Kimai 2.0.9 - Added: identify listener for auto-deactivation during batch imports ## Version 2.0.1 Compatibility: requires minimum Kimai 2.0 - Fixed: deprecations with Kimai 2.0.2 ## Version 2.0 Compatibility: requires minimum Kimai 2.0 - Fixed: compatibility with Kimai 2.0 ## Version 1.18 Compatibility: requires minimum Kimai 1.16.10 - Added: Polish translations - thanks @KonradMazur ## Version 1.17 Compatibility: requires minimum Kimai 1.16.10 - Fixed: query speed for entries with multiple parallel changes ## Version 1.16 Compatibility: requires minimum Kimai 1.16.10 - Added: new fields - Customer: `billable` - Project: `billable` and `invoiceText` - Activity: `billable` and `invoiceText` - Fixed: activity details for global activity cause a 500 error ## Version 1.15 Compatibility: requires minimum Kimai 1.16.10 - changed translation for next kimai release - added comment field to invoice ## Version 1.14 Compatibility: requires minimum Kimai 1.16.7 - Fixed: missing token in invoice audit log screen - Changed: Using changed translation keys If you install this on earlier Kimai versions, you will experience missing translations in Audit-Log screens. ## Version 1.13 Compatibility: requires minimum Kimai 1.15 - Added: access audit logs for own timesheet via `audit_own_timesheet` from "my timesheet" view ## Version 1.12 Compatibility: requires minimum Kimai 1.15 - Added: record User columns: `color`, `accountNumber` - Added: record Customer column: `budgetType` - Added: record Project column: `budgetType` - Added: record Activity column: `budgetType` - Fixed: definitions for new Kimai version ## Version 1.11.1 Compatibility: requires minimum Kimai 1.14 - Fixed: Cache clear problem during update - Fixed: Added missing translations - Fixed: Display deleted users - Fixed: Page actions ## Version 1.11 Compatibility: requires minimum Kimai 1.14 **Database changes! Execute the installer with `bin/console kimai:bundle:audittrail:install`** - Added: Keep audit log of custom-fields: Timesheets, Customer, Project, Activity - Added: Keep audit log of user-preferences - Added: Cross-linking changes which were executed at the same time (eg. link custom-fields to entities) - Fixed: Compatibility with entity actions in Kimai 1.14 - Fixed: PHP 8 compatibility ## Version 1.10 Compatibility: requires minimum Kimai 1.11 - Added: Using bundle installer to unify workflow - Added: More documentation - Fixed: Composer 2 compatibility ## Version 1.9 Compatibility: requires Kimai 1.10 - Unified audit log detail pages and titles - Highlight Audit-Log menu when opening detail page - Added search filter for action (create, update, delete) - New tracked fields: - Timesheet: `category`, `billable`, `internalRate` - User: `auth`, `password_requested_at` - New tracked entity: - Invoice: `customer`, `user`, `invoiceNumber`, `createdAt`, `timezone`, `total`, `tax`, `currency`, `status`, `dueDays`, `vat`, `invoiceFilename` - Fixed: opening the detail page for a deleted item resulted in a 500 error - Removed action links from detail pages for deleted items - Fixed: directory separator for Windows installer - Fixed: translation issue - Fixed: Deprecation in Pagerfanta ## Version 1.8 Compatibility: requires Kimai 1.7 **Database changes! Execute the installer again** - record the timezone of a change, to exactly show when a change happened - added support to see changed configurations - fix row click in overview opens wrong item - fix search query ## Version 1.7 Compatibility: requires Kimai 1.7 - display audit logs for deleted items - new permission `audit_user` - record `vatId` for customer - record `start`, `end`, `timezone`, for projects - record `user` object changes - record `system configuration` changes (no display yet) ## Version 1.6 Compatibility: requires Kimai 1.7 - added own permission section for "user roles & permission screen" - added click handler to table, to directly open one audit log without using the actions menu ## Version 1.5 - Improve permission handling (auto register for ROLE_SUPER_ADMIN, as preparation for Kimai 1.6) ## Version 1.4.2 - Fix version numbers - Updated changelog ## Version 1.4.1 - Fix overview page for empty logs ## Version 1.4 - Fix column visibility - Updated docs - API changes for Kimai 1.4 ## Version 1.3 - Code style formattings - Changes for Kimai 1.3 - Added Audit log page with overview of all entries ## Version 1.2 - Improved change time display - Added installation command ## Version 1.1.1 - Changes required for Kimai 1.1 ## Version 1.0 - First release for Kimai 1.0
Installazione
Copia file
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/AuditTrailBundle/
The file structure needs to look like this afterwards:
var/plugins/
├── AuditTrailBundle
│ ├── AuditTrailBundle.php
| └ ... more files and directories follow here ...
Cancella 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/
Crea database
Run the following command:
bin/console kimai:bundle:audittrail:install
This will create the required database tables and update them to the latest version.
There are no commands defined in the "kimai:bundle:XYZ" namespace.
,
then either the directory has a wrong name (must be var/plugins/AuditTrailBundle/) or you forgot to clear the cache (look above).
Aggiornamenti
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/AuditTrailBundle/
-
Execute all installation steps again:
- Copia file
- Cancella cache
- Update database with
bin/console kimai:bundle:audittrail:install
Compatibilità
La tabella seguente contiene un confronto tra il plugin e la versione minima richiesta di Kimai.
Versione in bundle | Versione minima di Kimai |
---|---|
2.4.0 | 2.5.0 |
2.3.0 | 2.3.0 |
2.2.0 | 2.1.0 |
2.1.0 | 2.0.33 |
2.0.5 - 2.0.6 | 2.0.20 |
2.0.2 - 2.0.4 | 2.0.9 |
2.0.2 | 2.0.9 |
2.0.1 | 2.0 |
1.13 | 1.15 |
1.11.1 | 1.14 |
Screenshot
Acquista
Read more about the license for this item here
You can buy the plugin via Lemon Squeezy (CreditCard, instant access) or from the developer (bank-transfer, up to one week)
Support-questions, bug-reports and feature-requests will be answered in this Github repository