001: /*
002: * Copyright 2007 The Kuali Foundation.
003: *
004: * Licensed under the Educational Community License, Version 1.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/ecl1.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.module.pdp.action.disbursementnumbermaintenance;
017:
018: import javax.servlet.http.HttpServletRequest;
019: import javax.servlet.http.HttpServletResponse;
020:
021: import org.apache.struts.action.ActionErrors;
022: import org.apache.struts.action.ActionForm;
023: import org.apache.struts.action.ActionForward;
024: import org.apache.struts.action.ActionMapping;
025: import org.apache.struts.action.ActionMessage;
026: import org.kuali.kfs.context.SpringContext;
027: import org.kuali.module.pdp.action.BaseAction;
028: import org.kuali.module.pdp.bo.Bank;
029: import org.kuali.module.pdp.bo.DisbursementNumberRange;
030: import org.kuali.module.pdp.form.disbursementnumbermaintenance.DisbursementNumberMaintenanceForm;
031: import org.kuali.module.pdp.service.BankService;
032: import org.kuali.module.pdp.service.DisbursementNumberRangeService;
033: import org.kuali.module.pdp.service.SecurityRecord;
034:
035: public class DisbursementNumberMaintenanceSaveAction extends BaseAction {
036: private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger
037: .getLogger(DisbursementNumberMaintenanceSaveAction.class);
038:
039: private DisbursementNumberRangeService disbursementNumberRangeService;
040: private BankService bankService;
041:
042: public DisbursementNumberMaintenanceSaveAction() {
043: super ();
044: setDisbursementNumberRangeService(SpringContext
045: .getBean(DisbursementNumberRangeService.class));
046: setBankService(SpringContext.getBean(BankService.class));
047: }
048:
049: public void setDisbursementNumberRangeService(
050: DisbursementNumberRangeService d) {
051: disbursementNumberRangeService = d;
052: }
053:
054: public void setBankService(BankService b) {
055: bankService = b;
056: }
057:
058: protected boolean isAuthorized(ActionMapping mapping,
059: ActionForm form, HttpServletRequest request,
060: HttpServletResponse response) {
061: SecurityRecord sr = getSecurityRecord(request);
062: return sr.isRangesRole() || sr.isSysAdminRole();
063: }
064:
065: protected ActionForward executeLogic(ActionMapping mapping,
066: ActionForm form, HttpServletRequest request,
067: HttpServletResponse response) throws Exception {
068: LOG.debug("executeLogic() started");
069:
070: String forward = "list";
071: String btnPressed = whichButtonWasPressed(request);
072: LOG.debug("executeLogic() Button Pressed was " + btnPressed);
073: ActionErrors actionErrors = new ActionErrors();
074:
075: if ("btnCancel".equals(btnPressed)) {
076: LOG.debug("executeLogic() Cancelled, returning to list");
077: } else if ("btnSave".equals(btnPressed)) {
078: LOG.debug("executeLogic() Saving");
079:
080: DisbursementNumberMaintenanceForm dnmf = (DisbursementNumberMaintenanceForm) form;
081: ActionErrors ae = dnmf.validate(mapping, request);
082: if (ae.size() > 0) {
083: LOG.debug("executeLogic() Validation errors");
084:
085: saveErrors(request, ae);
086: return mapping.getInputForward();
087: }
088:
089: DisbursementNumberRange dnr = dnmf
090: .getDisbursementNumberRange();
091:
092: if ((dnmf.getId() == null)
093: || (dnmf.getId().intValue() == 0)) {
094: dnr.setId(null);
095: } else {
096: dnr.setId(dnmf.getId());
097: }
098: dnr.setBank((Bank) bankService.get(dnmf.getBankId()));
099: dnr.setLastUpdateUser(getUser(request));
100:
101: try {
102: disbursementNumberRangeService.save(dnr);
103: actionErrors.add("success", new ActionMessage(
104: "success.disbursementNumberRange.saved"));
105: } catch (Exception e) {
106: actionErrors
107: .add(
108: "error",
109: new ActionMessage(
110: "disbursementNumberMaintenanceSaveAction.save.error"));
111: }
112: }
113:
114: if (!actionErrors.isEmpty()) { // If we had errors, save them.
115: saveErrors(request, actionErrors);
116: }
117: return mapping.findForward(forward);
118: }
119: }
|