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 }