/**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $user = Auth::user();
     $this->validate($request, ['title' => 'required']);
     $filter = new Filter();
     $filter->title = $request->title;
     $filter->filterUI = $request->filterUI;
     $filter->filterOptions = '';
     $filter->distribution = $request->distribution;
     $filter->user_id = $user->id;
     $filter->save();
     return response()->json($filter);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->validate($request, ['field' => 'required', 'comparison' => 'required', 'value' => 'required', 'actions' => 'required|array']);
     $input_filter = $request->all();
     $filter = new Filter();
     $filter->field = $input_filter['field'];
     $filter->comparison = $input_filter['comparison'];
     $filter->value = $input_filter['value'];
     $filter->email = $request->user()->email;
     $filter->save();
     foreach ($input_filter["actions"] as $input_action) {
         $action = new FilterAction();
         $action->action = $input_action["action"];
         if (!empty($input_action["argument"])) {
             $action->argument = $input_action["argument"];
         }
         $filter->actions()->save($action);
     }
     return response()->json($filter);
 }
Beispiel #3
0
 public function homecorpSkillFilter()
 {
     if (Auth::check()) {
         $title = 'home';
         $sort_by = " ";
         $sort_by_skill = " ";
         $filter = "";
         $skills = Skills::lists('name', 'name');
         $post_type = Input::get('post_type');
         $save_filter = Input::get('save_filter');
         $skillfilter = Filter::where('from_user', '=', Auth::user()->id)->where('post_type', '=', 'skill')->first();
         if ($save_filter == 'savefilter') {
             if (Auth::user()->identifier == 2 && $post_type == 'skill') {
                 if ($skillfilter != null) {
                     $skillfilter->post_type = Input::get('post_type');
                     $skillfilter->from_user = Auth::user()->id;
                     $skillfilter->posted_by = Input::get('posted_by');
                     $skillfilter->job_title = Input::get('skill_title');
                     $skillfilter->experience = Input::get('min_exp');
                     $skillfilter->experience_new = Input::get('max_exp');
                     if (Input::get('time_for') != null) {
                         $skillfilter->time_for = implode(', ', Input::get('time_for'));
                     }
                     if (Input::get('linked_skill_id') != null) {
                         $skillfilter->linked_skill = implode(', ', Input::get('linked_skill_id'));
                     }
                     if (Input::get('current_location') != null) {
                         $skillfilter->city = implode(', ', Input::get('current_location'));
                     }
                     $skillfilter->unique_id = Input::get('unique_id');
                     $skillfilter->expired = Input::get('expired');
                     $skillfilter->save_filter = Input::get('save_filter');
                     $skillfilter->save();
                 } elseif ($skillfilter == null) {
                     $skillfilter = new Filter();
                     $skillfilter->from_user = Auth::user()->id;
                     $skillfilter->post_type = Input::get('post_type');
                     $skillfilter->job_title = Input::get('skill_title');
                     $skillfilter->experience = Input::get('min_exp');
                     $skillfilter->experience_new = Input::get('max_exp');
                     if (Input::get('time_for') != null) {
                         $skillfilter->time_for = implode(', ', Input::get('time_for'));
                     }
                     if (Input::get('linked_skill_id') != null) {
                         $skillfilter->linked_skill = implode(', ', Input::get('linked_skill_id'));
                     }
                     if (Input::get('current_location') != null) {
                         $skillfilter->city = implode(', ', Input::get('current_location'));
                     }
                     $skillfilter->unique_id = Input::get('unique_id');
                     $skillfilter->expired = Input::get('expired');
                     $skillfilter->save_filter = Input::get('save_filter');
                     $skillfilter->save();
                 }
             }
         }
         $post_title = Input::get('skill_title');
         $city = Input::get('prefered_location');
         $experience = Input::get('min_exp');
         $experience_new = Input::get('max_exp');
         $time_for = Input::get('time_for');
         $skill = Input::get('linked_skill_id');
         if ($post_type == 'skill') {
             $skillPosts = Postjob::orderBy('postjobs.id', 'desc')->with('indUser', 'corpUser', 'postActivity', 'preferLocations')->where('postjobs.post_type', '=', 'skill')->where('postjobs.inactive', '=', 0)->leftjoin('post_preferred_locations', 'post_preferred_locations.post_id', '=', 'postjobs.id');
             if ($post_title != null) {
                 $skillPosts->whereRaw("(post_title like '%" . $post_title . "%' or job_detail like '%" . $post_title . "%' or role like '%" . $post_title . "%' or linked_skill like '%" . $post_title . "%')");
             }
             if ($city != null) {
                 $p_locality = [];
                 $p_city = [];
                 foreach ($city as $loc) {
                     $tempArr = explode('-', $loc);
                     if (count($tempArr) == 3) {
                         array_push($p_locality, $tempArr[0]);
                         array_push($p_city, $tempArr[1]);
                     }
                     if (count($tempArr) == 2) {
                         array_push($p_city, $tempArr[0]);
                     }
                 }
                 $skillPosts->whereIn('post_preferred_locations.city', $p_city);
                 $skillPosts->whereIn('post_preferred_locations.locality', $p_locality);
             }
             if ($time_for != null) {
                 $skillPosts->whereIn('time_for', $time_for);
                 // return $time_for;
             }
             if ($experience != null) {
                 $skillPosts->whereRaw("min_exp between {$experience} and {$experience_new}");
             }
             if ($skill != null) {
                 foreach ($skill as $skil) {
                     $skillPosts->where('linked_skill', 'like', '%' . $skil . '%');
                 }
             }
             $skillPosts = $skillPosts->paginate(15);
         }
         if ($save_filter == 'savefilter') {
             return view('pages.home_corporate', compact('jobPosts', 'skillPosts', 'linksApproval', 'linksPending', 'title', 'links', 'groups', 'following', 'userSkills', 'skills', 'share_links', 'share_groups', 'sort_by', 'sort_by_skill', 'filter', 'skillfilter'))->withErrors(['errors' => 'Filter Save successfully.']);
         } else {
             return view('pages.home_corporate', compact('jobPosts', 'skillPosts', 'linksApproval', 'linksPending', 'title', 'links', 'groups', 'following', 'userSkills', 'skills', 'share_links', 'share_groups', 'sort_by', 'sort_by_skill', 'filter', 'skillfilter'));
         }
     } else {
         return redirect('login');
     }
 }