예제 #1
0
 /**
  * Show an assignment
  *
  * @param $courseCode
  * @param $number
  * @return mixed
  */
 public function showAssignment($courseCode, $number)
 {
     // Get the assignmets
     $assignments = Assignment::where(['courseCode' => $courseCode, 'number' => $number])->get();
     return view($this->assignmentView, ['assignments' => $assignments]);
 }
예제 #2
0
 public function insertTransactions($assignMent_id)
 {
     $assignment = Assignment::where('id', $assignMent_id)->first();
     if (is_null($assignment)) {
         unset($assignment, $assignMent_id);
         $this->setStatusCode(404);
         return $this->respondWithArray(['message' => "Assignment not found", 'status_code' => 404]);
     } else {
         Assignment_Transaction::create(['assignment_id' => $assignMent_id, 'payment_type' => 'booking_amount', 'amount' => $assignment->booking_amount]);
         Assignment_Transaction::create(['assignment_id' => $assignMent_id, 'payment_type' => 'completion_amount', 'amount' => $assignment->completion_amount]);
     }
     $this->setStatusCode(200);
     return $this->respondWithArray(['message' => "success", 'status_code' => 200]);
 }
예제 #3
0
 public function get_customer_assignment_status()
 {
     if (Request::input('key') && Request::input('key') == '8855a5gp2C6577') {
         $a = Assignment::groupBy('customer_id')->get();
         foreach ($a as $key => $value) {
             $cusID = $value->customer_id;
             $customer[$key]['customer_id'] = $cusID;
             $customer[$key]['open'] = Assignment::where('customer_id', $cusID)->where('status', 1)->count();
             $customer[$key]['closed'] = Assignment::where('customer_id', $cusID)->where('status', 0)->count();
         }
         return $customer;
     } else {
         return 'You do not have permission to view this page';
     }
 }
예제 #4
0
 /**
  * Save request info as new assignment in database.
  *
  * @param  Request  $request
  * @return Response
  */
 public function add_assignment(Request $request)
 {
     if (!Auth::user()->hasRole('admin')) {
         return view('access_denied');
     }
     //check whether duplicates do not exist in the database
     $duplicateCheck = Assignment::where('tutor_id', '=', $request->tutor)->where('student_id', '=', $request->student)->where('course_id', '=', $request->course)->first();
     if ($duplicateCheck != null) {
         $errors['duplicate'] = 'This tutor assignment already exists!';
         session()->put('error', $errors['duplicate']);
     }
     //check whether professor matches the course
     $correctProfessorCheck = DB::select('select * from current_professors where user_id = ? and course_id = ?', [$request->professor, $request->course]);
     if ($correctProfessorCheck == null) {
         $errors['badProf'] = 'This professor is not currently teaching this course!';
         session()->put('error', $errors['badProf']);
     }
     //check whether tutor matches the course
     $correctTutorCheck = DB::select('select * from available_tutors where user_id = ? and course_id = ?', [$request->tutor, $request->course]);
     if ($correctTutorCheck == null) {
         $errors['badTutor'] = 'This tutor is not currently tutoring this course!';
         session()->put('error', $errors['badTutor']);
     }
     if (!empty($errors)) {
         $data = array('errors' => $errors, 'old' => $request, 'courses' => Course::all(), 'tutors' => UserController::getTutors(), 'students' => UserController::getStudents(), 'professors' => UserController::getProfessors());
         return view('assignment_add', $data);
     }
     $assignment = new Assignment();
     $assignment->tutor_id = $request->tutor;
     $assignment->student_id = $request->student;
     $assignment->course_id = $request->course;
     $assignment->professor_id = $request->professor;
     $assignment->save();
     session()->put('success', 'Tutor assignment successfully created!');
     return redirect('/assignment/' . $assignment->id);
 }
예제 #5
0
 public function open_assignments()
 {
     if (Request::isMethod('get')) {
         $lang_code = Auth::user()->userblog->lang_code;
         $star_value = Setting::where('name', 'star_value')->where('lang_code', $lang_code)->first();
         if ($star_value) {
             $star_value = $star_value->value;
         } else {
             $star_value = Setting::where('name', 'star_value')->where('lang_code', 'en')->first()->value;
         }
         $dateSqlNow = date('m/d/Y', time());
         $list_assignments = Assignment::where('lang_code', $lang_code)->where('status', 1)->where('release_date', '<=', $dateSqlNow)->paginate(50);
         $data_final_return = array();
         $extra_star = 0;
         $list_approved_user_assignment = UserAssignment::whereIn('status', array(3, 5))->get(array('link'));
         $list_ip = array();
         foreach ($list_approved_user_assignment as $laua) {
             $domain = strtolower($laua->link);
             $domain = preg_replace('/(?:https?:\\/\\/)?(?:www\\.)?(.*)\\/?$/i', '$1', $domain);
             //$domain =  preg_replace('/\//i', '$1', $domain);
             $domain = explode('/', $domain);
             $list_ip[] = gethostbyname($domain[0]);
         }
         if (!in_array(Auth::user()->userblog->domain_ip, $list_ip)) {
             $extra_star += 1;
         }
         $list_same_c_class = array();
         foreach ($list_ip as $lip) {
             if (substr($lip, 0, -2) == substr(Auth::user()->userblog->domain_ip, 0, -2)) {
                 $list_same_c_class[] = $lip;
             }
         }
         if (count($list_same_c_class) == 0) {
             $extra_star += 1;
         }
         foreach ($list_assignments as $key => $value) {
             // check time to report of each user_assignment, if one over time, delete it before show new
             $list_user_applied_this_assignment = UserAssignment::where('assignment_id', $value->id)->get();
             if ($list_user_applied_this_assignment->count()) {
                 $this->check_time_report($list_user_applied_this_assignment);
             }
             /**************************/
             $num_applied = UserAssignment::where('assignment_id', $value->id)->count();
             $max_blogger = $value->max_blogger;
             if ($max_blogger > $num_applied) {
                 $customer_ip = gethostbyname(strtolower($value->customer_domain));
                 //$is_first_apply = UserAssignment::where('status',3)->where('link','like','%'.$customer_domain.'%')->count();
                 /*if($is_first_apply==0){
                 			$extra_star += 1;
                 		}*/
                 $data_final_return[] = $value;
             }
         }
         // return $extra_star;
         /// array list assignment user have applied
         $userAssignment = UserAssignment::where('user_id', Auth::user()->id)->get(array('assignment_id'))->toArray();
         if (count($userAssignment)) {
             foreach ($userAssignment as $key => $value) {
                 foreach ($value as $value2) {
                     $ku[] = $value2;
                 }
             }
         } else {
             $ku = array();
         }
         $data_to_view = array('lists' => $data_final_return, 'userAssignment' => $ku, 'star_value' => $star_value, 'extra_star' => $extra_star);
         return view('frontend.profile.open-assignment', $data_to_view);
     }
 }