public function confirm_change_class(Request $request)
 {
     $registerId = $request->registerId;
     $classId = $request->classId;
     $register = Register::find($registerId);
     $oldClass = $register->studyClass;
     $class_lession_ids = $oldClass->classLessons->pluck('id');
     $attendances = $register->attendances()->whereIn('class_lesson_id', $class_lession_ids)->get();
     $register->class_id = $classId;
     $register->save();
     $newClass = StudyClass::find($classId);
     $new_class_lession_ids = $newClass->classLessons->pluck('id');
     $index = 0;
     foreach ($attendances as $attendance) {
         $attendance->class_lesson_id = $new_class_lession_ids[$index];
         $attendance->save();
         $index += 1;
     }
     $data['newClass'] = $newClass;
     $data['oldClass'] = $oldClass;
     $user = $register->user;
     $data['user'] = $user;
     $subject = "Xác nhận đã đổi thành công từ lớp {$oldClass->name} sang lớp {$newClass->name}";
     $emailcc = ['*****@*****.**'];
     Mail::queue('emails.confirm_change_class', $data, function ($m) use($user, $subject, $emailcc) {
         $m->from('*****@*****.**', 'Color Me');
         $m->to($user['email'], $user['name'])->bcc($emailcc)->subject($subject);
     });
     $request->session()->flash('change_class_message', 'Bạn đã đổi thành công sang lớp ' . $newClass->name);
     return redirect('manage/registerlist');
 }
Example #2
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;
 }
 public function all_rating(Request $request)
 {
     $class_id = $request->id;
     $role = $request->role;
     $class = StudyClass::find($class_id);
     $this->data['class'] = $class;
     $this->data['role'] = $role;
     return view('manage.personal_rating.all_rating', $this->data);
 }
Example #4
0
 public function classes($domain, $gen_id, $baseId, $couseId)
 {
     $base = Base::find($baseId);
     $course = Course::find($couseId);
     if (!$base) {
         return response()->json(['error' => "Cơ sở không tồn tại"], 404);
     }
     if (!$course) {
         return response()->json(['error' => "Môn học không tồn tại"], 404);
     }
     $classes = StudyClass::where('course_id', $couseId)->where('base_id', $baseId)->where('gen_id', $gen_id)->get();
     return response()->json(['course' => ['name' => $course->name, 'avatar_url' => $course->icon_url], 'classes' => $classes]);
 }
Example #5
0
 public function studyClass($classId)
 {
     if ($classId) {
         $class = StudyClass::find($classId);
         if ($class) {
             return $this->respond($this->classTransformer->transform($class));
         } else {
             return $this->responseNotFound("classId not found!");
         }
     } else {
         return $this->responseBadRequest("no classId provide");
     }
 }
Example #6
0
 public function students($classId)
 {
     $class = StudyClass::find($classId);
     $registers = $class->registers;
     $students = array();
     foreach ($registers as $register) {
         $student = $register->user;
         $student->status = $register->status;
         $students[] = $student;
     }
     $this->data['class'] = $class;
     $this->data['students'] = $students;
     return view('manage.class.students', $this->data);
 }
Example #7
0
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function handle()
 {
     $date = new \DateTime();
     $date->modify('+2 days');
     $formatted_date = $date->format('Y-m-d');
     $classes = StudyClass::whereDate('datestart', '=', $formatted_date)->get();
     foreach ($classes as $class) {
         foreach ($class->registers as $regis) {
             send_mail_activate_class($regis, ['*****@*****.**']);
         }
         $class->activated = 1;
         $class->save();
     }
     $this->info("check active class");
 }
Example #8
0
function send_mail_confirm_registration($user, $class_id, $emailcc)
{
    $class = \App\StudyClass::find($class_id);
    $course = \App\Course::find($class->course_id);
    $data['class'] = $class;
    $data['course'] = $course;
    $data['user'] = $user;
    $subject = "Xác nhận đăng kí khoá học " . $course->name;
    Mail::queue('emails.confirm_email_2', $data, function ($m) use($user, $subject, $emailcc) {
        $m->from('*****@*****.**', 'Color Me');
        $m->to($user['email'], $user['name'])->bcc($emailcc)->subject($subject);
    });
}
Example #9
0
 public function ajax_send_rating(Request $request)
 {
     $class = StudyClass::find($request->class_id);
     $class->rating_sended = 1;
     $class->save();
     foreach ($class->registers as $register) {
         $register->rated = 2;
         $register->save();
     }
     return '  <i class=" teal-text material-icons">done</i>';
 }
Example #10
0
 public function class_products($class_id)
 {
     $class = StudyClass::find($class_id);
     $this->data['products'] = $class->registers()->whereExists(function ($query) use($class_id) {
         $query->select(DB::raw(1))->from('registers')->whereRaw('registers.user_id = users.id and registers.class_id=' . $class_id);
     });
 }
Example #11
0
 public function scopeGetClassByGen($scope, $gen_id)
 {
     $where_clause = ['gen_id' => $gen_id];
     return StudyClass::where($where_clause)->orderBy('name', 'desc')->get();
 }
Example #12
0
 public function news_feed_load_more(Request $request)
 {
     $limit = 15;
     $page = $request->page;
     $class_name = $request->class_name;
     $category_id = $request->category_id;
     if ($class_name != null) {
         $class = DB::select("select * from classes where replace(name,' ','') like ?", [$class_name])[0];
         $usersIdOfThisClass = StudyClass::find($class->id)->registers()->select(DB::raw('user_id'))->get()->pluck('user_id');
         $products = Product::whereIn('author_id', $usersIdOfThisClass)->orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
     } else {
         if ($category_id != null) {
             $category = CategoryProduct::find($category_id);
             $products = $category->products()->orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
         } else {
             $type = $request->type;
             if ($type == 3) {
                 $products = Product::orderBy('created_at', 'desc')->where('type', '=', 2)->skip($page * $limit)->take($limit)->get();
             } else {
                 if ($type == 2) {
                     $products = Product::orderBy('rating', 'desc')->skip($page * $limit)->take($limit)->get();
                 } else {
                     //            $class = DB::select("select * from classes where replace(name,' ','') like ?", [$class_name])[0];
                     //            $usersIdOfThisClass = StudyClass::find($class->id)->registers()->select(DB::raw('user_id'))->get()->pluck('user_id');
                     //            $products = Product::whereIn('author_id', $usersIdOfThisClass)->orderBy('created_at', 'desc')->take($limit)->get();
                     $products = Product::orderBy('created_at', 'desc')->skip($page * $limit)->take($limit)->get();
                 }
             }
         }
     }
     $data['user'] = $this->user;
     $data['products'] = $products;
     return view('ajax.newsfeed_load_more', $data);
 }
Example #13
0
 public function activate_class(Request $request)
 {
     $class_id = $request->class_id;
     $class = StudyClass::find($class_id);
     foreach ($class->registers as $regis) {
         send_mail_activate_class($regis, ['*****@*****.**']);
     }
     $class->activated = 1;
     $class->status = 0;
     $class->save();
     return "<strong class=\"cyan-text\">Đã kích hoạt</strong>";
 }
Example #14
0
 public function students($classId)
 {
     if ($classId) {
         $class = StudyClass::find($classId);
         $registers = $this->registerToStudentTransformer->transformCollection($class->registers()->where('status', 1)->get());
         if ($class) {
             return response()->json($registers, 200);
         } else {
             return response()->json(['error' => "classId not found!"], 404);
         }
     } else {
         return response()->json(['error' => "no classId provide"], 400);
     }
 }