Merge pull request #11259 from inietov/fixes/history_issues

Fixes some issues in the asset observer
This commit is contained in:
snipe 2022-06-06 18:25:05 -07:00 committed by GitHub
commit 96644ab6b9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -18,19 +18,21 @@ class AssetObserver
public function updating(Asset $asset) public function updating(Asset $asset)
{ {
$attributes = $asset->getAttributes(); $attributes = $asset->getAttributes();
$attributesOriginal = $asset->getOriginal(); $attributesOriginal = $asset->getRawOriginal();
// If the asset isn't being checked out or audited, log the update. // If the asset isn't being checked out or audited, log the update.
// (Those other actions already create log entries.) // (Those other actions already create log entries.)
if (($attributes['assigned_to'] == $attributesOriginal['assigned_to']) if (($attributes['assigned_to'] == $attributesOriginal['assigned_to'])
&& ($attributes['checkout_counter'] == $attributesOriginal['checkout_counter'])
&& ($attributes['checkin_counter'] == $attributesOriginal['checkin_counter'])
&& ((isset( $attributes['next_audit_date']) ? $attributes['next_audit_date'] : null) == (isset($attributesOriginal['next_audit_date']) ? $attributesOriginal['next_audit_date']: null)) && ((isset( $attributes['next_audit_date']) ? $attributes['next_audit_date'] : null) == (isset($attributesOriginal['next_audit_date']) ? $attributesOriginal['next_audit_date']: null))
&& ($attributes['last_checkout'] == $attributesOriginal['last_checkout'])) && ($attributes['last_checkout'] == $attributesOriginal['last_checkout']))
{ {
$changed = []; $changed = [];
foreach ($asset->getOriginal() as $key => $value) { foreach ($asset->getRawOriginal() as $key => $value) {
if ($asset->getOriginal()[$key] != $asset->getAttributes()[$key]) { if ($asset->getRawOriginal()[$key] != $asset->getAttributes()[$key]) {
$changed[$key]['old'] = $asset->getOriginal()[$key]; $changed[$key]['old'] = $asset->getRawOriginal()[$key];
$changed[$key]['new'] = $asset->getAttributes()[$key]; $changed[$key]['new'] = $asset->getAttributes()[$key];
} }
} }