001 /*
002 * Copyright 2011 The Kuali Foundation.
003 *
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 *
008 * http://www.opensource.org/licenses/ecl2.php
009 *
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016 package org.kuali.kfs.fp.document.web.struts;
017
018 import java.util.List;
019
020 import javax.servlet.http.HttpServletRequest;
021
022 import org.kuali.kfs.fp.businessobject.CapitalAssetInformation;
023 import org.kuali.kfs.fp.businessobject.CreditCardDetail;
024 import org.kuali.kfs.fp.document.CapitalAssetEditable;
025 import org.kuali.kfs.fp.document.CreditCardReceiptDocument;
026 import org.kuali.kfs.sys.context.SpringContext;
027 import org.kuali.kfs.sys.web.struts.KualiAccountingDocumentFormBase;
028 import org.kuali.rice.kns.service.BusinessObjectDictionaryService;
029
030 /**
031 * This class is the struts form for Credit Card Receipt document.
032 */
033 public class CreditCardReceiptForm extends KualiAccountingDocumentFormBase implements CapitalAssetEditable {
034 protected CreditCardDetail newCreditCardReceipt;
035
036 protected CapitalAssetInformation capitalAssetInformation;
037
038 /**
039 * Constructs a CreditCardReceiptForm.java.
040 */
041 public CreditCardReceiptForm() {
042 super();
043 setNewCreditCardReceipt(new CreditCardDetail());
044
045 this.setCapitalAssetInformation(new CapitalAssetInformation());
046 }
047
048 @Override
049 protected String getDefaultDocumentTypeName() {
050 return "CCR";
051 }
052
053 /**
054 * @return CreditCardReceiptDocument
055 */
056 public CreditCardReceiptDocument getCreditCardReceiptDocument() {
057 return (CreditCardReceiptDocument) getDocument();
058 }
059
060 /**
061 * @return CreditCardDetail
062 */
063 public CreditCardDetail getNewCreditCardReceipt() {
064 return newCreditCardReceipt;
065 }
066
067 /**
068 * @param newCreditCardReceipt
069 */
070 public void setNewCreditCardReceipt(CreditCardDetail newCreditCardReceipt) {
071 this.newCreditCardReceipt = newCreditCardReceipt;
072 }
073
074 /**
075 * Overrides the parent to call super.populate and then tells each line to check the associated data dictionary and modify the
076 * values entered to follow all the attributes set for the values of the accounting line.
077 *
078 * @see org.kuali.rice.kns.web.struts.form.KualiTransactionalDocumentFormBase#populate(javax.servlet.http.HttpServletRequest)
079 */
080 @Override
081 public void populate(HttpServletRequest request) {
082 super.populate(request);
083
084 //
085 // now run through all of the accounting lines and make sure they've been uppercased and populated appropriately
086 SpringContext.getBean(BusinessObjectDictionaryService.class).performForceUppercase(getNewCreditCardReceipt());
087
088 List<CreditCardDetail> creditCardReceipts = getCreditCardReceiptDocument().getCreditCardReceipts();
089 for (CreditCardDetail detail : creditCardReceipts) {
090 SpringContext.getBean(BusinessObjectDictionaryService.class).performForceUppercase(detail);
091 }
092
093 }
094
095 /**
096 * @see org.kuali.kfs.fp.document.CapitalAssetEditable#getCapitalAssetInformation()
097 */
098 public CapitalAssetInformation getCapitalAssetInformation() {
099 return capitalAssetInformation;
100 }
101
102 /**
103 * @see org.kuali.kfs.fp.document.CapitalAssetEditable#setCapitalAssetInformation(org.kuali.kfs.fp.businessobject.CapitalAssetInformation)
104 */
105 public void setCapitalAssetInformation(CapitalAssetInformation capitalAssetInformation) {
106 this.capitalAssetInformation = capitalAssetInformation;
107 }
108 }