public function run()
 {
     $faker = Faker::create();
     $agencies = Agency::lists('id');
     foreach (range(1, 50) as $index) {
         $job = Job::create(['agency_id' => $faker->randomElement($agencies), 'title' => $faker->sentence(), 'slug' => $faker->unique()->slug, 'client_id' => $faker->numberBetween(1, 10), 'agent_id' => $faker->numberBetween(21, 40), 'hr_id' => $faker->numberBetween(1, 10), 'is_published' => true, 'about' => $faker->paragraph(), 'salary_range_to' => $faker->numberBetween(4000, 5000), 'salary_range_from' => $faker->numberBetween(1000, 2000), 'mandate_start' => time(), 'mandate_end' => time() + 86400, 'age_range_to' => 18, 'age_range_from' => 35, 'date_of_entry' => $faker->numberBetween(time() - 100000, time() + 100000), 'contract_type_id' => $faker->numberBetween(1, 3)]);
         foreach (range(1, 3) as $index) {
             $job->skills()->attach([$faker->numberBetween(1, 6000) => ['description' => $faker->sentence(), 'level' => $faker->numberBetween(1, 100)]]);
         }
     }
 }
 /**
  * List Candidates
  * @return \Illuminate\Http\JsonResponse
  */
 public function index()
 {
     if (\Input::get('job_id')) {
         $candidates = Job::find(\Input::get('job_id'))->candidates;
         return $this->respondWithCollection($candidates, new CandidateTransformer());
     } else {
         $candidates = Candidate::paginate();
         return $this->respondWithCollection($candidates, new CandidateTransformer());
     }
 }
 public function addcandidates($job_id)
 {
     $user_id = Input::get('user_id');
     $user = User::find($user_id);
     Job::findOrFail($job_id)->candidates()->attach($user);
     return $this->respondWithArray(['success' => true, 'message' => 'candidate added to job']);
 }
Exemple #4
0
 Route::get('jobs/{job_id}/candidates', 'JobsController@candidates');
 Route::post('jobs/{job_id}/candidates', 'JobsController@addcandidates');
 Route::get('jobs/{job_id}/messages', function ($jobId) {
     // if (Auth::user()->id !== $user1 && Auth::user()->id !== $user2) \App::abort(403, 'Unauthorized action.');
     $user1 = Auth::user()->id;
     $user2 = \Motibu\Models\Job::find($jobId)->agent_id;
     $messages = \Motibu\Models\Message::with('sender')->where('job_id', '=', $jobId)->where(function ($query) use($user1, $user2) {
         $query->where('sender_id', '=', $user1)->where('recipient_id', '=', $user2);
     })->orWhere(function ($query) use($user1, $user2) {
         $query->where('recipient_id', '=', $user1)->where('sender_id', '=', $user2);
     })->get();
     return Response::json($messages);
 });
 Route::post('jobs/{job_id}/messages', function ($jobId) {
     $payload = \Input::get('payload');
     $recipientId = \Motibu\Models\Job::find($jobId)->agent_id;
     $success = \Motibu\Models\Message::create(['sender_id' => Auth::user()->id, 'recipient_id' => $recipientId, 'job_id' => $jobId, 'payload' => $payload]);
     if ($success) {
         $wsClient = new Motibu\Services\WebsocketClient();
         $wsClient->connect('127.0.0.1', 8081, '/');
         $payload = json_encode(['type' => 'check_messages', 'userId' => $recipientId]);
         $wsClient->sendData($payload);
     }
     return Response::json(['success' => !!$success]);
 });
 /**
  * Client Routes
  */
 Route::get('clients', 'ClientsController@index');
 Route::post('clients', 'ClientsController@create');
 Route::post('clients/{client_id}/update', 'ClientsController@update');