Index: WAeUP_SRP/trunk/WAeUPTables.py
===================================================================
--- WAeUP_SRP/trunk/WAeUPTables.py	(revision 5613)
+++ WAeUP_SRP/trunk/WAeUPTables.py	(revision 5614)
@@ -144,4 +144,5 @@
     def modifyRecord(self, record=None, **data): ###(
         #records = self.searchResults(uid=uid)
+        #import pdb;pdb.set_trace()
         uid = data[self.key]
         if record is None:
@@ -1972,4 +1973,17 @@
 InitializeClass(RemovedStudentIds)
 
+class AccommodationCatalog(WAeUPTable): ###(
+
+    meta_type = 'WAeUP Accommodation Catalog'
+    name = "accommodation_catalog"
+    key = "catkey" #student_id + session_id
+    def __init__(self,name=None):
+        if name ==  None:
+            name = self.name
+        WAeUPTable.__init__(self, name)
+
+
+InitializeClass(AccommodationCatalog)
+
 ###)
 
Index: WAeUP_SRP/trunk/exportimport.py
===================================================================
--- WAeUP_SRP/trunk/exportimport.py	(revision 5613)
+++ WAeUP_SRP/trunk/exportimport.py	(revision 5614)
@@ -142,4 +142,5 @@
     importWAeUPTable(site.portal_catalog_real, '', context,'portal_catalog_real')
     importWAeUPTable(site.removed_student_ids, '', context,'removed_student_ids')
+    importWAeUPTable(site.accommodation_catalog, '', context,'accommodation_catalog')
 
     site.students_catalog.manage_setLocalGroupRoles(groupid='CampusOfficers',
Index: WAeUP_SRP/trunk/profiles/default/accommodation_catalog.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/accommodation_catalog.xml	(revision 5614)
+++ WAeUP_SRP/trunk/profiles/default/accommodation_catalog.xml	(revision 5614)
@@ -0,0 +1,33 @@
+<?xml version="1.0"?>
+<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>
+<object name="accommodation_catalog" meta_type="WAeUP Table">
+ <column value="catkey"/>
+ <column value="acco_maint_date"/>
+ <column value="acco_maint_code"/>
+ <column value="acco_maint_fee"/>
+ <column value="acco_maint_sc_pin"/>
+ <column value="acco_maint_pay_id"/>
+ <column value="acco_res_date"/>
+ <column value="acco_res_sc_pin"/>
+ <column value="bed"/>
+ <column value="session"/>
+ <column value="student_status"/>
+ <column value="student_id"/>
+ <column value="reservation_status"/>
+ <index name="catkey" meta_type="FieldIndex">
+  <indexed_attr value="catkey"/>
+ </index> 
+ <column value="student_id"/>
+ <index name="student_id" meta_type="FieldIndex">
+  <indexed_attr value="student_id"/>
+ </index>
+ <index name="session" meta_type="FieldIndex">
+  <indexed_attr value="session"/>
+ </index> 
+ <index name="bed" meta_type="FieldIndex">
+  <indexed_attr value="bed"/>
+ </index> 
+ <index name="reservation_status" meta_type="FieldIndex">
+  <indexed_attr value="reservation_status"/>
+ </index>  
+</object>
Index: WAeUP_SRP/trunk/profiles/default/toolset.xml
===================================================================
--- WAeUP_SRP/trunk/profiles/default/toolset.xml	(revision 5613)
+++ WAeUP_SRP/trunk/profiles/default/toolset.xml	(revision 5614)
@@ -99,4 +99,6 @@
            class="Products.WAeUP_SRP.WAeUPTool.WAeUPTool"/>         
  <required tool_id="removed_student_ids"
-           class="Products.WAeUP_SRP.WAeUPTables.RemovedStudentIds"/>             
+           class="Products.WAeUP_SRP.WAeUPTables.RemovedStudentIds"/>   
+ <required tool_id="accommodation_catalog"
+           class="Products.WAeUP_SRP.WAeUPTables.AccommodationCatalog"/>                       
 </tool-setup>
Index: WAeUP_SRP/trunk/skins/waeup_accommodation/ReadMe.txt
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_accommodation/ReadMe.txt	(revision 5614)
+++ WAeUP_SRP/trunk/skins/waeup_accommodation/ReadMe.txt	(revision 5614)
@@ -0,0 +1,44 @@
+Umstellung auf neues Buchungsverfahren:
+
+Neue Methode:
+
+accommodations.pt
+getAccommodationRecords.py
+book_accommodation.py
+book_accommodation_form.pt
+viewAccommodationRecord.py
+getAccommodationStatus.py  (muss auch in custom-Ordnern)
+accommodation_record_slip.pt
+pay_accommodation.py
+pay_accommodation_form.pt
+relocate.py
+cancel_allocation.py
+allocate_reserved_bed_2.py
+
+ersetzt:
+
+accommodation_slip.pt
+accommodation_view.pt
+accommodation_edit_form.pt
+getAccommodationInfo.py (Achtung, befindet sich auch in custom-Ordnern)
+reserve_accommodation.py
+allocate_reserved_bed.py
+change_bed.py
+release_bed.py
+in waeup/layout:
+layout_student_acco_view.pt
+layout_student_acco_view_slip.pt
+
+Umstellung:
+
+action.xml für Studenten anpassen (book_accommodation anstatt reserve_accommodation, bisher nur in uniben)
+Profile importieren (Achtung: vorher Portalbasisdaten sichern)
+initialize_accommodation_catalog
+getStudentFolderInfo Zeile 84,58 aktivieren
+student_view.pt: in Zeile 63 condition entfernen
+random Order für Okene customisieren
+allocate_reserved_bed_to_be_renamed.py umbenennen (dann müssen die Actions der Halle nicht geändert werden)
+
+To Do:
+
+Beim Löschen von Studenten accommodation-Tabelle exportieren
Index: WAeUP_SRP/trunk/skins/waeup_utilities/initialize_accommodation_catalog.py
===================================================================
--- WAeUP_SRP/trunk/skins/waeup_utilities/initialize_accommodation_catalog.py	(revision 5614)
+++ WAeUP_SRP/trunk/skins/waeup_utilities/initialize_accommodation_catalog.py	(revision 5614)
@@ -0,0 +1,62 @@
+## Script (Python) "initialize_accommodation_catalog"
+##bind container=container
+##bind context=context
+##bind namespace=
+##bind script=script
+##bind subpath=traverse_subpath
+##parameters=
+##title=
+##
+# $Id$
+"""
+"""
+try:
+    from Products.zdb import set_trace
+except:
+    def set_trace():
+        pass
+
+mtool = context.portal_membership
+member = mtool.getAuthenticatedMember()
+if str(member) not in ('admin'):
+    return
+
+import logging
+import DateTime
+logger = logging.getLogger('Skins.initializeAccommodationCatalog')
+from Products.AdvancedQuery import Eq, Between, Le,In
+aq_portal = context.portal_catalog_real.evalAdvancedQuery
+wf = context.portal_workflow
+
+logger.info('start')
+count = 0
+not_count = 0
+found = 0
+commit_after = 1000
+accommodation_brains = context.portal_catalog.search({'meta_type': "StudentAccommodation"})
+num_objects = len(accommodation_brains)
+logger.info("found %d StudentAccommodation objects" % num_objects)
+fields = ('acco_maint_date','acco_maint_code','acco_maint_fee','acco_maint_sc_pin','acco_maint_pay_id','acco_res_date','acco_res_sc_pin','bed','session','student_status')
+students_folder = context.portal_url.getPortalObject().campus.students
+
+for i in xrange(num_objects):
+    #set_trace()
+    data = {}
+    a_brain = accommodation_brains[i]
+    a_object = a_brain.getObject()    
+    doc = a_object.getContent()
+    pl = a_brain.getPath().split('/')
+    student_id = pl[-2]    
+    if not getattr(doc,'session',None):
+        student_folder = getattr(students_folder,student_id)
+        student_folder.manage_delObjects('accommodation_final')
+        continue
+    for field in fields:
+        data[field] = getattr(doc,field,None)
+    data['reservation_status'] = wf.getInfoFor(a_object,'review_state',None)
+    data['student_id'] = student_id
+    catkey = student_id + '|' + data['session']
+    data['catkey'] = catkey
+    context.accommodation_catalog.addRecord(**data)
+
+logger.info("finished")
