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; }
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())]; }
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); }
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)]); }
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í."]); } }
/** * 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]); }
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'); }
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); }
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]); }