001    /**
002     * Copyright 2004-2014 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.kpme.pm.position.web;
017    
018    
019    import java.util.Map;
020    
021    import javax.servlet.http.HttpServletRequest;
022    import javax.servlet.http.HttpServletResponse;
023    
024    import org.apache.commons.lang.StringUtils;
025    import org.kuali.kpme.pm.position.Position;
026    import org.kuali.rice.kim.api.identity.Person;
027    import org.kuali.rice.krad.exception.AuthorizationException;
028    import org.kuali.rice.krad.maintenance.MaintenanceDocument;
029    import org.kuali.rice.krad.util.GlobalVariables;
030    import org.kuali.rice.krad.util.KRADConstants;
031    import org.kuali.rice.krad.web.controller.MaintenanceDocumentController;
032    import org.kuali.rice.krad.web.form.DocumentFormBase;
033    import org.kuali.rice.krad.web.form.MaintenanceDocumentForm;
034    import org.kuali.rice.krad.web.form.UifFormBase;
035    import org.springframework.stereotype.Controller;
036    import org.springframework.validation.BindingResult;
037    import org.springframework.web.bind.annotation.ModelAttribute;
038    import org.springframework.web.bind.annotation.RequestMapping;
039    import org.springframework.web.servlet.ModelAndView;
040    
041    @Controller
042    @RequestMapping(value = "/positionMaintenance")
043    public class PositionController extends MaintenanceDocumentController {
044            
045                
046        @Override
047        @RequestMapping(params = "methodToCall=" + "setupMaintenance")
048        protected void setupMaintenance(MaintenanceDocumentForm form, HttpServletRequest request, String maintenanceAction) {
049            super.setupMaintenance(form, request, maintenanceAction);
050            
051            if(KRADConstants.MAINTENANCE_EDIT_ACTION.equals(maintenanceAction)) {
052                     MaintenanceDocument document = form.getDocument();
053                             Position oldPosition = (Position) document.getOldMaintainableObject().getDataObject();
054                             Position newPosition = (Position) document.getNewMaintainableObject().getDataObject();
055                             
056                     Map<String, String[]> aMap = request.getParameterMap();
057                     String[] aStringCol = aMap.get("category");
058                     if(aStringCol.length != 0) {
059                             String aString = aStringCol[0];
060                             if(StringUtils.isNotEmpty(aString)) {
061                                     oldPosition.setCategory(aString);
062                                     newPosition.setCategory(aString);
063                             }
064                     }
065                     
066    //               aStringCol = aMap.get("reason");
067    //               if(aStringCol.length != 0) {
068    //                       String aString = aStringCol[0];
069    //                       if(StringUtils.isNotEmpty(aString)) {
070    //                               oldPosition.setReason(aString);
071    //                               newPosition.setReason(aString);
072    //                       }
073    //               }
074                     
075                     document.getOldMaintainableObject().setDataObject(oldPosition);
076                     document.getNewMaintainableObject().setDataObject(newPosition);
077            }
078        }
079      
080    }