##parameters=REQUEST=None # $Id: eligibility.py 191 2005-11-17 14:24:09Z henrik $ """ process the Admission Form return html renderer + psm """ request = REQUEST rget = request.get rset = request.set fget = request.form.get form = request.form fhas = request.form.has_key lt = context.portal_layouts pr = context.portal_registration pm = context.portal_membership eli = context.ELIGIBILITY.getContent() sr = eli.schoolresults validate = fhas('add') or fhas('change') or fhas('delete') data = {'faculty': eli.faculty, 'course': eli.course, 'jamb_aggregate': eli.jamb_aggregate, } res,psm,ds = lt.renderLayout(layout_id= 'student_eligibility', schema_id= 'student_eligibility', context=context, mapping=validate and request, ob=data, layout_mode='create', formaction = "eligibility", schoolresults = sr, ) if psm == 'invalid': return context.eligibility_form(rendered = res, psm = 'Please correct your errors', ds = ds, ) elif psm == '': return context.eligibility_form(rendered = res, psm = psm, ds = ds, ) inr = 0 if fhas('add') and (fget('type') or fget('subject') or fget('result')): sr.append((fget('type'),fget('subject'),fget('result'))) psm = "new result added" elif fhas('change') and fget('keys'): for k in fget('keys'): sr[int(k)] = (fget('type_%s' % k),fget('subject_%s' % k),fget('result_%s' % k)) inr += 1 psm = "%s items changed" % inr elif fhas('delete') and fget('keys'): new = [] todelete = fget('keys') for k in range(len(sr)): if str(k) not in todelete: new.append(sr[k]) inr = len(todelete) sr = new psm = "%s items deleted" % inr elif psm == 'valid': psm = "Your changes have been saved." ds.set('schoolresults',sr) eli.edit(mapping=ds) res,dummy,fds = lt.renderLayout(layout_id= 'student_eligibility', schema_id= 'student_eligibility', context=context, mapping=request, ob={}, layout_mode='create', formaction = "eligibility", schoolresults = sr, ) return context.eligibility_form(rendered = res, #psm = "%s
%s" % (str(ds),str(lt.student_eligibility.getLayoutDefinition())) psm = psm, )