- Timestamp:
- 26 Apr 2020, 09:22:35 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/kofacustom.iuokada/trunk/src/kofacustom/iuokada/applicants/browser.py
r16071 r16075 20 20 import grok 21 21 import os 22 from zope.component import getUtility 22 from zope.component import getUtility, queryUtility 23 from zope.catalog.interfaces import ICatalog 23 24 from zope.formlib.textwidgets import BytesDisplayWidget 24 25 from waeup.kofa.interfaces import ( … … 67 68 'special_application', 68 69 #'jamb_subjects_list', 69 'programme_type') 70 'programme_type', 71 'course1', 72 'course2',) 70 73 UG_OMIT_EDIT_FIELDS = UG_OMIT_MANAGE_FIELDS + OMIT_DISPLAY_FIELDS + ( 71 74 'student_id', … … 78 81 #'jamb_score', 79 82 #'jamb_reg_number', 80 'aggregate') 83 'aggregate', 84 ) 81 85 82 86 # PG has its own interface … … 106 110 'emp2_end', 107 111 'emp2_reason', 112 'course1', 113 'course2', 108 114 ) 109 115 PG_OMIT_EDIT_FIELDS = PG_OMIT_MANAGE_FIELDS + PG_OMIT_DISPLAY_FIELDS + ( … … 161 167 """ 162 168 163 @property164 def certs(self):169 def getCerts(self, coursex): 170 yield(dict(code='', title='--', selected='')) 165 171 appcatcertificatesource = AppCatCertificateSource().factory 166 for code in appcatcertificatesource.getValues(self.context): 167 title = appcatcertificatesource.getTitle(self.context, code) 168 yield(code, title) 172 for cert in appcatcertificatesource.getValues(self.context): 173 selected = '' 174 course = getattr(self.context, coursex) 175 if course is not None and course.code == cert.code: 176 selected = 'selected' 177 title = appcatcertificatesource.getTitle(self.context, cert) 178 yield(dict(code=cert.code, title=title, selected=selected)) 179 180 def saveCourses(self, changed_fields): 181 """In custom packages we needed to customize the certificate 182 select widget. We just save course1 and course2 if these customized 183 fields appear in the form. 184 """ 185 form = self.request.form 186 course1 = form.get('custom.course1', None) 187 course2 = form.get('custom.course2', None) 188 cat = queryUtility(ICatalog, name='certificates_catalog') 189 if course1: 190 results = list( 191 cat.searchResults(code=(course1, course1))) 192 self.context.course1 = results[0] 193 changed_fields.append('course1') 194 if course2: 195 results = list( 196 cat.searchResults(code=(course2, course2))) 197 self.context.course2 = results[0] 198 changed_fields.append('course2') 199 return changed_fields 169 200 170 201 @property … … 192 223 """ 193 224 194 @property195 def certs(self):225 def getCerts(self, coursex): 226 yield(dict(code='', title='--', selected='')) 196 227 appcatcertificatesource = AppCatCertificateSource().factory 197 for code in appcatcertificatesource.getValues(self.context): 198 title = appcatcertificatesource.getTitle(self.context, code) 199 yield(code, title) 228 for cert in appcatcertificatesource.getValues(self.context): 229 selected = '' 230 course = getattr(self.context, coursex) 231 if course is not None and course.code == cert.code: 232 selected = 'selected' 233 title = appcatcertificatesource.getTitle(self.context, cert) 234 yield(dict(code=cert.code, title=title, selected=selected)) 235 236 def saveCourses(self): 237 """In custom packages we needed to customize the certificate 238 select widget. We just save course1 and course2 if these customized 239 fields appear in the form. 240 """ 241 form = self.request.form 242 course1 = form.get('custom.course1', None) 243 course2 = form.get('custom.course2', None) 244 cat = queryUtility(ICatalog, name='certificates_catalog') 245 if course1: 246 results = list( 247 cat.searchResults(code=(course1, course1))) 248 self.context.course1 = results[0] 249 if course2: 250 results = list( 251 cat.searchResults(code=(course2, course2))) 252 self.context.course2 = results[0] 253 return 200 254 201 255 def display_fileupload(self, filename): … … 219 273 if not store.getFileByContext(self.context, attr=u'passport.jpg'): 220 274 return _('No passport picture uploaded.') 221 if not self.request.form.get('confirm_passport', False):222 return _('Passport picture confirmation box not ticked.')223 275 if self.context.subtype == 'transfer' and \ 224 276 not store.getFileByContext(self.context, attr=u'res_stat.pdf'):
Note: See TracChangeset for help on using the changeset viewer.