Sie sind auf Seite 1von 3

<?

php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class InventoryController extends Controller
{
public function __construct(){
$this->middleware('guest');
}
/**
* Display a listing of the resource.
*
* @return Response
*/
public function index(Request $request)
{
$title = "Manage Devices";
$deviceStatus = \App\DeviceStatus::all();
$deviceLocations = \App\DeviceLocation::lists('name', 'id');
$devices = \App\Device::orderBy('status_id')->simplePaginate(15);
//
if($devices->total() <= 0){
//
return view('errors.contentnotfound', compact('deviceStatus'))->wi
th(['title' => 'Content not found.']);
//
}
return view('inventory.index', compact('devices', 'deviceStatus', 'devic
eLocations'))->with(['title' => $title]);
}
/**
* Show the form for creating a new resource.
*
* @return Response
*/
public function create()
{
$deviceTypes = \App\DeviceType::lists('name', 'id');
$deviceLocations = \App\DeviceLocation::lists('name', 'id');
return view('inventory.create', compact('deviceTypes', 'deviceLocations'
))->with(['title' => 'Add Device']);
}
/**
* Store a newly created resource in storage.
*
* @param Request $request
* @return Response
*/
public function store(Requests\AddDeviceRequest $request)
{
$device = new \App\Device;
$newDevice = $this->updateOrCreateDevice($request, $device);

\App\DeviceStatus::find(1)->devices()->save($newDevice);
$newDevice->save();
return redirect('/tris')->with(['message' => 'Device has been added succ
essfully.']);
}
/**
* Display the specified resource.
*
* @param int $id
* @return Response
*/
public function show(\App\Device $device)
{
return view('inventory.show', compact('device'))->with(['title' => $devi
ce->name]);
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return Response
*/
public function edit(\App\Device $device)
{
$deviceTypes = \App\DeviceType::lists('name', 'id');
$deviceLocations = \App\DeviceLocation::lists('name', 'id');
return view('inventory.edit', compact('device', 'deviceTypes', 'deviceLo
cations'))->with(['title' => 'Edit Device']);
}
/**
* Update the specified resource in storage.
*
* @param Request $request
* @param int $id
* @return Response
*/
public function update(Requests\UpdateDeviceRequest $request, \App\Device $d
evice)
{
$newDevice = $this->updateOrCreateDevice($request, $device);
$newDevice->save();
return redirect('/tris')->with(['message' => 'Device has been updated su
ccessfully.']);
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return Response
*/
public function destroy(\App\Device $device)
{
if(!$device->delete()){
return redirect('/tris')->with(['message' => 'Device deletion failed
.']);
}

return redirect('/tris')->with(['message' => 'Device has been deleted su


ccessfully.']);
}
private function updateOrCreateDevice(Request $request, \App\Device $device)
{
$device->name = trim($request->name);
$device->model = trim($request->model);
$device->brand = trim($request->brand);
$device->serial = trim($request->serial);
\App\DeviceType::find($request->type_id)->devices()->save($device);
\App\DeviceLocation::find($request->location_id)->devices()->save($devic
e);
$device->description = trim($request->description);
return $device;
}
public function updateStatus(Request $request, \App\Device $device){
\App\DeviceStatus::find($request->status_id)->devices()->save($device);
return redirect('/tris')->with(['message' => 'Device status has been suc
cessfully updated.']);
}
public function getStatus(Request $request){
if($request->ajax()){
$device = \App\Device::findBySlugOrIdOrFail($request->id);
return $device;
}
}
public function getSlug(Request $request){
if($request->ajax()){
$deviceSlug = \App\Device::findBySlugOrIdOrFail($request->id)->slug;
return $deviceSlug;
}
}
}

Das könnte Ihnen auch gefallen