/** * Display a listing of the resource. * * @return \Illuminate\Http\Response */ public function index() { $allowed_departments = Session::get('allowed_departments'); $user = Session::get('user'); $data = array('allowed_departments' => $allowed_departments, 'backgrounds' => Background::all(), 'user' => $user); return view('pages/dashboard', $data); }
/** * Filter backgrounds by criteria * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function filter(Request $request) { $user = Session::get('user'); // Get request inputs $btnFindbackground = $request->input('btnFindBackground'); $btnFindAll = $request->input('btnFindAll'); $backgroundName = $request->input('txtBackgroundSearch'); // Get all backgrounds $backgrounds = Background::all(); // Check which action to perform if (isset($btnFindbackground)) { $filtered = collect([]); // First filter by name if ($backgroundName != null) { $filtered = $backgrounds->filter(function ($item) use($backgroundName) { if (strpos($item->name, $backgroundName) !== false) { // Get rough match return true; } }); } $backgrounds = $filtered; } else { if (isset($btnFindAll)) { // Reset search input box $backgroundName = null; } else { abort(401, 'Un-authorised'); } } $data = array('user' => $user, 'backgrounds' => $backgrounds); return view('pages/backgroundsEditor', $data); }
/** * Filters adverts by criteria * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function filter(Request $request) { // Get user details $user = Session::get('user'); $allowed_departments = Session::get('allowed_departments'); // Get request inputs $btnFindAdvert = $request->input('btnFindAdvert'); $btnFindAll = $request->input('btnFindAll'); $advertName = $request->input('txtAdvertSearch'); $departmentID = $request->input('drpDepartments'); // Get all adverts this user can view $adverts = $this->getAllowedAdverts($user, $allowed_departments); // Determine operation if (isset($btnFindAdvert)) { $filtered = collect([]); if ($advertName != null) { // Search by name $filtered = $adverts->filter(function ($item) use($advertName) { if (strpos($item->name, $advertName) != false) { // Match name? return true; } }); } // Search by department if ($filtered->count() == 0) { $filtered = $adverts->filter(function ($item) use($departmentID) { if ($item->department_id == $departmentID) { // Match ID return true; } }); } $adverts = $filtered; } else { if (isset($btnFindAll)) { // Reset search input box $advertName = null; } else { abort(401, 'Un-authorised'); } } $data = array('user' => $user, 'adverts' => $adverts, 'allowed_departments' => $allowed_departments, 'backgrounds' => Background::all()); return view('pages/adverts', $data); }