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
28
29 @Controller
30 @RequestMapping(value = "/patronLoanedRecord")
31 public class OlePatronLoanedRecordsController extends UifControllerBase {
32
33
34
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
45
46
47
48
49
50
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
63
64
65
66
67
68
69
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 }