Code Coverage
 
Classes and Traits
Functions and Methods
Lines
Total
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 8
CRAP
0.00% covered (danger)
0.00%
0 / 92
HolidayController
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 8
306
0.00% covered (danger)
0.00%
0 / 92
 index
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 6
 holidaylistdata
0.00% covered (danger)
0.00%
0 / 1
90
0.00% covered (danger)
0.00%
0 / 41
 create
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 6
 store
0.00% covered (danger)
0.00%
0 / 1
6
0.00% covered (danger)
0.00%
0 / 11
 show
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 1
 edit
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 9
 update
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 15
 destroy
0.00% covered (danger)
0.00%
0 / 1
2
0.00% covered (danger)
0.00%
0 / 3
<?php
namespace App\Http\Controllers\Admin;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Models\Admin\Holiday;
use Illuminate\Support\Facades\Validator;
use Session;
use Carbon\Carbon;
use App\Helpers\AttendanceHelper;
class HolidayController extends Controller
{
    /**
     * Display a listing of the resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function index(Request $request)
    {
        $title = '/Setup/Holidays';
        $backurl = route('home');
        // For Attendance Marking
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        return view('administrationForms.Holiday.HolidayTable', compact('title','backurl','val','valTeam','valUser'));
    }
    public function holidaylistdata(Request $request)
    {
        $column_key = array("0"=>"holiday","1"=>"date","2" =>"");
        $where_condition = "1 = 1";
        $order_key              =   $request->input('order')[0]['column'];
        $order                  =   $column_key[$order_key];
        $dir                    =   $request->input('order')[0]['dir'];
        if(trim($dir)==''){
            $dir = 'desc';
        }
        if ($order != '') {
            $orderBy = " ORDER BY ".$order." ".$dir;
        }
        if(null !==($request->input('search.value')) && trim($request->input('search.value'))!=''){
            $search = $request->input('search.value');
            $where_condition .= " AND (holiday Like '%$search%' OR date Like '%$search%')";
        }
        $count_model = Holiday::whereRaw($where_condition)->count();
        $total_app_count        =   $count_model;
        $totalFiltered          =   $count_model;
        $data_model = Holiday::whereRaw($where_condition)
              ->orderBy($order , $dir)
              ->offset( intval($request->input('start')))->limit(intval($request->input('length')))
              ->get();
        $data = array();
        if(count($data_model)>0){
            foreach($data_model as $database_model){
                $nestedData['name'] = $database_model->holiday;
                $date = Carbon::parse($database_model->date)->format(config('settings.php_date_format'));
                $nestedData['date'] = $date;
                $nestedData['action'] = '-';
                $edit_link = '';
                if(auth()->user()->can('Edit Holidays (Master List) module'))
                {
                    $edit_route =  route('holiday.edit',$database_model->id);
                    $edit_link = '<a href="'.$edit_route.'" data-original-title="Edit"> <i class="icon-pencil7" title="edit" style="color:#3699FF !important;"></i> </a>';
                    $nestedData['action'] = $edit_link;
                }
                if(auth()->user()->can('Delete Holidays (Master List) module'))
                {
                     $delete_route = route('deleteholiday',$database_model->id);
                     $delete_link = '<a href="' . $delete_route . '" onclick="return confirm(\'Are you sure, you want to delete this Holiday?\');" title="Delete" data-original-title="Delete" style="padding-left: 5px;"> <i class="icon-bin" style="color:#dc3545 !important;"></i> </a>';
                     $nestedData['action'] = $edit_link.'&nbsp;'.$delete_link;
                }
                $data[] = $nestedData;
            }
        }
       $json_data = array(
        "draw"            => intval( $request->input('draw')),
        "recordsTotal"    => intval( $total_app_count ),
        "recordsFiltered" => intval($total_app_count ),
        "data"            => $data,   // total data array
      );
      echo json_encode($json_data);exit;
    }
    /**
     * Show the form for creating a new resource.
     *
     * @return \Illuminate\Http\Response
     */
    public function create(Request $request)
    {
        $title = '/Setup/Create Holiday';
        $backurl = route('holiday.index');
        // For Attendance Marking
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        return view('administrationForms.Holiday.HolidayForm',compact('title','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(), [
            'date' => 'required|unique:holidays',
        ]);
        if ($validator->fails())
        {
            return redirect()->route('holiday.create')->withErrors($validator);
        }
        else
        {
            $date = Carbon::parse(Carbon::createFromFormat( config('settings.php_date_format') , $request->date ) );
            // $date = $date->format(config('settings.php_date_format'));
            $reqeust['date']= $date;
            Holiday::create([
                'holiday' => $request->holiday,
                'date' => $reqeust['date']
            ]);
            Session::flash('success', 'Holidays Added Successfully!');
            return redirect()->route('holiday.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';
        $holidays = Holiday::find($id);
        $backurl = route('holiday.index');
        Session::flash('warning', 'Edit Holiday');
        // For Attendance Marking
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        return view('administrationForms.Holiday.HolidayForm', compact('holidays','title','backurl',
                    'val','valTeam','valUser'))->with('holiday',Holiday::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,[
             'date'  => 'required|unique:holidays,date,' . $id,
             'holiday' => 'required',
        ]);
        $holidays = Holiday::find($id);
        $date = Carbon::parse( Carbon::createFromFormat( config('settings.php_date_format') , $request->date ) );
        //$date = $date->format(config('settings.php_date_format'));
        $reqeust['date']= $date;
        $holidays->update(['holiday'=>$request->holiday,'date'=>$date]);
        Session::flash('success', 'Holidays Updated Successfully!');
        // For Attendance Marking
        $val = AttendanceHelper::getAttendanceMarkValue();
        $valTeam = AttendanceHelper::getAttendanceTeam($request);
        $valUser = AttendanceHelper::getAttendanceUser($request);
        return redirect()->route('holiday.index')->with([
            'val' => $val,
            'valTeam' => $valTeam,
            'valUser' => $valUser,
        ]);}
    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return \Illuminate\Http\Response
     */
    public function destroy($id)
    {
        $holiday = Holiday::find($id);
        $holiday->delete();
        return redirect()->route('holiday.index')->with('success','Holiday Deleted Successfully');
    }
}