source: WAeUP_SRP/trunk/skins/waeup_accommodation/getAccoHallInfo.py @ 1231

Last change on this file since 1231 was 913, checked in by Henrik Bettermann, 18 years ago

is_* keys removed from get* functions

  • Property svn:keywords set to Id
File size: 1.7 KB
RevLine 
[845]1## Script (Python) "getAccoHallInfo"
[622]2##bind container=container
3##bind context=context
4##bind namespace=
5##bind script=script
6##bind subpath=traverse_subpath
7##parameters=student=None
8##title=
9##
[805]10# $Id: getAccoHallInfo.py 913 2006-11-21 10:49:45Z henrik $
[622]11"""
12return Info about the Faculties
13"""
14request = context.REQUEST
15
16wf = context.portal_workflow
17path_info = request.get('PATH_INFO').split('/')
18mtool = context.portal_membership
[627]19pa = context.portal_accommodation
[622]20info = {}
21#dep_id = request.get('PATH_TRANSLATED').split('/')[-2]
22dep_id = context.aq_parent.getId()
23info['action'] = "%s" % context.absolute_url()
24info['choosen_ids'] = request.get('ids',[])
25info['doc'] = context.getContent()
[627]26bed_types = pa.uniqueValuesFor('bed_type')
27bt_list = []
28bt_names =  context.getBedTypeNames()
[654]29reserved = pa.uniqueValuesFor('student')
[627]30for bt in bed_types:
[702]31    total = len(pa(bed_type=bt,hall=context.getId()))
32    free = len(pa.searchResults({'bed_type': bt,
33                                 'student':reserved,
34                                 'hall': context.getId()}))
[654]35    bt_list.append({'name': bt_names[bt],
36                    'total': total,
37                    'reserved': free,
38                    })
[627]39info['bed_types'] = bt_list
[654]40res_list = []
[695]41students_rpath = context.portal_catalog(meta_type = "StudentsFolder")[-1].relative_path
42students_url = "%s/%s" % (context.portal_url(),students_rpath)
[654]43if reserved > 1:
44    for st in reserved:
45        if st:
46            res = pa(hall=context.getId(),student=st)
47            if res:
[695]48                res_list.append({'student': st,
49                                 'student_url': '%s/%s' % (students_url,st),
50                                 'bed': context.formatBed(res[0].bed) })
[654]51info['reserved'] = res_list
[627]52
[622]53return info
Note: See TracBrowser for help on using the repository browser.