コード例 #1
0
 public function attendanceAction()
 {
     $department_id = $this->_getParam('department_id');
     $subject_code = $this->_getParam('subject_code');
     $subject_mode_id = $this->_getParam('subject_mode_id');
     $lowerThreshold = $this->_getParam('lower', 65);
     $upperThreshold = $this->_getParam('upper', 75);
     $filterBelow = $this->_getParam('filter_below');
     $filterAbove = $this->_getParam('filter_above');
     $dateFrom = $this->_getParam('date_from');
     $dateUpto = $this->_getParam('date_upto');
     $status = $this->_getParam('status');
     $group = $this->_getParam('group');
     $subject_mode_id = $this->_getParam('subject_mode_id');
     $format = $this->_getParam('format', 'html');
     if (!((string) $lowerThreshold === (string) (int) $lowerThreshold) or !((string) $upperThreshold === (string) (int) $upperThreshold) or !($upperThreshold > $lowerThreshold)) {
         throw new Exception('Check lower and upper threshold parameters, Hint: "Upper"(i.e. ' . $upperThreshold . ') must be greater then "lower"(i.e. ' . $lowerThreshold . ')', Zend_Log::ERR);
     }
     if ($subject_code and $department_id) {
         $subject = new Acad_Model_Course_Subject();
         $subject->setSubject_code($subject_code)->setDepartment_id($department_id)->setSubject_mode_id($subject_mode_id);
         $attendanceSet = $subject->getStudentAttendance($dateFrom, $dateUpto, $status, $group, $filterBelow, $filterAbove);
         $attendanceTotal = $subject->getAttendanceTotal();
         $facultySet = $subject->getFaculty($dateFrom, $dateUpto);
         $stat = $subject->getStudentAttendanceStat();
         $summary = $subject->attendanceSummary($lowerThreshold, $upperThreshold);
         $stuModeWiseAtt = $subject->attendanceStuModeWise();
         $subject_name = $subject->getSubject_name();
     }
     /* ELSE part is mentioned in view section.
        * else {
              throw new Exception('<b>Department Id</b>(department_id) as well as <b>Subject code</b>(subject_code) are <b>required</b>.', Zend_Log::INFO);
          }*/
     switch (strtolower($format)) {
         case 'test':
             $this->_helper->logger($summary);
             $this->_helper->logger($attendanceSet);
             return;
         case 'html':
             $this->_helper->viewRenderer->setNoRender(false);
             $this->_helper->layout()->enableLayout();
             $this->view->assign('department_id', $this->view->escape($department_id));
             $this->view->assign('subject_code', $this->view->escape($subject_code));
             $this->view->assign('subject_mode_id', $this->view->escape($subject_mode_id));
             $this->view->assign('lowerThreshold', $lowerThreshold);
             $this->view->assign('upperThreshold', $upperThreshold);
             $this->view->assign('filterBelow', $filterBelow);
             $this->view->assign('filterAbove', $filterAbove);
             $this->view->assign('date_from', $dateFrom);
             $this->view->assign('date_upto', $dateUpto);
             $this->view->assign('stat', $stat);
             $this->view->assign('attendanceSet', $attendanceSet);
             $this->view->assign('subjectModes', array_keys($attendanceSet));
             $this->view->assign('subject_name', $subject_name);
             $this->view->assign('summary', $summary);
             $this->view->assign('stuModeWiseAtt', $stuModeWiseAtt);
             $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate();
             $this->view->assign('session_startdate', $session_startdate);
             return;
         case 'json':
             echo $this->_helper->json($this->summary, false);
             return;
     }
 }
コード例 #2
0
 public function attendanceAction()
 {
     $department_id = $this->_getParam('department_id');
     $programme_id = $this->_getParam('programme_id');
     $semester_id = $this->_getParam('semester_id');
     $faculty_id = $this->_getParam('faculty_id');
     $dateFrom = $this->_getParam('date_from');
     $dateUpto = $this->_getParam('date_upto');
     $format = $this->_getParam('format', 'html');
     $faculty = new Acad_Model_Member_Faculty();
     if (true) {
         $faculty->setFacultyId($faculty_id);
     }
     $faculty->setDepartment($department_id);
     $objLevel = null;
     if ($department_id) {
         $objLevel = new Acad_Model_Department();
         $objLevel->setDepartment($department_id);
     }
     if ($department_id and $programme_id and $semester_id) {
         $objLevel = new Acad_Model_Class();
         $objLevel->setDepartment($department_id)->setProgramme_id($programme_id)->setSemester($semester_id);
     }
     $subjects = $faculty->getInHandSubjects($objLevel, TRUE);
     foreach ($subjects as $subject_code => $subjectClasses) {
         $subject = new Acad_Model_Course_Subject(array('subject_code' => $subject_code));
         $subjectName = $subject->getSubject_name();
         foreach ($subjectClasses as $key => $subjectClass) {
             $subjects[$subject_code][$key]['subject_name'] = $subjectName;
         }
     }
     switch (strtolower($format)) {
         case 'test':
             $this->_helper->logger($subjects);
             return;
         case 'html':
             $this->_helper->logger($subjects);
             $this->_helper->viewRenderer->setNoRender(false);
             $this->_helper->layout()->enableLayout();
             $this->view->assign('department_id', $this->view->escape($department_id));
             $urlSubjectDetail = $this->_helper->url('attendance', 'subject');
             $this->view->assign('urlSubjetDetail', $this->view->escape($urlSubjectDetail));
             $this->view->assign('subjects', $subjects);
             $this->view->assign('date_from', $this->view->escape($dateFrom));
             $this->view->assign('date_upto', $this->view->escape($dateUpto));
             $this->view->assign('faculty', $faculty);
             $this->view->assign('viewLevel', $objLevel);
             return;
         case 'json':
             echo $this->_helper->json($subjects, false);
             return;
         case 'jsonp':
             $callback = $this->_getParam('callback');
             echo $callback . '(' . $this->_helper->json($subjects, false) . ')';
             return;
     }
 }