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')); + } + } 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/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 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 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', ); 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..2b3ccab86 --- /dev/null +++ b/resources/views/hardware/requested.blade.php @@ -0,0 +1,134 @@ +@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") + + @else + + @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/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')
  • diff --git a/resources/views/models/view.blade.php b/resources/views/models/view.blade.php index c285eb218..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 @@ -67,85 +69,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 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'], 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'