* N°5135 - Impersonate: history of changes versus log entries
* N°5135 - enrich impersonated changelog userinfo with its previous value when overrided by an extension (ie approvalbase)
* N°5135 - indicate impersonation inside changelogs in both caselogs and activity
* N°5135 - Impersonate: history of changes versus log entries add specific username for caselogs
Co-authored-by: Eric Espie <eric.espie@combodo.com>
This fixes a major flaw in the history API that was causing "phantom" CMDBChange records (without any CMDBChangeOp attached). That was happening especially in iProcess impl.
For example this lead to the creation of the combodo-cmdbchange-cleaner module in the Mail To Ticket extension.
The modifications in detail :
- We can now pass a non persisted CMDBChange instance to \CMDBObject::SetCurrentChange
- No persistence done in \CMDBObject::CreateChange anymore
- Persistence of the attached CMDChange will be done if necessary in CMDBChangeOp::OnInsert
- New CMDBObject::SetCurrentChangeFromParams helper method to ease resetting the current change