holidayRepository = $holidayRepository; $this->middleware('maintenance_mode'); $this->middleware('prohibited_demo_mode')->only('store'); } public function index() { $holidays = $this->holidayRepository->year(null); return view('attendance::holiday_setup.index',compact('holidays')); } public function create() { return view('attendance::create'); } public function store(Request $request) { session()->put('holidays',$request->except('_token')); $request->validate([ 'holiday_name' => 'required', 'type' => 'required', 'date' => 'required_if:type,==,0', 'start_date' => 'required_if:type,==,1', 'end_date' => 'required_if:type,==,1', ]); DB::beginTransaction(); $this->holidayRepository->create($request->except('_token')); try { DB::commit(); session()->forget('holidays'); LogActivity::successLog(__('hr.holiday_saved_successfully')); Toastr::success(__('hr.holiday_saved_successfully'), __('common.success')); return back(); } catch (\Exception $e) { DB::rollBack(); LogActivity::errorLog($e->getMessage()); Toastr::error(__('common.error_message'), __('common.error')); return back(); } } public function show($id) { return view('attendance::show'); } public function edit($id) { return view('attendance::edit'); } public function addRow(Request $request) { $year = $request->year ?? null; $holidays = $this->holidayRepository->year($year); if ($year) return view('attendance::holiday_setup.row',compact('year','holidays')); else return view('attendance::holiday_setup.row',compact('year','holidays')); } public function getLastYearData($year) { DB::beginTransaction(); try { $holidays = $this->holidayRepository->copyYear($year); if($holidays == 1){ session()->forget('holidays'); DB::commit(); Toastr::success(__('hr.holiday_saved_successfully'), __('common.success')); return back(); } Toastr::warning(Carbon::create($year)->subYears(1)->year.' '.__('hr.year_holiday_not_found'), __('common.warning')); return back(); } catch (\Exception $e) { DB::rollBack(); LogActivity::errorLog($e->getMessage()); Toastr::error(__('common.error_message'), __('common.error')); return back(); } } }