/** * Returns true / false if the specified * work order has an open session by the * specified user. * * @param $attribute * @param $workOrderId * @param $parameters * * @return bool */ public function validateSessionStart($attribute, $workOrderId, $parameters) { $sessions = $this->session->where('work_order_id', $workOrderId)->where('user_id', $this->sentry->getCurrentUserId())->latest(); $lastSession = $sessions->first(); if ($lastSession && $lastSession->out === null) { return false; } return true; }
/** * Returns true / false if the specified * work order session has already ended. * * @param $attribute * @param $workOrderId * @param $parameters * * @return bool */ public function validateSessionEnd($attribute, $workOrderId, $parameters) { $sessionId = Route::getCurrentRoute()->getParameter('sessions'); if ($sessionId) { $session = $this->session->find($sessionId); if (!is_null($session->out)) { return false; } } return true; }