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: /*
017: * Created on Sep 7, 2004
018: *
019: */
020: package org.kuali.module.pdp.action.disbursementnumbermaintenance;
021:
022: import java.util.ArrayList;
023: import java.util.List;
024:
025: import javax.servlet.http.HttpServletRequest;
026: import javax.servlet.http.HttpServletResponse;
027:
028: import org.apache.struts.action.ActionForm;
029: import org.apache.struts.action.ActionForward;
030: import org.apache.struts.action.ActionMapping;
031: import org.kuali.kfs.context.SpringContext;
032: import org.kuali.module.pdp.action.BaseAction;
033: import org.kuali.module.pdp.bo.DisbursementNumberRange;
034: import org.kuali.module.pdp.form.disbursementnumbermaintenance.DisbursementNumberMaintenanceForm;
035: import org.kuali.module.pdp.service.DisbursementNumberRangeService;
036: import org.kuali.module.pdp.service.SecurityRecord;
037:
038: /**
039: * @author delyea
040: */
041: public class DisbursementNumberMaintenanceAction extends BaseAction {
042: private static org.apache.log4j.Logger LOG = org.apache.log4j.Logger
043: .getLogger(DisbursementNumberMaintenanceAction.class);
044:
045: private DisbursementNumberRangeService disbursementNumberRangeService;
046:
047: public DisbursementNumberMaintenanceAction() {
048: super ();
049: setDisbursementNumberRangeService(SpringContext
050: .getBean(DisbursementNumberRangeService.class));
051: }
052:
053: public void setDisbursementNumberRangeService(
054: DisbursementNumberRangeService d) {
055: disbursementNumberRangeService = d;
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.info("executeLogic() starting");
069: String forward = "list";
070: List disbursementRangeList = new ArrayList();
071: String d = request.getParameter("dnrId");
072:
073: if (d != null) {
074: int dnrId = -1;
075: try {
076: dnrId = Integer.parseInt(d);
077: } catch (NumberFormatException e) {
078: // Bad number - we don't need to do anything here
079: }
080: if (dnrId == 0) {
081: // Add a new range
082: DisbursementNumberMaintenanceForm dnmf = new DisbursementNumberMaintenanceForm();
083:
084: request.setAttribute(
085: "PdpDisbursementNumberMaintenanceForm", dnmf);
086:
087: return mapping.findForward("edit");
088: } else if (dnrId == -1) {
089: // No Id or invalid disbursement number range ID, go back to the list
090: disbursementRangeList = disbursementNumberRangeService
091: .getAll();
092: request.setAttribute("disbursementRangeList",
093: disbursementRangeList);
094: return mapping.findForward("list");
095: } else {
096: // Load the disbursement number range to edit it
097: DisbursementNumberRange dnr = disbursementNumberRangeService
098: .get(new Integer(dnrId));
099: DisbursementNumberMaintenanceForm dnmf = new DisbursementNumberMaintenanceForm(
100: dnr);
101:
102: request.setAttribute(
103: "PdpDisbursementNumberMaintenanceForm", dnmf);
104: return mapping.findForward("edit");
105: }
106: } else {
107: disbursementRangeList = disbursementNumberRangeService
108: .getAll();
109: request.setAttribute("disbursementRangeList",
110: disbursementRangeList);
111: return mapping.findForward("list");
112: }
113: }
114: }
|