Ignore:
Timestamp:
8 Nov 2011, 21:50:31 (13 years ago)
Author:
Henrik Bettermann
Message:

Implement releaseBed method and releaseBeds action (test will follow).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py

    r6996 r7042  
    260260            message = ', '.join(switched)
    261261            self.flash('Successfully switched beds: %s' % message)
    262             write_log_message(self, 'switched: % s' % message)
    263             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
    264         return
    265 
    266     # Needed for removing students from beds
    267     #@grok.action('Release selected beds')
    268     #def releaseBeds(self, **data):
    269     #    #self.flash('%d released' % released)
    270     #    self.redirect(self.url(self.context, '@@manage')+'#tab-2')
    271     #    return
     262            write_log_message(self, 'switched: %s' % message)
     263            self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     264        return
     265
     266    @grok.action('Release selected beds')
     267    def releaseBeds(self, **data):
     268        form = self.request.form
     269        if form.has_key('val_id'):
     270            child_id = form['val_id']
     271        else:
     272            self.flash('No item selected.')
     273            self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     274            return
     275        if not isinstance(child_id, list):
     276            child_id = [child_id]
     277        released = []
     278        for bed_id in child_id:
     279            try:
     280                message = self.context[bed_id].releaseBed()
     281                released.append('%s (%s)' % (bed_id,message))
     282            except:
     283                self.flash('Could not release %s: %s: %s' % (
     284                        id, sys.exc_info()[0], sys.exc_info()[1]))
     285                self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     286                return
     287        if len(released):
     288            message = ', '.join(released)
     289            self.flash('Successfully released beds: %s' % message)
     290            write_log_message(self, 'released: %s' % message)
     291            self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     292        return
Note: See TracChangeset for help on using the changeset viewer.