View Javadoc

1   package org.kuali.ole.deliver.controller;
2   
3   import org.apache.log4j.Logger;
4   import org.kuali.ole.OLEConstants;
5   import org.kuali.ole.deliver.bo.OleLoanDocument;
6   import org.kuali.ole.deliver.bo.OlePatronDocument;
7   import org.kuali.ole.deliver.form.OlePatronLoanedRecordsForm;
8   import org.kuali.ole.deliver.processor.LoanProcessor;
9   import org.kuali.rice.kim.impl.identity.entity.EntityBo;
10  import org.kuali.rice.kim.impl.identity.name.EntityNameBo;
11  import org.kuali.rice.krad.service.KRADServiceLocator;
12  import org.kuali.rice.krad.web.controller.UifControllerBase;
13  import org.kuali.rice.krad.web.form.UifFormBase;
14  import org.springframework.stereotype.Controller;
15  import org.springframework.validation.BindingResult;
16  import org.springframework.web.bind.annotation.ModelAttribute;
17  import org.springframework.web.bind.annotation.RequestMapping;
18  import org.springframework.web.servlet.ModelAndView;
19  
20  import javax.servlet.http.HttpServletRequest;
21  import javax.servlet.http.HttpServletResponse;
22  import java.util.HashMap;
23  import java.util.List;
24  import java.util.Map;
25  
26  /**
27   * .OlePatronLoanedRecordsController invokes Transaction document Controller and returns instance of Transaction document service.
28   */
29  @Controller
30  @RequestMapping(value = "/patronLoanedRecord")
31  public class OlePatronLoanedRecordsController extends UifControllerBase {
32  
33      /**
34       * @see org.kuali.rice.krad.web.controller.UifControllerBase#createInitialForm(javax.servlet.http.HttpServletRequest)
35       */
36      private static final Logger LOG = Logger.getLogger(org.kuali.ole.deliver.controller.OlePatronLoanedRecordsController.class);
37  
38      @Override
39      protected OlePatronLoanedRecordsForm createInitialForm(HttpServletRequest request) {
40          return new OlePatronLoanedRecordsForm();
41      }
42  
43      /**
44       * This method takes the initial request when click on Loaned item Screen.
45       *
46       * @param form
47       * @param result
48       * @param request
49       * @param response
50       * @return ModelAndView
51       */
52      @Override
53      @RequestMapping(params = "methodToCall=start")
54      public ModelAndView start(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
55                                HttpServletRequest request, HttpServletResponse response) {
56          LOG.debug("Start -- Start Method of OleTemporaryCirculationRecordsForm");
57          OlePatronLoanedRecordsForm olePatronLoanedRecordsForm = (OlePatronLoanedRecordsForm) form;
58          return super.start(olePatronLoanedRecordsForm, result, request, response);
59      }
60  
61      /**
62       * This method persist to viewing all the loaned items records.
63       *
64       * @param form
65       * @param result
66       * @param request
67       * @param response
68       * @return ModelAndView
69       * @throws Exception
70       */
71      @RequestMapping(params = "methodToCall=viewLoanedRecords")
72      public ModelAndView viewLoanedRecords(@ModelAttribute("KualiForm") UifFormBase form, BindingResult result,
73                                            HttpServletRequest request, HttpServletResponse response) throws Exception {
74  
75          OlePatronLoanedRecordsForm olePatronLoanedRecordsForm = (OlePatronLoanedRecordsForm) form;
76          String patronId = request.getParameter("patronId");
77          Map patron = new HashMap();
78          patron.put(OLEConstants.OlePatron.PATRON_ID, patronId);
79          OlePatronDocument olePatronDocument = KRADServiceLocator.getBusinessObjectService().findByPrimaryKey(OlePatronDocument.class, patron);
80          EntityBo entity = olePatronDocument.getEntity();
81          EntityNameBo entityName = entity.getNames().get(0);
82          String firstName = entityName.getFirstName();
83          String lastName = entityName.getLastName();
84          String name = firstName + " " + lastName;
85          olePatronLoanedRecordsForm.setPatronName(name);
86          olePatronLoanedRecordsForm.setOlePatronDocument(olePatronDocument);
87          LoanProcessor loanProcessor = new LoanProcessor();
88          try {
89              olePatronDocument.setOleLoanDocuments(loanProcessor.getPatronLoanedItem(olePatronDocument.getOlePatronId()));
90          } catch (Exception e) {
91              LOG.error(e, e);
92          }
93          List<OleLoanDocument> oleLoanDocuments = olePatronDocument.getOleLoanDocuments();
94          olePatronLoanedRecordsForm.setLoanDocuments(oleLoanDocuments);
95          return getUIFModelAndView(olePatronLoanedRecordsForm, "OlePatronLoanedRecordPage");
96      }
97  }