Example #1
0
 public function scopeGetTotalCalled($scope)
 {
     $current_gen = Gen::getCurrentGen();
     $classes = StudyClass::where('gen_id', $current_gen->id)->get();
     $class_id_list = $classes->pluck('id')->all();
     $count = Register::whereIn('class_id', $class_id_list)->select('user_id')->where('call_status', 1)->groupBy('user_id')->get()->count();
     return $count;
 }
Example #2
0
 public function transform($course)
 {
     if ($this->user) {
         $this->classTransformer->setUser($this->user);
     }
     $current_gen = Gen::getCurrentGen();
     return ['name' => $course->name, 'detail' => $course->detail, 'description' => $course->description, 'icon_url' => $course->icon_url, 'image_url' => $course->image_url, 'cover_url' => $course->cover_url, 'classes' => $this->classTransformer->transformCollection($course->classes()->where('gen_id', $current_gen->id)->orderBy('name', 'desc')->get())];
 }
Example #3
0
 public function index($survey_id = null)
 {
     $this->data['surveys'] = Survey::all();
     $gens = Gen::all();
     $this->data['gens'] = $gens;
     $this->data['courses'] = Course::all();
     $this->data['current_gen'] = Gen::getCurrentGen();
     return view('manage.survey', $this->data);
 }
Example #4
0
 public function search_student(Request $request)
 {
     $search = "";
     if ($request->q) {
         $search = $request->q;
     }
     $gen = Gen::getCurrentGen();
     $students = User::where('role', 0)->whereExists(function ($query) use($gen) {
         $query->select(DB::raw(1))->from('registers')->where('status', 0)->where('gen_id', $gen->id)->where('call_status', 0)->whereRaw('registers.user_id = users.id');
     })->where(function ($query) use($search) {
         $query->where('email', 'like', '%' . $search . '%')->orWhere('phone', 'like', '%' . $search . '%')->orWhere('name', 'like', '%' . $search . '%');
     })->orderBy('created_at', 'desc')->take(5)->get();
     return response()->json(['students' => $this->studentTransformer->transformCollection($students)]);
 }
Example #5
0
 public function enroll($domain, $classId)
 {
     $register = $this->user->registers()->where('class_id', $classId)->first();
     if ($register) {
         return $this->respond(['message' => "Bạn đă đăng kí lớp học này. "]);
     } else {
         $register = new Register();
         $register->user_id = $this->user->id;
         $register->gen_id = Gen::getCurrentGen()->id;
         $register->class_id = $classId;
         $register->status = 0;
         $register->save();
         send_mail_confirm_registration($this->user, $classId, ["*****@*****.**", "*****@*****.**"]);
         return $this->respond(['message' => "Bạn đă đăng kí thành công. Bạn hãy check email để kiểm tra thông tin đăng kí."]);
     }
 }
Example #6
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $date = new \DateTime();
     $date->modify('+3 days');
     $formatted_date_from = $date->format('Y-m-d');
     $date->modify('+6 days');
     $formatted_date_to = $date->format('Y-m-d');
     $dates = createDateRangeArray(strtotime($formatted_date_from), strtotime($formatted_date_to));
     $bases = Base::where('center', 1)->get();
     $current_gen = Gen::getCurrentGen();
     $shiftSessions = ShiftSession::where('active', 1)->get();
     $lastShift = Shift::where('gen_id', $current_gen->id)->orderBy('week', 'desc')->first();
     $week = $lastShift ? $lastShift->week : 0;
     foreach ($dates as $date) {
         foreach ($bases as $base) {
             foreach ($shiftSessions as $shiftSession) {
                 $shift = new Shift();
                 $shift->gen_id = $current_gen->id;
                 $shift->base_id = $base->id;
                 $shift->shift_session_id = $shiftSession->id;
                 $shift->week = $week + 1;
                 $shift->date = $date;
                 $shift->save();
             }
         }
     }
     $role_ids = Tab::find(35)->roles->pluck('id')->unique()->toArray();
     $roles = Role::whereIn('id', $role_ids)->get();
     if ($week == 0) {
         $week = 1;
     }
     foreach ($roles as $role) {
         $users = $role->users;
         foreach ($users as $user) {
             send_mail_regis_shift($user, $week, $current_gen, ['*****@*****.**']);
         }
     }
     $this->info('done');
 }
 public function get_current_shifts($gen_id = null)
 {
     if ($gen_id) {
         $current_gen = Gen::find($gen_id);
     } else {
         $current_gen = Gen::getCurrentGen();
     }
     $shifts = $current_gen->shifts()->get();
     $weeks = $shifts->pluck('week')->unique()->sortByDesc(function ($week, $key) {
         return $week;
     });
     $return_arr = [];
     foreach ($weeks as $week) {
         $week_shifts = $shifts->where('week', $week);
         $dates = $week_shifts->pluck('date')->unique();
         $return_dates = [];
         foreach ($dates as $date) {
             $obj = new \stdClass();
             $obj->date = date_shift(strtotime($date));
             $obj->shifts = $shifts->filter(function ($item) use($date) {
                 return $item->date == $date;
             });
             $shiftsData = $this->shiftTransfromer->transformCollection($obj->shifts);
             $obj->shifts = $shiftsData;
             $return_dates[] = $obj;
         }
         $return_arr[] = ['dates' => $return_dates, 'week' => $week];
     }
     return response()->json(['weeks' => $return_arr]);
 }
Example #8
0
 public function landing_register(Request $request)
 {
     $user = User::where('email', '=', $request->email)->first();
     //        dd('WORK');
     if ($user == null) {
         $user = new User();
         $user->name = $request->name;
         $user->phone = $request->phone;
         $user->email = $request->email;
         $user->university = $request->university;
         $user->work = $request->work;
         $user->address = $request->address;
         $user->how_know = $request->how_know;
         $user->username = $request->email;
         $user->facebook = $request->facebook;
         $user->gender = $request->gender;
         $user->dob = strtotime($request->dob);
         $user->password = bcrypt($request->phone);
         $user->save();
     } else {
         $user->university = $request->university;
         $user->work = $request->work;
         $user->address = $request->address;
         $user->phone = $request->phone;
         $user->gender = $request->gender;
         $user->dob = date('Y-m-d', strtotime($request->dob));
         $user->facebook = $request->facebook;
         $user->save();
     }
     $register = new Register();
     $register->user_id = $user->id;
     $register->gen_id = Gen::getCurrentGen()->id;
     $register->class_id = $request->class_id;
     $register->status = 0;
     $register->leader_phone = $request->leader_phone;
     $register->coupon = $request->coupon;
     $register->save();
     send_mail_confirm_registration($user, $request->class_id, ["*****@*****.**", "*****@*****.**"]);
     return redirect('register_success');
 }
Example #9
0
 public function attendance_list(Request $request, $id)
 {
     $classLesson = ClassLesson::find($id);
     $attendance_list = $classLesson->attendances;
     $currentGen = Gen::getCurrentGen();
     $this->data['current_gen'] = $currentGen;
     $this->data['attendances'] = $attendance_list;
     $this->data['classLesson'] = $classLesson;
     $this->data['current_tab'] = 18;
     return view('manage.attendance_list', $this->data);
 }
Example #10
0
 public function about_us_data($domain)
 {
     $gen = Gen::getCurrentGen();
     $classes = $gen->studyclasses()->where('name', 'like', '%.%')->count();
     $student = Register::where('code', '!=', null)->count() + 2000;
     $posts = Product::count() + 4000;
     return $this->respond(['gen' => ['name' => $gen->name, 'detail' => $gen->detail], 'studentsNumber' => $student, 'classesNumber' => $classes, 'postsNumber' => $posts]);
 }