Exemplo n.º 1
0
 /**
  * Process renewal requests.
  *
  * @param \Zend\Stdlib\Parameters $request Request object
  * @param \VuFind\ILS\Connection  $catalog ILS connection object
  * @param array                   $patron  Current logged in patron
  *
  * @return array                  The result of the renewal, an
  * associative array keyed by item ID (empty if no renewals performed)
  */
 public function processRenewals($request, $catalog, $patron)
 {
     // Pick IDs to renew based on which button was pressed:
     $all = $request->get('renewAll');
     $selected = $request->get('renewSelected');
     if (!empty($all)) {
         $ids = $request->get('renewAllIDS');
     } else {
         if (!empty($selected)) {
             $ids = $request->get('renewSelectedIDS');
         } else {
             $ids = [];
         }
     }
     // Retrieve the flashMessenger helper:
     $flashMsg = $this->getController()->flashMessenger();
     // If there is actually something to renew, attempt the renewal action:
     if (is_array($ids) && !empty($ids)) {
         $renewResult = $catalog->renewMyItems(['details' => $ids, 'patron' => $patron]);
         if ($renewResult !== false) {
             // Assign Blocks to the Template
             if (isset($renewResult['blocks']) && is_array($renewResult['blocks'])) {
                 foreach ($renewResult['blocks'] as $block) {
                     $flashMsg->setNamespace('info')->addMessage($block);
                 }
             }
             // Send back result details:
             return $renewResult['details'];
         } else {
             // System failure:
             $flashMsg->setNamespace('error')->addMessage('renew_error');
         }
     } else {
         if (!empty($all) || !empty($selected)) {
             // Button was clicked but no items were selected:
             $flashMsg->setNamespace('error')->addMessage('renew_empty_selection');
         }
     }
     return [];
 }