Repository URL to install this package:
|
Version:
0.1.0 ▾
|
<?php namespace Modules\Clients\Http\Controllers\Admin;
use App\Http\Requests\Request;
use Modules\Clients\Contracts\Repositories\ClientRepository;
use Modules\Clients\Http\Requests\CreateClientRequest;
use Modules\Clients\Http\Requests\UpdateClientRequest;
use Modules\Clients\Services\ClientDataTable;
use Modules\Core\Http\Controllers\AdminController;
use Modules\Core\Services\Asset;
class ClientsController extends AdminController
{
/**
* @var ClientRepository
*/
private $repository;
public function __construct(ClientRepository $repository)
{
parent::__construct();
$this->repository = $repository;
}
public function index(ClientDataTable $dataTable)
{
Asset::add(config('core.assets.datatable'));
Asset::add(config('core.assets.datatable_extensions.rowReorder'));
return $dataTable->render('clients::admin.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Response
*/
public function create()
{
Asset::add(config('core.assets.cropit'));
return view('clients::admin.create');
}
/**
* Store a newly created resource in storage.
*
* @param CreateClientRequest $request
* @return \Response
*/
public function store(CreateClientRequest $request)
{
$this->repository->create($request->all());
flash(trans('clients::clients.messages.created'));
return redirect()->route('admin.clients.index');
}
/**
* Show the form for editing the specified resource.
*
* @param int $id
* @return \Response
*/
public function edit($id)
{
if (!$user = $this->repository->find($id)) {
flash()->error(trans('clients::clients.messages.not_found'));
return redirect()->route('admin.clients.index');
}
Asset::add(config('core.assets.cropit'));
/** @var \Modules\Clients\Entities\Client $client*/
$client = $this->repository->find($id);
return view('clients::admin.edit', compact('client'));
}
/**
* Update the specified resource in storage.
*
* @param int $id
* @param Request $request
* @return \Response
*/
public function update($id, UpdateClientRequest $request)
{
$this->repository->update($request->all(), $id);
flash(trans('clients::clients.messages.updated'));
return redirect()->route('admin.clients.index');
}
/**
* Remove the specified resource from storage.
*
* @param int $id
* @return \Response
*/
public function destroy($id)
{
$this->repository->delete($id);
flash(trans('clients::clients.messages.deleted'));
if (request()->ajax() || request()->wantsJson()) {
return [
'success' => true,
];
} else {
return redirect()->route('admin.clients.index');
}
}
}