Example #1
0
 /**
  * Show the form for creating a new resource.
  *
  * @return Response
  */
 public function create()
 {
     if (Session::token() == Input::get('_token')) {
         $response = array('status' => 'fail', 'msg' => 'unauthorized Action');
     }
     try {
         $month = Input::get('qter');
         if ($month <= 3 && $month >= 1) {
             $q = Leave::whereBetween('date', array('2016-01-01', '2016-03-31'))->where('agent_ID', '=', Input::get('agent'))->count();
         } else {
             if ($month <= 4 && $month >= 6) {
                 $q = Leave::whereBetween('date', array('2016-04-01', '2016-06-30'))->where('agent_ID', '=', Input::get('agent'))->count();
             } else {
                 if ($month <= 7 && $month >= 9) {
                     $q = Leave::whereBetween('date', array('2016-07-01', '2016-09-30'))->where('agent_ID', '=', Input::get('agent'))->count();
                 } else {
                     if ($month <= 10 && $month >= 12) {
                         $q = Leave::whereBetween('date', array('2016-10-01', '2016-12-31'))->where('agent_ID', '=', Input::get('agent'))->count();
                     }
                 }
             }
         }
         $fullyBooked = Leave::where('date', '=', Input::get('date'))->count();
         $agent = Leave::where('date', '=', Input::get('date'))->where('agent_ID', '=', Input::get('agent'))->count();
         $monthMax = Leave::where('date', 'like', Input::get('month') . '%')->where('agent_ID', '=', Input::get('agent'))->count();
         $maxLeave = Leave::where('agent_ID', '=', Input::get('agent'))->count();
         if ($fullyBooked >= 1) {
             $response = array('status' => 'Error', 'msg' => 'Sorry!! This day is fully Booked..Please select another day');
         } else {
             if ($agent >= 1) {
                 $response = array('status' => 'Error', 'msg' => 'You have already booked this day!!');
             } else {
                 if ($q >= 5) {
                     $response = array('status' => 'Error', 'msg' => 'You\'re Not allowed to go for more than 5 days leave in three months.. please see your Team lead in case you want an extra leave for this quota');
                 } else {
                     if ($monthMax >= 5) {
                         $response = array('status' => 'Error', 'msg' => 'Sorry! You can only take 5 leave days in a month!!');
                     } else {
                         if ($maxLeave >= 21) {
                             $response = array('status' => 'Error', 'msg' => 'Sorry! You have exhausted your leave days for this Year(21 max allowed)');
                         } else {
                             $leave = new Leave();
                             $leave->date = Input::get('date');
                             $leave->agent_ID = Input::get('agent');
                             $leave->save();
                             $response = array('status' => 'success', 'msg' => 'leave day successfully booked');
                         }
                     }
                 }
             }
         }
     } catch (\Illuminate\Database\Eloquent\MassAssignmentException $e) {
         $response = array('status' => 'Error', 'msg' => 'mass assignment not allowed!!');
     } catch (Illuminate\Database\QueryException $e) {
         $response = array('status' => 'Error', 'msg' => $e);
     }
     return Response::json($response);
 }
 public function store($request, $response)
 {
     $leave = Leave::where('user_id', Auth::user()->id)->first();
     if ($leave) {
         $l = Leave::create(['user_id' => Auth::user()->id, 'leave_remain' => $leave->leave_remain - $request->leave_count, 'leave_times' => $leave->leave_times + 1, 'leave_count' => $leave->count + $request->leave_count, 'title' => $request->title, 'active_token' => false]);
     } else {
         $l = Leave::create(['user_id' => Auth::user()->id, 'leave_remain' => 20 - $request->leave_count, 'leave_times' => 1, 'leave_count' => $request->leave_count, 'title' => $request->title, 'active_token' => false]);
     }
     return $response->redirect('/dashboard/leave/index', $code = 302);
 }
 public function index($request, $response)
 {
     if (Auth::check()) {
         ///$user = User::where('id', Auth::user()->id)->firstOrFail();
         $leaves = Leave::where('user_id', Auth::user()->id)->get();
         return $this->view('dashboard/index', ['leaves' => $leaves]);
     } else {
         return $response->redirect('/login', $code = 302);
     }
 }
Example #4
0
 /**
  * function name : delete
  * edit data Leave
  * get
  */
 public function delete($id)
 {
     if (Auth::check()) {
         $result = Leave::where('leave_type_id', $id)->delete();
         if ($result) {
             return Redirect::to('admin/leaves')->with('success_message', 'ลบข้อมูลเรียบร้อยแล้ว');
         } else {
             return Redirect::to('admin/leaves')->with('error_message', 'ไม่สามารถลบข้อมูลได้ กรุณาแจ้งผู้ดูแลระบบ');
         }
     } else {
         return View::make('users.index');
     }
 }
 public function getRejectedLeaves()
 {
     //Viewing only
     $leaves = Leave::where('status', 'Rejected')->get();
     return View::make('emp.rejected-leaves')->with('leaves', $leaves);
 }