[197] | 1 | #-*- mode: python; mode: fold -*- |
---|
| 2 | # (C) Copyright 2005 The WAeUP group <http://www.waeup.org> |
---|
| 3 | # Author: Joachim Schmitz (js@aixtraware.de) |
---|
| 4 | # |
---|
| 5 | # This program is free software; you can redistribute it and/or modify |
---|
| 6 | # it under the terms of the GNU General Public License version 2 as published |
---|
| 7 | # by the Free Software Foundation. |
---|
| 8 | # |
---|
| 9 | # This program is distributed in the hope that it will be useful, |
---|
| 10 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
---|
| 11 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
---|
| 12 | # GNU General Public License for more details. |
---|
| 13 | # |
---|
| 14 | # You should have received a copy of the GNU General Public License |
---|
| 15 | # along with this program; if not, write to the Free Software |
---|
| 16 | # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA |
---|
| 17 | # 02111-1307, USA. |
---|
| 18 | # |
---|
| 19 | # $Id: WAeUPTool.py 828 2006-11-10 15:26:31Z joachim $ |
---|
| 20 | """The WAeUPTool. |
---|
[828] | 21 | |
---|
| 22 | $Id: WAeUPTool.py 828 2006-11-10 15:26:31Z joachim $ |
---|
[197] | 23 | """ |
---|
| 24 | |
---|
| 25 | from AccessControl import ClassSecurityInfo |
---|
[828] | 26 | from Acquisition import aq_inner |
---|
| 27 | from Acquisition import aq_parent |
---|
| 28 | from Globals import DTMLFile |
---|
| 29 | from Globals import InitializeClass |
---|
| 30 | from OFS.SimpleItem import SimpleItem |
---|
[197] | 31 | |
---|
[828] | 32 | from Products.CMFCore.ActionProviderBase import ActionProviderBase |
---|
| 33 | from Products.CMFCore.permissions import View |
---|
| 34 | from Products.ZCatalog.ZCatalog import ZCatalog |
---|
| 35 | from Products.CMFCore.permissions import ModifyPortalContent |
---|
[197] | 36 | from Products.CMFCore.utils import UniqueObject |
---|
| 37 | |
---|
[828] | 38 | class WAeUPTool(UniqueObject, SimpleItem, ActionProviderBase): |
---|
[197] | 39 | """WAeUP tool""" |
---|
| 40 | |
---|
[828] | 41 | id = 'waeup_tool' |
---|
[197] | 42 | meta_type = 'WAeUP Tool' |
---|
[828] | 43 | _actions = () |
---|
[197] | 44 | |
---|
| 45 | security = ClassSecurityInfo() |
---|
[828] | 46 | security.declareObjectProtected(View) |
---|
[197] | 47 | |
---|
[828] | 48 | manage_options = ( ActionProviderBase.manage_options |
---|
| 49 | + SimpleItem.manage_options |
---|
| 50 | ) |
---|
| 51 | |
---|
| 52 | ## security.declarePublic('getHallTitle') |
---|
| 53 | ## def getHallTitle(self,hall): |
---|
| 54 | ## """get the Hall Title""" |
---|
| 55 | ## res = ZCatalog.searchResults(self.portal_catalog,portal_type="AccoHall",id=hall) |
---|
| 56 | ## if res and len(res) == 1: |
---|
| 57 | ## return res[0].Title |
---|
| 58 | ## return hall |
---|
| 59 | |
---|
| 60 | security.declarePublic('getAccommodationInfo') |
---|
| 61 | def getAccommodationInfo(self,bed): |
---|
| 62 | """return Accommodation Info""" |
---|
| 63 | info = {} |
---|
| 64 | hall,block,room,letter = bed.split('_') |
---|
| 65 | res = ZCatalog.searchResults(self.portal_catalog,portal_type="AccoHall",id=hall) |
---|
| 66 | if res and len(res) == 1: |
---|
| 67 | hall_brain = res[0] |
---|
| 68 | hall_doc = hall_brain.getObject().getContent() |
---|
| 69 | else: |
---|
| 70 | return info |
---|
| 71 | info['hall_title'] = hall_brain.Title |
---|
| 72 | info['maintenance_code'] = hall_doc.maintenance_code |
---|
| 73 | res = ZCatalog.searchResults(self.portal_catalog,portal_type="ScratchCardBatch") |
---|
| 74 | batch_doc = None |
---|
| 75 | for brain in res: |
---|
| 76 | if brain.id.startswith(info['maintenance_code']): |
---|
| 77 | batch_doc = brain.getObject().getContent() |
---|
| 78 | break |
---|
| 79 | if batch_doc is None: |
---|
| 80 | info['maintenance_fee'] = None |
---|
| 81 | else: |
---|
| 82 | info['maintenance_fee'] = batch_doc.cost |
---|
| 83 | return info |
---|
| 84 | |
---|
| 85 | InitializeClass(WAeUPTool) |
---|