Exemplo n.º 1
0
 public static function get_NumAssignments($cid = "")
 {
     if (empty($cid)) {
         $cid = Auth::consoleuser()->get()->cid;
     }
     $assignmentscount = Assignment::where('auditors', 'like', '%' . $cid . ',%')->count();
     return $assignmentscount;
 }
Exemplo n.º 2
0
 public static function getDataGantt($groups)
 {
     $arrayData = array();
     $arrayLink = array();
     $count = count($groups) + 1;
     foreach ($groups as $item => $group) {
         $dataGroup = array();
         $dataGroup['id'] = $item + 1;
         $dataGroup['text'] = $group->name;
         $dataGroup['type'] = 'gantt.config.types.project';
         $dataGroup['open'] = true;
         $dataLink = array();
         $dataLink['id'] = $item + 1;
         $dataLink['source'] = $item + 1;
         $dataLink['target'] = $count;
         $assignments = Assignment::where('group_id', new MongoId($group->_id))->orderBy('date_assigned', 'asc')->get();
         $progress = array();
         foreach ($assignments as $index => $assignment) {
             if ($index == 0) {
                 $dataLink['type'] = 1;
                 array_push($arrayLink, json_encode($dataLink));
             }
             $dataAssignment = array();
             $dataAssignment['id'] = $count;
             $dataAssignment['text'] = $assignment->description;
             $dataAssignment['start_date'] = date('d-m-Y', $assignment->date_assigned->sec);
             $dataAssignment['parent'] = $item + 1;
             $dataAssignment['open'] = true;
             $dataLink = array();
             $dataLink['id'] = $count;
             $dataLink['source'] = $count;
             $dataLink['target'] = $count + 1;
             $dataLink['type'] = 0;
             array_push($arrayLink, json_encode($dataLink));
             $pg = strcasecmp($assignment->state, 'c') === 0 ? 1 : 0;
             $dataAssignment['progress'] = $pg;
             if ($pg === 1) {
                 $dataAssignment['type'] = 'gantt.config.types.milestone';
             }
             array_push($progress, $pg);
             $date_assigned = new DateTime(date('Y-m-d', $assignment->date_assigned->sec));
             $deadline = new DateTime(date('Y-m-d', $assignment->deadline->sec));
             $date_assigned = $date_assigned->diff($deadline);
             $dataAssignment['duration'] = $date_assigned->days;
             array_push($arrayData, json_encode($dataAssignment));
             $count += 1;
         }
         $dataGroup['progress'] = count($progress) > 0 ? array_sum($progress) / count($progress) : 0;
         array_push($arrayData, json_encode($dataGroup));
     }
     return array('data' => $arrayData, 'link' => $arrayLink);
 }
Exemplo n.º 3
0
 public function evaluateAssignments($group_id)
 {
     $assignments = Assignment::where('group_id', new MongoId($group_id))->get();
     $array = array();
     foreach ($assignments as $assignment) {
         $deadline = new DateTime(date('Y-m-d', $assignment->deadline->sec));
         $date = new DateTime(date('Y-m-d'));
         if ($deadline < $date && is_null($assignment->rated)) {
             $assignment->rated = 0;
             $assignment->state = 'n';
             $assignment->save();
         }
         array_push($array, $assignment);
     }
     return $array;
 }
Exemplo n.º 4
0
 public function getFarmReport()
 {
     $group_id = Input::get('group_id');
     $group = Group::where('_id', new MongoId($group_id))->first();
     $students = Student::whereIn('_id', $group->students_id)->get();
     $total_assignments = Assignment::where('group_id', new MongoId($group_id))->count();
     $total_completed = Assignment::where('group_id', new MongoId($group_id))->where('state', 'c')->count();
     $total_incompleted = Assignment::where('group_id', new MongoId($group_id))->whereIn('state', array('n', 'nc'))->count();
     $total_pending = Assignment::where('group_id', new MongoId($group_id))->whereIn('state', array('a', 'r', 'p'))->count();
     $student_task = TeacherController::getStatStudents($group->students_id, $group_id);
     $assignments = Assignment::where('group_id', new MongoId($group_id))->get();
     return View::make('teacher.farm_report')->with(array('students' => $students, 'total_assignments' => $total_assignments, 'total_completed' => $total_completed, 'total_incompleted' => $total_incompleted, 'total_pending' => $total_pending, 'student_task' => $student_task, 'colors' => $this->colors, 'assignments' => $assignments, 'group' => $group));
 }
Exemplo n.º 5
0
 public static function getStatGroupByTags($arrayGroups, $arrayTags, $subject = null, $sectionCode = null, $attach = null)
 {
     $array = array();
     foreach ($arrayGroups as $group) {
         foreach ($arrayTags as $tag) {
             $arrayAux = array();
             $arrayAux['group_name'] = $group->name;
             $arrayAux['project_name'] = $group->project_name;
             $arrayAux['tag'] = $tag;
             if (!is_null($subject)) {
                 $arrayAux['subject'] = $subject;
             }
             if (!is_null($sectionCode)) {
                 $arrayAux['sectionCode'] = $sectionCode;
             }
             $total_task = Assignment::where('group_id', new MongoId($group->_id))->whereIn('tags', array($tag));
             $total_task_pending = Assignment::where('group_id', new MongoId($group->_id))->where('state', 'p')->whereIn('tags', array($tag));
             $total_task_current = Assignment::where('group_id', new MongoId($group->_id))->whereIn('state', array('a', 'r'))->whereIn('tags', array($tag));
             $total_task_not_completed = Assignment::where('group_id', new MongoId($group->_id))->whereIn('state', array('n', 'nc'))->whereIn('tags', array($tag));
             $total_task_completed = Assignment::where('group_id', new MongoId($group->_id))->where('state', 'c')->whereIn('tags', array($tag));
             $total_score = Assignment::where('group_id', new MongoId($group->_id))->whereIn('tags', array($tag));
             $total_rated = Assignment::where('group_id', new MongoId($group->_id))->whereIn('tags', array($tag));
             $arrayValidate = TeacherController::validateAttach($attach, $total_task, $total_task_pending, $total_task_current, $total_task_not_completed, $total_task_completed, $total_score, $total_rated);
             if (!is_null($arrayValidate)) {
                 $arrayAux['total_task'] = $arrayValidate['total_task'];
                 $arrayAux['total_task_pending'] = $arrayValidate['total_task_pending'];
                 $arrayAux['total_task_current'] = $arrayValidate['total_task_current'];
                 $arrayAux['total_task_not_completed'] = $arrayValidate['total_task_not_completed'];
                 $arrayAux['total_task_completed'] = $arrayValidate['total_task_completed'];
                 $arrayAux['total_score'] = $arrayValidate['total_score'];
                 $arrayAux['total_rated'] = $arrayValidate['total_rated'];
                 array_push($array, $arrayAux);
             }
         }
     }
     return $array;
 }
Exemplo n.º 6
0
 public function get_assignments()
 {
     //Just declare this here since laravel get's mad if it is empty
     $othersassignments = '';
     //Pull our assignments for the current user
     $assignments = Assignment::where('auditors', 'like', '%' . Auth::consoleuser()->get()->cid . ',%')->get();
     //Create an array of each VA that needs to be auditted
     $vaslist = array();
     foreach ($assignments as $assignment) {
         $vas = $assignment->vas;
         $vas = explode(',', $vas);
         //Remove the last empty value
         $vascount = count($vas) - 1;
         unset($vas[$vascount]);
         //Get our current VAs in progress into an array
         $vasInProgress = explode(',', $assignment->vas_in_progress);
         $vasInProgressCount = count($vas) - 1;
         unset($vasInProgress[$vasInProgressCount]);
         foreach ($vas as $va) {
             $result = User::findOrFail($va);
             $status = 0;
             if (in_array($va, $vasInProgress)) {
                 $status = 1;
             }
             $vaslist[] = array('cid' => $va, 'vaname' => $result->vaname, 'assignmentid' => $assignment->id, 'status' => $status);
         }
     }
     //Is our user an administrator?
     if (Auth::consoleuser()->get()->access > 0) {
         //Yes, ok let's query for all of the assignments other than their own
         $othersassignments = Assignment::where('auditors', 'not like', '%' . Auth::consoleuser()->get()->cid . ',%')->get();
     }
     //Pull a list of all of the categories
     $categories = Category::all();
     //Create an array of categories with the key as the cat id and the value the name
     $catnames = array();
     foreach ($categories as $category) {
         $catnames[$category->id] = $category->name;
     }
     //Pull all assignments
     $allassignments = Assignment::all();
     $categoriesPerAssignment = array();
     $auditorsPerAssignment = array();
     foreach ($allassignments as $allassignment) {
         //Create a list of other auditors per assignment
         $auditors = explode(',', $allassignment->auditors);
         //Get rid of the last empty value
         $auditorscount = count($auditors) - 1;
         unset($auditors[$auditorscount]);
         $auditorsPerAssignment[$allassignment->id] = '';
         foreach ($auditors as $auditor) {
             $auditorsPerAssignment[$allassignment->id] = $auditorsPerAssignment[$allassignment->id] . '<span class="label label-danger"><i class="fa fa-bookmark fa-fw"></i> ' . ConsoleUser::getName($auditor) . '</span> ';
         }
         $categoriesPerAssignment[$allassignment->id] = '';
         $cats = $allassignment->categories;
         $cats = explode(',', $cats);
         //Remove the last empty value
         $catscount = count($cats) - 1;
         unset($cats[$catscount]);
         foreach ($cats as $cat) {
             $categoriesPerAssignment[$allassignment->id] = $categoriesPerAssignment[$allassignment->id] . '<span class="label label-default">' . $catnames[$cat] . '</span> ';
         }
     }
     return View::make('console.assignments')->with(array('assignments' => $assignments, 'othersAssignments' => $othersassignments, 'categoriesPerAssignment' => $categoriesPerAssignment, 'auditorsPerAssignment' => $auditorsPerAssignment, 'vasList' => $vaslist));
 }