<?php namespace Payroll\Allowance\Http\Controllers; use App\Http\Controllers\PublicController as BaseController; use Payroll\Allowance\Interfaces\AllowanceRepositoryInterface; class AllowancePublicController extends BaseController { // use AllowanceWorkflow; /** * Constructor. * * @param type \Payroll\Allowance\Interfaces\AllowanceRepositoryInterface $allowance * * @return type */ public function __construct(AllowanceRepositoryInterface $allowance) { $this->repository = $allowance; parent::__construct(); } /** * Show allowance's list. * * @param string $slug * * @return response */ protected function index() { $allowances = $this->repository ->pushCriteria(app('Litepie\Repository\Criteria\RequestCriteria')) ->scopeQuery(function($query){ return $query->orderBy('id','DESC'); })->paginate(); return $this->theme->of('allowance::public.allowance.index', compact('allowances'))->render(); } /** * Show allowance. * * @param string $slug * * @return response */ protected function show($slug) { $allowance = $this->repository->scopeQuery(function($query) use ($slug) { return $query->orderBy('id','DESC') ->where('slug', $slug); })->first(['*']); return $this->theme->of('allowance::public.allowance.show', compact('allowance'))->render(); } }