Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py	(revision 6958)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py	(revision 6959)
@@ -21,7 +21,8 @@
 from zope.component import createObject
 from waeup.sirp.browser import (
-    WAeUPPage, WAeUPEditFormPage, WAeUPAddFormPage, WAeUPDisplayFormPage)
+    WAeUPPage, WAeUPEditFormPage, WAeUPAddFormPage, WAeUPDisplayFormPage,
+    NullValidator)
 from waeup.sirp.browser.breadcrumbs import Breadcrumb
-from waeup.sirp.browser.resources import datepicker, datatable, tabs
+from waeup.sirp.browser.resources import datepicker, datatable, tabs, toggleall
 from waeup.sirp.browser.viewlets import (
     ManageActionButton, PrimaryNavTab, AddActionButton)
@@ -30,5 +31,5 @@
     FriendlyDateWidget, FriendlyDateDisplayWidget,
     FriendlyDatetimeDisplayWidget)
-from waeup.sirp.browser.resources import toggleall
+from waeup.sirp.browser.pages import delSubobjects
 from waeup.sirp.authentication import get_principal_role_manager
 from waeup.sirp.hostels.container import HostelsContainer
@@ -82,4 +83,7 @@
     grok.context(IHostel)
 
+    def title(self):
+        return self.context.hostel_name
+
 class HostelsContainerPage(WAeUPDisplayFormPage):
     """The standard view for hostels containers.
@@ -88,7 +92,7 @@
     grok.name('index')
     grok.require('waeup.viewHostels')
-    #grok.template('containerpage')
+    grok.template('containerpage')
     label = 'Accommodation Section'
-    title = 'Accommodation'
+    title = 'Hostels'
     pnav = 5
 
@@ -106,16 +110,28 @@
     grok.name('manage')
     grok.require('waeup.manageHostels')
-    #grok.template('containermanagepage')
-    pnav = 5
-    title = 'Accommodation'
+    grok.template('containermanagepage')
+    pnav = 5
+    title = 'Hostels'
     label = 'Manage accommodation section'
 
-class HostelsContainerAddActionButton(AddActionButton):
-    grok.order(1)
-    grok.context(IHostelsContainer)
-    grok.view(HostelsContainerManagePage)
-    grok.require('waeup.manageHostels')
-    text = 'Add hostel'
-    target = 'addhostel'
+    # It's quite dangerous to remove entire hostels with its content (beds).
+    # Thus, this removed should be combined with an archiving function.
+    @grok.action('Remove selected')
+    def delHostels(self, **data):
+        form = self.request.form
+        if form.has_key('val_id'):
+            deleted = []
+            child_id = form['val_id']
+            child_id = [child_id]
+            for id in child_id:
+                deleted.append(id)
+            write_log_message(self, 'deleted: % s' % ', '.join(deleted))
+        delSubobjects(self, redirect='@@manage', tab='2')
+        return
+
+    @grok.action('Add hostel', validator=NullValidator)
+    def addSubunit(self, **data):
+        self.redirect(self.url(self.context, 'addhostel'))
+        return
 
 class HostelAddFormPage(WAeUPAddFormPage):
@@ -127,5 +143,5 @@
     grok.template('hosteladdpage')
     form_fields = grok.AutoFields(IHostel)
-    title = 'Accommodation'
+    title = 'Hostels'
     label = 'Add hostel'
     pnav = 5
@@ -138,4 +154,5 @@
         self.context.addHostel(hostel)
         self.flash('Hostel created.')
+        write_log_message(self, 'added: % s' % data['hostel_name'])
         self.redirect(self.url(self.context[hostel.hostel_id], 'index'))
         return
@@ -174,5 +191,5 @@
     form_fields = grok.AutoFields(IHostel).omit('hostel_id')
     #grok.template('hostelmanagepage')
-    label = 'Manage hostel data'
+    label = 'Manage hostel'
     pnav = 5
 
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containermanagepage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containermanagepage.pt	(revision 6959)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containermanagepage.pt	(revision 6959)
@@ -0,0 +1,32 @@
+<h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2>
+<div class="form-status" tal:define="status view/status" tal:condition="status"> Form Status:
+  <span i18n:translate="" tal:content="view/status"> Form status summary
+  </span>
+</div>
+<form action="." tal:attributes="action request/URL" method="POST" class="edit-form" enctype="multipart/form-data">
+  <table class="zebra">
+    <thead>
+      <tr>
+        <th>&nbsp;
+        </th>
+        <th>Id
+        </th>
+        <th>Name
+        </th>
+      </tr>
+    </thead>
+    <tbody>
+      <tr tal:repeat="hostel context/values"> <td>
+          <input type="checkbox" name="val_id" tal:attributes="value hostel/hostel_id" /> </td> <td>
+          <a tal:attributes="href python: view.url(hostel)" tal:content="hostel/__name__"> ID</a> </td> <td>
+          <span tal:content="hostel/hostel_name">ID
+          </span> </td>
+      </tr>
+    </tbody>
+  </table>
+  <div class="actionButtons" tal:condition="view/availableActions">
+    <span tal:repeat="action view/actions" tal:omit-tag="">
+      <input tal:replace="structure action/render"/>
+    </span>
+  </div>
+</form>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containerpage.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containerpage.pt	(revision 6959)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containerpage.pt	(revision 6959)
@@ -0,0 +1,21 @@
+<h2 tal:content="view/label">TITLE</h2>
+
+<div tal:condition="python: not len(context.keys())">
+There no subobjects registered yet.
+</div>
+
+<table class="zebra">
+  <thead>
+    <tr>
+      <th>Id</th>
+      <th>Name</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr tal:repeat="value context/values">
+      <td> <a tal:attributes="href value/__name__">
+          <span tal:content="value/hostel_id">Id</span></a></td>
+      <td tal:content="value/hostel_name">Name</td>
+    </tr>
+  </tbody>
+</table>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/primarynavtab.pt
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/primarynavtab.pt	(revision 6959)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/primarynavtab.pt	(revision 6959)
@@ -0,0 +1,7 @@
+<li tal:attributes="class viewlet/active">
+  <a href="#"
+     tal:attributes="href viewlet/link_target"
+     tal:content="viewlet/tab_title">
+    Primary Tab Title
+  </a>
+</li>
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/container.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/container.py	(revision 6958)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/container.py	(revision 6959)
@@ -62,2 +62,6 @@
                 user, ob_class, target, comment))
         return
+
+    def loggerInfo(self, ob_class, comment=None):
+        target = self.__name__
+        return self.logger_info(ob_class,target,comment)
Index: /main/waeup.sirp/trunk/src/waeup/sirp/hostels/interfaces.py
===================================================================
--- /main/waeup.sirp/trunk/src/waeup/sirp/hostels/interfaces.py	(revision 6958)
+++ /main/waeup.sirp/trunk/src/waeup/sirp/hostels/interfaces.py	(revision 6959)
@@ -34,5 +34,5 @@
         title = u'Hall Name',
         required = True,
-        default = u'hostel_1',
+        default = u'Hall 1',
         )
 
@@ -43,6 +43,6 @@
         )
 
-    nr_of_floors = schema.Int(
-        title = u'Number of Floors',
+    floors_per_block = schema.Int(
+        title = u'Floors per Block',
         required = True,
         default = 3,
