Ignore:
Timestamp:
16 Jan 2012, 07:06:21 (13 years ago)
Author:
Henrik Bettermann
Message:

Redirect to specified tabs using the request's QUERY_STRING value. This suboptimal solution will be replaced later by a pure Javascript solution.

Location:
main/waeup.sirp/trunk/src/waeup/sirp/hostels
Files:
3 edited

Legend:

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

    r7467 r7484  
    216216        tabs.need()
    217217        datatable.need()
     218        self.tab1 = self.tab2 = ''
     219        qs = self.request.get('QUERY_STRING', '')
     220        if not qs:
     221            qs = 'tab1'
     222        setattr(self, qs, 'active')
    218223        super(HostelManageFormPage, self).update()
    219224        return
     
    231236        self.flash(message)
    232237        write_log_message(self, message)
    233         self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     238        self.redirect(self.url(self.context, '@@manage')+'?tab2')
    234239        return
    235240
     
    241246        else:
    242247            self.flash('No item selected.')
    243             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     248            self.redirect(self.url(self.context, '@@manage')+'?tab2')
    244249            return
    245250        if not isinstance(child_id, list):
     
    253258                self.flash('Could not switch %s: %s: %s' % (
    254259                        id, sys.exc_info()[0], sys.exc_info()[1]))
    255                 self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     260                self.redirect(self.url(self.context, '@@manage')+'?tab2')
    256261                return
    257262        if len(switched):
     
    259264            self.flash('Successfully switched beds: %s' % message)
    260265            write_log_message(self, 'switched: %s' % message)
    261             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     266            self.redirect(self.url(self.context, '@@manage')+'?tab2')
    262267        return
    263268
     
    269274        else:
    270275            self.flash('No item selected.')
    271             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     276            self.redirect(self.url(self.context, '@@manage')+'?tab2')
    272277            return
    273278        if not isinstance(child_id, list):
     
    282287            self.flash('Successfully released beds: %s' % message)
    283288            write_log_message(self, 'released: %s' % message)
    284             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     289            self.redirect(self.url(self.context, '@@manage')+'?tab2')
    285290        else:
    286291            self.flash('No allocated bed selected.')
    287             self.redirect(self.url(self.context, '@@manage')+'#tab-2')
     292            self.redirect(self.url(self.context, '@@manage')+'?tab2')
    288293        return
    289294
     
    302307    def save(self, **data):
    303308        msave(self, **data)
    304         self.redirect(self.url(self.context.__parent__, '@@manage')+'#tab-2')
     309        self.redirect(self.url(self.context.__parent__, '@@manage')+'?tab2')
    305310        return
    306311
     
    310315            # Beds must be released first before they can be allocated to
    311316            # other students.
    312             self.redirect(self.url(self.context.__parent__, '@@manage')+'#tab-2')
    313         return
     317            self.redirect(self.url(self.context.__parent__, '@@manage')+'?tab2')
     318        return
  • main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/hostelmanagepage.pt

    r7464 r7484  
    33
    44  <ul class="tabs" data-tabs="tabs">
    5     <li class="active"><a href="#tab-1"><span>Hostel Data</span></a></li>
    6     <li><a href="#tab-2"><span>Beds</span></a></li>
     5    <li tal:attributes="class view/tab1"><a href="#tab-1"><span>Hostel Data</span></a></li>
     6    <li tal:attributes="class view/tab2"><a href="#tab-2"><span>Beds</span></a></li>
    77  </ul>
    88
    99  <div class="tab-content">
    10     <div id="tab-1" class="active">
     10    <div id="tab-1" tal:attributes="class view/tab1">
    1111      <table class="form-table">
    1212      <tbody>
     
    4141    </div>
    4242
    43     <div id="tab-2">
     43    <div id="tab-2" tal:attributes="class view/tab2">
    4444      <h3>Beds</h3>
    4545      <table class="display dataTableManage">
  • main/waeup.sirp/trunk/src/waeup/sirp/hostels/tests.py

    r7357 r7484  
    310310        self.browser.open(self.container_path + '/hall-1/hall-1_A_101_A')
    311311        self.assertEqual(self.browser.url,
    312             self.container_path + '/hall-1/@@manage#tab-2')
     312            self.container_path + '/hall-1/@@manage?tab2')
    313313        # Updating the beds again will not affect the allocation and also
    314314        # the bed numbering remains the same
Note: See TracChangeset for help on using the changeset viewer.