/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $experiences = Experience::where('member_id', $request->input('0.member_id'))->delete(); for ($i = 0; $i < count($request->all()); $i++) { if ($request->input($i . '.project')) { $this->validate($request, [$i . '.member_id' => 'required|numeric', $i . '.date_started' => 'required']); $experience = new Experience(); $experience->member_id = $request->input($i . '.member_id'); $experience->project_id = $request->input($i . '.project.id'); $experience->date_started = Carbon::parse($request->input($i . '.date_started')); $tenure = Carbon::today()->diffInMonths(Carbon::parse($request->input($i . '.date_started'))); $experience->experience = $tenure < 3 ? 'Beginner' : ($tenure >= 3 && $tenure < 6 ? 'Moderately Experienced' : 'Experienced'); $experience->save(); } } }
public function delete(Request $request) { if (!ACL::hasPermission('experience', 'delete')) { return redirect(route('experience'))->withErrors(['You don\'t have permission for delete the experience.']); } Experience::find($request->get('experienceId'))->delete(); $success = "Experience deleted successfully."; return redirect(route('experience'))->with(compact('success')); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(Request $request) { $all = $request->all(); $isSaved = Experience::create($all); if (!$isSaved) { return \Redirect::back()->withErrors(['Has not been saved']); } return \Redirect::to('/admin/experience/create'); }
public function index() { $websiteSettings = \App\Exceptions\Handler::readFile("websiteSettings.json"); $aboutMe = AboutMe::orderBy('sortorder', 'asc')->get(); $experiences = Experience::orderBy('dateStart', 'desc')->get(); $skills = Skills::orderBy('sortorder', 'asc')->get(); $languages = Language::orderBy('sortorder', 'asc')->get(); //foreach($languages as $language): //dd($language->writeName); //endforeach; return view('website.aboutme')->with(compact('websiteSettings', 'aboutMe', 'experiences', 'skills', 'languages')); }
public function checkLimitAll(Request $request) { $experiences = array(); for ($i = 0; $i < count($request->all()); $i++) { $date_start = $request->input($i . '.date_start'); $date_end = $request->input($i . '.date_end'); // fetch all records with the same report details $performance = Performance::where('date_start', $date_start)->whereBetween('date_end', [$date_start, $date_end])->where('daily_work_hours', 'like', $request->input($i . '.daily_work_hours') . '%')->where('member_id', $request->input($i . '.member_id'))->orderBy('created_at', 'desc')->get(); $hours_worked = 0; // iterate every record to check the total of hours worked by the employee foreach ($performance as $key => $value) { $hours_worked += $value->hours_worked; } $limit = $request->input($i . '.weekly_hours') - $hours_worked; $experience = Experience::with('member')->where('member_id', $request->input($i . '.member_id'))->where('project_id', $request->input($i . '.project_id'))->first(); $experience->limit = round($limit, 1); $experience->position_id = $request->input($i . '.position_id'); $experience->target_id = $request->input($i . '.target_id'); array_push($experiences, $experience); } return response()->json($experiences); }
public function showCv() { $experience = Experience::orderBy('start_date', 'desc')->get(); return view('home.showCv', compact('experience')); }
/** * Store a newly created resource in storage. * * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ public function store(ApplicantFormRequest $request) { try { DB::beginTransaction(); $applicant = new Applicant(); $applicant->fill($request->only('name', 'email', 'phone', 'address', 'gender', 'date_of_birth', 'id_type', 'id_number', 'marital_status', 'english_translation', 'bangla_translation')); if ($request->hasFile('photo')) { $extension = $request->file('photo')->getClientOriginalExtension(); $photoName = $request->input('email') . time() . '.' . $extension; $request->file('photo')->move('uploads/photos/', $photoName); $applicant->photo = $photoName; } if ($request->hasFile('recommendation_letter')) { $extension = $request->file('recommendation_letter')->getClientOriginalExtension(); $fileName = $request->input('email') . time() . '.' . $extension; $request->file('recommendation_letter')->move('uploads/letters/', $fileName); $applicant->recommendation_letter = $fileName; } $applicant->save(); # Qualification Entry $degrees = $request->input('degree'); $institutes = $request->input('institute'); $results = $request->input('result'); $passing_years = $request->input('passing_year'); if (count($degrees) > 0) { foreach ($degrees as $degree) { $index = array_search($degree, $degrees); $qualification = new Qualification(); $qualification->degree = $degrees[$index]; $qualification->institute = $institutes[$index]; $qualification->result = $results[$index]; $qualification->passing_year = $passing_years[$index]; $qualification->applicant_id = $applicant->id; $qualification->save(); } } # Employments Entry $designations = $request->input('designation'); $organizations = $request->input('organization'); $froms = $request->input('from'); $tos = $request->input('to'); if (count($designations) > 0) { foreach ($designations as $designation) { $index = array_search($designation, $designations); $experience = new Experience(); $experience->designation = $designations[$index]; $experience->organization = $organizations[$index]; $experience->from = $froms[$index]; $experience->to = $tos[$index]; $experience->applicant_id = $applicant->id; $experience->save(); } } DB::commit(); //return view('application.index')->with('message', 'You have successfully submitted your resume!!'); return redirect('/response')->with('message', 'Application submission successful'); } catch (\Exception $e) { DB::rollback(); dd($e->getMessage()); } }
public function downloadWeeklyDepartment($department_id, $date_start, $date_end, $daily_work_hours) { $user = Auth::user(); if ($user->department_id != $department_id || !$user) { abort(403); } $this->projects = DB::table('projects')->where('department_id', $department_id)->whereNull('deleted_at')->get(); foreach ($this->projects as $project_key => $project) { $project->reports = Report::with(['performances' => function ($query) { $query->with(['member' => function ($query) { $query->withTrashed(); }])->with('position'); }])->with(['project' => function ($query) { $query->with('positions'); }])->where('project_id', $project->id)->where('date_start', Carbon::parse($date_start))->where('date_end', Carbon::parse($date_end))->where('daily_work_hours', 'like', $daily_work_hours . '%')->orderBy('date_start', 'desc')->get(); if (count($project->reports)) { $project->department = DB::table('departments')->where('id', $department_id)->first(); $project->department->beginner = array(); $project->department->moderately_experienced = array(); $project->department->experienced = array(); $project->department->quality = array(); foreach ($project->reports[0]->project->positions as $position_key => $position) { // Beginner $previous_beginner_target = Target::withTrashed()->where('position_id', $position->id)->where('experience', 'Beginner')->where('created_at', '<', $project->reports[0]->date_start)->orderBy('created_at', 'desc')->first(); $beginner_productivity = count($previous_beginner_target) ? $previous_beginner_target : Target::where('position_id', $position->id)->where('experience', 'Beginner')->first(); // Moderately Experienced $previous_moderately_experienced_target = Target::withTrashed()->where('position_id', $position->id)->where('experience', 'Moderately Experienced')->where('created_at', '<', $project->reports[0]->date_start)->orderBy('created_at', 'desc')->first(); $moderately_experienced_productivity = count($previous_moderately_experienced_target) ? $previous_moderately_experienced_target : Target::where('position_id', $position->id)->where('experience', 'Moderately Experienced')->first(); // Experienced $previous_experienced_target = Target::withTrashed()->where('position_id', $position->id)->where('experience', 'Experienced')->where('created_at', '<', $project->reports[0]->date_start)->orderBy('created_at', 'desc')->first(); $experienced_productivity = count($previous_experienced_target) ? $previous_experienced_target : Target::where('position_id', $position->id)->where('experience', 'Experienced')->first(); // Quality $previous_experienced_target = Target::withTrashed()->where('position_id', $position->id)->where('experience', 'Experienced')->where('created_at', '<', $project->reports[0]->date_start)->orderBy('created_at', 'desc')->first(); $quality = count($previous_experienced_target) ? $previous_experienced_target : Target::where('position_id', $position->id)->where('experience', 'Experienced')->first(); array_push($project->department->beginner, $beginner_productivity); array_push($project->department->moderately_experienced, $moderately_experienced_productivity); array_push($project->department->experienced, $experienced_productivity); array_push($project->department->quality, $quality); } foreach ($project->reports as $report_key => $report) { foreach ($report->performances as $performance_key => $performance) { $performance->experience = Experience::where('member_id', $performance->member_id)->where('project_id', $performance->project_id)->first()->experience; } } } } // return response()->json('$this->projects'); Excel::create('PQR ' . $this->projects[0]->department->name . ' Weekly Summary ' . Carbon::parse($date_start)->toFormattedDateString() . ' to ' . Carbon::parse($date_end)->toFormattedDateString(), function ($excel) { foreach ($this->projects as $project_key => $project) { $this->project = $project; if (count($this->project->reports)) { $excel->sheet($this->project->name, function ($sheet) { $sheet->loadView('excel.weekly')->with('project', $this->project); }); } } })->download('xls'); }
public function likeExperience(Request $request) { $user = Auth::user(); $id = $request->input('id'); $value = $request->input('type'); $experience = Experience::find($id); $isLiked = $experience->likedany($user->id); if (!$isLiked) { if ($value == 1) { $experience->like($user->id); $isLiked = 1; } elseif ($value == -1) { $experience->dislike($user->id); $isLiked = -1; } } elseif ($isLiked == $value) { $experience->unlike($user->id); $isLiked = 0; } elseif ($isLiked != $value) { $experience->revertlike($user->id); if ($isLiked == 1) { $isLiked = -1; } elseif ($isLiked == -1) { $isLiked = 1; } } return ['num_like' => $experience->num_like, 'num_dislike' => $experience->num_dislike, 'is_liked' => $isLiked]; }