Audit trail logs
Records detailed change/audit logs for timesheets, customers, projects and activities and displays them in a per-item timeline.
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
Installation
Copy files
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
The file structure needs to look like this afterwards:
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:
This will create the required database tables and update them to the latest version.
If you see an error like 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).
Updates
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/AuditTrailBundle/
-
Execute all installation steps again:
- Copy files
- Clear cache
- Update database with
bin/console kimai:bundle:audittrail:install
Changelog
Version 2.10.0
Compatibility: requires minimum Kimai 2.21.0
Moved “Filter audit-logs” action to “Filter” submenu for:
- Customer
- Project
- Activity
Version 2.9.0
Compatibility: requires minimum Kimai 2.21.0
- Moved users “Audit-logs” action to “Filter” menu
Version 2.8.0
Compatibility: requires minimum Kimai 2.21.0
- Moved several translations to core
- Refactoring: New query objects
Version 2.7.0
Compatibility: requires minimum Kimai 2.14.0
- Changed: Track user fields (systemAccount, totpEnabled)
- Changed: Track activity field (number)
- Changed: Track project field (number)
Version 2.6.0
Compatibility: requires minimum Kimai 2.5.0
Changed: support attribute caching in Voter
Version 2.5.0
Compatibility: requires minimum Kimai 2.5.0
- Fixed: use correct base class for migration - removes Doctrine deprecation warning
- Fixed: import route from annotation namespace
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
- use annotation type for routes (fix deprecation)
- convert to Doctrine listener (fix deprecation)
Version 2.1.0
Compatibility: requires minimum Kimai 2.0.33
Fixed: possible pagination issue
Screenshots
FAQ
These FAQs are provided by the developer of this offer.
Read more about the license for this item here
You can buy the plugin via the Marketplaces 'Lemon Squeezy' or 'Gumroad' and pay with Credit Card or PayPal. Both offer instant access to the purchases.
Support-questions, bug-reports and feature-requests will be answered in this Github repository