public function getbookdetailsAction() { self::createModel(); $request = $this->getRequest(); $acc_no = $request->getParam('acc_no'); $objIsbn = new Lib_Model_DbTable_Isbn(); $objIssueReturn = new Lib_Model_DbTable_IssueReturn(); $book = array(); if (isset($acc_no)) { $bookInfo = Lib_Model_DbTable_Book::getBookInfo($acc_no); if (isset($bookInfo['isbn_id'])) { $book = $objIsbn->getIsbnDetails($bookInfo['isbn_id']); $bookIssued = $objIssueReturn->getIssuedBookInfo($acc_no); //$this->_helper->logger($bookIssued); if ($bookIssued) { $issueDate = new Zend_Date($bookIssued['issue_date'], Zend_Date::ISO_8601); $book['member_id'] = $bookIssued['member_id']; $member_limit = Lib_Model_DbTable_MembershipLimit::getMemberLimit($book['member_id'], $bookInfo['document_type_id']); if (isset($_SESSION['dateFormat'])) { $dateFormat = $_SESSION['dateFormat']; } else { $dateFormat = 'dd/MMM/yyyy'; } $book['issue_date'] = $issueDate->toString($dateFormat); $exp_return_date = $issueDate->addDay($member_limit['day_limit']); $day_late = 0; $objtoday = new Zend_Date(Zend_Date::now(), $dateFormat); if ($exp_return_date->isToday() || $objtoday->isEarlier($exp_return_date)) { $day_late = 0; } else { $objtoday->sub($exp_return_date); $day_late = $objtoday->get(Zend_Date::DAY) - 2; } $book['exp_return_date'] = $exp_return_date->toString($dateFormat); $book['day_late'] = $day_late; $bookStatus = 1; } $book['bookInfo'] = $bookInfo; $this->_helper->json($book); //echo Zend_Json::encode($book); } else { $this->getResponse()->setHttpResponseCode(400); echo 'Either the Acc No "' . $acc_no . '" or its corrosponding ISBN is invalid.'; } } else { $this->getResponse()->setHttpResponseCode(400); echo 'Parameters are insufficient to process.'; } }
/** * The default action - show the home page */ public function getmembershiplimitAction() { $request = $this->getRequest(); $membership_type = $request->getParam('membership_type'); $document_type = $request->getParam('document_type'); if ($membership_type) { $membershipLimit = Lib_Model_DbTable_MembershipLimit::getMembershipLimits($membership_type, $document_type); if ($membershipLimit) { $this->_helper->json($membershipLimit); } else { $this->getResponse()->setHttpResponseCode(400); echo '"' . $membership_type . '" is not a valid membership type.'; } } }
public function issuebookAction() { $this->model = new Lib_Model_DbTable_IssueReturn(); $request = $this->getRequest(); $acc_no = $request->getParam('acc_no'); $memberId = $request->getParam('member_id'); if (isset($acc_no) and isset($memberId)) { $bookInfo = Lib_Model_DbTable_Book::getBookInfo($acc_no); $this->_helper->logger->notice('Book Info'); $this->_helper->logger->debug($bookInfo); if ('AVAILABLE' == strtoupper($bookInfo['status'])) { $memberConstraints = Lib_Model_DbTable_MembershipLimit::getMemberLimit($memberId, $bookInfo['document_type_id']); $this->_helper->logger->notice('Member Constraints'); $this->_helper->logger->debug($memberConstraints); // assuming that document type will be always 'reg'. $issuedCount = Lib_Model_DbTable_IssueReturn::getIssuedDocumentCount($memberId, $bookInfo['document_type_id']); $this->_helper->logger->notice('Issued Book Info'); $this->_helper->logger->debug($memberConstraints); if ($issuedCount < $memberConstraints['document_limit']) { $result['trans_id'] = $this->model->issuebook($acc_no, $memberId); $result['totBooksIssued'] = $issuedCount + 1; $this->_helper->logger->notice('Result'); $this->_helper->logger->debug($result); echo $this->_helper->json($result, false); return; } else { $this->getResponse()->setHttpResponseCode(400); echo $issuedCount . ' books are already issued to ' . $memberId . '.<br/> (Max limit = ' . $memberConstraints['document_limit'] . ')'; } } else { $this->getResponse()->setHttpResponseCode(400); echo 'The acc number "' . $acc_no . '" is not "AVAILBLE".'; } } else { $this->getResponse()->setHttpResponseCode(400); echo 'Insufficient parameters'; } }