From 981ff2b6e556baeefcaa112371f9b097ae99a91a Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 18 Nov 2013 21:10:30 -0500 Subject: [PATCH 01/44] Asset action log table --- ...3_11_19_013337_create_asset_logs_table.php | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 app/database/migrations/2013_11_19_013337_create_asset_logs_table.php diff --git a/app/database/migrations/2013_11_19_013337_create_asset_logs_table.php b/app/database/migrations/2013_11_19_013337_create_asset_logs_table.php new file mode 100644 index 0000000000..7178add61b --- /dev/null +++ b/app/database/migrations/2013_11_19_013337_create_asset_logs_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->integer('user_id'); + $table->string('action_type'); + $table->integer('asset_id'); + $table->integer('checkedout_to')->nullable; + $table->integer('location_id')->nullable; + $table->timestamp('added_on'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('asset_logs'); + } + +} \ No newline at end of file From 44ba90f9f0a968999a743c35dd2bf153c2edbf1d Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 18 Nov 2013 21:11:50 -0500 Subject: [PATCH 02/44] Fixed icon set to white in main nav --- app/views/backend/layouts/default.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/backend/layouts/default.blade.php b/app/views/backend/layouts/default.blade.php index 58fb5484c2..bbe8b88c85 100755 --- a/app/views/backend/layouts/default.blade.php +++ b/app/views/backend/layouts/default.blade.php @@ -174,7 +174,7 @@
' : '>') }} - + Licenses From 532c03a73dc1d3c8080574d6b15f5d866d4fff43 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 18 Nov 2013 21:19:30 -0500 Subject: [PATCH 03/44] Placeholder top summary boxes There aren't wired up yet --- app/views/backend/layouts/default.blade.php | 40 ++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/app/views/backend/layouts/default.blade.php b/app/views/backend/layouts/default.blade.php index bbe8b88c85..dc06d716dc 100755 --- a/app/views/backend/layouts/default.blade.php +++ b/app/views/backend/layouts/default.blade.php @@ -67,7 +67,7 @@ @@ -31,8 +41,9 @@ Depreciation Report @lang('admin/assets/table.checkoutto') @lang('admin/assets/table.location') @lang('admin/assets/table.purchase_date') - @lang('admin/assets/table.purchase_cost') - @lang('admin/assets/table.book_value') + @lang('admin/assets/table.purchase_cost') + @lang('admin/assets/table.book_value') + Diff @@ -51,12 +62,15 @@ Depreciation Report @if (($asset->assigned_to > 0) && ($asset->assigneduser->location_id > 0)) - {{ Location::find($asset->assigneduser->location_id)->name }} + {{ Location::find($asset->assigneduser->location_id)->city }} + , + {{ Location::find($asset->assigneduser->location_id)->state }} @endif {{ $asset->purchase_date }} - ${{ number_format($asset->purchase_cost) }} - ${{ number_format($asset->depreciation()) }} + ${{ number_format($asset->purchase_cost) }} + ${{ number_format($asset->depreciation()) }} + -${{ ($asset->purchase_cost - $asset->depreciation()) }} @endforeach From 8c1f6ada67b830904e69e053766d0e6ae4238332 Mon Sep 17 00:00:00 2001 From: snipe Date: Mon, 18 Nov 2013 22:08:00 -0500 Subject: [PATCH 12/44] Number format on diff column --- app/views/backend/reports/index.blade.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/backend/reports/index.blade.php b/app/views/backend/reports/index.blade.php index 3e471faeaf..f6280e0e72 100644 --- a/app/views/backend/reports/index.blade.php +++ b/app/views/backend/reports/index.blade.php @@ -41,9 +41,9 @@ Depreciation Report @lang('admin/assets/table.checkoutto') @lang('admin/assets/table.location') @lang('admin/assets/table.purchase_date') - @lang('admin/assets/table.purchase_cost') - @lang('admin/assets/table.book_value') - Diff + @lang('admin/assets/table.purchase_cost') + @lang('admin/assets/table.book_value') + Diff @@ -70,7 +70,7 @@ Depreciation Report {{ $asset->purchase_date }} ${{ number_format($asset->purchase_cost) }} ${{ number_format($asset->depreciation()) }} - -${{ ($asset->purchase_cost - $asset->depreciation()) }} + -${{ number_format(($asset->purchase_cost - $asset->depreciation())) }} @endforeach From 719c36d482cc67f1513351672eda057519f7f735 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 01:57:34 -0500 Subject: [PATCH 13/44] migration to fix a few fields in the log table --- ..._061409_edit_added_on_asset_logs_table.php | 28 +++++++++++++++++ ...2250_edit_location_id_asset_logs_table.php | 30 +++++++++++++++++++ 2 files changed, 58 insertions(+) create mode 100644 app/database/migrations/2013_11_19_061409_edit_added_on_asset_logs_table.php create mode 100644 app/database/migrations/2013_11_19_062250_edit_location_id_asset_logs_table.php diff --git a/app/database/migrations/2013_11_19_061409_edit_added_on_asset_logs_table.php b/app/database/migrations/2013_11_19_061409_edit_added_on_asset_logs_table.php new file mode 100644 index 0000000000..8a9fd1e896 --- /dev/null +++ b/app/database/migrations/2013_11_19_061409_edit_added_on_asset_logs_table.php @@ -0,0 +1,28 @@ + Date: Tue, 19 Nov 2013 01:59:45 -0500 Subject: [PATCH 14/44] Added asset logger --- app/models/Actionlog.php | 42 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 app/models/Actionlog.php diff --git a/app/models/Actionlog.php b/app/models/Actionlog.php new file mode 100644 index 0000000000..695bc48bf8 --- /dev/null +++ b/app/models/Actionlog.php @@ -0,0 +1,42 @@ +belongsTo('Category','parent'); + } + + /** + * Get the parent category name + */ + public function userlog() + { + return $this->belongsTo('Category','parent'); + } + + /** + * Get the parent category name + */ + public function logaction($actiontype) + { + $this->action_type = $actiontype; + + if($this->save()) + { + return true; + } else { + return false; + } + } + + + + +} From e22d381a207aaf1ecf008fc431861fe3cdae7a4c Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 02:00:02 -0500 Subject: [PATCH 15/44] Added asset logger --- app/models/Actionlog.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/models/Actionlog.php b/app/models/Actionlog.php index 695bc48bf8..299679679b 100644 --- a/app/models/Actionlog.php +++ b/app/models/Actionlog.php @@ -10,7 +10,7 @@ class ActionLog extends Eloquent { */ public function assetlog() { - return $this->belongsTo('Category','parent'); + } /** @@ -18,7 +18,7 @@ class ActionLog extends Eloquent { */ public function userlog() { - return $this->belongsTo('Category','parent'); + } /** From f7f79681f3d69d0e3d612b7233962d8f20b829ca Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 02:00:17 -0500 Subject: [PATCH 16/44] Added logging action on checkin and checkout --- app/controllers/admin/AssetsController.php | 27 ++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index d21db8375a..f9e5e793ec 100644 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -7,6 +7,7 @@ use Asset; use User; use Redirect; use DB; +use Actionlog; use Model; use Depreciation; use Sentry; @@ -36,7 +37,6 @@ class AssetsController extends AdminController { return View::make('backend/reports/index', compact('assets')); } - /** * Asset create. * @@ -98,7 +98,6 @@ class AssetsController extends AdminController { return Redirect::back()->withInput()->withErrors($errors); } - // Redirect to the asset create page with an error return Redirect::to('assets/create')->with('error', Lang::get('admin/assets/message.create.error')); @@ -245,7 +244,6 @@ class AssetsController extends AdminController { $assigned_to = e(Input::get('assigned_to')); - // Declare the rules for the form validation $rules = array( 'assigned_to' => 'required|min:1' @@ -272,10 +270,18 @@ class AssetsController extends AdminController { // Update the asset data $asset->assigned_to = e(Input::get('assigned_to')); - // Was the asset updated? if($asset->save()) { + $logaction = new Actionlog(); + $logaction->asset_id = $asset->id; + $logaction->checkedout_to = $asset->assigned_to; + $logaction->location_id = $assigned_to->location_id; + $logaction->user_id = Sentry::getUser()->id; + $log = $logaction->logaction('checkout'); + + + // Redirect to the new asset page return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.checkout.success')); } @@ -299,9 +305,22 @@ class AssetsController extends AdminController { // Update the asset data $asset->assigned_to = ''; + + if (!is_null($asset->assigned_to)) { + $user = User::find($asset->assigned_to); + } + + // Was the asset updated? if($asset->save()) { + $logaction = new Actionlog(); + $logaction->asset_id = $asset->id; + //$logaction->user_id = $loggedin->user_id ; + $logaction->location_id = NULL; + $logaction->user_id = Sentry::getUser()->id; + $log = $logaction->logaction('checkin'); + // Redirect to the new asset page return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.checkin.success')); } From b8908bf246792eb57289593be54801d0a831be97 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 03:58:26 -0500 Subject: [PATCH 17/44] Add checkin/checkout log to user profile view --- app/controllers/admin/AssetsController.php | 15 +++++---- app/controllers/admin/UsersController.php | 2 +- app/models/Actionlog.php | 20 +++++------- app/models/Asset.php | 8 +++++ app/models/User.php | 8 ++++- app/views/backend/users/view.blade.php | 38 ++++++++++++++++++++-- 6 files changed, 69 insertions(+), 22 deletions(-) diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index f9e5e793ec..38b76ba0ad 100644 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -302,24 +302,25 @@ class AssetsController extends AdminController { return Redirect::to('admin')->with('error', Lang::get('admin/assets/message.not_found')); } - // Update the asset data - $asset->assigned_to = ''; - - if (!is_null($asset->assigned_to)) { $user = User::find($asset->assigned_to); } + $logaction = new Actionlog(); + $logaction->checkedout_to = $asset->assigned_to; + + // Update the asset data to null, since it's being checked in + $asset->assigned_to = ''; // Was the asset updated? if($asset->save()) { - $logaction = new Actionlog(); + $logaction->asset_id = $asset->id; - //$logaction->user_id = $loggedin->user_id ; + $logaction->location_id = NULL; $logaction->user_id = Sentry::getUser()->id; - $log = $logaction->logaction('checkin'); + $log = $logaction->logaction('checkin from'); // Redirect to the new asset page return Redirect::to("admin")->with('success', Lang::get('admin/assets/message.checkin.success')); diff --git a/app/controllers/admin/UsersController.php b/app/controllers/admin/UsersController.php index fc813617ca..19f3046260 100755 --- a/app/controllers/admin/UsersController.php +++ b/app/controllers/admin/UsersController.php @@ -11,6 +11,7 @@ use Input; use User; use Asset; use Lang; +use Actionlog; use Location; use Redirect; use Sentry; @@ -414,7 +415,6 @@ class UsersController extends AdminController { public function getView($userId = null) { $user = User::find($userId); - // Show the page return View::make('backend/users/view', compact('user')); } diff --git a/app/models/Actionlog.php b/app/models/Actionlog.php index 299679679b..c560a53d20 100644 --- a/app/models/Actionlog.php +++ b/app/models/Actionlog.php @@ -5,22 +5,20 @@ class ActionLog extends Eloquent { protected $table = 'asset_logs'; public $timestamps = false; - /** - * Get the parent category name - */ - public function assetlog() - { + public function assetlog() { + return $this->belongsTo('Asset','asset_id'); } - /** - * Get the parent category name - */ - public function userlog() - { - + public function adminlog() { + return $this->belongsTo('User','user_id'); } + public function userlog() { + return $this->belongsTo('User','assigned_to'); + } + + /** * Get the parent category name */ diff --git a/app/models/Asset.php b/app/models/Asset.php index eb95826b9c..c7dcb2dae7 100644 --- a/app/models/Asset.php +++ b/app/models/Asset.php @@ -55,4 +55,12 @@ class Asset extends Elegant { } + /** + * Get action logs for this asset + */ + public function asssetlog() + { + return $this->hasMany('Actionlog','asset_id'); + } + } diff --git a/app/models/User.php b/app/models/User.php index 7177e152f6..3bd7634212 100755 --- a/app/models/User.php +++ b/app/models/User.php @@ -39,9 +39,15 @@ class User extends SentryUserModel { public function assets() { return $this->hasMany('Asset', 'assigned_to'); - } + /** + * Get action logs for this user + */ + public function userlog() + { + return $this->hasMany('Actionlog','checkedout_to'); + } } diff --git a/app/views/backend/users/view.blade.php b/app/views/backend/users/view.blade.php index 403d6aaac2..3b8a491016 100644 --- a/app/views/backend/users/view.blade.php +++ b/app/views/backend/users/view.blade.php @@ -65,13 +65,47 @@ View User {{ $user->fullName() }} ::
- @lang('admin/users/table.noresults') -
@endif + + +
History for {{ $user->first_name }}
+
+ + @if (count($user->userlog) > 0) + + + + + + + + + + + @foreach ($user->userlog as $log) + + + + + + + @endforeach + +
DateActionAssetBy
{{ $log->added_on }}{{ $log->action_type }}{{ $log->assetlog->name }}{{ $log->adminlog->fullName() }}
+ @else + +
+
+ + @lang('admin/users/table.noresults') +
+
+ @endif + From ea312fc161e0ef9249b0c2617211719796db80c1 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:29:42 -0500 Subject: [PATCH 18/44] Added asset view in controller --- app/controllers/admin/AssetsController.php | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/app/controllers/admin/AssetsController.php b/app/controllers/admin/AssetsController.php index 38b76ba0ad..92ddee53f4 100644 --- a/app/controllers/admin/AssetsController.php +++ b/app/controllers/admin/AssetsController.php @@ -292,6 +292,9 @@ class AssetsController extends AdminController { /** * Check in the item so that it can be checked out again to someone else + * + * @param int $assetId + * @return View **/ public function postCheckin($assetId) { @@ -331,7 +334,17 @@ class AssetsController extends AdminController { } - + /** + * Get the asset information to present to the asset view page + * + * @param int $assetId + * @return View + **/ + public function getView($assetId = null) + { + $asset = Asset::find($assetId); + return View::make('backend/assets/view', compact('asset')); + } From 5b27a34f050646467a178ff780efc80036aadf1b Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:30:04 -0500 Subject: [PATCH 19/44] Fixed fieldname in userlog --- app/models/Actionlog.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/Actionlog.php b/app/models/Actionlog.php index c560a53d20..018fe50fc3 100644 --- a/app/models/Actionlog.php +++ b/app/models/Actionlog.php @@ -15,7 +15,7 @@ class ActionLog extends Eloquent { } public function userlog() { - return $this->belongsTo('User','assigned_to'); + return $this->belongsTo('User','checkedout_to'); } From e2c1671d215ef242373ad87e4580a15401341221 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:30:20 -0500 Subject: [PATCH 20/44] Spelling continues to be hard. Apparently. --- app/models/Asset.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/Asset.php b/app/models/Asset.php index c7dcb2dae7..dfa5746b92 100644 --- a/app/models/Asset.php +++ b/app/models/Asset.php @@ -58,7 +58,7 @@ class Asset extends Elegant { /** * Get action logs for this asset */ - public function asssetlog() + public function assetlog() { return $this->hasMany('Actionlog','asset_id'); } From cab75ed7d6f3d894d256c44fe6d6e93967b05413 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:30:32 -0500 Subject: [PATCH 21/44] Added asset view to routes --- app/routes.php | 15 +-------------- 1 file changed, 1 insertion(+), 14 deletions(-) diff --git a/app/routes.php b/app/routes.php index 00a78aa8fa..11daad50c2 100755 --- a/app/routes.php +++ b/app/routes.php @@ -34,6 +34,7 @@ Route::group(array('prefix' => 'assets'), function() Route::get('{assetId}/checkout', array('as' => 'checkout/asset', 'uses' => 'Controllers\Admin\AssetsController@getCheckout')); Route::post('{assetId}/checkout', 'Controllers\Admin\AssetsController@postCheckout'); Route::get('{assetId}/checkin', array('as' => 'checkin/asset', 'uses' => 'Controllers\Admin\AssetsController@postCheckin')); + Route::get('{assetId}/view', array('as' => 'view/asset', 'uses' => 'Controllers\Admin\AssetsController@getView')); @@ -53,20 +54,6 @@ Route::group(array('prefix' => 'assets'), function() Route::group(array('prefix' => 'admin'), function() { - - # Blog Management - Route::group(array('prefix' => 'blogs'), function() - { - Route::get('/', array('as' => 'blogs', 'uses' => 'Controllers\Admin\BlogsController@getIndex')); - Route::get('create', array('as' => 'create/blog', 'uses' => 'Controllers\Admin\BlogsController@getCreate')); - Route::post('create', 'Controllers\Admin\BlogsController@postCreate'); - Route::get('{blogId}/edit', array('as' => 'update/blog', 'uses' => 'Controllers\Admin\BlogsController@getEdit')); - Route::post('{blogId}/edit', 'Controllers\Admin\BlogsController@postEdit'); - Route::get('{blogId}/delete', array('as' => 'delete/blog', 'uses' => 'Controllers\Admin\BlogsController@getDelete')); - Route::get('{blogId}/restore', array('as' => 'restore/blog', 'uses' => 'Controllers\Admin\BlogsController@getRestore')); - }); - - # Licenses Route::group(array('prefix' => 'licenses'), function() { From 30a8a9611322f869ce821a32b7971924717732e2 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:30:54 -0500 Subject: [PATCH 22/44] Linked asset tags to their new view page --- app/views/backend/assets/index.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/backend/assets/index.blade.php b/app/views/backend/assets/index.blade.php index c7a2676360..b33e14b8e2 100755 --- a/app/views/backend/assets/index.blade.php +++ b/app/views/backend/assets/index.blade.php @@ -43,8 +43,8 @@ Assets :: @foreach ($assets as $asset) - {{ $asset->asset_tag }} - {{ $asset->name }} + {{ $asset->asset_tag }} + {{ $asset->name }} {{ $asset->serial }} @if ($asset->assigned_to != 0) From 1567a8bde1c06845c92c95838ea399b20b1120e4 Mon Sep 17 00:00:00 2001 From: snipe Date: Tue, 19 Nov 2013 05:31:07 -0500 Subject: [PATCH 23/44] Asset view blade --- app/views/backend/assets/view.blade.php | 87 +++++++++++++++++++++++++ 1 file changed, 87 insertions(+) create mode 100644 app/views/backend/assets/view.blade.php diff --git a/app/views/backend/assets/view.blade.php b/app/views/backend/assets/view.blade.php new file mode 100644 index 0000000000..8f6caef197 --- /dev/null +++ b/app/views/backend/assets/view.blade.php @@ -0,0 +1,87 @@ +@extends('backend/layouts/default') + +{{-- Page title --}} +@section('title') +View Asset {{ $asset->asset_tag }} :: +@parent +@stop + +{{-- Page content --}} +@section('content') +