Add ability to view assets by status label

This should be refactored. Lots of copypaste from the assets views here
This commit is contained in:
snipe
2017-01-18 20:41:40 -08:00
parent 19cb428fb0
commit ad4bf83aaa
6 changed files with 153 additions and 3 deletions
@@ -8,6 +8,7 @@ use App\Helpers\Helper;
use App\Models\Statuslabel;
use App\Models\Asset;
use App\Http\Transformers\DatatablesTransformer;
use App\Http\Transformers\AssetsTransformer;
class StatuslabelsController extends Controller
{
@@ -161,4 +162,36 @@ class StatuslabelsController extends Controller
return $result;
}
/**
* Display the specified resource.
*
* @author [A. Gianotto] [<snipe@snipe.net>]
* @since [v4.0]
* @param int $id
* @return \Illuminate\Http\Response
*/
public function assets(Request $request, $id)
{
$this->authorize('view', Statuslabel::class);
$this->authorize('index', Asset::class);
$assets = Asset::where('status_id','=',$id);
$allowed_columns = [
'id',
'name'
];
$offset = request('offset', 0);
$limit = $request->input('limit', 50);
$order = $request->input('order') === 'asc' ? 'asc' : 'desc';
$sort = in_array($request->input('sort'), $allowed_columns) ? $request->input('sort') : 'created_at';
$assets->orderBy($sort, $order);
$total = $assets->count();
$assets = $assets->skip($offset)->take($limit)->get();
return (new AssetsTransformer)->transformAssets($assets, $total);
}
}
@@ -32,10 +32,19 @@ class StatuslabelsController extends Controller
public function index()
{
// Show the page
return View::make('statuslabels/index', compact('statuslabels'));
}
public function show($id)
{
$statuslabel = Statuslabel::find($id);
if (isset($statuslabel->id)) {
return View::make('statuslabels/view', compact('statuslabel'));
}
return redirect()->route('statuslabels.index')->with('error', trans('admin/locations/message.does_not_exist', compact('id')));
}