View Javadoc

1   /**
2    * Copyright 2012 The Kuali Foundation Licensed under the
3    * Educational Community License, Version 2.0 (the "License"); you may
4    * not use this file except in compliance with the License. You may
5    * obtain a copy of the License at
6    *
7    * http://www.osedu.org/licenses/ECL-2.0
8    *
9    * Unless required by applicable law or agreed to in writing,
10   * software distributed under the License is distributed on an "AS IS"
11   * BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
12   * or implied. See the License for the specific language governing
13   * permissions and limitations under the License.
14   *
15   * Created by Charles on 5/7/12
16   */
17  package org.kuali.student.enrollment.class2.courseoffering.form;
18  
19  import org.kuali.rice.krad.web.form.UifFormBase;
20  import org.kuali.student.enrollment.acal.dto.TermInfo;
21  import org.kuali.student.enrollment.class2.courseoffering.dto.SocRolloverResultItemWrapper;
22  
23  import java.util.ArrayList;
24  import java.util.List;
25  /**
26   * This class //TODO ...
27   *
28   * @author Kuali Student Team
29   */
30  public class CourseOfferingRolloverManagementForm extends UifFormBase {
31      // Properties of the form
32      private String targetTermCode;
33      private String sourceTermCode;
34      private String displayedTargetTermCode;
35      private String targetTermStartDate;
36      private String targetTermEndDate;
37      private String targetLastRolloverDate;
38      private String displayedSourceTermCode;
39      private String sourceTermStartDate;
40      private String sourceTermEndDate;
41      private String statusField;
42      private List<String> configurationOptions;
43      private TermInfo sourceTerm;
44      private TermInfo targetTerm;
45      private boolean isGoSourceButtonDisabled = true;
46      private boolean isRolloverButtonDisabled = true;
47  
48      // rollover details fields
49      private String rolloverSourceTermDesc;
50      private String rolloverTargetTermCode;
51      private String rolloverTargetTermDesc;
52      private String dateInitiated;
53      private String dateCompleted;
54      private String rolloverDuration; // Printed in hours, minutes, seconds
55      private String courseOfferingsAllowed;
56      private String activityOfferingsAllowed;
57      private List<SocRolloverResultItemWrapper> socRolloverResultItems;
58      private boolean isConfigurationOptionsDisabled = true;
59      private boolean acceptIndicator = false;
60  
61      // release to depts fields
62      private boolean releaseToDeptsDisabled = false;
63      private boolean releaseToDeptsInvalidTerm = false;
64      private boolean socReleasedToDepts = false;
65      private boolean rolloverCompleted = false; // Only true if finished or aborted
66  
67      public CourseOfferingRolloverManagementForm(){
68          targetTermCode = "";
69          sourceTermCode = "";
70          displayedTargetTermCode = "";
71          targetTermStartDate = "";
72          targetTermEndDate = "";
73          targetLastRolloverDate = "";
74          displayedSourceTermCode = "";
75          sourceTermStartDate = "";
76          sourceTermEndDate = "";
77          statusField = "";
78          //rollover details fields
79          rolloverSourceTermDesc = "";
80          rolloverTargetTermCode = "";
81          rolloverTargetTermDesc = "";
82          dateInitiated = "";
83          dateCompleted = "";
84          rolloverDuration = "";
85          socRolloverResultItems = new ArrayList<SocRolloverResultItemWrapper>();
86          // release to depts fields
87          releaseToDeptsDisabled = false; // this is a dependent field so we don't let it be set externally
88          releaseToDeptsInvalidTerm = false;
89          socReleasedToDepts = false;
90  
91          computeReleaseToDeptsDisabled();
92       }
93  
94      public boolean getRolloverCompleted() {
95          return rolloverCompleted;
96      }
97  
98      public void setRolloverCompleted(boolean rolloverCompleted) {
99          this.rolloverCompleted = rolloverCompleted;
100         computeReleaseToDeptsDisabled();
101     }
102 
103     public String getTargetTermCode() {
104         return targetTermCode;
105     }
106 
107     public void setTargetTermCode(String targetTermCode) {
108         this.targetTermCode = targetTermCode;
109         computeReleaseToDeptsDisabled();
110     }
111 
112     public String getSourceTermCode() {
113         return sourceTermCode;
114     }
115 
116     public void setSourceTermCode(String sourceTermCode) {
117         this.sourceTermCode = sourceTermCode;
118     }
119 
120     public String getDisplayedTargetTermCode() {
121         return displayedTargetTermCode;
122     }
123 
124     public void setDisplayedTargetTermCode(String displayedTargetTermCode) {
125         this.displayedTargetTermCode = displayedTargetTermCode;
126     }
127 
128     public String getTargetTermStartDate() {
129         return targetTermStartDate;
130     }
131 
132     public void setTargetTermStartDate(String targetTermStartDate) {
133         this.targetTermStartDate = targetTermStartDate;
134     }
135 
136     public String getTargetTermEndDate() {
137         return targetTermEndDate;
138     }
139 
140     public void setTargetTermEndDate(String targetTermEndDate) {
141         this.targetTermEndDate = targetTermEndDate;
142     }
143 
144     public String getTargetLastRolloverDate() {
145         return targetLastRolloverDate;
146     }
147 
148     public void setTargetLastRolloverDate(String targetLastRolloverDate) {
149         this.targetLastRolloverDate = targetLastRolloverDate;
150     }
151 
152     public String getDisplayedSourceTermCode() {
153         return displayedSourceTermCode;
154     }
155 
156     public void setDisplayedSourceTermCode(String displayedSourceTermCode) {
157         this.displayedSourceTermCode = displayedSourceTermCode;
158     }
159 
160     public String getSourceTermStartDate() {
161         return sourceTermStartDate;
162     }
163 
164     public void setSourceTermStartDate(String sourceTermStartDate) {
165         this.sourceTermStartDate = sourceTermStartDate;
166     }
167 
168     public String getSourceTermEndDate() {
169         return sourceTermEndDate;
170     }
171 
172     public void setSourceTermEndDate(String sourceTermEndDate) {
173         this.sourceTermEndDate = sourceTermEndDate;
174     }
175 
176     public String getRolloverSourceTermDesc() {
177         return rolloverSourceTermDesc;
178     }
179 
180     public void setRolloverSourceTermDesc(String rolloverSourceTermDesc) {
181         this.rolloverSourceTermDesc = rolloverSourceTermDesc;
182     }
183 
184     public String getRolloverTargetTermDesc() {
185         return rolloverTargetTermDesc;
186     }
187 
188     public void setRolloverTargetTermDesc(String rolloverTargetTermDesc) {
189         this.rolloverTargetTermDesc = rolloverTargetTermDesc;
190     }
191 
192     public String getDateInitiated() {
193         return dateInitiated;
194     }
195 
196     public void setDateInitiated(String dateInitiated) {
197         this.dateInitiated = dateInitiated;
198     }
199 
200     public String getRolloverDuration() {
201         return rolloverDuration;
202     }
203 
204     public void setRolloverDuration(String rolloverDuration) {
205         this.rolloverDuration = rolloverDuration;
206     }
207 
208     public String getRolloverTargetTermCode() {
209         return rolloverTargetTermCode;
210     }
211 
212     public void setRolloverTargetTermCode(String rolloverTargetTermCode) {
213         this.rolloverTargetTermCode = rolloverTargetTermCode;
214     }
215 
216     public String getDateCompleted() {
217         return dateCompleted;
218     }
219 
220     public void setDateCompleted(String dateCompleted) {
221         this.dateCompleted = dateCompleted;
222     }
223 
224     public String getCourseOfferingsAllowed() {
225         return courseOfferingsAllowed;
226     }
227 
228     public void setCourseOfferingsAllowed(String courseOfferingsAllowed) {
229         this.courseOfferingsAllowed = courseOfferingsAllowed;
230     }
231 
232     public String getActivityOfferingsAllowed() {
233         return activityOfferingsAllowed;
234     }
235 
236     public void setActivityOfferingsAllowed(String activityOfferingsAllowed) {
237         this.activityOfferingsAllowed = activityOfferingsAllowed;
238     }
239     
240     public List<SocRolloverResultItemWrapper> getSocRolloverResultItems(){
241         return socRolloverResultItems;
242     }
243     
244     public void setSocRolloverResultItems(List<SocRolloverResultItemWrapper> socRolloverResultItems){
245         this.socRolloverResultItems = socRolloverResultItems;
246     }
247 
248     public String getStatusField() {
249         return statusField;
250     }
251 
252     public void setStatusField(String statusField) {
253         this.statusField = statusField;
254     }
255 
256     public TermInfo getSourceTerm() {
257         return sourceTerm;
258     }
259 
260     public void setSourceTerm(TermInfo sourceTerm) {
261         this.sourceTerm = sourceTerm;
262     }
263 
264     public TermInfo getTargetTerm() {
265         return targetTerm;
266     }
267 
268     public void setTargetTerm(TermInfo targetTerm) {
269         this.targetTerm = targetTerm;
270     }
271 
272     public boolean getIsGoSourceButtonDisabled() {
273         return isGoSourceButtonDisabled;
274     }
275 
276     public void setIsGoSourceButtonDisabled(boolean goSourceButtonDisabled) {
277         isGoSourceButtonDisabled = goSourceButtonDisabled;
278     }
279 
280     public boolean getIsRolloverButtonDisabled() {
281         return isRolloverButtonDisabled;
282     }
283 
284     public void setIsRolloverButtonDisabled(boolean rolloverButtonDisabled) {
285         isRolloverButtonDisabled = rolloverButtonDisabled;
286     }
287 
288     public boolean getIsConfigurationOptionsDisabled() {
289         return isConfigurationOptionsDisabled;
290     }
291 
292     public void setIsConfigurationOptionsDisabled(boolean isConfigurationOptionsDisabled) {
293         this.isConfigurationOptionsDisabled = isConfigurationOptionsDisabled;
294     }
295 
296     public boolean getAcceptIndicator() {
297         return acceptIndicator;
298     }
299 
300     public void setAcceptIndicator(boolean acceptIndicator) {
301         this.acceptIndicator = acceptIndicator;
302     }
303 
304     public boolean getReleaseToDeptsDisabled() {
305         return releaseToDeptsDisabled;
306     }
307 
308     private void _setReleaseToDeptsDisabled(boolean releaseToDeptsDisabled) {
309         this.releaseToDeptsDisabled = releaseToDeptsDisabled;
310     }
311 
312     public boolean computeReleaseToDeptsDisabled() {
313         // Disable release to depts if it's an invalid term or if it's already released
314         this.releaseToDeptsDisabled =
315                 releaseToDeptsInvalidTerm || socReleasedToDepts || targetTermCode == null
316                         || targetTermCode.trim().isEmpty() || !rolloverCompleted;
317         return this.releaseToDeptsDisabled;
318     }
319 
320     public boolean getReleaseToDeptsInvalidTerm() {
321         return releaseToDeptsInvalidTerm;
322     }
323 
324     public void setReleaseToDeptsInvalidTerm(boolean releaseToDeptsInvalidTerm) {
325         this.releaseToDeptsInvalidTerm = releaseToDeptsInvalidTerm;
326         computeReleaseToDeptsDisabled();
327     }
328 
329     public boolean getSocReleasedToDepts() {
330         return socReleasedToDepts;
331     }
332 
333     public void setSocReleasedToDepts(boolean releasedToDepts) {
334         socReleasedToDepts = releasedToDepts;
335     }
336 
337     public List<String> getConfigurationOptions() {
338         if(configurationOptions == null){
339             configurationOptions = new ArrayList<String>();
340         }
341         return configurationOptions;
342     }
343 
344     public void setConfigurationOptions(List<String> configurationOptions) {
345         this.configurationOptions = configurationOptions;
346     }
347 
348     public void resetForm(){
349         displayedTargetTermCode = "";
350         targetTermStartDate = "";
351         targetTermEndDate = "";
352         targetLastRolloverDate = "";
353         displayedSourceTermCode = "";
354         sourceTermStartDate = "";
355         sourceTermEndDate = "";
356         statusField = "";
357         //rollover details fields
358         rolloverSourceTermDesc = "";
359         rolloverTargetTermCode = "";
360         rolloverTargetTermDesc = "";
361         dateInitiated = "";
362         dateCompleted = "";
363         socRolloverResultItems = new ArrayList<SocRolloverResultItemWrapper>();
364         isGoSourceButtonDisabled = true;
365         isRolloverButtonDisabled = true;
366         isConfigurationOptionsDisabled = true;
367         // release to depts fields
368         releaseToDeptsDisabled = false;
369         releaseToDeptsInvalidTerm = false;
370         socReleasedToDepts = false;
371         computeReleaseToDeptsDisabled();
372     }
373  }