001    /**
002     * Copyright 2004-2013 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.hr.lm.leavecalendar.web;
017    
018    import org.apache.struts.action.ActionMapping;
019    import org.joda.time.DateTime;
020    import org.joda.time.format.DateTimeFormat;
021    import org.joda.time.format.DateTimeFormatter;
022    import org.kuali.hr.lm.balancetransfer.BalanceTransfer;
023    import org.kuali.hr.lm.leaveSummary.LeaveSummary;
024    import org.kuali.hr.lm.leavecalendar.LeaveCalendarDocument;
025    import org.kuali.hr.time.base.web.TkCommonCalendarForm;
026    import org.kuali.hr.time.calendar.CalendarEntries;
027    import org.kuali.hr.time.calendar.LeaveCalendar;
028    
029    import javax.servlet.http.HttpServletRequest;
030    import java.math.BigDecimal;
031    import java.util.LinkedHashMap;
032    import java.util.List;
033    import java.util.Map;
034    
035    @SuppressWarnings("serial")
036    public class LeaveCalendarForm extends TkCommonCalendarForm {
037    
038        private static final DateTimeFormatter SDF_NO_TZ = DateTimeFormat.forPattern("EEE MMM d HH:mm:ss yyyy");
039    
040        private String documentId;
041        private LeaveCalendar leaveCalendar;
042        private LeaveCalendarDocument leaveCalendarDocument;
043        CalendarEntries calendarEntry;
044        private String startDate;
045        private String endDate;
046        private String selectedEarnCode;
047        private Map<String, String> leaveCodeList = new LinkedHashMap<String, String>();
048        private BigDecimal leaveAmount;
049        private String description;
050        private String leaveBlockId;
051        private String prevDocumentId;
052        private String nextDocumentId;
053        private String prevCalEntryId;
054        private String nextCalEntryId;
055        private String calEntryId;
056            /** String (concat(job number, work_area, task)) -> Formatted Assignment Descriptions */
057            private Map<String,String>  assignmentDescriptions;
058            private String selectedAssignment;
059            private String spanningWeeks; // KPME-1446
060            private String leaveBlockString;  // KPME-1447
061            private boolean isDocEditable;
062            private String currentPayCalStartDate;
063            private String currentPayCalEndDate;
064            private DateTime currentPayCalStart;
065            private DateTime currentPayCalEnd;
066            private LeaveSummary leaveSummary;
067        private boolean leavePlanningCalendar;
068        private List<BalanceTransfer> forfeitures;
069            
070            public DateTime getCurrentPayCalStart() {
071                    return currentPayCalStart;
072            }
073    
074            public void setCurrentPayCalStart(DateTime currentPayCalStart) {
075                    this.currentPayCalStart = currentPayCalStart;
076            }
077    
078            public DateTime getCurrentPayCalEnd() {
079                    return currentPayCalEnd;
080            }
081    
082            public void setCurrentPayCalEnd(DateTime currentPayCalEnd) {
083                    this.currentPayCalEnd = currentPayCalEnd;
084            }
085    
086            public String getCurrentPayCalStartDate() {
087                    if(currentPayCalStart != null) {
088                            return this.currentPayCalStart.toString(SDF_NO_TZ);
089                    } else {
090                            return null;
091                    }
092            }
093    
094            public void setCurrentPayCalStartDate(String currentPayCalStartDate) {
095                    this.currentPayCalStartDate = currentPayCalStartDate;
096            }
097    
098            public String getCurrentPayCalEndDate() {
099                    if(currentPayCalEnd != null) {
100                            return this.currentPayCalEnd.toString(SDF_NO_TZ);
101                    } else {
102                            return null;
103                    }
104            }
105    
106            public void setCurrentPayCalEndDate(String currentPayCalEndDate) {
107                    this.currentPayCalEndDate = currentPayCalEndDate;
108            }
109    
110            public boolean isDocEditable() {
111                    return isDocEditable;
112            }
113    
114            public void setDocEditable(boolean isDocEditable) {
115                    this.isDocEditable = isDocEditable;
116            }
117    
118        public boolean isLeavePlanningCalendar() {
119            return leavePlanningCalendar;
120        }
121    
122        public void setLeavePlanningCalendar(boolean leavePlanningCalendar) {
123            this.leavePlanningCalendar = leavePlanningCalendar;
124        }
125    
126        public String getLeaveBlockString() {
127                    return leaveBlockString;
128            }
129    
130            public void setLeaveBlockString(String leaveBlockString) {
131                    this.leaveBlockString = leaveBlockString;
132            }
133    
134            public String getSpanningWeeks() {
135                    return spanningWeeks;
136            }
137    
138            public void setSpanningWeeks(String spanningWeeks) {
139                    this.spanningWeeks = spanningWeeks;
140            }
141                    
142        public String getSelectedAssignment() {
143                    return selectedAssignment;
144            }
145    
146            public void setSelectedAssignment(String selectedAssignment) {
147                    this.selectedAssignment = selectedAssignment;
148            }
149    
150            public Map<String, String> getAssignmentDescriptions() {
151                    return assignmentDescriptions;
152            }
153    
154            public void setAssignmentDescriptions(Map<String, String> assignmentDescriptions) {
155                    this.assignmentDescriptions = assignmentDescriptions;
156            }
157    
158            public String getPrevCalEntryId() {
159                    return prevCalEntryId;
160            }
161    
162            public void setPrevCalEntryId(String prevCalEntryId) {
163                    this.prevCalEntryId = prevCalEntryId;
164            }
165    
166            public String getNextCalEntryId() {
167                    return nextCalEntryId;
168            }
169    
170            public void setNextCalEntryId(String nextCalEntryId) {
171                    this.nextCalEntryId = nextCalEntryId;
172            }
173    
174            public String getCalEntryId() {
175                    return calEntryId;
176            }
177    
178            public void setCalEntryId(String calEntryId) {
179                    this.calEntryId = calEntryId;
180            }
181    
182            @Override
183        public void reset(ActionMapping mapping, HttpServletRequest request) {
184            super.reset(mapping, request);
185        }
186    
187        public LeaveCalendar getLeaveCalendar() {
188            return leaveCalendar;
189        }
190    
191        public void setLeaveCalendar(LeaveCalendar leaveCalendar) {
192            this.leaveCalendar = leaveCalendar;
193        }
194    
195        public String getDocumentId() {
196            return documentId;
197        }
198    
199        public void setDocumentId(String documentId) {
200            this.documentId = documentId;
201        }
202    
203        public CalendarEntries getCalendarEntry() {
204            return calendarEntry;
205        }
206    
207        public void setCalendarEntry(CalendarEntries calendarEntry) {
208            this.calendarEntry = calendarEntry;
209        }
210    
211        public LeaveCalendarDocument getLeaveCalendarDocument() {
212            return leaveCalendarDocument;
213        }
214    
215        public void setLeaveCalendarDocument(LeaveCalendarDocument leaveCalendarDocument) {
216            this.leaveCalendarDocument = leaveCalendarDocument;
217        }
218    
219        public String getStartDate() {
220            return startDate;
221        }
222    
223        public void setStartDate(String startDate) {
224            this.startDate = startDate;
225        }
226    
227        public String getEndDate() {
228            return endDate;
229        }
230    
231        public void setEndDate(String endDate) {
232            this.endDate = endDate;
233        }
234    
235            public BigDecimal getLeaveAmount() {
236                    return leaveAmount;
237            }
238    
239            public void setLeaveAmount(BigDecimal leaveAmount) {
240                    this.leaveAmount = leaveAmount;
241            }
242    
243            public String getDescription() {
244            return description;
245        }
246    
247        public void setDescription(String description) {
248            this.description = description;
249        }
250    
251        public Map<String, String> getLeaveCodeList() {
252            return leaveCodeList;
253        }
254    
255        public void setLeaveCodeList(Map<String, String> leaveCodeList) {
256            this.leaveCodeList = leaveCodeList;
257        }
258    
259        public String getLeaveBlockId() {
260            return leaveBlockId;
261        }
262    
263        public void setLeaveBlockId(String leaveBlockId) {
264            this.leaveBlockId = leaveBlockId;
265        }
266    
267        public String getNextDocumentId() {
268            return nextDocumentId;
269        }
270    
271        public void setNextDocumentId(String nextDocumentId) {
272            this.nextDocumentId = nextDocumentId;
273        }
274    
275        public String getPrevDocumentId() {
276            return prevDocumentId;
277        }
278    
279        public void setPrevDocumentId(String prevDocumentId) {
280            this.prevDocumentId = prevDocumentId;
281        }
282    
283        public String getBeginPeriodDateTime() {
284            return leaveCalendar.getBeginDateTime().toString(SDF_NO_TZ);
285        }
286    
287        public String getEndPeriodDateTime() {
288            return leaveCalendar.getEndDateTime().toString(SDF_NO_TZ);
289        }
290    
291            public String getSelectedEarnCode() {
292                    return selectedEarnCode;
293            }
294    
295            public void setSelectedEarnCode(String selectedEarnCode) {
296                    this.selectedEarnCode = selectedEarnCode;
297            }
298    
299            public LeaveSummary getLeaveSummary() {
300                    return leaveSummary;
301            }
302    
303            public void setLeaveSummary(LeaveSummary leaveSummary) {
304                    this.leaveSummary = leaveSummary;
305            }
306    
307            public List<BalanceTransfer> getForfeitures() {
308                    return forfeitures;
309            }
310    
311            public void setForfeitures(List<BalanceTransfer> forfeitures) {
312                    this.forfeitures = forfeitures;
313            }
314    }