public function set_walker_rating() { if (Request::isMethod('post')) { $comment = Input::get('comment'); $request_id = Input::get('request_id'); $rating = Input::get('rating'); $token = Input::get('token'); $owner_id = Input::get('id'); $validator = Validator::make(array('request_id' => $request_id, 'rating' => $rating, 'token' => $token, 'owner_id' => $owner_id), array('request_id' => 'required|integer', 'rating' => 'required|integer', 'token' => 'required', 'owner_id' => 'required|integer')); if ($validator->fails()) { $error_messages = $validator->messages()->all(); $response_array = array('success' => false, 'error' => 'Invalid Input', 'error_code' => 401, 'error_messages' => $error_messages); $response_code = 200; } else { $is_admin = $this->isAdmin($token); if ($owner_data = $this->getOwnerData($owner_id, $token, $is_admin)) { // check for token validity if (is_token_active($owner_data->token_expiry) || $is_admin) { // Do necessary operations if ($request = Requests::find($request_id)) { if ($request->owner_id == $owner_data->id) { if ($request->is_completed == 1) { if ($request->is_walker_rated == 0) { $walker_review = new WalkerReview(); $walker_review->request_id = $request_id; $walker_review->walker_id = $request->confirmed_walker; $walker_review->rating = $rating; $walker_review->owner_id = $owner_data->id; $walker_review->comment = $comment; $walker_review->save(); $request->is_walker_rated = 1; $request->save(); $response_array = array('success' => true); $response_code = 200; } else { $response_array = array('success' => false, 'error' => 'Already Rated', 'error_code' => 409); $response_code = 200; } } else { $response_array = array('success' => false, 'error' => 'Walk is not completed', 'error_code' => 409); $response_code = 200; } } else { $response_array = array('success' => false, 'error' => 'Walk ID doesnot matches with Dog ID', 'error_code' => 407); $response_code = 200; } } else { $response_array = array('success' => false, 'error' => 'Walk ID Not Found', 'error_code' => 408); $response_code = 200; } } else { $response_array = array('success' => false, 'error' => 'Token Expired', 'error_code' => 405); $response_code = 200; } } else { if ($is_admin) { $response_array = array('success' => false, 'error' => 'Owner ID not Found', 'error_code' => 410); } else { $response_array = array('success' => false, 'error' => 'Not a valid token', 'error_code' => 406); } $response_code = 200; } } } $response = Response::json($response_array, $response_code); return $response; }
public function saveUserReview() { $request_id = Input::get('request_id'); $owner_id = Session::get('user_id'); $request = Requests::where('id', $request_id)->where('owner_id', $owner_id)->first(); if ($request) { $review_walker = new WalkerReview(); $review_walker->walker_id = $request->confirmed_walker; $review_walker->comment = Input::get('review'); $review_walker->rating = Input::get('rating'); $review_walker->owner_id = $owner_id; $review_walker->request_id = $request->id; $review_walker->save(); $request->is_walker_rated = 1; $request->save(); } $message = "You has successfully rated the driver."; $type = "success"; return Redirect::to('/user/trips')->with('message', $message)->with('type', $type); }
public function saveUserReview() { $request_id = Input::get('request_id'); $owner_id = Session::get('user_id'); $status = Session::get('status'); $request = Requests::where('id', $request_id)->where('owner_id', $owner_id)->first(); $rating = 0; if (Input::has('rating')) { $rating = Input::get('rating'); } if ($request) { $review_walker = new WalkerReview(); $review_walker->walker_id = $request->confirmed_walker; $review_walker->comment = Input::get('review'); $review_walker->rating = $rating; $review_walker->owner_id = $owner_id; $review_walker->request_id = $request->id; $review_walker->save(); if ($rating) { if ($walker = Walker::find($request->confirmed_walker)) { $old_rate = $walker->rate; $old_rate_count = $walker->rate_count; $new_rate_counter = $walker->rate_count + 1; $new_rate = ($walker->rate * $walker->rate_count + $rating) / $new_rate_counter; $walker->rate_count = $new_rate_counter; $walker->rate = $new_rate; $walker->save(); } } $request->is_walker_rated = 1; $request->save(); Session::forget('status'); Session::put('status', 6); } $message = "You has successfully rated the driver."; $type = "success"; return Redirect::to('/user/trips')->with('message', $message)->with('type', $type); }