Details
-
Type: New Feature
-
Status: Done/Fixed
-
Priority: Major
-
Resolution: Fixed/Completed
-
Affects Version/s: None
-
Fix Version/s: Quest-CM
-
Component/s: None
-
Labels:None
Description
This issue covers form rendering, validation, post-processing for both subsections of section 10 as shown in the mockups:
http://www.questbridge.org/app_staging/cm/appl/work_experience.html
http://www.questbridge.org/app_staging/cm/appl/extracurricular.html
10.1 Extracurricular Info
--------------------------------
Data storage for the elements on this screen are:
- Grid rows for Activities are stored in a new class/table - Quest/Extracurricular (quest_extracurricular). Each row in the form grid is a row in the table. The schema comments indicate column-> form field usage.
- The 3 textarea fields are stored in quest_essay. You'll need to add INSERTs to quest/sql/quest_data_cm.mysql to define 3 new quest_essay_type records for this form. Populate the "grouping" column with this Form's classname.
- The remaining 4 fields (bottom of page) should be added to quest_student.
Form validation - if user enters a value in any "cell" in an Activities grid row - then all other fields in that row are required. However, user may leave the entire grid empty. If "Varsity Sports" or "Arts" checkboxes are TRUE, then the corresponding "List" field is required. Essays are all optional. Hours/week must be a number (integer or decimal number is ok). Weeks/year must be an integer.
10.2 Work Experience
------------------------------
Data for this grid on this form will be stored in the new class/table - Quest/WorkExperience (quest_work_experience). Each row in the form grid is a row in the table. The schema comments indicate column->form field usage.
The YEAR selector value range should be dynamically set (I think we can do this in the framework?) so it starts at (current year - 4) and ends at (current year+1). (2002 -> 2007 given that current year=2006).
Form validation - if user enters a value in any "cell" in a Work Experience grid row - then all other fields in that row are required EXCEPT "End Date" (since they may still be working). However, user may leave the entire grid empty Hours/week must be a number (integer or decimal number is ok).
State Machine
-------------------
Add this new section/sub-sections to state machine.