From 0e2f4f3cfb3aa9b76e0b83ea7b0ebd11abee0df0 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 03:11:09 -0700 Subject: [PATCH 01/10] Added requested route back in --- routes/web/hardware.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/routes/web/hardware.php b/routes/web/hardware.php index f984015ac..d0d597d6a 100644 --- a/routes/web/hardware.php +++ b/routes/web/hardware.php @@ -22,6 +22,8 @@ Route::group( 'parameters' => ['maintenance' => 'maintenance_id', 'asset' => 'asset_id'] ]); + Route::get('requested', [ 'as' => 'assets.requested', 'uses' => 'AssetsController@getRequestedIndex']); + Route::get('scan', [ 'as' => 'asset.scan', 'uses' => 'AssetsController@scan' From a9e5ad0df1a214f617f9a07de22bc003ea930d13 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 03:12:12 -0700 Subject: [PATCH 02/10] Added link to requested assets in sidenav --- resources/views/layouts/default.blade.php | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/resources/views/layouts/default.blade.php b/resources/views/layouts/default.blade.php index d9c1f0b8c..d65b56439 100644 --- a/resources/views/layouts/default.blade.php +++ b/resources/views/layouts/default.blade.php @@ -397,13 +397,12 @@ {{ trans('general.bulk_checkout') }} + + + {{ trans('general.requested') }} + @endcan - @can('view', \App\Models\Assetmodel::class) - @lang('general.asset_models') - @endcan - @can('view', \App\Models\Category::class) -
  • @lang('general.categories')
  • - @endcan + @can('create', \App\Models\Asset::class) @lang('general.deleted')
  • @lang('general.asset_maintenances')
  • From 41452450b3d088d7ab14a590952d441a920bde01 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:15:09 -0700 Subject: [PATCH 03/10] Added imageSrc presenter --- app/Presenters/AssetModelPresenter.php | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/app/Presenters/AssetModelPresenter.php b/app/Presenters/AssetModelPresenter.php index a1cd87912..e38f80e91 100644 --- a/app/Presenters/AssetModelPresenter.php +++ b/app/Presenters/AssetModelPresenter.php @@ -78,6 +78,18 @@ class AssetModelPresenter extends Presenter return ''; } + /** + * Generate img tag to this models image. + * @return string + */ + public function imageSrc() + { + if (!empty($this->image)) { + return url('/') . '/uploads/models/' . $this->image; + } + return ''; + } + /** * Url to view this item. * @return string From ba9bb470eb99b2cbb0a62804425dac0ea89c43be Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:15:24 -0700 Subject: [PATCH 04/10] Added imageSrc presenter to assets --- app/Presenters/AssetPresenter.php | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/app/Presenters/AssetPresenter.php b/app/Presenters/AssetPresenter.php index 1f71f7de3..236003f61 100644 --- a/app/Presenters/AssetPresenter.php +++ b/app/Presenters/AssetPresenter.php @@ -280,6 +280,26 @@ class AssetPresenter extends Presenter return $imagePath; } + /** + * Generate img tag to this items image. + * @return mixed|string + */ + public function imageSrc() + { + $imagePath = ''; + if ($this->image && !empty($this->image)) { + $imagePath = $this->image; + return 'poop'; + } elseif ($this->model && !empty($this->model->image)) { + $imagePath = $this->model->image; + return 'fart'; + } + if (!empty($imagePath)) { + return config('app.url').'/uploads/assets/'.$imagePath; + } + return $imagePath; + } + /** * Get Displayable Name * @return string From a844d5b0180a714f495ce71b82ac8886d6cee30f Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:17:14 -0700 Subject: [PATCH 05/10] Added pagination, nicer formatting for requested assets --- app/Http/Controllers/ViewAssetsController.php | 5 - .../account/requestable-assets.blade.php | 86 +++++++++--- .../views/admin/requested-assets.blade.php | 74 ---------- resources/views/hardware/requested.blade.php | 132 ++++++++++++++++++ .../views/partials/bootstrap-table.blade.php | 2 +- routes/web.php | 2 - 6 files changed, 200 insertions(+), 101 deletions(-) delete mode 100644 resources/views/admin/requested-assets.blade.php create mode 100644 resources/views/hardware/requested.blade.php diff --git a/app/Http/Controllers/ViewAssetsController.php b/app/Http/Controllers/ViewAssetsController.php index d913c216c..6c112ff65 100755 --- a/app/Http/Controllers/ViewAssetsController.php +++ b/app/Http/Controllers/ViewAssetsController.php @@ -74,11 +74,6 @@ class ViewAssetsController extends Controller return view('account/requestable-assets', compact('user', 'assets', 'models')); } - public function getRequestedIndex() - { - $requestedItems = CheckoutRequest::with('user', 'requestedItem')->get(); - return view('admin/requested-assets', compact('requestedItems')); - } public function getRequestItem($itemType, $itemId = null) diff --git a/resources/views/account/requestable-assets.blade.php b/resources/views/account/requestable-assets.blade.php index af4b71a3a..5f9ab1be8 100644 --- a/resources/views/account/requestable-assets.blade.php +++ b/resources/views/account/requestable-assets.blade.php @@ -33,18 +33,27 @@ @if ($assets->count() > 0)
    - +
    - + + + @if ($snipeSettings->display_asset_name) - + @endif - - - - - + + + + + @@ -53,17 +62,30 @@ {{ csrf_field() }} - + + + @if ($snipeSettings->display_asset_name) @endif - + @if ($asset->assigned_to != '' && $asset->assigned_to > 0) @@ -106,13 +128,21 @@ @if ($models->count() > 0)

    Requestable Models

    -
    {{ trans('admin/hardware/table.asset_model') }}{{ trans('general.image') }}{{ trans('admin/hardware/table.asset_model') }}{{ trans('admin/models/table.modelnumber') }}{{ trans('admin/hardware/form.name') }}{{ trans('admin/hardware/form.name') }}{{ trans('admin/hardware/table.serial') }}{{ trans('admin/hardware/table.location') }}{{ trans('admin/hardware/table.status') }}{{ trans('admin/hardware/form.expected_checkin') }}{{ trans('table.actions') }}{{ trans('admin/hardware/table.serial') }}{{ trans('admin/hardware/table.location') }}{{ trans('admin/hardware/table.status') }}{{ trans('admin/hardware/form.expected_checkin') }}{{ trans('table.actions') }}
    {!! $asset->model->present()->nameUrl() !!} + @if ($asset->getImageUrl()) + + + + @endif + + {{ $asset->model->name }} + + + {{ $asset->model->model_number }} + {{ $asset->name }}{{ $asset->serial }}{{ $asset->serial }} @if ($asset->location) - {!! $asset->location->present()->nameUrl() !!} + {{ $asset->location->name }} @endif
    +
    - - - - + + + + + @@ -121,9 +151,18 @@ + accept-charset="utf-8"> {{ csrf_field() }} + + + @@ -158,7 +197,14 @@ @section('moar_scripts') - @stop + + diff --git a/resources/views/admin/requested-assets.blade.php b/resources/views/admin/requested-assets.blade.php deleted file mode 100644 index f8367e4af..000000000 --- a/resources/views/admin/requested-assets.blade.php +++ /dev/null @@ -1,74 +0,0 @@ -@extends('layouts/default') - -@section('title0') - {{ trans('admin/hardware/general.requested') }} - {{ trans('general.assets') }} -@stop - -{{-- Page title --}} -@section('title') - @yield('title0') @parent -@stop - -{{-- Page content --}} -@section('content') - -
    -
    - - @if ($requestedItems->count() > 0) -
    -
    {{ trans('admin/hardware/table.asset_model') }}{{ trans('admin/accessories/general.remaining') }}{{ trans('general.quantity') }}{{ trans('table.actions') }}{{ trans('general.image') }}{{ trans('admin/hardware/table.asset_model') }}{{ trans('admin/accessories/general.remaining') }}{{ trans('general.quantity') }}{{ trans('table.actions') }}
    + @if ($requestableModel->image) + + + + @endif + + {{$requestableModel->name}} {{$requestableModel->assets->where('requestable', '1')->count()}}
    - - - - - - - - - - - - - @foreach ($requestedItems as $request) - - - {{ csrf_field() }} - - - @if ($request->location()) - - @else - - @endif - - - - - - - - @endforeach - -
    Item TypeItem Name{{ trans('admin/hardware/table.location') }}{{ trans('admin/hardware/form.expected_checkin') }}Requesting UserRequested Date{{ trans('table.actions') }}
    {{ $request->itemType() }}{{ $request->name() }}{{ $request->location()->name }} - @if ($request->itemType() == "asset") - {{ $request->itemRequested()->expected_checkin }} - @else - "N/A" - @endif - {{ $request->requestingUser()->present()->fullName() }}{{$request->created_at}} -
    -
    - - @else -
    -
    - - {{ trans('general.no_results') }} -
    -
    - @endif - - -@stop diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php new file mode 100644 index 000000000..51f8119e2 --- /dev/null +++ b/resources/views/hardware/requested.blade.php @@ -0,0 +1,132 @@ +@extends('layouts/default') + +@section('title0') + {{ trans('admin/hardware/general.requested') }} + {{ trans('general.assets') }} +@stop + +{{-- Page title --}} +@section('title') + @yield('title0') @parent +@stop + +{{-- Page content --}} +@section('content') + +
    +
    +
    +
    + {{ Form::open([ + 'method' => 'POST', + 'route' => ['hardware/bulkedit'], + 'class' => 'form-inline', + 'id' => 'bulkForm']) }} +
    +
    + + @if ($requestedItems->count() > 0) +
    + + + + + + + + + + + + + + @foreach ($requestedItems as $request) + + {{ csrf_field() }} + + + @if ($request->location()) + + @else + + @endif + + + + + + + + + @endforeach + +
    ImageItem Name{{ trans('admin/hardware/table.location') }}{{ trans('admin/hardware/form.expected_checkin') }}Requesting UserRequested Date
    + @if ($request->itemType() == "asset") + + @endif + + + + + @if ($request->itemType() == "asset") + + {{ $request->name() }} + + @elseif ($request->itemType() == "asset_model") + + {{ $request->name() }} + + @endif + + {{ $request->location()->name }} + @if ($request->itemType() == "asset") + {{ App\Helpers\Helper::getFormattedDateObject($request->requestable->expected_checkin, 'datetime', false) }} + @endif + + + {{ $request->requestingUser()->present()->fullName() }} + + {{ App\Helpers\Helper::getFormattedDateObject($request->created_at, 'datetime', false) }} + @if ($request->itemType() == "asset") + @if ($request->requestable->assigned_to=='') + {{ trans('general.checkout') }} + @else + {{ trans('general.checkin') }} + @endif + + @endif +
    +
    + + @else +
    +
    + + {{ trans('general.no_results') }} +
    +
    + @endif +
    +
    +
    +
    +
    +
    + +@stop + +@section('moar_scripts') + @include ('partials.bootstrap-table', [ + 'exportFile' => 'requested-export', + 'search' => true, + 'clientSearch' => true, + ]) + +@stop diff --git a/resources/views/partials/bootstrap-table.blade.php b/resources/views/partials/bootstrap-table.blade.php index 2c260f580..748a2e2a6 100644 --- a/resources/views/partials/bootstrap-table.blade.php +++ b/resources/views/partials/bootstrap-table.blade.php @@ -43,7 +43,7 @@ $('.snipe-table').bootstrapTable('destroy').bootstrapTable({ paginationVAlign: 'both', - sidePagination: 'server', + sidePagination: '{{ (isset($clientSearch)) ? 'client' : 'server' }}', sortable: true, diff --git a/routes/web.php b/routes/web.php index 9eca110a9..bff52081a 100644 --- a/routes/web.php +++ b/routes/web.php @@ -187,8 +187,6 @@ Route::group([ 'prefix' => 'admin','middleware' => ['authorize:superuser']], fun }); - Route::get('requests', [ 'as' => 'requests', 'middleware' => 'authorize:admin', 'uses' => 'ViewAssetsController@getRequestedIndex']); - Route::resource('groups', 'GroupsController', [ 'middleware' => ['auth'], From da56a253bc907e25b1fa55c6cf6a3ee33bb1cf2c Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:21:57 -0700 Subject: [PATCH 06/10] Added checkout requests method --- app/Http/Controllers/AssetsController.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/app/Http/Controllers/AssetsController.php b/app/Http/Controllers/AssetsController.php index debaf1185..7daea872c 100755 --- a/app/Http/Controllers/AssetsController.php +++ b/app/Http/Controllers/AssetsController.php @@ -38,6 +38,7 @@ use Symfony\Component\HttpFoundation\File\Exception\FileException; use TCPDF; use Validator; use View; +use App\Models\CheckoutRequest; /** * This class controls all actions related to assets for @@ -1243,4 +1244,14 @@ class AssetsController extends Controller return redirect()->to("hardware")->with('success', trans('admin/hardware/message.audit.success')); } } + + public function getRequestedIndex($id = null) + { + if ($id) { + $requestedItems = CheckoutRequest::where('user_id', $id)->with('user', 'requestedItem')->get(); + } + $requestedItems = CheckoutRequest::with('user', 'requestedItem')->get(); + return view('hardware/requested', compact('requestedItems')); + } + } From 0c524e08306ee9f913d3ffb2110dc37d727f6fc0 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:29:05 -0700 Subject: [PATCH 07/10] =?UTF-8?q?Use=20model=20image=20if=20it=E2=80=99s?= =?UTF-8?q?=20a=20requestable=20model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- resources/views/hardware/requested.blade.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/resources/views/hardware/requested.blade.php b/resources/views/hardware/requested.blade.php index 51f8119e2..2b3ccab86 100644 --- a/resources/views/hardware/requested.blade.php +++ b/resources/views/hardware/requested.blade.php @@ -53,6 +53,8 @@ @if ($request->itemType() == "asset") + @else + @endif From 3dae464c34b59648032628f4413abc15283cb63a Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:33:53 -0700 Subject: [PATCH 08/10] Added nicer formatting for model details --- resources/views/models/view.blade.php | 141 ++++++++++++++------------ 1 file changed, 77 insertions(+), 64 deletions(-) diff --git a/resources/views/models/view.blade.php b/resources/views/models/view.blade.php index c285eb218..691fd796c 100755 --- a/resources/views/models/view.blade.php +++ b/resources/views/models/view.blade.php @@ -67,85 +67,98 @@
    -

    More Info:

    -
      - @if ($model->manufacturer) -
    • - {{ trans('general.manufacturer') }}: - @can('view', \App\Models\Manufacturer::class) - - {{ $model->manufacturer->name }} - - @else - {{ $model->manufacturer->name }} - @endcan -
    • - @endif - @if ($model->manufacturer->url) +
      +
      +
      +

      More Info:

      +
      +
      +
      + + @if ($model->image) + + @endif + + +
        + @if ($model->manufacturer)
      • - {{ $model->manufacturer->url }} + {{ trans('general.manufacturer') }}: + @can('view', \App\Models\Manufacturer::class) + + {{ $model->manufacturer->name }} + + @else + {{ $model->manufacturer->name }} + @endcan
      • - @endif + @endif + @if ($model->manufacturer->url) +
      • + {{ $model->manufacturer->url }} +
      • + @endif - @if ($model->manufacturer->support_url) + @if ($model->manufacturer->support_url) +
      • + {{ $model->manufacturer->support_url }} +
      • + @endif + + @if ($model->manufacturer->support_phone) +
      • + {{ $model->manufacturer->support_phone }} +
      • + @endif + + @if ($model->manufacturer->support_email) +
      • + {{ $model->manufacturer->support_email }} +
      • + @endif + + @if ($model->model_number)
      • - {{ $model->manufacturer->support_url }} + {{ trans('general.model_no') }}: + {{ $model->model_number }}
      • - @endif + @endif - @if ($model->manufacturer->support_phone) + @if ($model->depreciation)
      • - {{ $model->manufacturer->support_phone }} + {{ trans('general.depreciation') }}: + {{ $model->depreciation->name }} ({{ $model->depreciation->months.' '.trans('general.months')}})
      • - @endif + @endif - @if ($model->manufacturer->support_email) -
      • - {{ $model->manufacturer->support_email }} + @if ($model->eol) +
      • {{ trans('general.eol') }}: + {{ $model->eol .' '. trans('general.months') }}
      • - @endif + @endif - @if ($model->model_number) -
      • - {{ trans('general.model_no') }}: - {{ $model->model_number }} -
      • - @endif + @if ($model->fieldset) +
      • {{ trans('admin/models/general.fieldset') }}: + {{ $model->fieldset->name }} +
      • + @endif - @if ($model->depreciation) -
      • - {{ trans('general.depreciation') }}: - {{ $model->depreciation->name }} ({{ $model->depreciation->months.' '.trans('general.months')}}) -
      • - @endif - @if ($model->eol) -
      • {{ trans('general.eol') }}: - {{ $model->eol .' '. trans('general.months') }} -
      • - @endif - @if ($model->fieldset) -
      • {{ trans('admin/models/general.fieldset') }}: - {{ $model->fieldset->name }} -
      • - @endif + @if ($model->deleted_at!='') +

      • {{ trans('admin/models/general.restore') }}
      • + @endif +
      - @if ($model->image) -

    • - @endif - - @if ($model->deleted_at!='') -

    • {{ trans('admin/models/general.restore') }}
    • - @endif -
    - - @if ($model->note) - Notes: -

    - {!! $model->present()->note() !!} -

    - @endif + @if ($model->note) + Notes: +

    + {!! $model->present()->note() !!} +

    + @endif +
    + + @stop From 48207fc695161b9923eb48a8d22fc15a9121b8a9 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:36:04 -0700 Subject: [PATCH 09/10] Added model number in box header --- resources/views/models/view.blade.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/resources/views/models/view.blade.php b/resources/views/models/view.blade.php index 691fd796c..383e1d9ca 100755 --- a/resources/views/models/view.blade.php +++ b/resources/views/models/view.blade.php @@ -35,7 +35,9 @@ @if ($model->id)
    -

    {{ $model->name }}

    +

    {{ $model->name }} + {{ ($model->model_number) ? '(#'.$model->model_number.')' : '' }} +

    @endif From 3343cf16dde82497161c46baa9117ebfef1641e5 Mon Sep 17 00:00:00 2001 From: snipe Date: Thu, 2 Nov 2017 04:37:08 -0700 Subject: [PATCH 10/10] Bumped version --- config/version.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/config/version.php b/config/version.php index e5e4769c6..1b6b667cd 100644 --- a/config/version.php +++ b/config/version.php @@ -1,7 +1,7 @@ 'v4.1.0', - 'build_version' => 'beta2', - 'hash_version' => 'g3b498ef', - 'full_hash' => 'v4.1.0-beta2-3-g3b498ef', + 'build_version' => '37', + 'hash_version' => 'g48207fc', + 'full_hash' => 'v4.1.0-37-g48207fc', );