Ignore:
Timestamp:
10 Jan 2012, 10:43:18 (13 years ago)
Author:
Henrik Bettermann
Message:

Let's define our own action decorator class which allows setting button styles.

Location:
main/waeup.sirp/branches/henrik-bootstrap/src/waeup/sirp/browser
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • main/waeup.sirp/branches/henrik-bootstrap/src/waeup/sirp/browser/layout.py

    r7442 r7445  
    5252default_primary_nav_template.__grok_name__ = 'default_primary_nav'
    5353
     54
     55class action(grok.action):
     56
     57    def __call__(self, success):
     58        action = SIRPAction(self.label, success=success, **self.options)
     59        self.actions.append(action)
     60        return action
     61
     62class SIRPAction(Action):
     63
     64    def __init__(self, label, style='', **options):
     65        super(SIRPAction, self).__init__(label, **options)
     66        self.style = style
     67
     68    def render(self):
     69        if not self.available():
     70            return ''
     71        label = self.label
     72        if isinstance(label, Message):
     73            label = zope.i18n.translate(self.label, context=self.form.request)
     74        return ('<input type="submit" id="%s" name="%s" value="%s"'
     75                ' class="btn %s"/>' %
     76                (self.__name__, self.__name__, escape(label, quote=True),
     77                self.style))
     78
    5479class jsaction(grok.action):
    5580
  • main/waeup.sirp/branches/henrik-bootstrap/src/waeup/sirp/browser/pages.py

    r7404 r7445  
    5959from waeup.sirp.authentication import get_principal_role_manager
    6060from waeup.sirp.utils.helpers import get_user_account
    61 from waeup.sirp.browser.layout import jsaction, JSAction
     61from waeup.sirp.browser.layout import jsaction, action
    6262
    6363grok.context(ISIRPObject)
     
    215215        return get_user_account(self.request)
    216216
    217     @grok.action('Send message now')
     217    @action('Send message now', style='primary')
    218218    def send(self, *args, **data):
    219219        fullname = self.request.principal.title
     
    244244                          'fullname', 'email_from', 'body')
    245245
    246     @grok.action('Send now')
     246    @action('Send now', style='primary')
    247247    def send(self, *args, **data):
    248248        sirp_utils = getUtility(ISIRPUtils)
     
    378378    title = 'Portal Users'
    379379
    380     @grok.action('Add user')
     380    @action('Add user', style='primary')
    381381    def addUser(self, **data):
    382382        name = data['name']
     
    426426        self.widgets['description'].height = 3
    427427
    428     @grok.action('Save')
     428    @action('Save', style='primary')
    429429    def save(self, **data):
    430430        form = self.request.form
     
    444444        return
    445445
    446     @grok.action('Cancel', validator=NullValidator)
     446    @action('Cancel', validator=NullValidator)
    447447    def cancel(self, **data):
    448448        self.redirect(self.url(self.context.__parent__))
     
    461461        return u'Send message to %s' % self.context.title
    462462
    463     @grok.action('Send message now')
     463    @action('Send message now', style='primary')
    464464    def send(self, *args, **data):
    465465        try:
     
    596596        return super(ConfigurationContainerManageFormPage, self).update()
    597597
    598     @grok.action('Save')
     598    @action('Save', style='primary')
    599599    def save(self, **data):
    600600        self.applyData(self.context, **data)
     
    602602        return
    603603
    604     @grok.action('Add session configuration', validator=NullValidator)
     604    @action('Add session configuration', validator=NullValidator, style='primary')
    605605    def addSubunit(self, **data):
    606606        self.redirect(self.url(self.context, '@@add'))
     
    621621        return
    622622
    623     @grok.action('Update plugins', validator=NullValidator)
     623    @action('Update plugins', validator=NullValidator)
    624624    def updatePlugins(self, **data):
    625625        grok.getSite().updatePlugins()
     
    638638    pnav = 0
    639639
    640     @grok.action('Add Session Configuration')
     640    @action('Add Session Configuration', style='primary')
    641641    def addSessionConfiguration(self, **data):
    642642        sessionconfiguration = createObject(u'waeup.SessionConfiguration')
     
    650650        return
    651651
    652     @grok.action('Cancel', validator=NullValidator)
     652    @action('Cancel', validator=NullValidator)
    653653    def cancel(self):
    654654        self.redirect(self.url(self.context, '@@index')+'#tab-2')
     
    674674        return 'Edit academic session %s configuration' % session_string
    675675
    676     @grok.action('Save')
     676    @action('Save', style='primary')
    677677    def save(self, **data):
    678678        self.applyData(self.context, **data)
     
    681681        return
    682682
    683     @grok.action('Cancel', validator=NullValidator)
     683    @action('Cancel', validator=NullValidator)
    684684    def cancel(self):
    685685        self.redirect(self.url(self.context.__parent__, '@@index')+'#tab-2')
     
    12101210        return
    12111211
    1212     @grok.action('Add faculty', validator=NullValidator)
     1212    @action('Add faculty', validator=NullValidator)
    12131213    def addFaculty(self, **data):
    12141214        self.redirect(self.url(self.context, '@@add'))
    12151215        return
    12161216
    1217     @grok.action('Cancel', validator=NullValidator)
     1217    @action('Cancel', validator=NullValidator)
    12181218    def cancel(self, **data):
    12191219        self.redirect(self.url(self.context))
     
    12321232    pnav = 1
    12331233
    1234     @grok.action('Add faculty')
     1234    @action('Add faculty', style='primary')
    12351235    def addFaculty(self, **data):
    12361236        faculty = createObject(u'waeup.Faculty')
     
    12431243        self.redirect(self.url(self.context, u'@@manage')+'#tab-1')
    12441244
    1245     @grok.action('Cancel')
     1245    @action('Cancel')
    12461246    def cancel(self, **data):
    12471247        self.redirect(self.url(self.context))
     
    13151315        return
    13161316
    1317     @grok.action('Save')
     1317    @action('Save', style='primary')
    13181318    def save(self, **data):
    13191319        self.applyData(self.context, **data)
    13201320        return
    13211321
    1322     @grok.action('Cancel', validator=NullValidator)
     1322    @action('Cancel', validator=NullValidator)
    13231323    def cancel(self, **data):
    13241324        self.redirect(self.url(self.context))
    13251325        return
    13261326
    1327     @grok.action('Add department', validator=NullValidator)
     1327    @action('Add department', validator=NullValidator)
    13281328    def addSubunit(self, **data):
    13291329        self.redirect(self.url(self.context, '@@add'))
    13301330        return
    13311331
    1332     @grok.action('Add local role', validator=NullValidator)
     1332    @action('Add local role', validator=NullValidator)
    13331333    def addLocalRole(self, **data):
    13341334        return add_local_role(self, '3', **data)
    13351335
    1336     @grok.action('Remove selected local roles')
     1336    @action('Remove selected local roles')
    13371337    def delLocalRoles(self, **data):
    13381338        return del_local_roles(self,3,**data)
     
    13521352        return self.context.longtitle()
    13531353
    1354     @grok.action('Add department')
     1354    @action('Add department', style='primary')
    13551355    def addDepartment(self, **data):
    13561356        department = createObject(u'waeup.Department')
     
    13641364        self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
    13651365
    1366     @grok.action('Cancel')
     1366    @action('Cancel')
    13671367    def cancel(self, **data):
    13681368        self.redirect(self.url(self.context))
     
    15031503        return get_users_with_local_roles(self.context)
    15041504
    1505     @grok.action('Save')
     1505    @action('Save', style='primary')
    15061506    def save(self, **data):
    15071507        self.applyData(self.context, **data)
     
    15201520        return
    15211521
    1522     @grok.action('Add course', validator=NullValidator)
     1522    @action('Add course', validator=NullValidator)
    15231523    def addCourse(self, **data):
    15241524        self.redirect(self.url(self.context, 'addcourse'))
    15251525        return
    15261526
    1527     @grok.action('Add certificate', validator=NullValidator)
     1527    @action('Add certificate', validator=NullValidator)
    15281528    def addCertificate(self, **data):
    15291529        self.redirect(self.url(self.context, 'addcertificate'))
    15301530        return
    15311531
    1532     @grok.action('Cancel', validator=NullValidator)
     1532    @action('Cancel', validator=NullValidator)
    15331533    def cancel(self, **data):
    15341534        self.redirect(self.url(self.context))
    15351535        return
    15361536
    1537     @grok.action('Add local role', validator=NullValidator)
     1537    @action('Add local role', validator=NullValidator)
    15381538    def addLocalRole(self, **data):
    15391539        return add_local_role(self, 4, **data)
    15401540
    1541     @grok.action('Remove selected local roles')
     1541    @action('Remove selected local roles')
    15421542    def delLocalRoles(self, **data):
    15431543        return del_local_roles(self,4,**data)
     
    15571557        return self.context.longtitle()
    15581558
    1559     @grok.action('Add course')
     1559    @action('Add course')
    15601560    def addCourse(self, **data):
    15611561        course = createObject(u'waeup.Course')
     
    15791579        self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
    15801580
    1581     @grok.action('Cancel', validator=NullValidator)
     1581    @action('Cancel', validator=NullValidator)
    15821582    def cancel(self, **data):
    15831583        self.redirect(self.url(self.context))
     
    15981598        return self.context.longtitle()
    15991599
    1600     @grok.action('Add certificate')
     1600    @action('Add certificate')
    16011601    def addCertificate(self, **data):
    16021602        certificate = createObject(u'waeup.Certificate')
     
    16211621        return
    16221622
    1623     @grok.action('Cancel', validator=NullValidator)
     1623    @action('Cancel', validator=NullValidator)
    16241624    def cancel(self): #, **data):
    16251625        self.redirect(self.url(self.context))
     
    16571657        return 'Course: %s (%s)' % (self.context.title, self.context.code)
    16581658
    1659     @grok.action('Save')
     1659    @action('Save', style='primary')
    16601660    def save(self, **data):
    16611661        self.applyData(self.context, **data)
    16621662        return
    16631663
    1664     @grok.action('Save and return')
     1664    @action('Save and return')
    16651665    def saveAndReturn(self, **data):
    16661666        self.applyData(self.context, **data)
     
    16681668        return
    16691669
    1670     @grok.action('Cancel', validator=NullValidator)
     1670    @action('Cancel', validator=NullValidator)
    16711671    def cancel(self, **data):
    16721672        self.redirect(self.url(self.context))
     
    17311731    form_fields = grok.AutoFields(ICertificate)
    17321732
    1733     @grok.action('Save')
     1733    @action('Save', style='primary')
    17341734    def save(self, **data):
    17351735        self.applyData(self.context, **data)
     
    17411741        return
    17421742
    1743     @grok.action('Add course referrer', validator=NullValidator)
     1743    @action('Add course referrer', validator=NullValidator)
    17441744    def addCertificateCourse(self, **data):
    17451745        self.redirect(self.url(self.context, 'addcertificatecourse'))
    17461746        return
    17471747
    1748     @grok.action('Cancel', validator=NullValidator)
     1748    @action('Cancel', validator=NullValidator)
    17491749    def cancel(self, **data):
    17501750        self.redirect(self.url(self.context))
     
    17651765        return get_users_with_local_roles(self.context)
    17661766
    1767     @grok.action('Add local role', validator=NullValidator)
     1767    @action('Add local role', validator=NullValidator)
    17681768    def addLocalRole(self, **data):
    17691769        return add_local_role(self, 3, **data)
    17701770
    1771     @grok.action('Remove selected local roles')
     1771    @action('Remove selected local roles')
    17721772    def delLocalRoles(self, **data):
    17731773        return del_local_roles(self,3,**data)
     
    17881788        return "Certificate: %s (%s)" % (self.context.title, self.context.code)
    17891789
    1790     @grok.action('Add course referrer')
     1790    @action('Add course referrer')
    17911791    def addCertcourse(self, **data):
    17921792        try:
     
    17981798        self.redirect(self.url(self.context, u'@@manage')+'#tab-2')
    17991799
    1800     @grok.action('Cancel', validator=NullValidator)
     1800    @action('Cancel', validator=NullValidator)
    18011801    def cancel(self, **data):
    18021802        self.redirect(self.url(self.context))
     
    18381838        return 'Course Referrer: %s' % (self.context.__name__)
    18391839
    1840     @grok.action('Save and return')
     1840    @action('Save and return')
    18411841    def saveAndReturn(self, **data):
    18421842        parent = self.context.__parent__
     
    18531853        return
    18541854
    1855     @grok.action('Cancel', validator=NullValidator)
     1855    @action('Cancel', validator=NullValidator)
    18561856    def cancel(self, **data):
    18571857        self.redirect(self.url(self.context))
  • main/waeup.sirp/branches/henrik-bootstrap/src/waeup/sirp/browser/static/waeup-base.css

    r7443 r7445  
    3636
    3737.dataTables_wrapper {
    38   min-height: 150px;
     38  min-height: 50px;
     39  margin-bottom: 50px;
    3940}
Note: See TracChangeset for help on using the changeset viewer.