/**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Attendance::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'train_id' => $this->train_id, 'user_id' => $this->user_id, 'day' => $this->day, 'status' => $this->status]);
     return $dataProvider;
 }
Esempio n. 2
0
 /**
  * Creates data provider instance with search query applied
  *
  * @param array $params
  *
  * @return ActiveDataProvider
  */
 public function search($params)
 {
     $query = Attendance::find();
     $dataProvider = new ActiveDataProvider(['query' => $query]);
     $this->load($params);
     if (!$this->validate()) {
         // uncomment the following line if you do not want to return any records when validation fails
         // $query->where('0=1');
         return $dataProvider;
     }
     $query->andFilterWhere(['id' => $this->id, 'present' => $this->present, 'Student_Module_id' => $this->Student_Module_id, 'date' => $this->date]);
     $query->andFilterWhere(['like', 'notes', $this->notes]);
     return $dataProvider;
 }
Esempio n. 3
0
 /**
  * Get the post register / login redirect path.
  *
  * @return string
  */
 public function redirectPath()
 {
     switch (\Auth::user()->role_id) {
         case '4':
             return '/admin';
             break;
         case '3':
             return '/promoter';
             break;
         case '2':
             //aqui agregamos una entrada a la asistencia
             $dateToday = new Carbon();
             $dateToday = $dateToday->toDateString();
             $dateTimeToday = new Carbon();
             $id = Auth::user()->id;
             $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get();
             if ($Attendance->count() == 0) {
                 // si no lo encuentro creo la fecha
                 $assitance = new Attendance();
                 $assitance->datetime = $dateToday;
                 $assitance->salesman_id = $id;
                 $assitance->datetimestart = $dateTimeToday;
                 $assitance->save();
                 // sleep(0.1);
             } else {
                 // si lo encuentro actualizo la fecha de finalizacion de sesion a null
                 $assitance = Attendance::find($Attendance[0]->id);
                 $assitance->datetimeend = NULL;
                 $assitance->save();
             }
             ////////////////////////////////////////////////////////////////////////////////////////////////////////
             //ahora creo el detalle de la asistencia. esto es si o si
             ////////////////////////////////////////////////////////////////////////////////////////////////////////
             $assitancedetail = new AttendanceDetail();
             $assitancedetail->datetime = $dateTimeToday;
             $assitancedetail->tipo = Config::get('constants.in');
             // ya que se trata de un ingreso
             $id = Auth::user()->id;
             $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get();
             $assitancedetail->attendance_id = $Attendance[0]->id;
             $assitancedetail->save();
             //tambien agregamos una salida
             $assitancedetail = new AttendanceDetail();
             $assitancedetail->tipo = 2;
             // ya que se trata de un ingreso
             $id = Auth::user()->id;
             $Attendance = Attendance::where('datetime', $dateToday)->where('salesman_id', $id)->get();
             $assitancedetail->attendance_id = $Attendance[0]->id;
             $assitancedetail->datetime = NULL;
             $assitancedetail->save();
             return '/salesman';
             break;
         case '1':
             return '/client/home';
             break;
         default:
             return '/';
             break;
     }
 }
 public function attendanceUpdate(AttendanceUpdate $request, $idAttendanceDetail)
 {
     $input = $request->all();
     $attendanceDetail = AttendanceDetail::find($idAttendanceDetail);
     $attendanceDetail->datetime = Carbon::parse($input['horaFin']);
     $attendanceDetail->save();
     $Attendance = Attendance::find($attendanceDetail->attendance_id);
     $Attendance->datetimeend = Carbon::parse($input['horaFin']);
     $salesman = User::find($Attendance->salesman_id);
     $detailsAttendances = AttendanceDetail::where('attendance_id', $attendanceDetail->attendance_id)->get();
     $index = 0;
     $Attendance->save();
     return view('internal.admin.attendanceDetail ', compact('detailsAttendances', 'index', 'salesman', 'Attendance'));
 }
 public function actionPie()
 {
     $dataProvider = new ActiveDataProvider(['query' => Attendance::find()->where(['present' => '1'])->all(), 'pagination' => false]);
     return $this->render('pie', ['dataProvider' => $dataProvider]);
 }