Ignore:
Timestamp:
24 Feb 2012, 23:04:05 (13 years ago)
Author:
Henrik Bettermann
Message:

More translations

File:
1 edited

Legend:

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

    r7694 r7700  
    4444    IDepartment, IDepartmentAdd, ICourse, ICourseAdd, ICertificate,
    4545    ICertificateAdd, ICertificateCourse, ICertificateCourseAdd)
     46from waeup.sirp.interfaces import MessageFactory as _
    4647from waeup.sirp.browser.resources import warning, datepicker, tabs, datatable
    4748from waeup.sirp.interfaces import(
     
    8081    child_ids = view.request.form.get('role_id', None)
    8182    if child_ids is None:
    82         view.flash('No local role selected.')
     83        view.flash(_('No local role selected.'))
    8384        view.redirect(view.url(view.context, '@@manage')+'?tab%s' % tab)
    8485        return
     
    99100                    child_id, sys.exc_info()[0], sys.exc_info()[1]))
    100101    if len(deleted):
    101         view.flash('Successfully removed: %s' % ', '.join(deleted))
     102        view.flash(
     103            _('Local role successfully removed: ${a}',
     104            mapping = {'a':', '.join(deleted)}))
    102105    view.redirect(view.url(view.context, u'@@manage')+'?tab%s' % tab)
    103106    return
     
    108111        child_id = form['val_id']
    109112    else:
    110         view.flash('No item selected.')
     113        view.flash(_('No item selected.'))
    111114        if tab:
    112115            view.redirect(view.url(view.context, redirect)+'?tab%s' % tab)
     
    129132                    id, sys.exc_info()[0], sys.exc_info()[1]))
    130133    if len(deleted):
    131         view.flash('Successfully removed: %s' % ', '.join(deleted))
     134        view.flash(_('Successfully removed: ${a}',
     135            mapping = {'a': ', '.join(deleted)}))
    132136    if tab:
    133137        view.redirect(view.url(view.context, redirect)+'?tab%s' % tab)
     
    146150    grok.context(ISIRPObject)
    147151    grok.require('waeup.Public')
    148     label = u'Login'
     152    label = _(u'Login')
    149153    camefrom = None
    150154
     
    153157        if SUBMIT is not None:
    154158            if self.request.principal.id != 'zope.anybody':
    155                 self.flash('You logged in.')
     159                self.flash(_('You logged in.'))
    156160                if self.request.principal.user_type == 'student':
    157161                    rel_link = '/students/%s' % self.request.principal.id
     
    171175                self.redirect(self.camefrom)
    172176                return
    173             self.flash('You entered wrong credentials.')
     177            self.flash(_('You entered wrong credentials.'))
    174178
    175179
     
    185189            auth = getUtility(IAuthentication)
    186190            ILogout(auth).logout(self.request)
    187             self.flash("You have been logged out. Thanks for using WAeUP SIRP!")
     191            self.flash(_("You have been logged out. Thanks for using WAeUP SIRP!"))
    188192        self.redirect(self.application_url())
    189193
     
    221225
    222226    def label(self):
    223         return u'Contact %s' % self.config.name_admin
     227        return _(u'Contact ${a}', mapping = {'a': self.config.name_admin})
    224228
    225229    @property
     
    227231        return get_user_account(self.request)
    228232
    229     @action('Send message now', style='primary')
     233    @action(_('Send message now'), style='primary')
    230234    def send(self, *args, **data):
    231235        fullname = self.request.principal.title
     
    246250        # TODO: Catch exceptions.
    247251        if success:
    248             self.flash('Your message has been sent.')
     252            self.flash(_('Your message has been sent.'))
    249253        return
    250254
     
    256260                          'fullname', 'email_from', 'body')
    257261
    258     @action('Send now', style='primary')
     262    @action(_('Send now'), style='primary')
    259263    def send(self, *args, **data):
    260264        sirp_utils = getUtility(ISIRPUtils)
     
    265269                data['body'],self.config.email_subject)
    266270        if success:
    267             self.flash('Your message has been sent.')
     271            self.flash(_('Your message has been sent.'))
    268272        else:
    269             self.flash('A smtp server error occurred.')
     273            self.flash(_('A smtp server error occurred.'))
    270274        return
    271275
     
    296300    grok.context(IUniversity)
    297301    grok.require('waeup.manageUniversity')
    298     label = u'Administration'
     302    label = _(u'Administration')
    299303    pnav = 0
    300304
     
    373377    grok.context(IUsersContainer)
    374378    grok.name('index')
    375     label = 'Portal Users'
     379    label = _('Portal Users')
    376380
    377381    def update(self, userid=None, adduser=None, manage=None, delete=None):
     
    380384        if delete is not None and userid is not None:
    381385            self.context.delUser(userid)
    382             self.flash('User account %s successfully deleted.' % userid)
     386            self.flash(_('User account ${a} successfully deleted.',
     387                mapping = {'a':  userid}))
    383388
    384389    def getLocalRoles(self, account):
     
    410415    grok.template('usereditformpage')
    411416    form_fields = grok.AutoFields(IUserAccount)
    412     label = 'Add user'
    413 
    414     @action('Add user', style='primary')
     417    label = _('Add user')
     418
     419    @action(_('Add user'), style='primary')
    415420    def addUser(self, **data):
    416421        name = data['name']
     
    434439                                 phone=phone, description=description,
    435440                                 roles=roles)
    436             self.flash('User account %s successfully added.' % name)
     441            self.flash(_('User account ${a} successfully added.',
     442                mapping = {'a': name}))
    437443        except KeyError:
    438444            self.status = self.flash('The userid chosen already exists '
     
    452458
    453459    def label(self):
    454         return "Edit user %s" % self.context.__name__
     460        return _("Edit user ${a}", mapping = {'a':self.context.__name__})
    455461
    456462    def setUpWidgets(self, ignore_request=False):
     
    459465        self.widgets['description'].height = 3
    460466
    461     @action('Save', style='primary')
     467    @action(_('Save'), style='primary')
    462468    def save(self, **data):
    463469        form = self.request.form
     
    483489            self.context.__parent__.logger.info(
    484490                'User account %s edited: %s' % (self.context.name,fields_string))
    485         self.flash('User settings have been saved.')
    486         return
    487 
    488     @action('Cancel', validator=NullValidator)
     491        self.flash(_('User settings have been saved.'))
     492        return
     493
     494    @action(_('Cancel'), validator=NullValidator)
    489495    def cancel(self, **data):
    490496        self.redirect(self.url(self.context.__parent__))
     
    500506
    501507    def label(self):
    502         return u'Send message to %s' % self.context.title
    503 
    504     @action('Send message now', style='primary')
     508        return _(u'Send message to ${a}', mapping = {'a':self.context.title})
     509
     510    @action(_('Send message now'), style='primary')
    505511    def send(self, *args, **data):
    506512        try:
     
    519525        # TODO: Catch exceptions.
    520526        if success:
    521             self.flash('Your message has been sent.')
     527            self.flash(_('Your message has been sent.'))
    522528        return
    523529
     
    529535    form_fields = grok.AutoFields(IUserAccount).omit(
    530536        'name', 'description', 'roles')
    531     label = u"My Preferences"
     537    label = _(u"My Preferences")
    532538
    533539    def setUpWidgets(self, ignore_request=False):
     
    542548    grok.context(IUserAccount)
    543549    grok.template('myrolespage')
    544     label = u"My Roles"
     550    label = _(u"My Roles")
    545551
    546552    @property
     
    573579    grok.template('searchpage')
    574580    grok.require('waeup.manageUniversity')
    575     label = u"Search Academic Section"
     581    label = _(u"Search Academic Section")
    576582    pnav = 1
    577583
     
    599605    grok.context(IConfigurationContainer)
    600606    pnav = 0
    601     label = u'View portal configuration'
     607    label = _(u'View portal configuration')
    602608    form_fields = grok.AutoFields(IConfigurationContainer)
    603609    form_fields['frontpage'].custom_widget = ReSTDisplayWidget
     
    612618    grok.template('configurationmanagepage')
    613619    pnav = 0
    614     label = u'Edit portal configuration'
    615     taboneactions = ['Save', 'Update plugins']
     620    label = _(u'Edit portal configuration')
     621    taboneactions = [_('Save'), _('Update plugins')]
    616622    tabtwoactions = [
    617         'Add session configuration',
    618         'Remove selected']
     623        _('Add session configuration'),
     624        _('Remove selected')]
    619625
    620626    form_fields = grok.AutoFields(IConfigurationContainer)
     
    642648        self.applyData(self.context, **data)
    643649        self.context.frontpage_html = self.frontpage()
    644         self.flash('Settings have been saved.')
    645         return
    646 
    647     @action('Add session configuration', validator=NullValidator, style='primary')
     650        self.flash(_('Settings have been saved.'))
     651        return
     652
     653    @action(_('Add session configuration'), validator=NullValidator, style='primary')
    648654    def addSubunit(self, **data):
    649655        self.redirect(self.url(self.context, '@@add'))
     
    656662            url = self.url(val)
    657663            session_string = val.getSessionString()
    658             title = 'Session %s Configuration' % session_string
     664            title = _('Session ${a} Configuration', mapping = {'a':session_string})
    659665            yield(dict(url=url, name=key, title=title))
    660666
    661     @jsaction('Remove selected')
     667    @jsaction(_('Remove selected'))
    662668    def delSessonConfigurations(self, **data):
    663669        delSubobjects(self, redirect='@@index', tab='2')
    664670        return
    665671
    666     @action('Update plugins', validator=NullValidator)
     672    @action(_('Update plugins'), validator=NullValidator)
    667673    def updatePlugins(self, **data):
    668674        grok.getSite().updatePlugins()
    669         self.flash('Plugins were updated. See log file for details.')
     675        self.flash(_('Plugins were updated. See log file for details.'))
    670676        return
    671677
     
    676682    grok.name('add')
    677683    grok.require('waeup.managePortalConfiguration')
    678     label = 'Add session configuration'
     684    label = _('Add session configuration')
    679685    form_fields = grok.AutoFields(ISessionConfigurationAdd)
    680686    pnav = 0
    681687
    682     @action('Add Session Configuration', style='primary')
     688    @action(_('Add Session Configuration'), style='primary')
    683689    def addSessionConfiguration(self, **data):
    684690        sessionconfiguration = createObject(u'waeup.SessionConfiguration')
     
    687693            self.context.addSessionConfiguration(sessionconfiguration)
    688694        except KeyError:
    689             self.flash('The session chosen already exists ')
     695            self.flash(_('The session chosen already exists.'))
    690696            return
    691697        self.redirect(self.url(self.context, '@@index')+'?tab2')
    692698        return
    693699
    694     @action('Cancel', validator=NullValidator)
     700    @action(_('Cancel'), validator=NullValidator)
    695701    def cancel(self):
    696702        self.redirect(self.url(self.context, '@@index')+'?tab2')
     
    709715    def label(self):
    710716        session_string = self.context.getSessionString()
    711         return 'Edit academic session %s configuration' % session_string
    712 
    713     @action('Save', style='primary')
     717        return _('Edit academic session ${a} configuration',
     718            mapping = {'a':session_string})
     719
     720    @action(_('Save'), style='primary')
    714721    def save(self, **data):
    715722        self.applyData(self.context, **data)
    716         self.flash('Settings have been saved.')
     723        self.flash(_('Settings have been saved.'))
    717724        self.redirect(self.url(self.context.__parent__, '@@index')+'?tab2')
    718725        return
    719726
    720     @action('Cancel', validator=NullValidator)
     727    @action(_('Cancel'), validator=NullValidator)
    721728    def cancel(self):
    722729        self.redirect(self.url(self.context.__parent__, '@@index')+'?tab2')
     
    731738    grok.name('index')
    732739    grok.require('waeup.manageUniversity')
    733     label = u'Data Center'
     740    label = _(u'Data Center')
    734741    pnav = 0
    735742
     
    738745    grok.name('upload')
    739746    grok.require('waeup.manageUniversity')
    740     label = u'Upload file'
     747    label = _(u'Upload file')
    741748    pnav = 0
    742749
     
    784791    grok.template('datacenterimport1page')
    785792    grok.require('waeup.manageUniversity')
    786     label = u'Process CSV file'
     793    label = _(u'Process CSV file')
    787794    pnav = 0
    788795
     
    797804    def update(self, filename=None, select=None, cancel=None):
    798805        if cancel is not None:
    799             self.flash('Import aborted.')
     806            self.flash(_('Import aborted.'))
    800807            self.redirect(self.url(self.context))
    801808            return
     
    813820    grok.template('datacenterimport2page')
    814821    grok.require('waeup.manageUniversity')
    815     label = u'Process CSV file'
     822    label = _(u'Process CSV file')
    816823    pnav = 0
    817824
     
    874881            if len(headerfields) > len(headerfields_clean):
    875882                result.append(
    876                     "Double headers: each column name may only appear once. ")
     883                    _("Double headers: each column name may only appear once. "))
    877884        except:
    878885            fatal = '%s' % sys.exc_info()[1]
     
    882889            for line in result:
    883890                warnings += line + '<br />'
    884             warnings += 'Replace imported file!'
     891            warnings += _('Replace imported file!')
    885892            return warnings
    886893        return False
     
    895902            return
    896903        if cancel is not None:
    897             self.flash('Import aborted.')
     904            self.flash(_('Import aborted.'))
    898905            self.redirect(self.url(self.context))
    899906            return
     
    907914        if self.importer and 'update' in self.importer:
    908915            if self.mode != 'update':
    909                 self.flash('Update mode only!')
     916                self.flash(_('Update mode only!'))
    910917                self.mode_locked = True
    911918                self.mode = 'update'
     
    930937    grok.template('datacenterimport3page')
    931938    grok.require('waeup.manageUniversity')
    932     label = u'Process CSV file'
     939    label = _(u'Process CSV file')
    933940    pnav = 0
    934941
     
    988995            for line in result:
    989996                warnings += line + '<br />'
    990             warnings += 'Edit headers or replace imported file!'
     997            warnings += _('Edit headers or replace imported file!')
    991998            return warnings
    992999        return False
     
    10091016            return
    10101017        if cancel is not None:
    1011             self.flash('Import aborted.')
     1018            self.flash(_('Import aborted.'))
    10121019            self.redirect(self.url(self.context))
    10131020            return
     
    10331040    grok.template('datacenterimport4page')
    10341041    grok.require('waeup.manageUniversity')
    1035     label = u'Process CSV file'
     1042    label = _(u'Process CSV file')
    10361043    pnav = 0
    10371044
     
    10781085
    10791086        if self.warn_num:
    1080             self.flash('Processing of %d rows failed.' % self.warn_num)
    1081         self.flash('Successfully processed %s rows.' % (
    1082                 linenum - (self.warn_num)))
     1087            self.flash(_('Processing of ${a} rows failed.',
     1088                mapping = {'a':self.warn_num}))
     1089        self.flash(_('Successfully processed ${a} rows.',
     1090            mapping = {'a':linenum - self.warn_num}))
    10831091
    10841092class DatacenterLogsOverview(SIRPPage):
     
    10871095    grok.template('datacenterlogspage')
    10881096    grok.require('waeup.manageUniversity')
    1089     label = u'Show logfiles'
     1097    label = _(u'Show logfiles')
    10901098    pnav = 0
    10911099
     
    11071115    grok.template('datacenterlogsshowfilepage')
    11081116    grok.require('waeup.manageUniversity')
    1109     title = u'Data Center'
     1117    title = _(u'Data Center')
    11101118    pnav = 0
    11111119
     
    11291137    grok.template('datacentermanagepage')
    11301138    grok.require('waeup.manageUniversity')
    1131     label = 'Edit data center settings'
     1139    label = _('Edit data center settings')
    11321140    pnav = 0
    11331141
     
    11461154            not_copied = self.context.setStoragePath(newpath, move=move)
    11471155            for name in not_copied:
    1148                 self.flash('File already existed (not copied): %s' % name)
     1156                self.flash(_('File already existed (not copied):') + ' %s' % name)
    11491157        except:
    1150             self.flash('Given storage path cannot be used.')
    1151             self.flash('Error: %s' %sys.exc_info()[1])
     1158            self.flash(_('Given storage path cannot be used.'))
     1159            self.flash(_('Error:') + '%s' %sys.exc_info()[1])
    11521160            return
    11531161        if newpath:
    1154             self.flash('New storage path succefully set.')
     1162            self.flash(_('New storage path succefully set.'))
    11551163            self.redirect(self.url(self.context))
    11561164        return
     
    12121220    grok.require('waeup.viewAcademics')
    12131221    grok.name('index')
    1214     label = 'Academic Section'
     1222    label = _('Academic Section')
    12151223    pnav = 1
    12161224    grok.template('facultypage')
     
    12241232    grok.template('facultiescontainermanagepage')
    12251233    pnav = 1
    1226     taboneactions = ['Add faculty', 'Remove selected','Cancel']
    1227     subunits = 'Faculties'
     1234    taboneactions = [_('Add faculty'), _('Remove selected'),_('Cancel')]
     1235    subunits = _('Faculties')
    12281236
    12291237    @property
    12301238    def label(self):
    1231         return 'Manage academic section'
     1239        return _('Manage academic section')
    12321240
    12331241    def update(self):
     
    12351243        return super(FacultiesContainerManageFormPage, self).update()
    12361244
    1237     @jsaction('Remove selected')
     1245    @jsaction(_('Remove selected'))
    12381246    def delFaculties(self, **data):
    12391247        delSubobjects(self, redirect='@@manage', tab='1')
    12401248        return
    12411249
    1242     @action('Add faculty', validator=NullValidator)
     1250    @action(_('Add faculty'), validator=NullValidator)
    12431251    def addFaculty(self, **data):
    12441252        self.redirect(self.url(self.context, '@@add'))
    12451253        return
    12461254
    1247     @action('Cancel', validator=NullValidator)
     1255    @action(_('Cancel'), validator=NullValidator)
    12481256    def cancel(self, **data):
    12491257        self.redirect(self.url(self.context))
     
    12571265    grok.require('waeup.manageUniversity')
    12581266    grok.name('add')
    1259     label = 'Add faculty'
     1267    label = _('Add faculty')
    12601268    form_fields = grok.AutoFields(IFacultyAdd)
    12611269    pnav = 1
    12621270
    1263     @action('Add faculty', style='primary')
     1271    @action(_('Add faculty'), style='primary')
    12641272    def addFaculty(self, **data):
    12651273        faculty = createObject(u'waeup.Faculty')
     
    12681276            self.context.addFaculty(faculty)
    12691277        except KeyError:
    1270             self.flash('The faculty code chosen already exists.')
     1278            self.flash(_('The faculty code chosen already exists.'))
    12711279            return
    12721280        self.redirect(self.url(self.context, u'@@manage')+'?tab1')
    12731281
    1274     @action('Cancel')
     1282    @action(_('Cancel'))
    12751283    def cancel(self, **data):
    12761284        self.redirect(self.url(self.context))
     
    12891297    @property
    12901298    def label(self):
    1291         return 'Departments'
     1299        return _('Departments')
    12921300
    12931301class FacultyManageFormPage(SIRPEditFormPage):
     
    12991307    grok.template('facultymanagepage')
    13001308    pnav = 1
    1301     subunits = 'Departments'
    1302     taboneactions = ['Save','Cancel']
    1303     tabtwoactions = ['Add department', 'Remove selected','Cancel']
    1304     tabthreeactions1 = ['Remove selected local roles']
    1305     tabthreeactions2 = ['Add local role']
     1309    subunits = _('Departments')
     1310    taboneactions = [_('Save'),_('Cancel')]
     1311    tabtwoactions = [_('Add department'), _('Remove selected'),_('Cancel')]
     1312    tabthreeactions1 = [_('Remove selected local roles')]
     1313    tabthreeactions2 = [_('Add local role')]
    13061314
    13071315    form_fields = grok.AutoFields(IFaculty)
     
    13091317    @property
    13101318    def label(self):
    1311         return 'Manage faculty'
     1319        return _('Manage faculty')
    13121320
    13131321    def update(self):
     
    13361344        return get_users_with_local_roles(self.context)
    13371345
    1338     @jsaction('Remove selected')
     1346    @jsaction(_('Remove selected'))
    13391347    def delDepartments(self, **data):
    13401348        delSubobjects(self, redirect='@@manage', tab='2')
     
    13441352    def save(self, **data):
    13451353        self.applyData(self.context, **data)
    1346         self.flash('Form has been saved.')
    1347         return
    1348 
    1349     @action('Cancel', validator=NullValidator)
     1354        self.flash(_('Form has been saved.'))
     1355        return
     1356
     1357    @action(_('Cancel'), validator=NullValidator)
    13501358    def cancel(self, **data):
    13511359        self.redirect(self.url(self.context))
    13521360        return
    13531361
    1354     @action('Add department', validator=NullValidator)
     1362    @action(_('Add department'), validator=NullValidator)
    13551363    def addSubunit(self, **data):
    13561364        self.redirect(self.url(self.context, '@@add'))
    13571365        return
    13581366
    1359     @action('Add local role', validator=NullValidator)
     1367    @action(_('Add local role'), validator=NullValidator)
    13601368    def addLocalRole(self, **data):
    13611369        return add_local_role(self, '3', **data)
    13621370
    1363     @action('Remove selected local roles')
     1371    @action(_('Remove selected local roles'))
    13641372    def delLocalRoles(self, **data):
    13651373        return del_local_roles(self,3,**data)
     
    13711379    grok.name('add')
    13721380    grok.require('waeup.manageUniversity')
    1373     label = 'Add department'
     1381    label = _('Add department')
    13741382    form_fields = grok.AutoFields(IDepartmentAdd)
    13751383    pnav = 1
    13761384
    1377     @action('Add department', style='primary')
     1385    @action(_('Add department'), style='primary')
    13781386    def addDepartment(self, **data):
    13791387        department = createObject(u'waeup.Department')
     
    13821390            self.context.addDepartment(department)
    13831391        except KeyError:
    1384             self.flash('The code chosen already exists '
    1385                                   'in this faculty.')
     1392            self.flash(_('The code chosen already exists in this faculty.'))
    13861393            return
    13871394        self.status = self.flash(
    1388             "Department %s added." % data['code'])
     1395            _("Department ${a} added.", mapping = {'a':data['code']}))
    13891396        self.redirect(self.url(self.context, u'@@manage')+'?tab2')
    13901397
    1391     @action('Cancel')
     1398    @action(_('Cancel'))
    13921399    def cancel(self, **data):
    13931400        self.redirect(self.url(self.context))
     
    14031410    grok.name('index')
    14041411    pnav = 1
    1405     label = 'Courses and Certificates'
     1412    label = _('Courses and Certificates')
    14061413
    14071414    def update(self):
     
    14331440    grok.template('showstudentspage')
    14341441    pnav = 1
    1435     label = 'Students'
     1442    label = _('Students')
    14361443
    14371444    @property
     
    14521459    grok.name('showcertstudents')
    14531460    pnav = 1
    1454     label = 'Students'
     1461    label = _('Students')
    14551462
    14561463    @property
     
    14681475    pnav = 1
    14691476    grok.template('departmentmanagepage')
    1470     taboneactions = ['Save','Cancel']
    1471     tabtwoactions = ['Add course', 'Remove selected courses','Cancel']
    1472     tabthreeactions = ['Add certificate', 'Remove selected certificates',
    1473                        'Cancel']
    1474     tabfouractions1 = ['Remove selected local roles']
    1475     tabfouractions2 = ['Add local role']
     1477    taboneactions = [_('Save'),_('Cancel')]
     1478    tabtwoactions = [_('Add course'), _('Remove selected courses'),_('Cancel')]
     1479    tabthreeactions = [_('Add certificate'), _('Remove selected certificates'),
     1480                       _('Cancel')]
     1481    tabfouractions1 = [_('Remove selected local roles')]
     1482    tabfouractions2 = [_('Add local role')]
    14761483
    14771484    form_fields = grok.AutoFields(IDepartment)
     
    14791486    @property
    14801487    def label(self):
    1481         return 'Manage department'
     1488        return _('Manage department')
    14821489
    14831490    def getCourses(self):
     
    15211528        return get_users_with_local_roles(self.context)
    15221529
    1523     @action('Save', style='primary')
     1530    @action(_('Save'), style='primary')
    15241531    def save(self, **data):
    15251532        self.applyData(self.context, **data)
     
    15271534        return
    15281535
    1529     @jsaction('Remove selected courses')
     1536    @jsaction(_('Remove selected courses'))
    15301537    def delCourses(self, **data):
    15311538        delSubobjects(
     
    15331540        return
    15341541
    1535     @jsaction('Remove selected certificates')
     1542    @jsaction(_('Remove selected certificates'))
    15361543    def delCertificates(self, **data):
    15371544        delSubobjects(
     
    15391546        return
    15401547
    1541     @action('Add course', validator=NullValidator)
     1548    @action(_('Add course'), validator=NullValidator)
    15421549    def addCourse(self, **data):
    15431550        self.redirect(self.url(self.context, 'addcourse'))
    15441551        return
    15451552
    1546     @action('Add certificate', validator=NullValidator)
     1553    @action(_('Add certificate'), validator=NullValidator)
    15471554    def addCertificate(self, **data):
    15481555        self.redirect(self.url(self.context, 'addcertificate'))
    15491556        return
    15501557
    1551     @action('Cancel', validator=NullValidator)
     1558    @action(_('Cancel'), validator=NullValidator)
    15521559    def cancel(self, **data):
    15531560        self.redirect(self.url(self.context))
    15541561        return
    15551562
    1556     @action('Add local role', validator=NullValidator)
     1563    @action(_('Add local role'), validator=NullValidator)
    15571564    def addLocalRole(self, **data):
    15581565        return add_local_role(self, 4, **data)
    15591566
    1560     @action('Remove selected local roles')
     1567    @action(_('Remove selected local roles'))
    15611568    def delLocalRoles(self, **data):
    15621569        return del_local_roles(self,4,**data)
Note: See TracChangeset for help on using the changeset viewer.