performer = get_current_session(); if($this->performer && $this->performer->pro) { $this->pro = $this->performer->pro; view()->share('pro', $this->performer->pro); } view()->share('performer', $this->performer); $this->pros = []; /*$this->pros = Pro::all(); if($this->pro && $this->pro->pro_type != 'ADMIN'){ $accessiblePros = ProProAccess::where('owner_pro_id', $this->pro->id); $accessibleProIds = []; foreach($accessiblePros as $accessiblePro){ $accessibleProIds[] = $accessiblePro->id; } $accessibleProIds[] = $this->pro->id; $this->pros = Pro::whereIn('id', $accessibleProIds)->get(); }*/ view()->share('pros',$this->pros); // view()->share('notes', Note::all()); // $noteTemplates = NoteTemplate::all(); // view()->share('noteTemplates', $noteTemplates); $initiatives = ['LHI', 'BHI']; view()->share('intiatives', $initiatives); $rmCodes = ['RMB','RM20', 'RM40','RM60']; view()->share('rmCodes', $rmCodes); } public function performer(){ $sessionKey = Cookie::get('sessionKey'); if ($sessionKey == null){ throw new \Exception('No session key in cookie.'); } $performer = AppSession::where('session_key', $sessionKey)->first(); return $performer; } public function getMyClientIds(){ if($this->pro == null){ return []; } return $this->pro->getMyClientIds(); } public function pass($data = null): array { return [ 'success' => true, 'data' => $data, ]; } public function fail($message): array { return [ 'success' => false, 'message' => $message ]; } public function filterMultiQuery(Request $request, $query, $columnName, $keyName, $valueName1, $valueName2, $onlyDate = true) { switch($request->input($keyName)) { case 'EXACTLY': if($request->input($valueName1)) { if($onlyDate){ $query->whereDate($columnName, $request->input($valueName1)); }else{ $query->where($columnName, $request->input($valueName1)); } } break; case 'LESS_THAN': if($request->input($valueName1)) { $query->where($columnName, '<', $request->input($valueName1)); } break; case 'GREATER_THAN': if($request->input($valueName1)) { $query->where($columnName, '>', $request->input($valueName1)); } break; case 'BETWEEN': if($request->input($valueName1) && $request->input($valueName2)) { $query ->where($columnName, '>=', $request->input($valueName1)) ->where($columnName, '<=', $request->input($valueName2)); } break; case 'NOT_BETWEEN': if($request->input($valueName1) && $request->input($valueName2)) { $query ->where(function ($q) use ($request, $columnName, $valueName1, $valueName2) { $q->where($columnName, '<', $request->input($valueName1)) ->orWhere($columnName, '>', $request->input($valueName2)); }); } break; } } public function filterSimpleQuery(Request $request, $query, $columnName, $valueName) { if($request->input($valueName)) { $query->where($columnName, $request->input($valueName)); } } }