审计追踪日志

记录时间表、客户、项目和活动的详细变更/审计日志,并在每个项目的时间表中显示它们。

Kevin Papst
提供者
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.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

## 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

安装

复制文件

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 ...

清除缓存

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/

创建数据库

Run the following command:

bin/console kimai:bundle:audittrail:install

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

更新

Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/AuditTrailBundle/
  • Execute all installation steps again:
    • 复制文件
    • 清除缓存
    • Update database with bin/console kimai:bundle:audittrail:install

兼容性

下表包含插件与所需的最低 Kimai 版本之间的比较。

Bundle 版本 最低 Kimai 版本
2.4.0 - 2.6.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

演示

你可以在以下网站测试这个插件 demo.kimai.org:

用户名: susan_super
密码: kitten

在此处查找更多测试帐户.

截图

Screenshot
The overview page of all audit trail logs
Screenshot
An audit trail can look like this, each change will be recorded and you might see more entries in a object timeline
Screenshot
You access a detailed audit log from the listing page or from the data-table 'Actions' dropdown of each item

购买

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

提供者

Kevin Papst

Building Kimai since 2009

如果你有任何问题,请使用以下联系信息与开发商直接联系。
Top