/**
  * 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'));
 }
Example #3
0
 /**
  * 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);
 }
Example #6
0
 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');
 }
Example #9
0
 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];
 }