/** * Request job from seeker to freelancer * * @return Response */ public function requestJob() { $job_id = Input::get('job_id'); $seeker_id = Input::get('seeker_id'); $message = Input::get('message'); if (JobRequest::find($job_id, $seeker_id) == null) { if (Job::find($job_id)->freelancer_info_id != $seeker_id) { // create job_request instances $newJobRequest = new JobRequest(); $newJobRequest->job_id = $job_id; $newJobRequest->seeker_id = $seeker_id; $newJobRequest->save(); // send message from seeker to freelancer $logged_user_id = Auth::user()->id; if ($message != '') { $freelancer_info_id = Job::find($job_id)->freelancer_info_id; $job_owner_user_id = $freelancer_info_id; $new_message = new Message(); $new_message->sender_user_id = $logged_user_id; $new_message->receiver_user_id = $job_owner_user_id; $new_message->message_content = $message; $new_message->save(); } // add notification to the freelacer $freelancer_id = User::find(FreelancerInfo::find(Job::find($job_id)->freelancer_info_id)->user_info_id)->id; $seeker_name = User::find($seeker_id)->name; $job_name = Job::find($job_id)->judul; $notification = new Notification(); $notification->user_id = $freelancer_id; $notification->notif = "Anda mendapat tawaran job dari " . $seeker_name . " untuk job " . $job_name; $notification->type = 1; $notification->save(); } else { // if the seeker is the owner itself! } } else { // seeker already requested this job // mungkin mau nambah session info disini } return Redirect::to('job/' . $job_id); // need revise into calling JobPageController controller to be more scalable }