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/browser
Files:
6 edited

Legend:

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

    r7465 r7484  
    6969    if user is None or localrole is None:
    7070        view.flash('No user selected.')
    71         view.redirect(view.url(view.context, '@@manage')+'#tab-%s' % tab)
     71        view.redirect(view.url(view.context, '@@manage')+'?tab%s' % tab)
    7272        return
    7373    role_manager = IPrincipalRoleManager(view.context)
    7474    role_manager.assignRoleToPrincipal(localrole, user)
    7575    notify(LocalRoleSetEvent(view.context, localrole, user, granted=True))
    76     view.redirect(view.url(view.context, u'@@manage')+'#tab-%s' % tab)
     76    view.redirect(view.url(view.context, u'@@manage')+'?tab%s' % tab)
    7777    return
    7878
     
    8181    if child_ids is None:
    8282        view.flash('No local role selected.')
    83         view.redirect(view.url(view.context, '@@manage')+'#tab-%s' % tab)
     83        view.redirect(view.url(view.context, '@@manage')+'?tab%s' % tab)
    8484        return
    8585    if not isinstance(child_ids, list):
     
    100100    if len(deleted):
    101101        view.flash('Successfully removed: %s' % ', '.join(deleted))
    102     view.redirect(view.url(view.context, u'@@manage')+'#tab-%s' % tab)
     102    view.redirect(view.url(view.context, u'@@manage')+'?tab%s' % tab)
    103103    return
    104104
     
    110110        view.flash('No item selected.')
    111111        if tab:
    112             view.redirect(view.url(view.context, redirect)+'#tab-%s' % tab)
     112            view.redirect(view.url(view.context, redirect)+'?tab%s' % tab)
    113113        else:
    114114            view.redirect(view.url(view.context, redirect))
     
    131131        view.flash('Successfully removed: %s' % ', '.join(deleted))
    132132    if tab:
    133         view.redirect(view.url(view.context, redirect)+'#tab-%s' % tab)
     133        view.redirect(view.url(view.context, redirect)+'?tab%s' % tab)
    134134    else:
    135135        view.redirect(view.url(view.context, redirect))
     
    570570    def update(self):
    571571        tabs.need()
     572        self.tab1 = self.tab2 = ''
     573        qs = self.request.get('QUERY_STRING', '')
     574        if not qs:
     575            qs = 'tab1'
     576        setattr(self, qs, 'active')
    572577        datatable.need()
    573578        warning.need()
     
    624629            self.flash('The session chosen already exists ')
    625630            return
    626         self.redirect(self.url(self.context, '@@index')+'#tab-2')
     631        self.redirect(self.url(self.context, '@@index')+'?tab2')
    627632        return
    628633
    629634    @action('Cancel', validator=NullValidator)
    630635    def cancel(self):
    631         self.redirect(self.url(self.context, '@@index')+'#tab-2')
     636        self.redirect(self.url(self.context, '@@index')+'?tab2')
    632637        return
    633638
     
    650655        self.applyData(self.context, **data)
    651656        self.flash('Settings have been saved.')
    652         self.redirect(self.url(self.context.__parent__, '@@index')+'#tab-2')
     657        self.redirect(self.url(self.context.__parent__, '@@index')+'?tab2')
    653658        return
    654659
    655660    @action('Cancel', validator=NullValidator)
    656661    def cancel(self):
    657         self.redirect(self.url(self.context.__parent__, '@@index')+'#tab-2')
     662        self.redirect(self.url(self.context.__parent__, '@@index')+'?tab2')
    658663        return
    659664
     
    11671172
    11681173    def update(self):
    1169         tabs.need()
    11701174        warning.need()
    11711175        return super(FacultiesContainerManageFormPage, self).update()
     
    12061210            self.flash('The faculty code chosen already exists.')
    12071211            return
    1208         self.redirect(self.url(self.context, u'@@manage')+'#tab-1')
     1212        self.redirect(self.url(self.context, u'@@manage')+'?tab1')
    12091213
    12101214    @action('Cancel')
     
    12491253    def update(self):
    12501254        tabs.need()
     1255        self.tab1 = self.tab2 = self.tab3 = ''
     1256        qs = self.request.get('QUERY_STRING', '')
     1257        if not qs:
     1258            qs = 'tab1'
     1259        setattr(self, qs, 'active')
    12511260        warning.need()
    12521261        datatable.need()
     
    13151324                                  'in this faculty.')
    13161325            return
    1317         self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
     1326        self.status = self.flash(
     1327            "Department %s added." % data['code'])
     1328        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
    13181329
    13191330    @action('Cancel')
     
    14251436    def update(self):
    14261437        tabs.need()
     1438        self.tab1 = self.tab2 = self.tab3 = self.tab4 = ''
     1439        qs = self.request.get('QUERY_STRING', '')
     1440        if not qs:
     1441            qs = 'tab1'
     1442        setattr(self, qs, 'active')
    14271443        warning.need()
    14281444        datatable.need()
     
    15141530        message = u'Course %s successfully created.' % (course.code)
    15151531        self.flash(message)
    1516         self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
     1532        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
    15171533
    15181534    @action('Cancel', validator=NullValidator)
     
    15511567        message = u'Certificate %s successfully created.' % (certificate.code)
    15521568        self.flash(message)
    1553         self.redirect(self.url(self.context, u'@@manage')+'#tab-3')
     1569        self.redirect(self.url(self.context, u'@@manage')+'?tab3')
    15541570        return
    15551571
     
    16201636
    16211637    def update(self):
    1622         tabs.need()
    1623         #warning.need()
    16241638        datatable.need()
    16251639        return super(CertificatePage, self).update()
     
    16501664    def update(self):
    16511665        tabs.need()
     1666        self.tab1 = self.tab2 = self.tab3 = ''
     1667        qs = self.request.get('QUERY_STRING', '')
     1668        if not qs:
     1669            qs = 'tab1'
     1670        setattr(self, qs, 'active')
    16521671        warning.need()
    16531672        datatable.need()
     
    17171736                                  'part of this certificate.')
    17181737            return
    1719         self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
     1738        self.status = self.flash(
     1739            "Course referrer %s_%s added." % (data['course'].code,data['level']))
     1740        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
    17201741
    17211742    @action('Cancel', validator=NullValidator)
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/resources.py

    r7468 r7484  
    147147#:
    148148#: * In the `update()` method of the responsible view/page/form
    149 #:   require the JavaScript code to be rendered into the page::
     149#:   require the JavaScript code to be rendered into the page and set
     150#    tab for redirection::
    150151#:
    151152#:     from waeup.sirp.browser.resources import tabs
     
    155156#:       def update(self):
    156157#:         tabs.need()
     158#:         self.tab1 = self.tab2 = self.tab3 = ''
     159#:         qs = self.request.get('QUERY_STRING', '')
     160#:         if not qs:
     161#:             qs = 'tab1'
     162#:         setattr(self, qs, 'active')
    157163#:
    158164#:   This way all required JavaScripts will be rendered correctly
     
    164170
    165171#:     <ul class="tabs" data-tabs="tabs" >
    166 #:       <li class="active"><a href="#tab-1">Tab 1 Heading</a></li>
    167 #:       <li><a href="#tab-2">Tab 2 Heading</a></li>
    168 #:       <li><a href="#tab-3">Tab 3 Heading</a></li>
     172#:       <li tal:attributes="class view/tab1"><a href="#tab-1">Tab 1 Heading</a></li>
     173#:       <li tal:attributes="class view/tab2"><a href="#tab-2">Tab 2 Heading</a></li>
     174#:       <li tal:attributes="class view/tab3"><a href="#tab-3">Tab 3 Heading</a></li>
    169175#:     </ul>
    170176
    171177#:     <div class="tab-content">
    172 #:       <div id="tab-1" class="active">...</div>
    173 #:       <div id="tab-2">...</div>
    174 #:       <div id="tab-3">...</div>
     178#:       <div id="tab-1" tal:attributes="class view/tab1">...</div>
     179#:       <div id="tab-2" tal:attributes="class view/tab2">...</div>
     180#:       <div id="tab-3" tal:attributes="class view/tab3">...</div>
    175181#:     </div>
    176182#:
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatemanagepage.pt

    r7464 r7484  
    33
    44  <ul class="tabs" data-tabs="tabs">
    5     <li class="active"><a href="#tab-1"><span>Settings</span></a></li>
    6     <li><a href="#tab-2"><span>Course Referrers</span></a></li>
    7     <li><a href="#tab-3"><span>Local Roles</span></a></li>
     5    <li tal:attributes="class view/tab1"><a href="#tab-1"><span>Settings</span></a></li>
     6    <li tal:attributes="class view/tab2"><a href="#tab-2"><span>Course Referrers</span></a></li>
     7    <li tal:attributes="class view/tab3"><a href="#tab-3"><span>Local Roles</span></a></li>
    88  </ul>
    99   
    1010  <div class="tab-content">
    11     <div id="tab-1" class="active">
     11    <div id="tab-1" tal:attributes="class view/tab1">
    1212          <table class="form-table">
    1313          <tbody>
     
    4141          </div>
    4242    </div>
    43     <div id="tab-2">
     43    <div id="tab-2" tal:attributes="class view/tab2">
    4444      <h3>Course Referrers</h3>
    4545      <table class="display dataTableManage">
     
    9696      </div>
    9797    </div>
    98     <div id="tab-3"> <br />
     98    <div id="tab-3" tal:attributes="class view/tab3"> <br />
    9999      <table class="display dataTableManage">
    100100        <thead>
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/configurationmanagepage.pt

    r7464 r7484  
    11<form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data">
    22    <ul class="tabs" data-tabs="tabs">
    3       <li class="active">
     3      <li tal:attributes="class view/tab1">
    44      <a href="#tab-1">
    55        <span>Site Settings
    66        </span></a>
    77      </li>
    8       <li>
     8      <li tal:attributes="class view/tab2">
    99      <a href="#tab-2">Session Configurations</a>
    1010      </li>
    1111    </ul>
    1212    <div class="tab-content">
    13     <div id="tab-1" class="active">
     13    <div id="tab-1" tal:attributes="class view/tab1">
    1414      <table class="form-table">
    1515        <tbody>
     
    4545      </div>
    4646    </div>
    47     <div id="tab-2"> <br />
     47    <div id="tab-2" tal:attributes="class view/tab2"> <br />
    4848      <table class="display dataTableManage">
    4949        <thead>
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/departmentmanagepage.pt

    r7464 r7484  
    11<form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data">
    22  <ul class="tabs" data-tabs="tabs">
    3     <li class="active">
     3    <li tal:attributes="class view/tab1">
    44    <a href="#tab-1">
    55      <span>Settings
    66      </span></a>
    77    </li>
    8     <li>
     8    <li tal:attributes="class view/tab2">
    99    <a href="#tab-2">Courses</a>
    1010    </li>
    11     <li>
     11    <li tal:attributes="class view/tab3">
    1212    <a href="#tab-3">Certificates</a>
    1313    </li>
    14     <li>
     14    <li tal:attributes="class view/tab4">
    1515    <a href="#tab-4">Local Roles</a>
    1616    </li>
    1717  </ul>
    1818  <div class="tab-content">
    19     <div id="tab-1" class="active">
     19    <div id="tab-1" tal:attributes="class view/tab1">
    2020      <table class="form-table">
    2121        <tbody>
     
    5050      </div>
    5151    </div>
    52     <div id="tab-2"> <br />
     52    <div id="tab-2" tal:attributes="class view/tab2"> <br />
    5353      <table class="display dataTableManage">
    5454        <thead>
     
    7676      </div>
    7777    </div>
    78     <div id="tab-3"> <br />
     78    <div id="tab-3" tal:attributes="class view/tab3"> <br />
    7979      <table class="display dataTableManage">
    8080        <thead>
     
    102102      </div>
    103103    </div>
    104     <div id="tab-4"> <br />
     104    <div id="tab-4" tal:attributes="class view/tab4"> <br />
    105105      <table class="display dataTableManage">
    106106        <thead>
  • main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultymanagepage.pt

    r7464 r7484  
    11<form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data">
    22  <ul class="tabs" data-tabs="tabs">
    3     <li class="active">
     3    <li tal:attributes="class view/tab1">
    44    <a href="#tab-1">
    55      <span>Settings
    66      </span></a>
    77    </li>
    8     <li>
     8    <li tal:attributes="class view/tab2">
    99    <a href="#tab-2">
    1010      <span tal:content="view/subunits">Contents
    1111      </span> </a>
    1212    </li>
    13     <li>
     13    <li tal:attributes="class view/tab3">
    1414    <a href="#tab-3">
    1515      <span>Local Roles
     
    1818  </ul>
    1919  <div class="tab-content">
    20     <div id="tab-1" class="active">
     20    <div id="tab-1" tal:attributes="class view/tab1">
    2121      <table class="form-table">
    2222        <tbody>
     
    5252      </div>
    5353    </div>
    54     <div id="tab-2">
     54    <div id="tab-2" tal:attributes="class view/tab2">
    5555      <h3 tal:content="view/subunits">Departments</h3>
    5656      <table>
     
    8383      </div>
    8484    </div>
    85     <div id="tab-3"> <br />
     85    <div id="tab-3" tal:attributes="class view/tab3"> <br />
    8686      <table class="display dataTableManage">
    8787        <thead>
Note: See TracChangeset for help on using the changeset viewer.