Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
| Total | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
CRAP | |
0.00% |
0 / 68 |
| HolidayListController | |
0.00% |
0 / 1 |
|
0.00% |
0 / 7 |
272 | |
0.00% |
0 / 68 |
| index | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 7 |
|||
| create | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 10 |
|||
| store | |
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 20 |
|||
| show | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 1 |
|||
| edit | |
0.00% |
0 / 1 |
6 | |
0.00% |
0 / 13 |
|||
| update | |
0.00% |
0 / 1 |
30 | |
0.00% |
0 / 14 |
|||
| destroy | |
0.00% |
0 / 1 |
2 | |
0.00% |
0 / 3 |
|||
| <?php | |
| namespace App\Http\Controllers\Admin; | |
| use Illuminate\Http\Request; | |
| use App\Http\Controllers\Controller; | |
| use App\Models\Admin\HolidayList; | |
| use App\Models\Admin\Holiday; | |
| use Illuminate\Support\Facades\Validator; | |
| use Session; | |
| use Carbon\Carbon; | |
| use App\Helpers\AttendanceHelper; | |
| class HolidayListController extends Controller | |
| { | |
| /** | |
| * Display a listing of the resource. | |
| * | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function index(Request $request) | |
| { | |
| $title = '/Setup/Holiday Lists'; | |
| $backurl = route('home'); | |
| // For Attendance Marking | |
| $val = AttendanceHelper::getAttendanceMarkValue(); | |
| $valTeam = AttendanceHelper::getAttendanceTeam($request); | |
| $valUser = AttendanceHelper::getAttendanceUser($request); | |
| return view('administrationForms.HolidayList.HolidayListTable', compact('title','backurl','val', | |
| 'valTeam','valUser'))->with('holiday_lists', HolidayList::all()); | |
| } | |
| /** | |
| * Show the form for creating a new resource. | |
| * | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function create(Request $request) { | |
| $title = '/Setup/Create Holiday List'; | |
| $backurl = route('holiday-list.index'); | |
| $todayYear = Carbon::now(); | |
| $holidays = Holiday::whereYear( 'date', $todayYear)->orderBy('date')->get(); | |
| $attachedHolidays=[]; | |
| // For Attendance Marking | |
| $val = AttendanceHelper::getAttendanceMarkValue(); | |
| $valTeam = AttendanceHelper::getAttendanceTeam($request); | |
| $valUser = AttendanceHelper::getAttendanceUser($request); | |
| return view('administrationForms.HolidayList.HolidayListForm',compact('title','holidays', 'attachedHolidays', | |
| 'backurl','val','valTeam','valUser')); | |
| } | |
| /** | |
| * Store a newly created resource in storage. | |
| * | |
| * @param \Illuminate\Http\Request $request | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function store(Request $request) | |
| { | |
| $validator = Validator::make($request->all(), [ | |
| 'name' => 'required|unique:holiday_lists', | |
| ]); | |
| $count = HolidayList::where('is_default','=','1')->count(); | |
| if($count < 1) | |
| { | |
| $request->is_default = '1'; | |
| } | |
| if ($validator->fails()) | |
| { | |
| return redirect()->route('holiday-list.create')->withErrors($validator); | |
| } | |
| else | |
| { | |
| if($request->is_default == '1') | |
| { | |
| HolidayList::where('is_default','=',1) | |
| ->update(['is_default'=>0]); | |
| } | |
| //check if is default is null | |
| if($request->is_default == null){ | |
| $is_default = 0; | |
| }else{ | |
| $is_default = $request->is_default; | |
| } | |
| $holidayList = HolidayList::create([ | |
| 'name' => $request->name, | |
| 'is_default' => $is_default | |
| ]); | |
| $holidays = $request->holidays; | |
| $holidayList->holidays()->sync($holidays); | |
| Session::flash('success', 'Holiday Lists added successfully!'); | |
| return redirect()->route('holiday-list.index'); | |
| } | |
| } | |
| /** | |
| * Display the specified resource. | |
| * | |
| * @param int $id | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function show($id) | |
| { | |
| // | |
| } | |
| /** | |
| * Show the form for editing the specified resource. | |
| * | |
| * @param int $id | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function edit(Request $request,$id) | |
| { | |
| $title = '/Setup/Edit Holiday Lists'; | |
| $backurl = route('holiday-list.index'); | |
| $holidayList = HolidayList::where('id', $id)->with('holidays')->first(); | |
| // return $holidayList; | |
| $todayYear = Carbon::now(); | |
| $holidays = Holiday::whereYear( 'date', $todayYear)->orderBy('date')->get(); | |
| // get already attached Holidays | |
| $attachedHolidays = []; | |
| foreach ($holidayList->holidays as $value) | |
| { | |
| $attachedHolidays[] = $value->id; | |
| } | |
| // For Attendance Marking | |
| $val = AttendanceHelper::getAttendanceMarkValue(); | |
| $valTeam = AttendanceHelper::getAttendanceTeam($request); | |
| $valUser = AttendanceHelper::getAttendanceUser($request); | |
| // Session::flash('warning', 'Edit Holiday Lists'); | |
| return view('administrationForms.HolidayList.HolidayListForm', compact('title', 'holidayList', 'holidays', | |
| 'attachedHolidays','backurl','val','valTeam','valUser'))->with('holidayList',HolidayList::find($id)); | |
| } | |
| /** | |
| * Update the specified resource in storage. | |
| * | |
| * @param \Illuminate\Http\Request $request | |
| * @param int $id | |
| * @return \Illuminate\Http\Response | |
| */ | |
| // public function update(Request $request, $id) | |
| // { | |
| // $this->validate($request,[ | |
| // 'name' => 'required|unique:holiday_lists,name,' . $id | |
| // ]); | |
| // $count = HolidayList::where('is_default','=','1')->count(); | |
| // if($count <= 1) | |
| // { | |
| // $request->is_default = '1'; | |
| // } | |
| // if($request->is_default == '1') | |
| // { | |
| // HolidayList::where('is_default','=',1) | |
| // ->update(['is_default'=>0]); | |
| // $is_default = 1; | |
| // }else{ | |
| // $is_default = 0; | |
| // } | |
| // $holidayList = HolidayList::find($id); | |
| // $holidayList->update(['name'=>$request->name, 'is_default'=> $is_default]); | |
| // $holidays = $request->holidays; | |
| // // just sync those. | |
| // $holidayList->holidays()->sync($holidays); | |
| // Session::flash('success', 'Holiday List Updated Successfully!'); | |
| // return redirect()->route('holiday-list.index')->withErrors($this); | |
| // } | |
| public function update(Request $request, $id) | |
| { | |
| $this->validate($request, [ | |
| 'name' => 'required|unique:holiday_lists,name,' . $id | |
| ]); | |
| $count = HolidayList::where('is_default', '=', '1')->count(); | |
| // Check if is_default is manually set in the request | |
| $is_default = $request->has('is_default') ? $request->is_default : 0; | |
| // If there's only one default or none, allow setting is_default manually | |
| if ($count <= 1 || $is_default) { | |
| if ($is_default) { | |
| // If manually set as default, update other default holiday lists | |
| HolidayList::where('is_default', '=', 1)->update(['is_default' => 0]); | |
| } | |
| } else { | |
| // If there's more than one default and is_default is not manually set, don't change it | |
| $is_default = 0; | |
| } | |
| $holidayList = HolidayList::find($id); | |
| $holidayList->update(['name' => $request->name, 'is_default' => $is_default]); | |
| $holidays = $request->holidays; | |
| // Just sync those. | |
| $holidayList->holidays()->sync($holidays); | |
| Session::flash('success', 'Holiday List Updated Successfully!'); | |
| return redirect()->route('holiday-list.index')->withErrors($this); | |
| } | |
| /** | |
| * Remove the specified resource from storage. | |
| * | |
| * @param int $id | |
| * @return \Illuminate\Http\Response | |
| */ | |
| public function destroy($id) | |
| { | |
| $holidayList = HolidayList::find($id); | |
| $holidayList->delete(); | |
| return redirect()->route('holiday-list.index')->with('success','Holiday List Deleted Successfully'); | |
| } | |
| } |