## Script (Python) "viewAccommodationRecord"
##bind container=container
##bind context=context
##bind namespace=
##bind script=script
##bind subpath=traverse_subpath
##parameters=student_id=None,session=None
##title=
##
# $Id: viewAccommodationRecord.py 5816 2011-03-07 17:41:48Z henrik $
"""
"""
import logging
logger = logging.getLogger('Skins.viewAccommodationRecords')
import DateTime

pprops = context.portal_properties
booking_disabled = not pprops.enable_acco_booking

request = context.REQUEST
mtool = context.portal_membership
wf = context.portal_workflow
member = mtool.getAuthenticatedMember()
member_id = str(member)
path_info = request.get('PATH_INFO').split('/')

if mtool.isAnonymousUser():
    return None
info = {}
if student_id is None:
    requested_id = context.getStudentId()
    if requested_id and not context.isStaff() and member_id != requested_id:
        logger.info('%s tried to access %s' % (member_id,requested_id))
        return None
    elif context.isStaff():
        student_id = requested_id
    else:
        student_id = member_id
student_record = context.students_catalog.getRecordByKey(student_id)
if student_record is None:
    logger.info('%s not found in students_catalog' % student_id)
    return None

student_path = "%s/campus/students/%s" % (context.portal_url(),student_id)

if session:
    accommodation_records = context.accommodation_catalog(student_id = student_id, session = session)
    accommodation = []
    ar = accommodation_records[0]
    info = {}
    fields = {
              'Hostel Application Date':'acco_res_date',
              'Hostel Application PIN':'acco_res_sc_pin',
              'Bed':'bed',
              'Booking Session':'session',
              'Bed Type':'student_status',
              'Maintenance Payment Date':'acco_maint_date',
              'Maintenance Payment Code':'acco_maint_code',
              'Hostel Maintenance PIN':'acco_maint_sc_pin',
              'Online Payment Id':'acco_maint_pay_id',
              'Maintenance Fee':'acco_maint_fee',              
              'Booking Status':'reservation_status'
              }    
    #info['url'] = student_path 
    for field in fields:
        info[field] = getattr(ar,fields[field],None)

return context.accommodation_record_slip(
                                info = info,
                               )
                 
    
    