/**
  * @about Interface.
  */
 public function indexAction()
 {
     $this->_helper->viewRenderer->setNoRender(false);
     $this->_helper->layout()->enableLayout();
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $authInfo = Zend_Auth::getInstance()->getStorage()->read();
         $this->view->assign('department_id', $authInfo['department_id']);
         $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate();
         $this->view->assign('session_startdate', $session_startdate);
     }
 }
 public function init()
 {
     $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate();
     $this->view->assign('session_startdate', $session_startdate);
     if (Zend_Auth::getInstance()->hasIdentity()) {
         $authInfo = Zend_Auth::getInstance()->getStorage()->read();
         $this->department_id = $authInfo['department_id'];
         $this->identity = $authInfo['identity'];
         $staff_id = $authInfo['identity'];
     }
     $this->view->assign('controller', $this->_request->getControllerName());
     $this->view->assign('module', $this->_request->getModuleName());
     $this->view->assign('staff_id', $this->identity);
     parent::init();
 }
 public function attendanceAction()
 {
     $department = new Acad_Model_Department();
     $request = $this->getRequest();
     $department_id = $request->getParam('department_id');
     $programme_id = $request->getParam('programme_id', 'BTECH');
     $dateFrom = $request->getParam('date_from');
     $dateUpto = $request->getParam('date_upto');
     $semester = $request->getParam('semester');
     $format = $this->_getParam('format', 'html');
     $authContent = Zend_Auth::getInstance()->getIdentity();
     if ('mgmt' == strtolower($authContent['department_id'])) {
         $this->view->assign('aboveDepartments', TRUE);
     } else {
         $department_id = $authContent['department_id'];
     }
     $this->view->assign('programme_id', $programme_id);
     $this->view->assign('department_id', $department_id);
     if (isset($department_id) and isset($programme_id)) {
         $attendance = $department->getStudentAttendance($programme_id, $dateFrom, $dateUpto, $semester);
         switch (strtolower($format)) {
             case 'test':
                 $this->_helper->logger($attendance);
                 return;
             case 'html':
                 $this->_helper->viewRenderer->setNoRender(false);
                 $this->_helper->layout()->enableLayout();
                 $this->view->assign('department_id', $department_id);
                 $this->view->assign('date_from', $dateFrom);
                 $this->view->assign('date_upto', $dateUpto);
                 $this->view->assign('attendance', $attendance);
                 $session_startdate = Acad_Model_DbTable_AcademicSession::getSessionStartDate();
                 $this->view->assign('session_startdate', $session_startdate);
                 return;
             case 'json':
                 echo $this->_helper->json($attendance, false);
                 return;
         }
     }
 }
 public function tempAction()
 {
     echo '<pre>';
     //$obj = new Acad_Model_DbTable_TimeTable();
     //$var = Acad_Model_DbTable_TimeTable::currentPeriodStatus('438', TRUE);
     $var = Acad_Model_DbTable_AcademicSession::getSessionEndDate();
     print_r($var);
 }
Example #5
0
 public function insert(array $data)
 {
     $periodStaus = self::periodStatus($data['period_id'], true);
     if ('FULL' != $periodStaus['STATUS']) {
         if ('PARTIAL' == $periodStaus['STATUS']) {
             if ('ALL' === strtoupper($data['group_id'])) {
                 throw new Zend_Exception('Period status is ' . $periodStaus['STATUS'] . '. ' . $data['group_id'] . ' groups can not be placed.', Zend_Log::WARN);
             }
             //TODO More strict check can also be implemented (It is still having some holes but hard to detect, I dont want to correct that because frontend covers that problem.).
             /* self::getLogger()->log('Future partial period!! Do something.', Zend_Log::DEBUG);
                $errVar = '';
                foreach ($periodStaus['periodStatus'] as $key => $value) {
                    $errVar .= "[$key] ::".var_export($value, true);
                }
                
                self::getLogger()->log('Future partial period. Attempt: '.var_export($data, true).' Actual: '.$errVar, Zend_Log::DEBUG);
                */
         }
         //TODO Include Block and Rooms
         $data['block_id'] = 'ADM_B1';
         $data['room_id'] = '1';
         $periodsCovered = $data['period'];
         for ($i = 1; $i < $data['period_duration']; ++$i) {
             $nextPeriod = $data['period'] + $i;
             $periodsCovered .= ',' . $nextPeriod;
         }
         $data['periods_covered'] = $periodsCovered;
         $date = new Zend_Date();
         $date->setDate($data['valid_from'], 'dd/MM/YYYY');
         $data['valid_from'] = $date->toString('YYYY-MM-dd');
         $data['valid_upto'] = Acad_Model_DbTable_AcademicSession::getSessionEndDate();
         $currentPeriodStatus = self::currentPeriodStatus($data['period_id'], TRUE);
         self::getDefaultAdapter()->beginTransaction();
         if ($currentPeriodStatus['STATUS'] != 'EMPTY') {
             self::updateCurrentValidity($currentPeriodStatus, $data['group_id'], $data['valid_from'], $data['periods_covered']);
         }
         unset($data['period']);
         unset($data['degree_id']);
         unset($data['semester_id']);
         unset($data['weekday_number']);
         self::getLogger()->log('Final data for insert', Zend_Log::INFO);
         self::getLogger()->log($data, Zend_Log::DEBUG);
         //Strange but NULL values are being accepted by MySQL(at least my server even in NOT NULL condition)
         //so im crossing checking null values
         foreach ($data as $column => $value) {
             if (!$value) {
                 self::getDefaultAdapter()->rollBack();
                 throw new Zend_Exception($column . ' should have some value.', Zend_Log::ERR);
             }
         }
         $newID = parent::insert($data);
         self::getDefaultAdapter()->commit();
         return $newID;
     } else {
         $errVar = '';
         foreach ($periodStaus['periodStatus'] as $key => $value) {
             $errVar .= "[{$key}] ::" . var_export($value, true);
         }
         throw new Zend_Exception('Future period entry confliction. Attempt: ' . var_export($data, true) . ' Actual: ' . $errVar, Zend_Log::WARN);
     }
 }
 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;
     }
 }