Exemplo n.º 1
0
 /**
  * Checks the existence of Member in academic module.
  * returns true or false according to result
  * true, if member exists
  * false, if member does not exist
  * 
  * Paramsters to this function must be passed through Http request only
  */
 public function checkAction()
 {
     $request = $this->getRequest();
     $params = array_diff($request->getParams(), $request->getUserParams());
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $this->_helper->layout()->disableLayout();
     $format = $this->_getParam('format', 'json');
     if (false) {
         // @todo Get member_id from session/cookie.
         //$member_id from session;
     } else {
         $member_id = $params['member_id'];
     }
     if (isset($member_id)) {
         $student = new Acad_Model_Member_Student();
         $exists = $student->setMember_id($member_id)->initStudentInfo(false, true);
         if ($exists) {
             $info['department_id'] = $student->getDepartment_id();
             $info['programme_id'] = $student->getProgramme_id();
             $info['semester_id'] = $student->getSemester_id();
             $info['roll_no'] = $student->getRoll_no();
             switch (strtolower($format)) {
                 case 'json':
                     $this->_helper->json($info);
                     break;
                 case 'test':
                     $this->_helper->logger($info);
                     break;
                 default:
                     throw new Exception('Invalid "format" request');
                     break;
             }
         } else {
             throw new Exception('Member does not exists');
         }
     } else {
         throw new Exception('No member_id provided in params passed to check() function');
     }
 }
Exemplo n.º 2
0
 private function backLogSearch($back_log_limit, $member_ids)
 {
     $student = new Acad_Model_Member_Student();
     $backlog_filter = array();
     $backlog_filtered = array();
     foreach ($member_ids as $member_id) {
         $student->setMember_id($member_id);
         $backlog_filter[$member_id] = $student->fetchCurrentBacklogCount();
     }
     Zend_Registry::get('logger')->debug($backlog_filter);
     foreach ($backlog_filter as $member_id => $backlog_count) {
         if ($backlog_count <= $back_log_limit) {
             $backlog_filtered[] = $member_id;
         }
     }
     return $backlog_filtered;
 }
Exemplo n.º 3
0
 private function assignSubjects($member_id, $class_id, $subject_ids)
 {
     $student = new Acad_Model_Member_Student();
     $student->setMember_id($member_id);
     $student->assignSubjects($class_id, $subject_ids);
 }
 public function markattendanceAction()
 {
     $request = $this->getRequest();
     $params = array_diff($request->getParams(), $request->getUserParams());
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $this->_helper->layout()->disableLayout();
     foreach ($params as $colName => $value) {
         $value = is_array($value) ? $value : htmlentities(trim($value));
         $this->applicant->{$colName} = $value;
     }
     $period_dateobj = new Zend_Date($request->getParam('period_date'), 'dd-MMM-yyyy');
     $period_date = $period_dateobj->toString('YYYY-MM-dd HH:mm:ss');
     $params['period_date'] = $period_date;
     $params['weekday_number'] = $period_dateobj->get(Zend_Date::WEEKDAY_DIGIT);
     $params['faculty_id'] = $this->identity;
     $model = new Acad_Model_Member_Student();
     try {
         $insertId = $model->setAttendence($params);
         if ($insertId) {
             if (!isset($params['absentee'])) {
                 echo "Hey, Nice class!! All are present.\n";
             }
             echo 'Attendance marked successfully with period ID: ' . $insertId . ".\n Kindly note down this Id in case of any mistake.";
         } else {
             echo 'Attendance could not be submitted this time. Please try again.';
         }
     } catch (Exception $e) {
         $this->_helper->logger->debug($e->getMessage());
         switch ($e->getCode()) {
             case 23000:
                 throw new Zend_Exception('Attendance has been already marked.', Zend_Log::ERR);
                 break;
             default:
                 throw new Zend_Exception('Sorry, unable to process the request', Zend_Log::ERR);
                 break;
         }
     }
 }
 public function markattendanceAction()
 {
     $request = $this->getRequest();
     $params = array_diff($request->getParams(), $request->getUserParams());
     $this->_helper->viewRenderer->setNoRender(TRUE);
     $this->_helper->layout()->disableLayout();
     foreach ($params as $colName => $value) {
         $value = is_array($value) ? $value : htmlentities(trim($value));
         $this->applicant->{$colName} = $value;
     }
     $period_dateobj = new Zend_Date($request->getParam('period_date'), 'dd-MMM-yyyy');
     $period_date = $period_dateobj->toString('YYYY-MM-dd HH:mm:ss');
     $params['period_date'] = $period_date;
     $params['weekday_number'] = $period_dateobj->get(Zend_Date::WEEKDAY_DIGIT);
     $params['faculty_id'] = $this->identity;
     $model = new Acad_Model_Member_Student();
     try {
         $insertId = $model->setAttendence($params);
         echo 'Attendance successfully marked with period ID: ' . $insertId . ".\n Kindly note down this Id in case of any mistake.";
     } catch (Exception $e) {
         $this->_helper->logger->debug($e->getMessage());
         switch ($e->getCode()) {
             case 23000:
                 throw new Zend_Exception('Attendance has been already marked.', Zend_Log::ERR);
                 break;
             default:
                 throw new Zend_Exception('Sorry, unable to process the request', Zend_Log::ERR);
                 break;
         }
     }
     /*
             echo 'Following information recieved:<br/>';
             foreach ($params as $colName => $value) {
                 
                 $value = is_array($value)?var_export($value,true):htmlentities(trim($value));
                 echo '<b>'.ucwords(str_ireplace('_', ' ', $colName)).'</b> : '.$value.'<br/>';
             }*/
 }