Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
webbingbrasil/clients-module / Http / Controllers / Admin / ClientsController.php
Size: Mime:
<?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');
        }
    }
}