1 | <metal:body use-macro="here/main_template/macros/master"> |
---|
2 | <metal:main fill-slot="main" |
---|
3 | tal:define="info context/getStudyLevelInfo; |
---|
4 | contact_student_form string:contact_student_form; |
---|
5 | study_level_view string:study_level_view;"> |
---|
6 | <metal:block define-macro="edit_form"> |
---|
7 | |
---|
8 | <span tal:condition="not: info"> |
---|
9 | <span tal:content="here/illegal_view" /> |
---|
10 | </span> |
---|
11 | <span tal:condition="info"> |
---|
12 | <span tal:define= "is_so context/isSectionOfficer; |
---|
13 | is_ca info/is_ca; |
---|
14 | show_check_boxes info/show_check_boxes; |
---|
15 | has_verdict info/has_verdict; |
---|
16 | submission_allowed info/submission_allowed; |
---|
17 | rejection_allowed info/rejection_allowed; |
---|
18 | is_current_level info/is_current_level; |
---|
19 | is_student info/is_student; |
---|
20 | with_score not: info/without_score|nothing; |
---|
21 | with_cascore not: info/without_cascore|nothing; |
---|
22 | "> |
---|
23 | |
---|
24 | |
---|
25 | <span tal:condition="python:True"> |
---|
26 | <div style="text-align: right" |
---|
27 | tal:condition="python:True"> |
---|
28 | <img tal:attributes="src string:${here/portal_url}/actionicon_print.png" /> Academic Report Slip: |
---|
29 | <a href="" target="slip" tal:attributes="href string:callAcademicReportSlip?term=1" |
---|
30 | onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')"> |
---|
31 | Term 1 / |
---|
32 | </a> |
---|
33 | <a href="" target="slip" tal:attributes="href string:callAcademicReportSlip?term=2" |
---|
34 | onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')"> |
---|
35 | Term 2 / |
---|
36 | </a> |
---|
37 | <a href="" target="slip" tal:attributes="href string:callAcademicReportSlip?term=3" |
---|
38 | onclick="javascript:window.open('','slip','width=600, height=700, directories=no, toolbar=no, location=no, menubar=yes, scrollbars=yes, status=no, resizable=no, dependent=no')"> |
---|
39 | Term 3 |
---|
40 | </a> |
---|
41 | </div> |
---|
42 | </span> |
---|
43 | |
---|
44 | <a href="" |
---|
45 | tal:attributes="href string:${here/academicsParent}"> |
---|
46 | <img tal:attributes="src string:${here/portal_url}/arrow_up.gif"/> |
---|
47 | Up one level |
---|
48 | </a> |
---|
49 | |
---|
50 | <h3> |
---|
51 | <span tal:condition="python: is_so or is_ca"> |
---|
52 | <span tal:content="info/student/name" />: |
---|
53 | </span> |
---|
54 | Subject Registration Form for <span tal:content="info/level_str" /> |
---|
55 | </h3> |
---|
56 | |
---|
57 | <br /> |
---|
58 | |
---|
59 | <table> |
---|
60 | <tr> |
---|
61 | <th>Session:</th> |
---|
62 | <td><span tal:content="info/session" /></td> |
---|
63 | </tr> |
---|
64 | <tr tal:condition="has_verdict"> |
---|
65 | <th>Verdict:</th> |
---|
66 | <td><span tal:content="info/verdict" /></td> |
---|
67 | </tr> |
---|
68 | </table> |
---|
69 | |
---|
70 | |
---|
71 | <form action="." method="post" class="group" onsubmit="return submit_once()"> |
---|
72 | |
---|
73 | <div class="" tal:condition="python: info['data_missing'] and not info['spillover']"> |
---|
74 | <font color="red">Your faculty has not yet provided the list of subjects for your certificate. Please contact your faculty!</font> |
---|
75 | <br /><br /> |
---|
76 | </div> |
---|
77 | |
---|
78 | <span tal:condition="not:info/data_missing" tal:omit-tag=""> |
---|
79 | |
---|
80 | <table class="contentListing" id="folder_content" width="100%"> |
---|
81 | |
---|
82 | <span tal:repeat="sem python:(('1','Term One','normal1'),('2','Term Two','normal2'),('3','Term Three','normal3'))"> |
---|
83 | |
---|
84 | <tr tal:condition="python:info[sem[2]]"> |
---|
85 | <th tal:attributes="colspan python: test(show_check_boxes,'2','1')" |
---|
86 | tal:content="python:sem[1]" /> |
---|
87 | <th align='center'>ATL</th> |
---|
88 | <th align='center'>CA 1 <br />Marks</th> |
---|
89 | <th align='center'>CA 2 <br />Marks</th> |
---|
90 | <th align='center'>Exam <br />Marks</th> |
---|
91 | <th align='center'>Overall <br />Marks</th> |
---|
92 | <th align='center'>Grade</th> |
---|
93 | <th tal:condition="submission_allowed" align='center'></th> |
---|
94 | <th tal:condition="is_so" align='center'></th> |
---|
95 | |
---|
96 | </tr> |
---|
97 | <tr tal:repeat="row python:info[sem[2]]" |
---|
98 | tal:attributes="class python:test(repeat['row'].even(), 'even ajaxtd', 'odd ajaxtd')"> |
---|
99 | <td align="left" valign="middle" style="width: 5%;" |
---|
100 | tal:condition="show_check_boxes"> |
---|
101 | <input type="checkbox" name="ids:list" value="" id="" class="noborder" |
---|
102 | tal:define="id row/id" |
---|
103 | tal:attributes="value id; |
---|
104 | id python:'cb_' + id; |
---|
105 | checked python:id in info['choosen_ids'];" |
---|
106 | /> |
---|
107 | </td> |
---|
108 | <td tal:content="row/title"></td> |
---|
109 | <td align="center" tal:content="python:context.portal_vocabularies.pastoral_grade.get(row['atl'])"></td> |
---|
110 | <td align="center" tal:content="row/ca1"></td> |
---|
111 | <td align="center" tal:content="row/ca2"></td> |
---|
112 | <td align="center" tal:content="row/exam"></td> |
---|
113 | <td align="center" tal:content="row/score_calc"></td> |
---|
114 | <td align="center" tal:content="row/grade"></td> |
---|
115 | |
---|
116 | <td tal:condition="python:submission_allowed and is_student and False" align="center"> |
---|
117 | <a href="edit" tal:attributes="href string:course_edit/${row/code}" |
---|
118 | target="edit_course_result" |
---|
119 | onclick="javascript:window.open('','edit_course_result','width=600, height=350, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"> |
---|
120 | [edit] |
---|
121 | </a> |
---|
122 | </td> |
---|
123 | <td tal:condition="is_so" align="center"> |
---|
124 | <a href="edit" tal:attributes="href string:lecturer_course_edit/${row/code}" |
---|
125 | target="edit_course_result" |
---|
126 | onclick="javascript:window.open('','edit_course_result','width=600, height=500, directories=no, toolbar=no, location=no, menubar=no, scrollbars=yes, status=no, resizable=no, dependent=no')"> |
---|
127 | [edit] |
---|
128 | </a> |
---|
129 | </td> |
---|
130 | </tr> |
---|
131 | <tr><td> </td></tr> |
---|
132 | </span> |
---|
133 | |
---|
134 | </table> |
---|
135 | </span> |
---|
136 | |
---|
137 | |
---|
138 | |
---|
139 | <br /> |
---|
140 | |
---|
141 | <table tal:condition="python: is_student and show_check_boxes" width="100%" cellspacing="0" cellpadding="2" |
---|
142 | class="folderButtons"> |
---|
143 | <tr> |
---|
144 | <td align="left" valign="top" rowspan="3"></td> |
---|
145 | <td align="left" valign="top"> |
---|
146 | <input type="submit" name="delete_course_result:method" value="Delete selected" |
---|
147 | class="destructive" i18n:attributes="value" |
---|
148 | tal:attributes="onclick python:'return window.confirm(\'%s\')' % |
---|
149 | ('Do you really want to delete selected subjects?', )" |
---|
150 | /> |
---|
151 | <input tal:condition="python: 1" type="submit" name="refresh_level:method" |
---|
152 | class="context" value="Update" |
---|
153 | /> |
---|
154 | |
---|
155 | |
---|
156 | <br /><br /> |
---|
157 | <input tal:condition="not: info/credits_exceeded" |
---|
158 | type="submit" name="register_courses:method" |
---|
159 | class="context" value="Submit to Academic Tutor" |
---|
160 | tal:attributes="onclick python:'return window.confirm(\'%s\')' % |
---|
161 | ('Do you really want to submit the list? You will not be able to edit your data after submission.', )" /> |
---|
162 | <span tal:condition="info/credits_exceeded"> |
---|
163 | <font color="red"> <strong>Your total credits exceed <span tal:replace="info/max_credits" />!</strong></font> |
---|
164 | </span> |
---|
165 | |
---|
166 | <input type="hidden" name="action_after_validate" type="text" id="action_after_validate" |
---|
167 | tal:attributes="value study_level_view"/> |
---|
168 | |
---|
169 | <br /><br /> |
---|
170 | |
---|
171 | <span tal:condition="python: 1"> |
---|
172 | <strong>Note:</strong> 'Update' checks for all subjects in your certificate and will add them to your subject list irrespective of |
---|
173 | prior deletion, i.e. already deleted subjectss will show up again. |
---|
174 | Please use this function only if you are sure that your department has added subjects which are not yet on your subject list. |
---|
175 | </span> |
---|
176 | <span tal:condition="python: 0"> |
---|
177 | <strong>Note:</strong> The 'Update' function has been temporarily disabled. |
---|
178 | </span> |
---|
179 | |
---|
180 | </td> |
---|
181 | </tr> |
---|
182 | </table> |
---|
183 | <table tal:condition="python: is_so and show_check_boxes" width="100%" cellspacing="0" cellpadding="2" |
---|
184 | class="folderButtons"> |
---|
185 | <tr> |
---|
186 | <td align="left" valign="top" rowspan="3"></td> |
---|
187 | <td align="left" valign="top"> |
---|
188 | <input type="button" value="Select all" class="context" |
---|
189 | onclick="someJavaScriptFunctionThatWillBeReplaced" |
---|
190 | i18n:attributes="value" |
---|
191 | tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')' |
---|
192 | % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))" |
---|
193 | /> |
---|
194 | <input type="submit" name="delete_course_result:method" value="Delete selected" |
---|
195 | class="destructive" i18n:attributes="value" |
---|
196 | tal:attributes="onclick python:'return window.confirm(\'%s\')' % |
---|
197 | ('Do you really want to delete the subjects selected?', )" |
---|
198 | /> |
---|
199 | <input |
---|
200 | type="submit" name="refresh_level:method" |
---|
201 | class="context" value="Update" |
---|
202 | /> |
---|
203 | <input tal:condition="submission_allowed" type="submit" name="register_courses:method" |
---|
204 | class="context" value="Submit" /> |
---|
205 | <input tal:condition="info/validation_allowed" type="submit" name="validate_courses:method" |
---|
206 | class="context" value="Validate" /> |
---|
207 | <input tal:condition="info/rejection_allowed" type="submit" name="reject_courses:method" |
---|
208 | class="context" value="Reject" /> |
---|
209 | |
---|
210 | <input type="hidden" name="action_after_validate" type="text" id="action_after_validate" |
---|
211 | tal:attributes="value study_level_view"/> |
---|
212 | <input type="hidden" name="action_after_reject" type="text" id="action_after_reject" |
---|
213 | tal:attributes="value contact_student_form"/> |
---|
214 | |
---|
215 | </td> |
---|
216 | </tr> |
---|
217 | </table> |
---|
218 | <table tal:condition="python:is_ca and is_current_level and not has_verdict" width="100%" cellspacing="0" cellpadding="2" |
---|
219 | class="folderButtons"> |
---|
220 | <tr> |
---|
221 | <td align="left" valign="top" rowspan="3"></td> |
---|
222 | <td align="left" valign="top"> |
---|
223 | <input tal:condition="show_check_boxes" |
---|
224 | type="button" value="Select all" class="context" |
---|
225 | onclick="someJavaScriptFunctionThatWillBeReplaced" |
---|
226 | i18n:attributes="value" |
---|
227 | tal:attributes="onclick python:'toggleSelect(this, \'%s\', \'%s\')' |
---|
228 | % (cpsmcat('button_select_all'), cpsmcat('button_deselect_all'))" |
---|
229 | /> |
---|
230 | <input tal:condition="show_check_boxes" |
---|
231 | type="submit" name="delete_course_result:method" value="Delete selected" |
---|
232 | class="destructive" i18n:attributes="value" |
---|
233 | tal:attributes="onclick python:'return window.confirm(\'%s\')' % |
---|
234 | ('Do you really want to delete the subjects selected?', )" |
---|
235 | /> |
---|
236 | <input tal:condition="show_check_boxes" |
---|
237 | type="submit" name="refresh_level:method" |
---|
238 | class="context" value="Update" |
---|
239 | /> |
---|
240 | <input tal:condition="submission_allowed" type="submit" name="register_courses:method" |
---|
241 | class="context" value="Submit" /> |
---|
242 | <input tal:condition="info/validation_allowed" type="submit" name="validate_courses:method" |
---|
243 | class="context" value="Validate" /> |
---|
244 | <input tal:condition="info/rejection_allowed" type="submit" name="reject_courses:method" |
---|
245 | class="context" value="Reject" /> |
---|
246 | |
---|
247 | <input type="hidden" name="action_after_validate" type="text" id="action_after_validate" |
---|
248 | tal:attributes="value study_level_view"/> |
---|
249 | <input type="hidden" name="action_after_reject" type="text" id="action_after_reject" |
---|
250 | tal:attributes="value contact_student_form"/> |
---|
251 | |
---|
252 | |
---|
253 | </td> |
---|
254 | </tr> |
---|
255 | </table> |
---|
256 | |
---|
257 | </form> |
---|
258 | <br /> |
---|
259 | <form action="add_course_result" method="post" class="group" onsubmit="return submit_once()" |
---|
260 | tal:condition="show_check_boxes"> |
---|
261 | <table> |
---|
262 | <tr> |
---|
263 | <th>Subject Id</th> |
---|
264 | <td><input type="text" name="course_id" |
---|
265 | tal:attributes="value request/course_id|nothing"/></td> |
---|
266 | <td colspan="2"> |
---|
267 | <input type="submit" name="add" |
---|
268 | class="context" value="Add Subject" |
---|
269 | /> |
---|
270 | <input type="hidden" name="action_after_validate" type="text" id="action_after_validate" |
---|
271 | tal:attributes="value study_level_view"/> |
---|
272 | </td> |
---|
273 | </table> |
---|
274 | </form> |
---|
275 | |
---|
276 | <table> |
---|
277 | <tr> |
---|
278 | <th valign='top'>Pastoral Reports:</th> |
---|
279 | <td> |
---|
280 | <span tal:repeat="item python:info['items']"> |
---|
281 | <a href="view" |
---|
282 | tal:attributes="href item/id" |
---|
283 | tal:content="item/title"/><br /> |
---|
284 | </span> |
---|
285 | </td> |
---|
286 | </tr> |
---|
287 | </table> |
---|
288 | </span> |
---|
289 | </span> |
---|
290 | </metal:block> |
---|
291 | </metal:main> |
---|
292 | |
---|
293 | </metal:body> |
---|
294 | |
---|