Changeset 3429


Ignore:
Timestamp:
8 Apr 2008, 08:26:18 (16 years ago)
Author:
Henrik Bettermann
Message:

fix wrong bed allocation for prence students

adjust getAccommodationInfo.py

fix layouts/acco_hall.xml (had been accidentally overwritten)

Location:
WAeUP_SRP/fceokene
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • WAeUP_SRP/fceokene/profiles/default/layouts/acco_hall.xml

    r2842 r3429  
    4141  </property>
    4242  <property name="is_required">False</property>
    43   <property name="label">Beds for Final Students</property>
    44   <property name="label_edit">Beds for Final Students</property>
     43  <property name="label">Beds for NCE-3 Students</property>
     44  <property name="label_edit">Beds for NCE-3 Students</property>
    4545  <property name="help">Name the bedspaces for final year students.
    4646                        Attention: The bed letters must not exceed the number of beds per room.</property>
     
    5555  </property>
    5656  <property name="is_required">False</property>
    57   <property name="label">Beds for Fresh Students</property>
    58   <property name="label_edit">Beds for Fresh Students</property>
     57  <property name="label">Beds for NCE-1 Students</property>
     58  <property name="label_edit">Beds for NCE-1 Students</property>
    5959  <property name="help">Name the beds for first year students.
    6060                        Attention: The bed letters must not exceed the number of beds per room.</property>
     
    203203  <row>
    204204   <cell name="sort_id"/>
    205   </row>   
     205  </row>
    206206  <row>
    207207   <cell name="maintenance_code"/>
    208208  </row>
    209209  <row>
    210    <cell name="special_handling"/>
    211   </row>
    212   <row>
    213210   <cell name="text"/>
    214211  </row>
     
    231228   <cell name="beds_per_room"/>
    232229  </row>
     230  <row>
     231   <cell name="beds_for_pre"/>
     232  </row> 
    233233  <row>
    234234   <cell name="beds_for_fresh"/>
  • WAeUP_SRP/fceokene/waeup_custom/getAccommodationInfo.py

    r3015 r3429  
    3535    else:
    3636        student_id = member_id
    37 res = context.students_catalog(id=student_id)
    38 if len(res) != 1:
     37student_record = context.students_catalog.getRecordByKey(student_id)
     38if student_record is None:
    3939    logger.info('%s not found in students_catalog' % student_id)
    4040    return None
    4141
    42 
    43 s_brain = res[0]
    4442info['error'] = None
    45 info['matric_no']=s_brain.matric_no
    46 info['jamb_reg_no']=s_brain.jamb_reg_no
    47 info['name']=s_brain.name
    48 info['email']=s_brain.email
    49 info['level']=s_brain.level
    50 info['end_level'] = s_brain.end_level
    51 info['verdict']=getattr(s_brain,'verdict','')
    52 review_state = info['review_state'] = s_brain.review_state
    53 
    54 
     43info['matric_no']=student_record.matric_no
     44info['jamb_reg_no']=student_record.jamb_reg_no
     45info['name']=student_record.name
     46info['email']=student_record.email
     47info['level']=student_record.level
     48info['verdict']=getattr(student_record,'verdict','')
     49review_state = info['review_state'] = student_record.review_state
    5550info['session'] = session = context.getSessionId()
    56 
    5751students_object = context.portal_url.getPortalObject().campus.students
    5852student = getattr(students_object, student_id)
     
    6155
    6256booking_allowed = False
    63 if review_state in ('school_fee_paid','courses_registered', 'courses_validated',) and s_brain.session == session[0]:
    64     booking_allowed = True
    6557
     58# customize from here
    6659
    67 #booking_allowed = False
     60try:
     61    level = int(student_record.level)
     62except:
     63    logger.info('%s has invalid level %s' % (student_id,student_record.level))
     64    info['acco'] = None
     65    info['booking_allowed'] = False
     66    info['student_status'] = ''
     67    return info   
    6868
     69if review_state in ('school_fee_paid','courses_registered', 'courses_validated',) and student_record.session == session[0]:
     70    info['booking_allowed'] = True
     71    info['online_payment'] = True
     72else:
     73    info['acco'] = None
     74    info['booking_allowed'] = False
     75    info['student_status'] = ''
     76    return info
    6977
    70 info['booking_allowed'] = booking_allowed
    71 info['online_payment'] = True  # for Okene
    72 if not booking_allowed:
    73     info['acco'] = None
    74     return info
    7578acco_id = 'accommodation_' + session[0]
    7679acco = getattr(student,acco_id,None)
     
    7881info['acco_id'] = acco_id
    7982
    80 bt = 're'
    8183info['maintenance_paid'] = False
    8284if acco is not None:
     
    8587    info['maintenance_paid'] = info['acco_review_state'] == "maintenance_fee_paid"
    8688d = {}
    87 if int(s_brain.level) == 100:
     89if level >= 300:
     90   bt = 'fi'
     91if level == 100:
    8892    bt = 'fr'
    89 elif int(s_brain.level) < 300:
     93elif level < 100:
     94    bt = 'pr'   
     95elif level < 300:
    9096    bt = 're'
    91 elif int(s_brain.level) < 100:
    92     bt = 'pr'
    93 else:
    94     res = context.portal_catalog(portal_type = "Certificate", id = s_brain.course)
    95     if res:
    96         c_brain = res[0]
    97         certificate = c_brain.getObject().getContent()
    98         try:
    99             certlevel = int(certificate.end_level)
    100         except:
    101             info["error"] = '"no end_level for","%s"' % c_brain.getId
    102             return info
    103         try:
    104             studentlevel = int(s_brain.level)
    105         except:
    106             info["error"] = '"no level for","%s"' % s_brain.getId
    107             return info
    108         if studentlevel >= certlevel:
    109             bt = "fi"
     97
    11098d['sex'] = 'male'
    111 if s_brain.sex:
     99if student_record.sex:
    112100    d['sex'] = 'female'
    113101
    114102
    115103info['sex']=d['sex']
    116 
    117 
    118104d['bt'] = bt
    119 #from Products.zdb import set_trace
    120 #set_trace()
    121105student_status = "%(sex)s_%(bt)s" % d
    122106info['student_status'] = student_status
Note: See TracChangeset for help on using the changeset viewer.