diff --git a/app/Http/Transformers/ActionlogsTransformer.php b/app/Http/Transformers/ActionlogsTransformer.php
index ea7b615617..3bb9142083 100644
--- a/app/Http/Transformers/ActionlogsTransformer.php
+++ b/app/Http/Transformers/ActionlogsTransformer.php
@@ -54,6 +54,7 @@ class ActionlogsTransformer
'note' => ($actionlog->note) ? e($actionlog->note): null,
'signature_file' => ($actionlog->accept_signature) ? route('log.signature.view', ['filename' => $actionlog->accept_signature ]) : null,
+ 'log_meta' => ($actionlog->log_meta) ? json_decode($actionlog->log_meta): null,
];
diff --git a/app/Observers/AssetObserver.php b/app/Observers/AssetObserver.php
index 6e2db974b0..7cac06ed29 100644
--- a/app/Observers/AssetObserver.php
+++ b/app/Observers/AssetObserver.php
@@ -22,22 +22,32 @@ class AssetObserver
// (Those other actions already create log entries.)
if (($asset->getAttributes()['assigned_to'] == $asset->getOriginal()['assigned_to'])
&& ($asset->getAttributes()['next_audit_date'] == $asset->getOriginal()['next_audit_date'])
- && ($asset->getAttributes()['last_checkout'] == $asset->getOriginal()['last_checkout'])
- && ($asset->getAttributes()['status_id'] == $asset->getOriginal()['status_id']))
+ && ($asset->getAttributes()['last_checkout'] == $asset->getOriginal()['last_checkout']))
{
+ $changed = [];
+
+ foreach ($asset->getOriginal() as $key => $value) {
+ if ($asset->getOriginal()[$key] != $asset->getAttributes()[$key]) {
+ $changed[$key]['old'] = $asset->getOriginal()[$key];
+ $changed[$key]['new'] = $asset->getAttributes()[$key];
+ }
+ }
+
+
$logAction = new Actionlog();
$logAction->item_type = Asset::class;
$logAction->item_id = $asset->id;
$logAction->created_at = date("Y-m-d H:i:s");
$logAction->user_id = Auth::id();
+ $logAction->log_meta = json_encode($changed);
$logAction->logaction('update');
} else {
+
\Log::debug('Something else happened');
\Log::debug($asset->getOriginal()['assigned_to'].' == '.$asset->getAttributes()['assigned_to']);
\Log::debug($asset->getOriginal()['next_audit_date'].' == '.$asset->getAttributes()['next_audit_date']);
\Log::debug($asset->getOriginal()['last_checkout'].' == '.$asset->getAttributes()['last_checkout']);
- \Log::debug($asset->getOriginal()['status_id'].' == '.$asset->getAttributes()['status_id']);
}
}
diff --git a/database/migrations/2017_12_12_033618_add_actionlog_meta.php b/database/migrations/2017_12_12_033618_add_actionlog_meta.php
new file mode 100644
index 0000000000..a9a662fa1a
--- /dev/null
+++ b/database/migrations/2017_12_12_033618_add_actionlog_meta.php
@@ -0,0 +1,32 @@
+text('log_meta')->nullable()->default(null);
+ });
+ }
+
+ /**
+ * Reverse the migrations.
+ *
+ * @return void
+ */
+ public function down()
+ {
+ Schema::table('action_logs', function (Blueprint $table) {
+ $table->dropColumn('log_meta');
+ });
+ }
+}
diff --git a/resources/views/hardware/view.blade.php b/resources/views/hardware/view.blade.php
index b222bb2555..8382a28bef 100755
--- a/resources/views/hardware/view.blade.php
+++ b/resources/views/hardware/view.blade.php
@@ -619,24 +619,28 @@
class="table table-striped snipe-table"
name="assetHistory"
id="table"
+ class="table table-striped snipe-table"
data-sort-order="desc"
- data-height="400"
+ data-show-columns="true"
+ data-cookie-id-table="asset-history"
data-url="{{ route('api.activity.index', ['item_id' => $asset->id, 'item_type' => 'asset']) }}">
+
@@ -676,7 +680,7 @@
{{ trans('general.date') }}
- {{ trans('general.admin') }}
- {{ trans('general.action') }}
+ {{ trans('general.admin') }}
+ {{ trans('general.action') }}
{{ trans('general.item') }}
{{ trans('general.target') }}
{{ trans('general.notes') }}
@if ($snipeSettings->require_accept_signature=='1')
- {{ trans('general.signature') }}
+ {{ trans('general.signature') }}
@endif
+ Changed