Changeset 11254 for main/waeup.kofa/trunk/src/waeup/kofa/browser
- Timestamp:
- 22 Feb 2014, 15:46:03 (11 years ago)
- Location:
- main/waeup.kofa/trunk
- Files:
-
- 69 deleted
- 44 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.kofa/trunk
- Property svn:mergeinfo changed
-
main/waeup.kofa/trunk/src/waeup/kofa
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/main/waeup.kofa/branches/uli-diazo-themed/src/waeup/kofa merged eligible /main/waeup.kofa/branches/uli-autoinclude-less/src/waeup/kofa 8871-8888 /main/waeup.sirp/branches/uli-studentpw/src/waeup/kofa 6703-6755 /main/waeup.sirp/branches/ulif-extimgstore/src/waeup/kofa 7001-7062 /main/waeup.sirp/branches/ulif-schoolgrades/src/waeup/kofa 7761-7794
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
main/waeup.kofa/trunk/src/waeup/kofa/browser/async.py
r9217 r11254 4 4 from waeup.kofa.async import IJob, IJobManager 5 5 from waeup.kofa.browser.layout import KofaPage 6 from waeup.kofa.browser.resources import jquery, loadbar7 6 from waeup.kofa.interfaces import IKofaObject, IDataCenter 8 7 from waeup.kofa.interfaces import MessageFactory as _ … … 51 50 self.exports = self.getRunningExports() 52 51 self.uncompleted = [x for x in self.exports if x[0] != 'completed'] 53 loadbar.need()54 52 55 53 def render(self): … … 126 124 127 125 def update(self, START_NEW=None, REMOVE=None, job_id=None): 128 jquery.need()129 126 if REMOVE and job_id: 130 127 self.context.remove(job_id) -
main/waeup.kofa/trunk/src/waeup/kofa/browser/batchprocessing.txt
r10207 r11254 55 55 >>> 'Given storage path cannot be used.' in browser.contents 56 56 True 57 >>> browser.getControl(' Cancel').click()57 >>> browser.getControl('Back to Data Center').click() 58 58 59 59 -
main/waeup.kofa/trunk/src/waeup/kofa/browser/browser.txt
r10540 r11254 30 30 >>> browser = Browser() 31 31 32 Let's get the default view of a university and see if the 33 favicon is properly referenced:: 32 Let's get the default view of a university:: 34 33 35 34 >>> browser.open('http://localhost/myuniversity') 36 35 >>> print browser.contents 37 36 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 38 ...href="http://localhost/myuniversity/@@/waeup_kofa/favicon.ico"39 37 ...Welcome to WAeUP.Kofa... 40 38 ... … … 102 100 103 101 >>> 'Sample University' in browser.contents 104 True105 106 The edit form contains the default value for the portal skin::107 108 >>> 'waeup-base.css' in browser.contents109 102 True 110 103 … … 311 304 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 312 305 ...<h1 class="kofa-content-label">Academic Section</h1> 313 ...<td> <a href=" TF"> <span>TF</span></a></td>306 ...<td> <a href="http://localhost/myuniversity/faculties/TF"> <span>TF</span></a></td> 314 307 ... 315 308 … … 355 348 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 356 349 ...<h1 class="kofa-content-label">Academic Section</h1> 357 ...<td> <a href=" TF"> <span>TF</span></a></td>350 ...<td> <a href="http://localhost/myuniversity/faculties/TF"> <span>TF</span></a></td> 358 351 ...<td>Faculty of My renamed faculty (TF)</td> 359 352 ... … … 481 474 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 482 475 ...<h1 class="kofa-content-label">Departments</h1> 483 ...<td> <a href=" TD"> <span>TD</span></a></td>476 ...<td> <a href="http://localhost/myuniversity/faculties/TF/TD"> <span>TD</span></a></td> 484 477 ...<td>Department of TestDept (TD)</td> 485 478 ... … … 514 507 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 515 508 ...<h1 class="kofa-content-label">Departments</h1> 516 ...<td> <a href=" TD"> <span>TD</span></a></td>509 ...<td> <a href="http://localhost/myuniversity/faculties/TF/TD"> <span>TD</span></a></td> 517 510 ...<td>Department of My renamed dept (TD)</td> 518 511 ... -
main/waeup.kofa/trunk/src/waeup/kofa/browser/captcha.py
r9217 r11254 28 28 from zope.interface import Interface 29 29 from zope.publisher.interfaces.http import IHTTPRequest 30 from waeup.kofa.browser import resources31 30 from waeup.kofa.browser.layout import KofaPage 32 31 from waeup.kofa.browser.interfaces import ( … … 229 228 #: name of challenge field in HTTP request 230 229 chal_field = 'recaptcha_challenge_field' 231 #: resource to set theme and other options232 theme = resources.recaptcha_white233 230 234 231 # Do not use the following keys in productive environments! As … … 294 291 form). 295 292 """ 296 if self.theme is not None:297 self.theme.need()298 293 error_param = '' 299 294 if error_code: -
main/waeup.kofa/trunk/src/waeup/kofa/browser/interfaces.py
r10685 r11254 59 59 """Get the list of breadcrumbs as real Python list. 60 60 """ 61 class ITheme(Interface):62 """An theme or 'skin'.63 64 Themes are basically collections of CSS- and/or JavaScript files65 stored somewhere. In Grok-contexts these files can be registered66 as 'resources' (see :mod:`waeup.kofa.browser.resources`).67 68 Furthermore, to make themes selectable and distinctable from each69 other we assign them short descriptions.70 71 Themes should be registered as named utilities so that they can be72 defined also in third-party packages and be looked up by other73 components like theme-selectors.74 """75 description = schema.TextLine(76 title = u'Description',77 description = u'Short description of the theme for choice fields',78 required = False,79 )80 81 def getResources():82 """Get resources of the theme.83 84 Deliver a list of resources that must be included in a web page to85 let it be rendered in the theme's style.86 87 A resource is normally defined in the `resources` module. If a88 theme needs several of them which normally do not depend on89 each other then all these resources can be returned by this90 method. Normally, you will only return one resource.91 92 These resources will (if the theme is selected) be `need()`-ed93 by the `update()` method of the general site layout.94 """95 96 61 class ICaptchaRequest(Interface): 97 62 """A set of data required to verify captcha solutions. -
main/waeup.kofa/trunk/src/waeup/kofa/browser/layout.py
r10709 r11254 26 26 from zope.i18n import translate 27 27 from zope.i18nmessageid import Message 28 from hurry.resource import mode29 28 from megrok.layout import Page, Layout, Form, EditForm, DisplayForm, AddForm 30 29 from z3c.flashmessage.interfaces import IMessageSource, IMessageReceiver … … 37 36 from waeup.kofa.utils.helpers import to_timezone 38 37 from waeup.kofa.browser.interfaces import ( 39 ITheme, IStudentNavigationBase, IApplicantBase) 40 from waeup.kofa.browser.theming import get_all_themes, KofaThemeBase 38 IStudentNavigationBase, IApplicantBase) 41 39 from waeup.kofa.authentication import get_principal_role_manager 42 40 … … 74 72 super(KofaAction, self).__init__(label, **options) 75 73 self.style = style 74 if style == '': 75 self.style = 'default' 76 76 77 77 78 def render(self): … … 82 83 label = translate(self.label, context=self.form.request) 83 84 return ('<input type="submit" id="%s" name="%s" value="%s"' 84 ' class="btn %s"/>' %85 ' class="btn btn-%s"/>' % 85 86 (self.__name__, self.__name__, escape(label, quote=True), 86 87 self.style)) … … 96 97 97 98 msg = _('\'Are you sure?\'') 99 100 def __init__(self, label, style='', **options): 101 super(JSAction, self).__init__(label, **options) 102 self.style = style 103 if style == '': 104 self.style = 'default' 98 105 99 106 def render(self): … … 105 112 msg = translate(self.msg, context=self.form.request) 106 113 return ('<input type="submit" id="%s" name="%s" value="%s"' 107 ' class="btn" onclick="return confirmPost(%s)" />' % 108 (self.__name__, self.__name__, escape(label, quote=True), msg) 114 ' class="btn btn-%s" onclick="return window.confirm(%s)" />' % 115 (self.__name__, self.__name__, escape(label, quote=True), 116 self.style, msg) 109 117 ) 110 118 … … 151 159 return self.url(site, name) 152 160 153 def flash(self, message, type=' alert-message warning'):161 def flash(self, message, type='success'): 154 162 """Send a short message to the user. 155 163 """ 164 cssClass = 'alert alert-%s' % type 156 165 source = queryUtility(IMessageSource, name='session') 157 166 if source is None: 158 167 return None 159 source.send(message, type)168 source.send(message, cssClass) 160 169 return True 161 170 … … 174 183 # Width parameters will be overridden by Bootstrap 175 184 # so we have to set the css class 176 if self.widgets.get('subject'):177 self.widgets['subject'].cssClass = 'span9'178 185 if self.widgets.get('body'): 179 186 self.widgets['body'].height = 10 180 if self.widgets.get('body'):181 self.widgets['body'].cssClass = 'span9'182 187 183 188 class KofaPage(UtilityView,Page): … … 202 207 super(KofaEditFormPage,self).setUpWidgets(ignore_request) 203 208 for widget in self.widgets: 204 if widget.__class__.__name__ == 'TextWidget':205 widget.cssClass = 'span8'206 elif widget.__class__.__name__ == 'IntWidget':207 widget.cssClass = 'span2'208 209 if 'address' in widget.name or \ 209 210 'comment' in widget.name or \ 210 211 'notice' in widget.name: 211 widget.cssClass = 'span8'212 212 widget.height = 6 213 if self.widgets.get('title'):214 self.widgets['title'].cssClass = 'span12'215 if self.widgets.get('frontpage'):216 self.widgets['frontpage'].cssClass = 'span12'217 if self.widgets.get('phone'):218 self.widgets['phone'].cssClass = 'span4'219 213 if self.widgets.get('transcript_comment'): 220 self.widgets['transcript_comment'].cssClass = 'span12'221 214 self.widgets['transcript_comment'].height = 12 222 215 if self.widgets.get('jamb_subjects'): 223 self.widgets['jamb_subjects'].cssClass = 'span8'224 216 self.widgets['jamb_subjects'].height = 6 225 if self.widgets.get('description'):226 self.widgets['description'].cssClass = 'span12'227 217 228 218 class KofaAddFormPage(UtilityView,AddForm): … … 238 228 239 229 #: An instance of the default theme to use for the site layout 240 default_theme = KofaThemeBase()241 230 stafftemp = grok.PageTemplateFile('templates/staffsitelayout.pt') 242 231 studenttemp = grok.PageTemplateFile('templates/studentsitelayout.pt') … … 318 307 return None 319 308 320 def update(self):321 """Include the resources required by the chosen skin/theme.322 323 University instances provide a 'skin' attribute, that should324 hold the internal name of a theme.325 326 A theme in the waeup.kofa sense consists of a list of327 CSS/JavaScript resources defined in the328 :mod:`waeup.kofa.browser.resources` module.329 330 If the context University object has no such attribute or the331 set value is not a valid theme name, we pick 'gray waeup332 theme' as default.333 """334 mode('minified')335 theme_name = getattr(grok.getSite()['configuration'], 'skin', '')336 theme = queryUtility(ITheme, name=theme_name,337 default=self.default_theme)338 for resource in theme.getResources():339 resource.need()340 return341 342 309 def render(self): 343 310 if self.isStudent() or self.isApplicant() or not self.isAuthenticated(): -
main/waeup.kofa/trunk/src/waeup/kofa/browser/pages.py
r10685 r11254 51 51 ICaptchaManager, IChangePassword) 52 52 from waeup.kofa.browser.layout import jsaction, action, UtilityView 53 from waeup.kofa.browser.resources import (54 warning, tabs, datatable)55 53 from waeup.kofa.interfaces import MessageFactory as _ 56 54 from waeup.kofa.interfaces import( … … 85 83 user = view.request.form.get('user', None) 86 84 if user is None or localrole is None: 87 view.flash('No user selected.' )88 view.redirect(view.url(view.context, '@@manage')+' ?tab%s' % tab)85 view.flash('No user selected.', type='danger') 86 view.redirect(view.url(view.context, '@@manage')+'#tab%s' % tab) 89 87 return 90 88 role_manager = IPrincipalRoleManager(view.context) … … 94 92 grok.getSite().logger.info( 95 93 '%s - added: %s|%s' % (ob_class, user, localrole)) 96 view.redirect(view.url(view.context, u'@@manage')+' ?tab%s' % tab)94 view.redirect(view.url(view.context, u'@@manage')+'#tab%s' % tab) 97 95 return 98 96 … … 100 98 child_ids = view.request.form.get('role_id', None) 101 99 if child_ids is None: 102 view.flash(_('No local role selected.') )103 view.redirect(view.url(view.context, '@@manage')+' ?tab%s' % tab)100 view.flash(_('No local role selected.'), type='danger') 101 view.redirect(view.url(view.context, '@@manage')+'#tab%s' % tab) 104 102 return 105 103 if not isinstance(child_ids, list): … … 117 115 except: 118 116 view.flash('Could not remove %s: %s: %s' % ( 119 child_id, sys.exc_info()[0], sys.exc_info()[1])) 117 child_id, sys.exc_info()[0], sys.exc_info()[1]), 118 type='danger') 120 119 if len(deleted): 121 120 view.flash( … … 125 124 grok.getSite().logger.info( 126 125 '%s - removed: %s' % (ob_class, ', '.join(deleted))) 127 view.redirect(view.url(view.context, u'@@manage')+' ?tab%s' % tab)126 view.redirect(view.url(view.context, u'@@manage')+'#tab%s' % tab) 128 127 return 129 128 … … 133 132 child_id = form['val_id'] 134 133 else: 135 view.flash(_('No item selected.') )134 view.flash(_('No item selected.'), type='danger') 136 135 if tab: 137 view.redirect(view.url(view.context, redirect)+' ?tab%s' % tab)136 view.redirect(view.url(view.context, redirect)+'#tab%s' % tab) 138 137 else: 139 138 view.redirect(view.url(view.context, redirect)) … … 152 151 except: 153 152 view.flash('Could not delete %s: %s: %s' % ( 154 id, sys.exc_info()[0], sys.exc_info()[1]) )153 id, sys.exc_info()[0], sys.exc_info()[1]), type='danger') 155 154 if len(deleted): 156 155 view.flash(_('Successfully removed: ${a}', … … 160 159 '%s - removed: %s' % (ob_class, ', '.join(deleted))) 161 160 if tab: 162 view.redirect(view.url(view.context, redirect)+' ?tab%s' % tab)161 view.redirect(view.url(view.context, redirect)+'#tab%s' % tab) 163 162 else: 164 163 view.redirect(view.url(view.context, redirect)) … … 282 281 self.request.principal.id) 283 282 self.flash( 284 _('Your personal data record is outdated. Please update.')) 283 _('Your personal data record is outdated. Please update.'), 284 type='warning') 285 285 self.redirect(self.application_url() + rel_link) 286 286 return … … 316 316 now < temp_password_dict.get('timestamp', now) + delta: 317 317 self.flash( 318 _('Your account has been temporarily deactivated.')) 318 _('Your account has been temporarily deactivated.'), 319 type='warning') 319 320 return 320 321 # Now we know that the student is suspended. 321 322 comment = self._comment(student) 322 323 if comment: 323 self.flash(comment )324 self.flash(comment, type='warning') 324 325 else: 325 self.flash(_('Your account has been deactivated.')) 326 self.flash(_('Your account has been deactivated.'), 327 type='warning') 326 328 return 327 self.flash(_('You entered invalid credentials.') )329 self.flash(_('You entered invalid credentials.'), type='danger') 328 330 return 329 331 … … 441 443 self.flash(_('Your message has been sent.')) 442 444 else: 443 self.flash(_('A smtp server error occurred.') )445 self.flash(_('A smtp server error occurred.'), type='danger') 444 446 return 445 447 … … 528 530 529 531 def update(self, userid=None, adduser=None, manage=None, delete=None): 530 datatable.need()531 532 if manage is not None and userid is not None: 532 533 self.redirect(self.url(userid) + '/@@manage') … … 588 589 errors = validator.validate_password(password, password_ctl) 589 590 if errors: 590 self.flash( ' '.join(errors) )591 self.flash( ' '.join(errors), type='danger') 591 592 return 592 593 try: … … 601 602 except KeyError: 602 603 self.status = self.flash('The userid chosen already exists ' 603 'in the database.' )604 'in the database.', type='danger') 604 605 return 605 606 self.redirect(self.url(self.context)) … … 632 633 errors = validator.validate_password(password, password_ctl) 633 634 if errors: 634 self.flash( ' '.join(errors) )635 self.flash( ' '.join(errors), type='danger') 635 636 return 636 637 changed_fields = self.applyData(self.context, **data) … … 744 745 745 746 def update(self, *args, **kw): 746 datatable.need()747 747 form = self.request.form 748 748 self.hitlist = [] … … 769 769 form_fields = grok.AutoFields(IConfigurationContainer) 770 770 form_fields['frontpage'].custom_widget = HTMLDisplayWidget 771 771 772 772 773 class ConfigurationContainerManageFormPage(KofaEditFormPage): … … 784 785 _('Add session configuration'), 785 786 _('Remove selected')] 786 form_fields = grok.AutoFields(IConfigurationContainer).omit('frontpage_dict') 787 788 def update(self): 789 tabs.need() 790 self.tab1 = self.tab2 = '' 791 qs = self.request.get('QUERY_STRING', '') 792 if not qs: 793 qs = 'tab1' 794 setattr(self, qs, 'active') 795 datatable.need() 796 warning.need() 797 return super(ConfigurationContainerManageFormPage, self).update() 787 form_fields = grok.AutoFields(IConfigurationContainer).omit( 788 'frontpage_dict') 798 789 799 790 def _frontpage(self): … … 857 848 ob_class, sessionconfiguration.academic_session)) 858 849 except KeyError: 859 self.flash(_('The session chosen already exists.') )860 return 861 self.redirect(self.url(self.context, '@@index')+' ?tab2')850 self.flash(_('The session chosen already exists.'), type='danger') 851 return 852 self.redirect(self.url(self.context, '@@index')+'#tab2') 862 853 return 863 854 864 855 @action(_('Cancel'), validator=NullValidator) 865 856 def cancel(self): 866 self.redirect(self.url(self.context, '@@index')+' ?tab2')857 self.redirect(self.url(self.context, '@@index')+'#tab2') 867 858 return 868 859 … … 885 876 def save(self, **data): 886 877 msave(self, **data) 887 self.redirect(self.url(self.context.__parent__, '@@index')+' ?tab2')878 self.redirect(self.url(self.context.__parent__, '@@index')+'#tab2') 888 879 return 889 880 890 881 @action(_('Cancel'), validator=NullValidator) 891 882 def cancel(self): 892 self.redirect(self.url(self.context.__parent__, '@@index')+' ?tab2')883 self.redirect(self.url(self.context.__parent__, '@@index')+'#tab2') 893 884 return 894 885 … … 904 895 pnav = 0 905 896 906 def update(self):907 datatable.need()908 warning.need()909 return super(DatacenterPage, self).update()910 911 897 @jsaction(_('Remove selected')) 912 898 def delFiles(self, **data): … … 915 901 child_id = form['val_id'] 916 902 else: 917 self.flash(_('No item selected.') )903 self.flash(_('No item selected.'), type='danger') 918 904 return 919 905 if not isinstance(child_id, list): … … 926 912 deleted.append(id) 927 913 except OSError: 928 self.flash(_('OSError: The file could not be deleted.')) 914 self.flash(_('OSError: The file could not be deleted.'), 915 type='danger') 929 916 return 930 917 if len(deleted): … … 942 929 label = _(u'Processed Files') 943 930 pnav = 0 944 945 def update(self): 946 datatable.need() 931 cancel_button =_('Back to Data Center') 932 933 def update(self, CANCEL=None): 934 if CANCEL is not None: 935 self.redirect(self.url(self.context)) 936 return 947 937 return super(DatacenterFinishedPage, self).update() 948 938 … … 955 945 max_files = 20 956 946 upload_button =_(u'Upload') 957 cancel_button =_(u' Cancel')947 cancel_button =_(u'Back to Data Center') 958 948 959 949 def getPreviewHeader(self): … … 1027 1017 _('All import managers have been notified by email.')) 1028 1018 else: 1029 self.flash(_('An smtp server error occurred.') )1019 self.flash(_('An smtp server error occurred.'), type='danger') 1030 1020 return 1031 1021 … … 1035 1025 if number_of_pendings > self.max_files: 1036 1026 self.flash( 1037 _('Maximum number of files in the data center exceeded.')) 1027 _('Maximum number of files in the data center exceeded.'), 1028 type='danger') 1038 1029 self.redirect(self.url(self.context)) 1039 1030 return … … 1046 1037 filename = uploadfile.filename 1047 1038 #if 'pending' in filename: 1048 # self.flash(_("You can't re-upload pending data files.") )1039 # self.flash(_("You can't re-upload pending data files."), type='danger') 1049 1040 # return 1050 1041 if not filename.endswith('.csv'): 1051 self.flash(_("Only csv files are allowed.") )1042 self.flash(_("Only csv files are allowed."), type='danger') 1052 1043 return 1053 1044 normalized_filename = self.getNormalizedFileName(filename) … … 1057 1048 self.context.storage, 'unfinished', normalized_filename) 1058 1049 if os.path.exists(finished_file) or os.path.exists(unfinished_file): 1059 self.flash(_("File with same name was uploaded earlier.")) 1050 self.flash(_("File with same name was uploaded earlier."), 1051 type='danger') 1060 1052 return 1061 1053 target = os.path.join(self.context.storage, normalized_filename) … … 1071 1063 "has invalid CSV format. " 1072 1064 "First problematic line detected: line %s. " 1073 "Please replace." % invalid_line) )1065 "Please replace." % invalid_line), type='danger') 1074 1066 logger.info('%s - invalid file uploaded: %s' % 1075 1067 (ob_class, target)) … … 1083 1075 1084 1076 except IOError: 1085 self.flash('Error while uploading file. Please retry.' )1086 self.flash('I/O error: %s' % sys.exc_info()[1] )1077 self.flash('Error while uploading file. Please retry.', type='danger') 1078 self.flash('I/O error: %s' % sys.exc_info()[1], type='danger') 1087 1079 return 1088 1080 self.redirect(self.url(self.context)) … … 1181 1173 label = _(u'Process CSV file') 1182 1174 pnav = 0 1183 cancel_button =_(u' Cancel')1175 cancel_button =_(u'Back to Data Center') 1184 1176 1185 1177 def getFiles(self): … … 1193 1185 def update(self, filename=None, select=None, cancel=None): 1194 1186 if cancel is not None: 1195 self.flash(_('Import aborted.'))1196 1187 self.redirect(self.url(self.context)) 1197 1188 return … … 1277 1268 return 1278 1269 if cancel is not None: 1279 self.flash(_('Import aborted.') )1270 self.flash(_('Import aborted.'), type='warning') 1280 1271 self.redirect(self.url(self.context)) 1281 1272 return … … 1289 1280 if self.importer and 'update' in self.importer: 1290 1281 if self.mode != 'update': 1291 self.flash(_('Update mode only!') )1282 self.flash(_('Update mode only!'), type='warning') 1292 1283 self.mode_locked = True 1293 1284 self.mode = 'update' … … 1303 1294 else: 1304 1295 self.reader = () 1305 self.flash(warnings )1296 self.flash(warnings, type='warning') 1306 1297 1307 1298 class DatacenterImportStep3(KofaPage): … … 1388 1379 1389 1380 def update(self, headerfield=None, back2=None, cancel=None, proceed=None): 1390 datatable.need()1391 1381 session = ISession(self.request)['waeup.kofa'] 1392 1382 self.filename = session.get('import_filename', None) … … 1401 1391 return 1402 1392 if cancel is not None: 1403 self.flash(_('Import aborted.') )1393 self.flash(_('Import aborted.'), type='warning') 1404 1394 self.redirect(self.url(self.context)) 1405 1395 return … … 1416 1406 warnings = self.getWarnings() 1417 1407 if warnings: 1418 self.flash(warnings )1408 self.flash(warnings, type='warning') 1419 1409 1420 1410 class DatacenterImportStep4(KofaPage): … … 1478 1468 if self.warn_num: 1479 1469 self.flash(_('Processing of ${a} rows failed.', 1480 mapping = {'a':self.warn_num}) )1470 mapping = {'a':self.warn_num}), type='warning') 1481 1471 self.flash(_('Successfully processed ${a} rows.', 1482 1472 mapping = {'a':linenum - self.warn_num})) … … 1506 1496 pnav = 0 1507 1497 search_button = _('Search') 1508 back_button = _('Back ')1498 back_button = _('Back to Data Center') 1509 1499 placeholder = _('Enter a regular expression here...') 1510 1500 … … 1516 1506 self.flash( 1517 1507 _('Log files can only be searched ' + 1518 'on Unix-based operating systems.') )1508 'on Unix-based operating systems.'), type='danger') 1519 1509 self.redirect(self.url(self.context, '@@logs')) 1520 1510 return … … 1530 1520 self.context.queryLogfiles(logname, query)) 1531 1521 except ValueError: 1532 self.flash(_('Invalid search expression.') )1522 self.flash(_('Invalid search expression.'), type='danger') 1533 1523 return 1534 1524 if not self.result: 1535 self.flash(_('No search results found.') )1525 self.flash(_('No search results found.'), type='warning') 1536 1526 return 1537 1527 … … 1545 1535 save_button =_(u'Save') 1546 1536 reset_button =_(u'Reset') 1547 cancel_button =_(u' Cancel')1537 cancel_button =_(u'Back to Data Center') 1548 1538 1549 1539 def update(self, newpath=None, move=False, overwrite=False, … … 1562 1552 for name in not_copied: 1563 1553 self.flash(_('File already existed (not copied): ${a}', 1564 mapping = {'a':name}) )1554 mapping = {'a':name}), type='danger') 1565 1555 except: 1566 self.flash(_('Given storage path cannot be used. '))1567 self.flash(_('Error: ${a}', mapping = {'a':sys.exc_info()[1]}))1556 self.flash(_('Given storage path cannot be used. ${a}', 1557 mapping = {'a':sys.exc_info()[1]}), type='danger') 1568 1558 return 1569 1559 if newpath: … … 1583 1573 pnav = 0 1584 1574 export_button = _(u'Create CSV file') 1575 cancel_button =_(u'Back to Data Center') 1585 1576 1586 1577 def getExporters(self): … … 1594 1585 return sorted(title_name_tuples) 1595 1586 1596 def update(self, CREATE=None, DISCARD=None, exporter=None, job_id=None): 1587 def update(self, CREATE=None, DISCARD=None, exporter=None, 1588 job_id=None, CANCEL=None): 1589 if CANCEL is not None: 1590 self.redirect(self.url(self.context)) 1591 return 1597 1592 if CREATE: 1598 1593 job_id = self.context.start_export_job( … … 1718 1713 return _('Manage academic section') 1719 1714 1720 def update(self):1721 warning.need()1722 return super(FacultiesContainerManageFormPage, self).update()1723 1724 1715 @jsaction(_('Remove selected')) 1725 1716 def delFaculties(self, **data): 1726 1717 if not checkPermission('waeup.managePortal', self.context): 1727 self.flash(_('You are not allowed to remove entire faculties.')) 1718 self.flash(_('You are not allowed to remove entire faculties.'), 1719 type='warning') 1728 1720 return 1729 1721 delSubobjects(self, redirect='@@manage', tab='1') … … 1758 1750 self.context.addFaculty(faculty) 1759 1751 except KeyError: 1760 self.flash(_('The faculty code chosen already exists.')) 1752 self.flash(_('The faculty code chosen already exists.'), 1753 type='danger') 1761 1754 return 1762 1755 ob_class = self.__implemented__.__name__.replace('waeup.kofa.','') 1763 1756 self.context.__parent__.logger.info( 1764 1757 '%s - added: %s' % (ob_class, faculty.code)) 1765 self.redirect(self.url(self.context, u'@@manage')+' ?tab1')1758 self.redirect(self.url(self.context, u'@@manage')+'#tab1') 1766 1759 return 1767 1760 … … 1806 1799 return _('Manage faculty') 1807 1800 1808 def update(self):1809 tabs.need()1810 self.tab1 = self.tab2 = self.tab3 = ''1811 qs = self.request.get('QUERY_STRING', '')1812 if not qs:1813 qs = 'tab1'1814 setattr(self, qs, 'active')1815 warning.need()1816 datatable.need()1817 return super(FacultyManageFormPage, self).update()1818 1819 1801 @jsaction(_('Remove selected')) 1820 1802 def delDepartments(self, **data): 1821 1803 if not checkPermission('waeup.managePortal', self.context): 1822 self.flash(_('You are not allowed to remove entire departments.')) 1804 self.flash(_('You are not allowed to remove entire departments.'), 1805 type='danger') 1823 1806 return 1824 1807 delSubobjects(self, redirect='@@manage', tab='2') … … 1841 1824 @action(_('Add local role'), validator=NullValidator) 1842 1825 def addLocalRole(self, **data): 1843 return add_local_role(self, '3',**data)1826 return add_local_role(self,3,**data) 1844 1827 1845 1828 @action(_('Remove selected local roles')) … … 1878 1861 1879 1862 def update(self, *args, **kw): 1880 datatable.need()1881 1863 form = self.request.form 1882 1864 self.hitlist = [] … … 1889 1871 else: 1890 1872 if 'search' in form: 1891 self.flash(_('Empty search string') )1873 self.flash(_('Empty search string'), type='warning') 1892 1874 return 1893 1875 self.hitlist = self._find_students(query=self.searchterm, 1894 1876 searchtype=self.searchtype, view=self) 1895 1877 if not self.hitlist: 1896 self.flash(_('No student found.') )1878 self.flash(_('No student found.'), type='warning') 1897 1879 return 1898 1880 … … 1914 1896 self.context.addDepartment(department) 1915 1897 except KeyError: 1916 self.flash(_('The code chosen already exists in this faculty.')) 1898 self.flash(_('The code chosen already exists in this faculty.'), 1899 type='danger') 1917 1900 return 1918 1901 self.status = self.flash( … … 1921 1904 self.context.__parent__.__parent__.logger.info( 1922 1905 '%s - added: %s' % (ob_class, data['code'])) 1923 self.redirect(self.url(self.context, u'@@manage')+' ?tab2')1906 self.redirect(self.url(self.context, u'@@manage')+'#tab2') 1924 1907 return 1925 1908 … … 1942 1925 1943 1926 def update(self): 1944 tabs.need()1945 datatable.need()1946 1927 super(DepartmentPage, self).update() 1947 1928 return … … 1997 1978 yield(dict(url=url, name=key, container=val)) 1998 1979 1999 def update(self):2000 tabs.need()2001 self.tab1 = self.tab2 = self.tab3 = self.tab4 = ''2002 qs = self.request.get('QUERY_STRING', '')2003 if not qs:2004 qs = 'tab1'2005 setattr(self, qs, 'active')2006 warning.need()2007 datatable.need()2008 super(DepartmentManageFormPage, self).update()2009 return2010 2011 1980 @action(_('Save'), style='primary') 2012 1981 def save(self, **data): … … 2022 1991 def delCertificates(self, **data): 2023 1992 if not checkPermission('waeup.managePortal', self.context): 2024 self.flash(_('You are not allowed to remove certificates.')) 1993 self.flash(_('You are not allowed to remove certificates.'), 1994 type='warning') 2025 1995 return 2026 1996 delSubobjects( … … 2045 2015 @action(_('Add local role'), validator=NullValidator) 2046 2016 def addLocalRole(self, **data): 2047 return add_local_role(self, 4,**data)2017 return add_local_role(self,4,**data) 2048 2018 2049 2019 @action(_('Remove selected local roles')) … … 2076 2046 message += '<a href="%s">%s</a>' % ( 2077 2047 self.url(entry), getattr(entry, '__name__', u'Unnamed')) 2078 self.flash(message )2048 self.flash(message, type='warning') 2079 2049 self.redirect(self.url(self.context, u'@@addcourse')) 2080 2050 return … … 2084 2054 self.context.__parent__.__parent__.__parent__.logger.info( 2085 2055 '%s - added: %s' % (ob_class, data['code'])) 2086 self.redirect(self.url(self.context, u'@@manage')+' ?tab2')2056 self.redirect(self.url(self.context, u'@@manage')+'#tab2') 2087 2057 return 2088 2058 … … 2117 2087 message += '<a href="%s">%s</a>' % ( 2118 2088 self.url(entry), getattr(entry, '__name__', u'Unnamed')) 2119 self.flash(message )2089 self.flash(message, type='warning') 2120 2090 self.redirect(self.url(self.context, u'@@addcertificate')) 2121 2091 return … … 2125 2095 self.context.__parent__.__parent__.__parent__.logger.info( 2126 2096 '%s - added: %s' % (ob_class, data['code'])) 2127 self.redirect(self.url(self.context, u'@@manage')+' ?tab3')2097 self.redirect(self.url(self.context, u'@@manage')+'#tab3') 2128 2098 return 2129 2099 … … 2165 2135 form_fields = grok.AutoFields(ICourse).omit('code') 2166 2136 2167 def update(self):2168 tabs.need()2169 self.tab1 = self.tab2 = ''2170 qs = self.request.get('QUERY_STRING', '')2171 if not qs:2172 qs = 'tab1'2173 setattr(self, qs, 'active')2174 warning.need()2175 datatable.need()2176 return super(CourseManageFormPage, self).update()2177 2178 2137 @action(_('Save'), style='primary') 2179 2138 def save(self, **data): … … 2187 2146 @action(_('Add local role'), validator=NullValidator) 2188 2147 def addLocalRole(self, **data): 2189 return add_local_role(self, 2,**data)2148 return add_local_role(self,2,**data) 2190 2149 2191 2150 @action(_('Remove selected local roles')) … … 2211 2170 2212 2171 def update(self): 2213 datatable.need()2214 2172 return super(CertificatePage, self).update() 2215 2173 … … 2238 2196 return _('Manage certificate') 2239 2197 2240 def update(self):2241 tabs.need()2242 self.tab1 = self.tab2 = self.tab3 = ''2243 qs = self.request.get('QUERY_STRING', '')2244 if not qs:2245 qs = 'tab1'2246 setattr(self, qs, 'active')2247 warning.need()2248 datatable.need()2249 return super(CertificateManageFormPage, self).update()2250 2251 2198 @action(_('Save'), style='primary') 2252 2199 def save(self, **data): … … 2270 2217 @action(_('Add local role'), validator=NullValidator) 2271 2218 def addLocalRole(self, **data): 2272 return add_local_role(self, 3,**data)2219 return add_local_role(self,3,**data) 2273 2220 2274 2221 @action(_('Remove selected local roles')) … … 2293 2240 except KeyError: 2294 2241 self.status = self.flash(_('The chosen certificate course is already ' 2295 'part of this certificate.') )2242 'part of this certificate.'), type='warning') 2296 2243 return 2297 2244 self.status = self.flash( … … 2301 2248 ob_class = self.__implemented__.__name__.replace('waeup.kofa.','') 2302 2249 grok.getSite().logger.info('%s - added: %s' % (ob_class, code)) 2303 self.redirect(self.url(self.context, u'@@manage')+' ?tab2')2250 self.redirect(self.url(self.context, u'@@manage')+'#tab2') 2304 2251 return 2305 2252 … … 2421 2368 user = self._searchUser(identifier, email) 2422 2369 if user is None: 2423 self.flash(_('No record found.') )2370 self.flash(_('No record found.'), type='warning') 2424 2371 return 2425 2372 # Change password … … 2442 2389 'has been sent to ${a}.', mapping = {'a':email})) 2443 2390 else: 2444 self.flash(_('An smtp server error occurred.') )2391 self.flash(_('An smtp server error occurred.'), type='danger') 2445 2392 ob_class = self.__implemented__.__name__.replace('waeup.kofa.','') 2446 2393 self.context.logger.info( -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/actionbutton.pt
r9145 r11254 1 <a class="btn actionbar" tal:condition="viewlet/target_url"1 <a class="btn btn-default" tal:condition="viewlet/target_url" 2 2 tal:attributes="href viewlet/target_url; onclick viewlet/onclick"> 3 3 <img src="" alt="edit" -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/breadcrumbs.pt
r7459 r11254 1 <span tal:repeat="item viewlet/getEntries"> 2 <li> 3 <a href="#" tal:attributes="href item/url"> 4 <span tal:content="item/title">Entry</span> 5 </a> 6 <span tal:condition="not: repeat/item/end" class="divider">/</span> 7 </li> 8 </span> 1 <li tal:repeat="item viewlet/getEntries"> 2 <a href="#" tal:attributes="href item/url"> 3 <span tal:replace="item/title">Entry</span> 4 </a> 5 </li> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/certificatemanagepage.pt
r9320 r11254 2 2 enctype="multipart/form-data" i18n:domain="waeup.kofa"> 3 3 4 <ul class="tabs" data-tabs="tabs"> 5 <li tal:attributes="class view/tab1"><a href="#tab-1" i18n:translate="">Settings</a></li> 6 <li tal:attributes="class view/tab2"><a href="#tab-2" i18n:translate="">Certificate Courses</a></li> 7 <li tal:attributes="class view/tab3"><a href="#tab-3" i18n:translate="">Local Roles</a></li> 4 <ul class="tabs nav nav-tabs" data-tabs="tabs"> 5 <li class="active"> 6 <a href="#tab1" data-toggle="tab" i18n:translate="">Settings</a> 7 </li> 8 <li> 9 <a href="#tab2" data-toggle="tab" 10 i18n:translate="">Certificate Courses</a> 11 </li> 12 <li> 13 <a href="#tab3" data-toggle="tab" i18n:translate="">Local Roles</a> 14 </li> 8 15 </ul> 9 16 10 17 <div class="tab-content"> 11 <div id="tab-1" tal:attributes="class view/tab1"> 12 <table class="form-table"> 13 <tbody> 14 <tal:widgets content="structure provider:widgets" /> 15 </tbody> 16 </table> 17 <div tal:condition="view/availableActions"> 18 <span tal:repeat="action view/actions" 19 tal:omit-tag=""> 20 <input tal:condition="python:action.label in view.taboneactions" 21 tal:replace="structure action/render"/> 22 </span> 18 <div id="tab1" class="active tab-pane"> 19 <table class="form-table"> 20 <tbody> 21 <tal:widgets content="structure provider:widgets" /> 22 </tbody> 23 </table> 24 <div tal:condition="view/availableActions"> 25 <span tal:repeat="action view/actions" 26 tal:omit-tag=""> 27 <input tal:condition="python:action.label in view.taboneactions" 28 tal:replace="structure action/render"/> 29 </span> 30 </div> 23 31 </div> 24 </div> 25 <div id="tab-2" tal:attributes="class view/tab2"> 26 <h3> 27 <span tal:content="context/__name__">Code</span> 28 <span i18n:domain="waeup.kofa" i18n:translate="">Courses</span> 29 </h3> 30 <table class="display dataTableManage"> 32 <div id="tab2" class="tab-pane"> 33 <br /> 34 <table class="kofa-data-table dataTableManage"> 31 35 <thead> 32 36 <tr> … … 41 45 </thead> 42 46 <tbody> 43 <tr tal:repeat="cc context/values" class="gradeC">44 47 <tr tal:repeat="cc context/values"> 48 <td> 45 49 <input type="checkbox" name="val_id" 46 50 tal:attributes="value cc/__name__" /> 47 51 </td> 48 52 <td> 49 53 <span tal:content="cc/level"> 50 54 LEVEL 51 55 </span> 52 56 </td> … … 54 58 <td> 55 59 <a tal:attributes="href python: view.url(cc)" 56 60 tal:content="cc/__name__"> 57 61 REFERRER CODE 58 62 </a> … … 60 64 <td> 61 65 <a tal:attributes="href python:view.url(cc.course)" 62 66 tal:content="cc/course/code"> 63 67 COURSE CODE 64 68 </a> … … 66 70 <td> 67 71 <span tal:content="cc/course/title"> 68 72 COURSE TITLE 69 73 </span> 70 74 </td> 71 75 <td> 72 76 <span tal:content="cc/mandatory"> 73 77 REQUIRED 74 78 </span> 75 79 </td> … … 85 89 </div> 86 90 </div> 87 <div id="tab-3" tal:attributes="class view/tab3"> <br /> 88 <table class="display dataTableManage"> 91 <div id="tab3" class="tab-pane"> 92 <br /> 93 <table class="kofa-data-table dataTableManage"> 89 94 <thead> 90 95 <tr> … … 100 105 </thead> 101 106 <tbody> 102 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td>103 104 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td>107 <tr tal:repeat="entry view/getUsersWithLocalRoles"> <td> 108 <input type="checkbox" name="role_id" 109 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 105 110 <td tal:content="entry/user_name"> USERNAME </td> 106 111 <td tal:content="entry/user_title"> USERTITLE </td> … … 112 117 <span tal:repeat="action view/actions" tal:omit-tag=""> 113 118 <input tal:condition="python:action.label in view.tabthreeactions1" 114 tal:replace="structure action/render"/>119 tal:replace="structure action/render"/> 115 120 </span> 116 121 </div><br /><br /> 117 <table class="form-table"> 118 <tr> <td> 119 <select id="user" name="user"> 120 <option tal:repeat="user view/getUsers" 121 tal:attributes="value user/name"> 122 <span tal:replace="user/val/title">USERTITLE 123 </span> 124 </option> 125 </select> </td> <td> 126 <select id="local_role" name="local_role"> 127 <option tal:repeat="localrole view/getLocalRoles" 128 tal:attributes="value localrole/name"> 129 <span tal:replace="localrole/title">LOCALROLETITLE 130 </span> 131 </option> 132 </select> </td> <td> 133 <div tal:condition="view/availableActions"> 134 <span tal:repeat="action view/actions" tal:omit-tag=""> 135 <input tal:condition="python:action.label in view.tabthreeactions2" 136 tal:replace="structure action/render"/> 137 </span> 138 </div> </td> 139 </tr> 140 </table> 122 <div class="form-inline"> 123 <br /> 124 <div class="form-group"> 125 <select id="user" name="user" class="form-control"> 126 <option tal:repeat="user view/getUsers" 127 tal:attributes="value user/name"> 128 <span tal:replace="user/val/title">USERTITLE 129 </span> 130 </option> 131 </select> 132 </div> 133 <div class="form-group"> 134 <select id="local_role" name="local_role" class="form-control"> 135 <option tal:repeat="localrole view/getLocalRoles" 136 tal:attributes="value localrole/name"> 137 <span tal:replace="localrole/title">LOCALROLETITLE 138 </span> 139 </option> 140 </select> 141 </div> 142 <div class="form-group"> 143 <div tal:condition="view/availableActions"> 144 <span tal:repeat="action view/actions" tal:omit-tag=""> 145 <input tal:condition="python:action.label in view.tabthreeactions2" 146 tal:replace="structure action/render"/> 147 </span> 148 </div> 149 </div> 150 </div> 141 151 </div> 142 152 </div> 143 153 </form> 144 145 146 -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/certificatepage.pt
r9320 r11254 23 23 </h3> 24 24 <br /> 25 <table i18n:domain="waeup.kofa" class=" displaydataTable">25 <table i18n:domain="waeup.kofa" class="kofa-data-table dataTable"> 26 26 <thead> 27 27 <tr> … … 35 35 </thead> 36 36 <tbody> 37 <tr tal:repeat="cc context/values" class="gradeC">37 <tr tal:repeat="cc context/values"> 38 38 <td> 39 39 <span tal:content="cc/level"> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/configurationmanagepage.pt
r7811 r11254 1 1 <form action="." tal:attributes="action request/URL" method="POST" 2 enctype="multipart/form-data" i18n:domain="waeup.kofa"> 3 <ul class="tabs" data-tabs="tabs"> 4 <li tal:attributes="class view/tab1"> 5 <a href="#tab-1" i18n:translate="">Site Settings</a> 6 </li> 7 <li tal:attributes="class view/tab2"> 8 <a href="#tab-2" i18n:translate="">Session Configurations</a> 9 </li> 10 </ul> 11 <div class="tab-content"> 12 <div id="tab-1" tal:attributes="class view/tab1"> 2 enctype="multipart/form-data" i18n:domain="waeup.kofa"> 3 <ul class="tabs nav nav-tabs" data-tabs="tabs"> 4 <li class="active"> 5 <a href="#tab1" data-toggle="tab" 6 i18n:translate="">Site Settings</a> 7 </li> 8 <li> 9 <a href="#tab2" data-toggle="tab" 10 i18n:translate="">Session Configurations</a> 11 </li> 12 </ul> 13 <div class="tab-content"> 14 <div id="tab1" class="active tab-pane"> 13 15 <table class="form-table"> 14 16 <tbody> … … 23 25 </div> 24 26 </div> 25 <div id="tab-2" tal:attributes="class view/tab2"> <br /> 26 <table class="display dataTableManage"> 27 <div id="tab2" class="tab-pane"> 28 <br /> 29 <table class="kofa-data-table dataTableManage"> 27 30 <thead> 28 31 <tr> … … 34 37 </thead> 35 38 <tbody> 36 <tr tal:repeat="entry view/getSessionConfigurations" class="gradeC"> <td> 37 <input type="checkbox" name="val_id" tal:attributes="value entry/name" /> </td> <td> 38 <a href="" tal:attributes="href entry/url" tal:content="entry/title">Name</a> </td> 39 <tr tal:repeat="entry view/getSessionConfigurations"> 40 <td> 41 <input type="checkbox" name="val_id" 42 tal:attributes="value entry/name" /> </td> <td> 43 <a href="" tal:attributes="href entry/url" 44 tal:content="entry/title">Name</a> </td> 39 45 </tr> 40 46 </tbody> … … 43 49 <span tal:repeat="action view/actions" tal:omit-tag=""> 44 50 <input tal:condition="python:action.label in view.tabtwoactions" 45 tal:replace="structure action/render"/>51 tal:replace="structure action/render"/> 46 52 </span> 47 53 </div> 48 </div> 49 </div> 54 </div><!-- /tab2 --> 55 </div><!-- /tab-content --> 50 56 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/coursemanagepage.pt
r10540 r11254 2 2 enctype="multipart/form-data" i18n:domain="waeup.kofa"> 3 3 4 <ul class="tabs" data-tabs="tabs"> 5 <li tal:attributes="class view/tab1"><a href="#tab-1" i18n:translate="">Settings</a></li> 6 <li tal:attributes="class view/tab2"><a href="#tab-3" i18n:translate="">Local Roles</a></li> 4 <ul class="tabs nav nav-tabs" data-tabs="tabs"> 5 <li class="active"> 6 <a href="#tab1" data-toggle="tab" i18n:translate="">Settings</a> 7 </li> 8 <li> 9 <a href="#tab3" data-toggle="tab" i18n:translate="">Local Roles</a> 10 </li> 7 11 </ul> 8 12 9 13 <div class="tab-content"> 10 <div id="tab-1" tal:attributes="class view/tab1"> 11 <table class="form-table"> 12 <tbody> 13 <tal:widgets content="structure provider:widgets" /> 14 </tbody> 15 </table> 16 <div tal:condition="view/availableActions"> 17 <span tal:repeat="action view/actions" 18 tal:omit-tag=""> 19 <input tal:condition="python:action.label in view.taboneactions" 20 tal:replace="structure action/render"/> 21 </span> 14 <div id="tab1" class="tab-pane active"> 15 <table class="form-table"> 16 <tbody> 17 <tal:widgets content="structure provider:widgets" /> 18 </tbody> 19 </table> 20 <div tal:condition="view/availableActions"> 21 <span tal:repeat="action view/actions" 22 tal:omit-tag=""> 23 <input tal:condition="python:action.label in view.taboneactions" 24 tal:replace="structure action/render"/> 25 </span> 26 </div> 22 27 </div> 23 < /div>24 <div id="tab-3" tal:attributes="class view/tab2"><br />25 <table class=" displaydataTableManage">28 <div id="tab3" class="tab-pane"> 29 <br /> 30 <table class="kofa-data-table dataTableManage"> 26 31 <thead> 27 32 <tr> … … 37 42 </thead> 38 43 <tbody> 39 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td>40 41 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td>44 <tr tal:repeat="entry view/getUsersWithLocalRoles"> <td> 45 <input type="checkbox" name="role_id" 46 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 42 47 <td tal:content="entry/user_name"> USERNAME </td> 43 48 <td tal:content="entry/user_title"> USERTITLE </td> … … 49 54 <span tal:repeat="action view/actions" tal:omit-tag=""> 50 55 <input tal:condition="python:action.label in view.tabtwoactions1" 51 tal:replace="structure action/render"/>56 tal:replace="structure action/render"/> 52 57 </span> 53 58 </div><br /><br /> 54 <table class="form-table"> 55 <tr> <td> 56 <select id="user" name="user"> 57 <option tal:repeat="user view/getUsers" 58 tal:attributes="value user/name"> 59 <span tal:replace="user/val/title">USERTITLE 60 </span> 61 </option> 62 </select> </td> <td> 63 <select id="local_role" name="local_role"> 64 <option tal:repeat="localrole view/getLocalRoles" 65 tal:attributes="value localrole/name"> 66 <span tal:replace="localrole/title">LOCALROLETITLE 67 </span> 68 </option> 69 </select> </td> <td> 70 <div tal:condition="view/availableActions"> 71 <span tal:repeat="action view/actions" tal:omit-tag=""> 72 <input tal:condition="python:action.label in view.tabtwoactions2" 73 tal:replace="structure action/render"/> 74 </span> 75 </div> </td> 76 </tr> 77 </table> 59 <div class="form-inline"> 60 <br /> 61 <div class="form-group"> 62 <select id="user" name="user" class="form-control"> 63 <option tal:repeat="user view/getUsers" 64 tal:attributes="value user/name"> 65 <span tal:replace="user/val/title">USERTITLE 66 </span> 67 </option> 68 </select> 69 </div> 70 <div class="form-group"> 71 <select id="local_role" name="local_role" class="form-control"> 72 <option tal:repeat="localrole view/getLocalRoles" 73 tal:attributes="value localrole/name"> 74 <span tal:replace="localrole/title">LOCALROLETITLE 75 </span> 76 </option> 77 </select> 78 </div> 79 <div class="form-group"> 80 <div tal:condition="view/availableActions"> 81 <span tal:repeat="action view/actions" tal:omit-tag=""> 82 <input tal:condition="python:action.label in view.tabtwoactions2" 83 tal:replace="structure action/render"/> 84 </span> 85 </div> 86 </div> 87 </div> 78 88 </div> 79 89 </div> 80 90 </form> 81 82 83 -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterexportpage.pt
r9841 r11254 8 8 <br /> 9 9 10 <form method="POST" >10 <form method="POST" class="form-inline"> 11 11 <label for="exporter"> 12 12 Exporter (Data Type): 13 13 </label> 14 <div class=" input">15 <select name="exporter" >14 <div class="form-group"> 15 <select name="exporter" class="form-control half"> 16 16 <span tal:repeat="items view/getExporters" tal:omit-tag=""> 17 17 <option tal:define="name python: items[1]; title python: items[0]" … … 23 23 </select> 24 24 </div> 25 <br /> 26 <div class="input"> 27 <input i18n:translate="" type="submit" class="btn primary" 25 <div class="form-group"> 26 <input i18n:translate="" type="submit" class="btn btn-primary" 28 27 name="CREATE" tal:attributes="value view/export_button" /> 28 </div> 29 <div class="form-group"> 30 <input type="submit" name="CANCEL" class="btn btn-default" 31 tal:attributes="value view/cancel_button" /> 29 32 </div> 30 33 </form> … … 39 42 <br /><br /> 40 43 41 <table i18n:domain="waeup.kofa" >44 <table i18n:domain="waeup.kofa" class="table table-condensed table-hover"> 42 45 <thead> 43 46 <tr> … … 65 68 <span tal:replace="job/creator">CREATOR</span> 66 69 </td> 67 <td nowrap>70 <td> 68 71 <span tal:replace="job/start_time">DATETIME</span> 69 72 </td> … … 72 75 </td> 73 76 <td nowrap> 74 <a href="" class="btn small" i18n:translate=""77 <a href="" class="btn btn-default btn-xs" i18n:translate="" 75 78 tal:condition="job/show_refresh_button"> 76 <img tal:attributes="src static/actionicon_reload.png" />79 <img src="/static/img/actionicon_reload.png" /> 77 80 Reload 78 81 </a> 79 82 <form method="POST"> 80 <a href="" class="btn primary small"83 <a href="" class="btn btn-primary btn-xs" 81 84 tal:attributes="href job/download_url" 82 85 tal:condition="job/show_download_button"> 83 86 Download</a> 84 85 87 <input type="hidden" name="job_id" 86 88 tal:attributes="value job/job" /> 87 <input type="submit" class="btn small"89 <input type="submit" class="btn btn-default btn-xs" 88 90 name="DISCARD" value="Discard" 89 91 tal:condition="job/show_discard_button" /> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterfinishedpage.pt
r9592 r11254 4 4 imports. The files contain the imported datasets. 5 5 </p> 6 <table i18n:domain="waeup.kofa" class=" displaydataTableFiles">6 <table i18n:domain="waeup.kofa" class="kofa-data-table dataTableFiles"> 7 7 <thead> 8 8 <tr> … … 13 13 </thead> 14 14 <tbody> 15 <tr tal:repeat="file context/getFinishedFiles" class="gradeC">15 <tr tal:repeat="file context/getFinishedFiles"> 16 16 <td><a tal:attributes="href python: 'download?filename=' + file.rel_path" 17 17 tal:content="file/name">FILENAME</a></td> … … 21 21 </tbody> 22 22 </table> 23 <form method="POST"> 24 <input i18n:translate="" type="submit" class="btn btn-default" name="CANCEL" 25 tal:attributes="value view/cancel_button"/> 26 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterimport1page.pt
r7811 r11254 8 8 </p> 9 9 <form i18n:domain="waeup.kofa" method="POST"> 10 <table >10 <table class="table"> 11 11 <thead> 12 12 <th /> … … 20 20 <td> 21 21 <button i18n:translate="" 22 type="submit" name="select" class="btn primary"22 type="submit" name="select" class="btn btn-primary" 23 23 tal:attributes="value file/name">Select</button> 24 24 </td> … … 30 30 </tbody> 31 31 </table> 32 <input type="submit" name="cancel" class="btn "32 <input type="submit" name="cancel" class="btn btn-default" 33 33 tal:attributes="value view/cancel_button" /> 34 34 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterimport2page.pt
r8651 r11254 9 9 Please select a file-processor and a processing-mode from the selections below. 10 10 </p> 11 <div> 12 <table tal:define="prev_table view/getPreviewTable;"> 13 <thead> 14 <tr> 15 <th i18n:translate="">Header</th> 16 <th i18n:translate="">Sample Record 1</th> 17 <th i18n:translate="">Sample Record 2</th> 18 <th i18n:translate="">Sample Record 3</th> 19 </tr> 20 </thead> 21 <tbody> 22 <tr tal:repeat="row prev_table"> 23 <td tal:repeat="value row" 24 tal:content="value"> value 25 </td> 26 </tr> 27 </tbody> 28 </table> 29 </div> 11 <table tal:define="prev_table view/getPreviewTable;" class="table table-condensed"> 12 <thead> 13 <tr> 14 <th i18n:translate="">Header</th> 15 <th i18n:translate="">Sample Record 1</th> 16 <th i18n:translate="">Sample Record 2</th> 17 <th i18n:translate="">Sample Record 3</th> 18 </tr> 19 </thead> 20 <tbody> 21 <tr tal:repeat="row prev_table"> 22 <td tal:repeat="value row" 23 tal:content="value"> value 24 </td> 25 </tr> 26 </tbody> 27 </table> 30 28 <div> <b i18n:translate="">Processor:</b> 31 <select name="importer" >29 <select name="importer" class="form-control"> 32 30 <option tal:repeat="importer view/getImporters" 33 31 tal:attributes="value importer/name; … … 55 53 </p> 56 54 </div> 57 <input class="btn " type="submit" name="cancel" tal:attributes="value view/cancel_button" />58 <input class="btn danger" type="submit" name="back1" tal:attributes="value view/back_button" />59 <input class="btn primary"55 <input class="btn btn-default" type="submit" name="cancel" tal:attributes="value view/cancel_button" /> 56 <input class="btn btn-danger" type="submit" name="back1" tal:attributes="value view/back_button" /> 57 <input class="btn btn-primary" 60 58 tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''; value view/proceed_button" 61 59 type="submit" name="proceed" /> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterimport3page.pt
r8783 r11254 1 1 <div i18n:domain="waeup.kofa" i18n:translate="" 2 class="alert -messagesuccess" tal:condition="not: view/getWarnings">2 class="alert alert-success" tal:condition="not: view/getWarnings"> 3 3 Header fields OK 4 4 </div> … … 29 29 30 30 <div> 31 32 33 31 <table tal:define="prev_table view/getPreviewTable; 34 headers view/headerfields;"> 32 headers view/headerfields;" 33 class="table"> 35 34 <thead> 36 35 <tr> … … 45 44 </td> 46 45 <td> 47 <select class="span4" name="headerfield">46 <select name="headerfield" class="form-control"> 48 47 <option tal:repeat="opt view/getPossibleHeaders" 49 48 tal:attributes="value opt/value; … … 62 61 </div> 63 62 64 <input class="btn " type="submit" name="cancel"63 <input class="btn btn-default" type="submit" name="cancel" 65 64 tal:attributes="value view/cancel_button" /> 66 <input class="btn " type="reset" name="reset"65 <input class="btn btn-default" type="reset" name="reset" 67 66 tal:attributes="value view/reset_button" /> 68 <input class="btn " type="submit" name="update"67 <input class="btn btn-default" type="submit" name="update" 69 68 tal:attributes="value view/update_button" /> 70 69 <br /><br /> 71 <input class="btn danger" type="submit" name="back2"70 <input class="btn btn-danger" type="submit" name="back2" 72 71 tal:attributes="value view/back_button" /> 73 <input class="btn primary"72 <input class="btn btn-primary" 74 73 tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''; value view/proceed_button" 75 74 type="submit" name="proceed"/> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterimport4page.pt
r10099 r11254 15 15 </p> 16 16 <form method="POST" i18n:domain="waeup.kofa"> 17 <input class="btn primary" type="submit" name="finish"17 <input class="btn btn-primary" type="submit" name="finish" 18 18 tal:attributes="value view/back_button" /> 19 19 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterlogspage.pt
r9641 r11254 3 3 Currently no log files are available. 4 4 </p> 5 <table tal:condition="files" class="table condensed-table">5 <table tal:condition="files" class="table"> 6 6 <thead> 7 7 <tr> … … 17 17 </thead> 18 18 <tbody> 19 <tr tal:repeat="file files" 20 tal:attributes="class python: repeat['file'].odd() and 'odd' or 'even'"> 21 <td class="text-center"> 19 <tr tal:repeat="file files"> 20 <td> 22 21 <form method="POST" action="@@show"> 23 <input i18n:translate="" type="submit" class="btn primary"24 22 <input i18n:translate="" type="submit" class="btn btn-primary" 23 name="show" tal:attributes="value view/show_button" /> 25 24 <input type="hidden" name="logname" 26 25 tal:attributes="value file/name" /> 27 26 </form></td> 28 27 <td tal:content="file/name">file.name</td> … … 33 32 </table> 34 33 <form method="POST"> 35 <button class="btn primary"> 36 <span i18n:translate="">Reload page</span> 37 </button> 38 <input i18n:translate="" type="submit" class="btn" name="back" 34 <input i18n:translate="" type="submit" class="btn btn-default" name="back" 39 35 tal:attributes="value view/back_button"/> 40 36 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterlogsshowfilepage.pt
r8529 r11254 1 1 <form method="post" class="form-horizontal"> 2 <input type="text" name="query" 2 <input type="text" name="query" class="form-control" 3 3 tal:attributes="value view/query; placeholder view/placeholder" /> 4 <input class="btn primary" type="submit" name="search"4 <input class="btn btn-primary" type="submit" name="search" 5 5 tal:attributes="value view/search_button" /> 6 <input class="btn " type="submit" name="back"6 <input class="btn btn-default" type="submit" name="back" 7 7 tal:attributes="value view/back_button" /> 8 8 <input type="hidden" name="logname" -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacentermanagepage.pt
r7811 r11254 1 1 <form i18n:domain="waeup.kofa" method="POST"> 2 <div> 3 <span i18n:translate="">Storage path:</span> 4 <input type="text" name="newpath" 5 tal:attributes="value context/storage" /> 6 <br /><br /> 7 <span i18n:translate=""> 8 Copy existing data to new storage? 9 </span> 10 <input type="checkbox" name="move" checked="checked" /> 11 <br /><br /> 12 <span i18n:translate=""> 13 Overwrite contents in new location? 14 </span> 15 <input type="checkbox" name="overwrite" checked="no" /> 16 <br /><br /> 17 <input class="btn primary" type="submit" name="save" 18 tal:attributes="value view/save_button" /> 19 <input class="btn" type="reset" name="reset" 20 tal:attributes="value view/reset_button" /> 21 <input class="btn" type="submit" name="cancel" 22 tal:attributes="value view/cancel_button" /> 2 3 <br /> 4 <div class="form-group"> 5 <label i18n:translate="">Storage path</label> 6 <input type="text" name="newpath" class="form-control" 7 tal:attributes="value context/storage" /> 23 8 </div> 9 10 <div class="checkbox"> 11 <label> 12 <input type="checkbox" name="move" checked="checked"> 13 Copy existing data to new storage? 14 </label> 15 </div> 16 17 <div class="checkbox"> 18 <label> 19 <input type="checkbox" name="overwrite"> 20 Overwrite contents in new location? 21 </label> 22 </div> 23 24 <input class="btn btn-primary" type="submit" name="save" 25 tal:attributes="value view/save_button" /> 26 <input class="btn btn-default" type="reset" name="reset" 27 tal:attributes="value view/reset_button" /> 28 <input class="btn btn-default" type="submit" name="cancel" 29 tal:attributes="value view/cancel_button" /> 24 30 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenterpage.pt
r9610 r11254 11 11 <form action="." tal:attributes="action request/URL" method="post" 12 12 i18n:domain="waeup.kofa" enctype="multipart/form-data"> 13 <table i18n:domain="waeup.kofa" class=" displaydataTableManageFiles">13 <table i18n:domain="waeup.kofa" class="kofa-data-table dataTableManageFiles"> 14 14 <thead> 15 15 <tr> … … 21 21 </thead> 22 22 <tbody> 23 <tr tal:repeat="file context/getPendingFiles" class="gradeC">23 <tr tal:repeat="file context/getPendingFiles"> 24 24 <td> 25 25 <input type="checkbox" name="val_id" … … 33 33 </tbody> 34 34 </table> 35 36 37 38 39 35 <div tal:condition="view/availableActions"> 36 <span tal:repeat="action view/actions" tal:omit-tag=""> 37 <input tal:replace="structure action/render"/> 38 </span> 39 </div> 40 40 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/datacenteruploadpage.pt
r9930 r11254 24 24 </td> 25 25 <td> 26 <select name="importer" >26 <select name="importer" class="form-control half"> 27 27 <option tal:repeat="importer view/getImporters" 28 28 tal:attributes="value importer/title" … … 37 37 </td> 38 38 <td> 39 <select name="import_mode" >39 <select name="import_mode" class="form-control half"> 40 40 <option value='Create'>Create</option> 41 41 <option value='Update'>Update</option> … … 44 44 </td> 45 45 </tr> 46 <tr>47 <td>48 <input class="btn primary" type="submit" name="SUBMIT"49 tal:attributes="value view/upload_button" />50 <input class="btn" type="submit" name="CANCEL"51 tal:attributes="value view/cancel_button"/>52 </td>53 <td>54 </td>55 </tr>56 46 </table> 47 <br /> 48 <input class="btn btn-primary" type="submit" name="SUBMIT" 49 tal:attributes="value view/upload_button" /> 50 <input class="btn btn-default" type="submit" name="CANCEL" 51 tal:attributes="value view/cancel_button"/> 57 52 </form> 58 53 <br /> 59 54 <p i18n:translate=""> 60 55 Import managers will be automatically informed by email after file upload. … … 67 62 <h2 i18n:translate="">Available Processors (Importers)</h2> 68 63 69 <table i18n:domain="waeup.kofa" >64 <table i18n:domain="waeup.kofa" class="table table-condensed"> 70 65 <thead> 71 66 <tr> … … 74 69 <th i18n:translate="">Optional Schema Fields</th> 75 70 <th i18n:translate="">Non-Schema Fields</th> 76 <th i18n:translate="">CSV Skeleton File</th>77 71 </tr> 78 72 </thead> 79 73 <tr tal:repeat="importer view/getImporters"> 80 <td tal:content="importer/title"></td> 74 <td> 75 <span tal:content="importer/title">TITLE</span><br /><br /> 76 <a i18n:translate="" class="btn btn-primary btn-xs" 77 tal:attributes="href python: 'skeleton?name=' + importer['name']"> 78 Download CSV Skeleton File 79 </a> 80 </td> 81 81 <td nowrap> 82 82 <span tal:repeat="field importer/fields"> … … 110 110 </td> 111 111 112 <td>113 <a i18n:translate=""114 tal:attributes="href python: 'skeleton?name=' + importer['name']">Download</a>115 </td>116 112 </tr> 117 113 </table> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/departmentmanagepage.pt
r7811 r11254 1 1 <form action="." tal:attributes="action request/URL" method="POST" 2 i18n:domain="waeup.kofa" enctype="multipart/form-data"> 3 <ul class="tabs" data-tabs="tabs"> 4 <li tal:attributes="class view/tab1"> 5 <a href="#tab-1"> 6 <span i18n:translate="">Settings 7 </span></a> 2 i18n:domain="waeup.kofa" enctype="multipart/form-data"> 3 <ul class="tabs nav nav-tabs" data-tabs="tabs"> 4 <li class="active"> 5 <a href="#tab1" data-toggle="tab"> 6 <span i18n:translate="">Settings</span></a> 8 7 </li> 9 <li tal:attributes="class view/tab2">10 <a href="#tab-2" i18n:translate="">Courses</a>8 <li> 9 <a href="#tab2" data-toggle="tab" i18n:translate="">Courses</a> 11 10 </li> 12 <li tal:attributes="class view/tab3">13 <a href="#tab-3" i18n:translate="">Certificates</a>11 <li> 12 <a href="#tab3" data-toggle="tab" i18n:translate="">Certificates</a> 14 13 </li> 15 <li tal:attributes="class view/tab4">16 <a href="#tab-4" i18n:translate="">Local Roles</a>14 <li> 15 <a href="#tab4" data-toggle="tab" i18n:translate="">Local Roles</a> 17 16 </li> 18 17 </ul> 19 18 <div class="tab-content"> 20 <div id="tab -1" tal:attributes="class view/tab1">19 <div id="tab1" class="active tab-pane"> 21 20 <table class="form-table"> 22 21 <tbody> … … 27 26 <span tal:repeat="action view/actions" tal:omit-tag=""> 28 27 <input tal:condition="python:action.label in view.taboneactions" 29 tal:replace="structure action/render"/>28 tal:replace="structure action/render"/> 30 29 </span> 31 30 </div> 32 31 </div> 33 <div id="tab-2" tal:attributes="class view/tab2"> <br /> 34 <table class="display dataTableManage"> 32 <div id="tab2" class="tab-pane"> 33 <br /> 34 <table class="kofa-data-table dataTableManage"> 35 35 <thead> 36 36 <tr> … … 44 44 </thead> 45 45 <tbody> 46 <tr tal:repeat="entry view/getCourses" class="gradeC"> <td>47 48 tal:attributes="value entry/name" /> </td> <td>49 50 46 <tr tal:repeat="entry view/getCourses"> <td> 47 <input type="checkbox" name="val_id" 48 tal:attributes="value entry/name" /> </td> <td> 49 <a href="" tal:attributes="href entry/url" 50 tal:content="entry/name">Name</a> </td> 51 51 <td tal:content="entry/container/title"> Title </td> 52 52 </tr> … … 56 56 <span tal:repeat="action view/actions" tal:omit-tag=""> 57 57 <input tal:condition="python:action.label in view.tabtwoactions" 58 tal:replace="structure action/render"/>58 tal:replace="structure action/render"/> 59 59 </span> 60 60 </div> 61 61 </div> 62 <div id="tab-3" tal:attributes="class view/tab3"> <br /> 63 <table class="display dataTableManage"> 62 <div id="tab3" class="tab-pane"> 63 <br /> 64 <table class="kofa-data-table dataTableManage"> 64 65 <thead> 65 66 <tr> … … 73 74 </thead> 74 75 <tbody> 75 <tr tal:repeat="entry view/getCertificates" class="gradeC"> <td>76 77 tal:attributes="value entry/name" /> </td> <td>78 79 76 <tr tal:repeat="entry view/getCertificates"> <td> 77 <input type="checkbox" name="val_id" 78 tal:attributes="value entry/name" /> </td> <td> 79 <a href="" tal:attributes="href entry/url" 80 tal:content="entry/name">Name</a> </td> 80 81 <td tal:content="entry/container/title"> Title </td> 81 82 </tr> … … 85 86 <span tal:repeat="action view/actions" tal:omit-tag=""> 86 87 <input tal:condition="python:action.label in view.tabthreeactions" 87 tal:replace="structure action/render"/>88 tal:replace="structure action/render"/> 88 89 </span> 89 90 </div> 90 91 </div> 91 <div id="tab -4" tal:attributes="class view/tab4"> <br />92 <table class=" displaydataTableManage">92 <div id="tab4" class="tab-pane"> <br /> 93 <table class="kofa-data-table dataTableManage"> 93 94 <thead> 94 95 <tr> … … 104 105 </thead> 105 106 <tbody> 106 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC">107 <tr tal:repeat="entry view/getUsersWithLocalRoles"> 107 108 <td> <input type="checkbox" name="role_id" 108 109 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 109 110 <td tal:content="entry/user_name"> USERNAME </td> 110 111 <td tal:content="entry/user_title"> USERTITLE </td> … … 116 117 <span tal:repeat="action view/actions" tal:omit-tag=""> 117 118 <input tal:condition="python:action.label in view.tabfouractions1" 118 tal:replace="structure action/render"/>119 tal:replace="structure action/render"/> 119 120 </span> 120 121 </div> <br /><br /> 121 <table class="form-table"> 122 <tr> <td> 123 <select id="user" name="user"> 124 <option tal:attributes="value user/name" tal:repeat="user view/getUsers"> 125 <span tal:replace="user/val/title">USERTITLE 126 </span> 127 </option> 128 </select> </td> <td> 129 <select id="local_role" name="local_role"> 130 <option tal:attributes="value localrole/name" 131 tal:repeat="localrole view/getLocalRoles"> 132 <span tal:replace="localrole/title">LOCALROLETITLE 133 </span> 134 </option> 135 </select> </td> <td> 136 <div tal:condition="view/availableActions"> 137 <span tal:repeat="action view/actions" tal:omit-tag=""> 138 <input tal:condition="python:action.label in view.tabfouractions2" 139 tal:replace="structure action/render"/> 140 </span> 141 </div> </td> 142 </tr> 143 </table> 122 <div class="form-inline"> 123 <br /> 124 <div class="form-group"> 125 <select class="form-control" id="user" name="user"> 126 <option tal:repeat="user view/getUsers" 127 tal:attributes="value user/name"> 128 <span tal:replace="user/val/title">USERTITLE 129 </span> 130 </option> 131 </select> 132 </div> 133 <div class="form-group"> 134 <select class="form-control" id="local_role" name="local_role"> 135 <option tal:repeat="localrole view/getLocalRoles" 136 tal:attributes="value localrole/name"> 137 <span tal:replace="localrole/title">LOCALROLETITLE 138 </span> 139 </option> 140 </select> 141 </div> 142 <div class="form-group"> 143 <div tal:condition="view/availableActions"> 144 <span tal:repeat="action view/actions" tal:omit-tag=""> 145 <input tal:condition="python:action.label in view.tabfouractions2" 146 tal:replace="structure action/render"/> 147 </span> 148 </div> 149 </div> 150 </div> 144 151 </div> 145 152 </div> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/departmentpage.pt
r8481 r11254 1 <ul i18n:domain="waeup.kofa" class="tabs " data-tabs="tabs">2 <li class="active"><a href="#tab -1">3 <span i18n:translate="">Courses</span></a>1 <ul i18n:domain="waeup.kofa" class="tabs nav nav-tabs" data-tabs="tabs"> 2 <li class="active"><a href="#tab1" data-toggle="tab"> 3 <span i18n:translate="">Courses</span></a> 4 4 </li> 5 <li><a href="#tab -2">5 <li><a href="#tab2" data-toggle="tab"> 6 6 <span i18n:translate="">Certificates</span></a> 7 7 </li> 8 8 </ul> 9 <div 10 <div id="tab-1" class="active">9 <div i18n:domain="waeup.kofa" class="tab-content"> 10 <div id="tab1" class="active tab-pane"> 11 11 <br /> 12 <table class=" displaydataTable">12 <table class="kofa-data-table dataTable"> 13 13 <thead> 14 14 <tr> … … 18 18 </thead> 19 19 <tbody> 20 <tr tal:repeat="entry view/getCourses" class="gradeC">20 <tr tal:repeat="entry view/getCourses"> 21 21 <td> 22 23 24 22 <a href="" 23 tal:attributes="href entry/url" 24 tal:content="entry/name">Name</a> 25 25 </td> 26 26 <td tal:content="entry/container/title"> 27 27 Title 28 28 </td> 29 29 </tr> 30 30 </tbody> 31 31 </table> 32 33 <div id="tab-2">32 </div> 33 <div id="tab2" class="tab-pane"> 34 34 <br /> 35 <table class=" displaydataTable">35 <table class="kofa-data-table dataTable"> 36 36 <thead> 37 37 <tr> … … 41 41 </thead> 42 42 <tbody> 43 <tr tal:repeat="entry view/getCertificates" class="gradeC">43 <tr tal:repeat="entry view/getCertificates"> 44 44 <td> 45 46 47 45 <a href="" 46 tal:attributes="href entry/url" 47 tal:content="entry/name">Name</a> 48 48 </td> 49 49 <td tal:content="entry/container/title"> 50 50 Title 51 51 </td> 52 52 </tr> 53 53 </tbody> 54 54 </table> 55 55 </div> 56 56 </div> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/facultiescontainermanagepage.pt
r7464 r11254 2 2 enctype="multipart/form-data"> 3 3 4 <table >4 <table class="table table-hover"> 5 5 <thead> 6 6 <tr> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/facultymanagepage.pt
r7811 r11254 1 1 <form action="." tal:attributes="action request/URL" 2 2 i18n:domain="waeup.kofa" method="POST" enctype="multipart/form-data"> 3 <ul class="tabs " data-tabs="tabs">4 <li tal:attributes="class view/tab1">5 <a href="#tab -1">3 <ul class="tabs nav nav-tabs" data-tabs="tabs"> 4 <li class="active"> 5 <a href="#tab1" data-toggle="tab"> 6 6 <span i18n:translate="">Settings 7 7 </span></a> 8 8 </li> 9 <li tal:attributes="class view/tab2">10 <a href="#tab -2">9 <li> 10 <a href="#tab2" data-toggle="tab"> 11 11 <span tal:content="view/subunits">CONTENTS 12 12 </span> </a> 13 13 </li> 14 <li tal:attributes="class view/tab3">15 <a href="#tab -3">14 <li> 15 <a href="#tab3" data-toggle="tab"> 16 16 <span i18n:translate="">Local Roles 17 17 </span></a> … … 19 19 </ul> 20 20 <div class="tab-content"> 21 <div id="tab -1" tal:attributes="class view/tab1">21 <div id="tab1" class="active tab-pane"> 22 22 <table class="form-table"> 23 23 <tbody> … … 32 32 </div> 33 33 </div> 34 <div id="tab -2" tal:attributes="class view/tab2">34 <div id="tab2" class="tab-pane"> 35 35 <h3 tal:content="view/subunits">DEPARTMENTS</h3> 36 <table >36 <table class="table table-hover"> 37 37 <thead> 38 38 <tr> … … 63 63 </div> 64 64 </div> 65 <div id="tab -3" tal:attributes="class view/tab3"> <br />66 <table class=" displaydataTableManage">65 <div id="tab3" class="tab-pane"> <br /> 66 <table class="kofa-data-table dataTableManage"> 67 67 <thead> 68 68 <tr> … … 78 78 </thead> 79 79 <tbody> 80 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 80 <tr tal:repeat="entry view/getUsersWithLocalRoles"> 81 <td> 81 82 <input type="checkbox" name="role_id" 82 83 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> … … 93 94 </span> 94 95 </div><br /><br /> 95 <table class="form-table"> 96 <tr> <td> 97 <select id="user" name="user"> 98 <option tal:repeat="user view/getUsers" tal:attributes="value user/name"> 99 <span tal:replace="user/val/title">USERTITLE 100 </span> 101 </option> 102 </select> </td> <td> 103 <select id="local_role" name="local_role"> 104 <option tal:repeat="localrole view/getLocalRoles" 105 tal:attributes="value localrole/name"> 106 <span tal:replace="localrole/title">LOCALROLETITLE 107 </span> 108 </option> 109 </select> </td> <td> 110 <div tal:condition="view/availableActions"> 111 <span tal:repeat="action view/actions" tal:omit-tag=""> 112 <input tal:condition="python:action.label in view.tabthreeactions2" 113 tal:replace="structure action/render"/> 114 </span> 115 </div> </td> 116 </tr> 117 </table> 96 <div class="form-inline"> 97 <br /> 98 <div class="form-group"> 99 <select id="user" name="user" class="form-control"> 100 <option tal:repeat="user view/getUsers" 101 tal:attributes="value user/name"> 102 <span tal:replace="user/val/title">USERTITLE 103 </span> 104 </option> 105 </select> 106 </div> 107 <div class="form-group"> 108 <select id="local_role" name="local_role" class="form-control"> 109 <option tal:repeat="localrole view/getLocalRoles" 110 tal:attributes="value localrole/name"> 111 <span tal:replace="localrole/title">LOCALROLETITLE 112 </span> 113 </option> 114 </select> 115 </div> 116 <div class="form-group" tal:condition="view/availableActions"> 117 <span tal:repeat="action view/actions" tal:omit-tag=""> 118 <input tal:condition="python:action.label in view.tabthreeactions2" 119 tal:replace="structure action/render"/> 120 </span> 121 </div> 122 </div> 123 118 124 </div> 119 125 </div> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/facultypage.pt
r8024 r11254 3 3 </div> 4 4 5 <table i18n:domain="waeup.kofa">5 <table class="table table-hover" i18n:domain="waeup.kofa"> 6 6 <thead> 7 7 <tr> … … 12 12 <tbody> 13 13 <tr tal:repeat="value context/values"> 14 <td> <a tal:attributes="href value/__name__">14 <td> <a tal:attributes="href python: view.url(value)"> 15 15 <span tal:content="value/code">Name</span></a></td> 16 16 <td tal:content="value/longtitle">Title</td> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/filedisplay.pt
r8106 r11254 4 4 </td> 5 5 <td> 6 <a tal:attributes="href viewlet/download_name"6 <a tal:attributes="href python: view.url(context, viewlet.download_name)" 7 7 tal:content="viewlet/download_name" 8 8 target="image"> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/fileupload.pt
r8135 r11254 5 5 <td> 6 6 <tal:file tal:condition="viewlet/file_exists"> 7 <a tal:attributes="href viewlet/download_name"7 <a tal:attributes="href python: view.url(context, viewlet.download_name)" 8 8 tal:content="viewlet/title" 9 9 target="image"> … … 11 11 </a> 12 12 </tal:file> 13 <input type="file" tal:attributes="name viewlet/input_name"/> 13 14 <br /> 14 <input type="file" tal:attributes="name viewlet/input_name"/>15 <br /><br />16 15 <input type="submit" tal:condition="viewlet/file_exists" 17 16 tal:attributes="id python:('delete_%s' % viewlet.input_name); 18 17 name python:('delete_%s' % viewlet.input_name); 19 18 value viewlet/delete_button" 20 class="btn error" />19 class="btn btn-danger" /> 21 20 <input type="submit" 22 21 tal:attributes="id python:('upload_%s' % viewlet.input_name); 23 22 name python:('upload_%s' % viewlet.input_name); 24 23 value viewlet/upload_button" 25 class="btn primary" />24 class="btn btn-primary" /> 26 25 <span i18n:translate=""> 27 26 Max. file size: -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/findstudentspage.pt
r10646 r11254 1 <form method="POST" i18n:domain="waeup.kofa" >1 <form method="POST" i18n:domain="waeup.kofa" class="form-inline"> 2 2 <br /> 3 <input class="btn primary" type="submit" name="search" 4 tal:attributes="value view/search_button" /> 5 6 <select name="searchtype"> 7 <option i18n:translate="" value="student_id">with id</option> 8 <option i18n:translate="" value="fullname">with name</option> 9 <option i18n:translate="" value="reg_number">with registration number</option> 10 <option i18n:translate="" value="matric_number">with matriculation number</option> 11 </select> 12 13 <input type="text" name="searchterm" /> 14 15 <p> </p> 16 <div tal:condition="view/hitlist"> 17 <h3 i18n:translate="">Search Results</h3> 18 <input type="hidden" name="old_searchterm" 19 tal:attributes="value view/searchterm" /> 20 <input type="hidden" name="old_searchtype" 21 tal:attributes="value view/searchtype" /> 22 <table class="display dataTable"> 23 <thead> 24 <tr> 25 <th i18n:translate="">Student Id</th> 26 <th i18n:translate="">Reg. Number</th> 27 <th i18n:translate="">Matric. Number</th> 28 <th i18n:translate="">State</th> 29 <th i18n:translate="">Full Name</th> 30 </tr> 31 </thead> 32 <tbody> 33 <tr tal:repeat="item view/hitlist" class="gradeC"> 34 <td> <a tal:attributes="href item/url"> 35 <span tal:content="item/student_id">A123456</span></a> 36 </td> 37 <td class="center"> <a tal:attributes="href item/url"> 38 <span tal:content="item/reg_number">9999999</span></a> 39 </td> 40 <td class="center"> <a tal:attributes="href item/url"> 41 <span tal:content="item/matric_number">9999999</span></a> 42 </td> 43 <td tal:content="item/state">admitted</td> 44 <td tal:content="item/display_fullname">Bob</td> 45 </tr> 46 </tbody> 47 </table> 48 <br /> 3 <div class="form-group"> 4 <input class="btn btn-primary" type="submit" name="search" 5 tal:attributes="value view/search_button" /> 6 </div> 7 <div class="form-group"> 8 <select name="searchtype" class="form-control"> 9 <option i18n:translate="" value="student_id">with id</option> 10 <option i18n:translate="" value="fullname">with name</option> 11 <option i18n:translate="" value="reg_number">with registration number</option> 12 <option i18n:translate="" value="matric_number">with matriculation number</option> 13 </select> 14 </div> 15 <div class="form-group"> 16 <input type="text" class="form-control" name="searchterm" /> 49 17 </div> 50 18 </form> 19 20 <p> </p> 21 <div tal:condition="view/hitlist"> 22 <h3 i18n:translate="">Search Results</h3> 23 <input type="hidden" name="old_searchterm" 24 tal:attributes="value view/searchterm" /> 25 <input type="hidden" name="old_searchtype" 26 tal:attributes="value view/searchtype" /> 27 <table class="kofa-data-table dataTable"> 28 <thead> 29 <tr> 30 <th i18n:translate="">Student Id</th> 31 <th i18n:translate="">Reg. Number</th> 32 <th i18n:translate="">Matric. Number</th> 33 <th i18n:translate="">State</th> 34 <th i18n:translate="">Full Name</th> 35 </tr> 36 </thead> 37 <tbody> 38 <tr tal:repeat="item view/hitlist"> 39 <td> <a tal:attributes="href item/url"> 40 <span tal:content="item/student_id">A123456</span></a> 41 </td> 42 <td class="center"> <a tal:attributes="href item/url"> 43 <span tal:content="item/reg_number">9999999</span></a> 44 </td> 45 <td class="center"> <a tal:attributes="href item/url"> 46 <span tal:content="item/matric_number">9999999</span></a> 47 </td> 48 <td tal:content="item/state">admitted</td> 49 <td tal:content="item/display_fullname">Bob</td> 50 </tr> 51 </tbody> 52 </table> 53 </div> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/loginpage.pt
r8853 r11254 1 <form i18n:domain="waeup.kofa" method="post"> 2 <table id="login" class="form-table" summary="Table for entering login information"> 3 <tbody> 4 <tr> 5 <td i18n:translate="" class="fieldname"> 6 User Name or Id: 7 </td> 8 <td> 9 <input type="text" id="login" name="form.login" size="20" /> 10 </td> 11 </tr> 12 <tr> 13 <td i18n:translate="" class="fieldname"> 14 Password: 15 </td> 16 <td> 17 <input type="password" id="password" name="form.password" size="20" value="" /> 18 19 </td> 20 </tr> 21 <tr> 22 <td> </td> 23 <td> 24 <font i18n:translate="" color="red"> Notice: User names, Ids and passwords are case sensitive.</font> 25 </td> 26 </tr> 27 </tbody> 28 </table> 1 <form i18n:domain="waeup.kofa" method="post" class="form-horizontal"> 2 <br /> 3 <div class="form-group"> 4 <label i18n:translate="" class="col-sm-2 control-label">User Name or Id</label> 5 <div class="col-sm-10"> 6 <input name="form.login" type="text" class="form-control" id="login"> 7 </div> 8 </div> 9 <div class="form-group"> 10 <label i18n:translate="" class="col-sm-2 control-label">Password</label> 11 <div class="col-sm-10"> 12 <input name="form.password" type="password" class="form-control" id="password"> 13 <font i18n:translate="" color="red"> Notice: User names, Ids and passwords are case sensitive.</font> 14 </div> 15 </div> 29 16 <input type="hidden" name="camefrom" tal:attributes="value view/camefrom" /> 30 <input class="btn primary" type="submit" name="SUBMIT"17 <input class="btn btn-primary" type="submit" name="SUBMIT" 31 18 tal:attributes="value view/login_button" /> 32 33 34 19 <br /><br /><br /> 35 36 20 <p i18n:translate="login_trouble1">Don't forget to logout or exit your browser when you're done. 37 21 If you are having trouble logging in, make sure to enable cookies in your web browser. -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/reportscontainercreate.pt
r9643 r11254 8 8 </p> 9 9 <br /> 10 <div class="clearfix"> 11 <label for="generator">Report Type:</label> 12 <div class="input"> 13 <select name="generator"> 14 <span tal:repeat="items view/creators" tal:omit-tag=""> 15 <option 16 tal:define="name python: items[1]; title python: items[0]" 17 tal:attributes="value name"> 18 <span tal:replace="title">TITLE</span> 19 </option> 20 </span> 21 </select> 22 <div class="help-inline" i18n:translate=""> 23 Type of report to create 24 </div> 25 </div> 10 <div class="form-group"> 11 <label for="generator">Report Type</label> 12 <select name="generator" class="form-control half"> 13 <span tal:repeat="items view/creators" tal:omit-tag=""> 14 <option 15 tal:define="name python: items[1]; title python: items[0]" 16 tal:attributes="value name"> 17 <span tal:replace="title">TITLE</span> 18 </option> 19 </span> 20 </select> 26 21 </div> 27 <div class=" input">28 <input i18n:translate="" type="submit" class="btn primary"22 <div class="form-group"> 23 <input i18n:translate="" type="submit" class="btn btn-primary" 29 24 name="START_GENERATOR" value="Configure" /> 30 <a class="btn secondary" href=""25 <a class="btn btn-default" href="" 31 26 tal:attributes="href python:view.url(context)">Cancel</a> 32 27 </div> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/reportscontainerpage.pt
r9840 r11254 1 <table i18n:domain="waeup.kofa" >1 <table i18n:domain="waeup.kofa" class="table"> 2 2 <thead> 3 3 <tr> … … 31 31 <input type="hidden" name="job_id" 32 32 tal:attributes="value python: entry[0]" /> 33 <input type="submit" class="btn smallprimary"33 <input type="submit" class="btn btn-sm btn-primary" 34 34 name="DOWNLOAD" value="Download" 35 35 tal:condition="python: entry[4]" /> 36 <input type="submit" class="btn small secondary"36 <input type="submit" class="btn btn-sm btn-default" 37 37 name="DISCARD" value="Discard" 38 38 tal:condition="python: entry[3]" /> 39 <a href="" class="btn " i18n:translate=""39 <a href="" class="btn btn-sm btn-default" i18n:translate="" 40 40 tal:condition="python: entry[5]"> 41 <img tal:attributes="src static/actionicon_reload.png" />41 <img src="/static/img/actionicon_reload.png" /> 42 42 Reload 43 43 </a> … … 48 48 </table> 49 49 <form method="POST" i18n:domain="waeup.kofa"> 50 <div class="span12"> 51 <a href="create" class="btn primary" i18n:translate=""> 52 Create new report 53 </a> 54 </div> 50 <a tal:attributes="href python:view.url(context, 'create')" 51 class="btn btn-primary" i18n:translate=""> 52 Create new report 53 </a> 55 54 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/searchpage.pt
r9631 r11254 1 <form method="post"> 2 <input type="text" name="query" 3 tal:attributes="value view/query" /> 4 <input class="btn primary" type="submit" name="SUBMIT" 1 <form method="POST" class="form-inline"> 2 <br /> 3 <div class="form-group"> 4 <input type="text" name="query" class="form-control" 5 tal:attributes="value view/query" /> 6 </div> 7 <div class="form-group"> 8 <input class="btn btn-primary" type="submit" name="SUBMIT" 5 9 tal:attributes="value view/search_button"/> 10 </div> 6 11 </form> 7 12 <br /> 8 13 <span i18n:domain="waeup.kofa" tal:condition="view/hitlist"> 9 14 <h3 i18n:translate="">Search Results</h3> 10 <table class=" displaydataTable">15 <table class="kofa-data-table dataTable"> 11 16 <thead> 12 17 <tr> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/staffsitelayout.pt
r10900 r11254 2 2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" i18n:domain="waeup.kofa"> 3 3 <head> 4 5 <!-- Diazo element--> 4 6 <title i18n:translate=""> 5 7 WAeUP.Kofa - Student Management System 6 </title> 8 </title> 9 <!-- /Diazo element--> 10 7 11 <!--base href="http://localhost:8080/app/@@page" 8 12 tal:attributes="href python: view.url(layout.site)" / --> … … 14 18 href python: view.url(layout.site, 'feed.rss')" /> 15 19 </head> 16 <body>17 <div class="topbar" data-scrollspy="scrollspy" >18 <div class="topbar-inner">19 <div class="container-fluid">20 <a class="brand" href="#"21 tal:attributes="href python: view.url(layout.site)"22 tal:content="layout/getAppAcronym">ACRONYM</a>23 <ul class="nav kofa-navbar-left">24 <tal:primary_nav content="structure provider:primary_nav" />25 </ul>26 <ul class="nav secondary-nav kofa-navbar-right">27 <li tal:condition="not: layout/isAuthenticated">28 <a href="#" i18n:translate=""29 tal:attributes="href python: view.url(layout.site, 'login')">30 Login31 </a>32 </li>33 <li tal:condition="layout/isAuthenticated">34 <a href="#" i18n:translate=""35 tal:attributes="href python: view.url(layout.site, '@@contactadmin')">36 Contact37 </a>38 </li>39 <li tal:condition="layout/isAuthenticated">40 <a href="#" i18n:translate=""41 tal:attributes="href python: view.url(context, '@@logout')">42 Logout43 </a>44 </li>45 </ul>46 <span class="language"47 tal:define="langs provider:languages"48 tal:condition="langs">49 <tal:languages50 tal:content="structure langs" /> |51 </span>52 </div>53 </div>54 </div>55 20 21 <!-- Diazo element--> 22 <body class="kofa-body"> 23 24 <!-- Diazo element--> 25 <a class="kofa-brand-link" href="#" 26 tal:attributes="href python: view.url(layout.site)" 27 tal:content="layout/getAppAcronym">ACRONYM 28 </a> 29 <!-- /Diazo element--> 30 31 <!-- Diazo element--> 32 <ul class="nav kofa-navbar-left"> 33 <tal:primary_nav content="structure provider:primary_nav" /> 34 </ul> 35 <!-- /Diazo element--> 36 37 <!-- Diazo element--> 38 <ul class="nav secondary-nav kofa-navbar-right"> 39 <li tal:condition="not: layout/isAuthenticated"> 40 <a href="#" i18n:translate="" 41 tal:attributes="href python: view.url(layout.site, 'login')"> 42 Login 43 </a> 44 </li> 45 <li tal:condition="layout/isAuthenticated"> 46 <a href="#" i18n:translate="" 47 tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 48 Contact 49 </a> 50 </li> 51 <li tal:condition="layout/isAuthenticated"> 52 <a href="#" i18n:translate="" 53 tal:attributes="href python: view.url(context, '@@logout')"> 54 Logout 55 </a> 56 </li> 57 </ul> 58 <!-- /Diazo element--> 59 60 <span tal:define="langs provider:languages" 61 tal:condition="langs" 62 class="language"> 63 <tal:languages tal:content="structure langs" /> | 64 </span> 65 66 <!-- Diazo element--> 56 67 <ul class="breadcrumb"> 57 68 <tal:breadcrumbs 58 69 tal:condition="python: layout.isAuthenticated()" 59 70 tal:content="structure provider:breadcrumbs" /> 60 <span61 tal:condition="layout/getStudentName" class="wfstatus">62 <span i18n:translate="">Student Id:</span>63 <span tal:replace="python:context.student.student_id">64 ID65 </span> 66 <span i18n:translate="">State:</span>67 <span tal:replace="python:context.student.translated_state">68 STATE69 </span>70 </span>71 71 </ul> 72 <!-- /Diazo element--> 72 73 73 <div class="container-fluid"> 74 <div class="sidebar"> 75 <div class="well"> 76 <div tal:condition="layout/getStudentName"> 77 <h5 tal:content="layout/getStudentName">STUDENTNAME</h5> 78 <ul> 79 <tal:left content="structure provider:left_studentmanage" /> 80 </ul> 81 </div> 82 <div tal:condition="layout/isAuthenticated"> 83 <h5 tal:content="layout/getUserTitle">USERNAME</h5> 84 <ul> 85 <tal:left content="structure provider:left_manage" /> 86 </ul> 87 </div> 74 <!-- Diazo element--> 75 <span tal:condition="layout/getStudentName"> 76 <div class="wfstatus"> 77 <span tal:replace="python:context.student.student_id"> 78 Id 79 </span> 80 • 81 <span tal:replace="python:context.student.translated_state"> 82 State 83 </span> 84 </div> 85 </span> 86 <!-- /Diazo element--> 87 88 <!-- Diazo element--> 89 <div class="sidebar well"> 90 <div tal:condition="layout/getStudentName"> 91 <div class="kofa-sidebar-title" tal:content="layout/getStudentName">STUDENTNAME</div> 92 <ul class="nav"> 93 <tal:left content="structure provider:left_studentmanage" /> 94 </ul> 95 </div> 96 <div tal:condition="layout/isAuthenticated"> 97 <div class="kofa-sidebar-title" tal:content="layout/getUserTitle">USERNAME</div> 98 <ul class="nav"> 99 <tal:left content="structure provider:left_manage" /> 100 </ul> 101 </div> 102 </div> 103 <!-- /Diazo element--> 104 105 <!-- Diazo element--> 106 <div class="kofa-content"> 107 <div class="actionbar" tal:condition="provider:actionbar"> 108 <tal:actionbar content="structure provider:actionbar" /> 109 </div> 110 <div 111 tal:define="message context/@@messages" 112 tal:condition="python: len(message)>11"> 113 <div tal:content="structure message"> 88 114 </div> 89 115 </div> 90 <div class="span13 content"> 91 <div class="actionbar" tal:condition="provider:actionbar"> 92 <tal:actionbar content="structure provider:actionbar" /> 93 </div> 94 <div 95 tal:define="message context/@@messages" 96 tal:condition="python: len(message)>11"> 97 <div tal:content="structure message"> 98 </div> 99 </div> 100 <div class="alert-message error" 101 tal:define="status view/status|nothing" 102 tal:condition="status"> 103 <span tal:content="view/status"> 104 FORM STATUS SUMMARY 105 </span>: 106 <ul id="alert-error" tal:condition="view/errors"> 107 <li tal:repeat="error view/error_views"> 108 <span tal:replace="structure error">Error Type</span> 109 </li> 110 </ul> 111 </div> 112 <div class="pull-right"> 113 <a i18n:translate="" href="#footer">Back to bottom</a> 114 </div> 115 <h1 class="kofa-content-label" 116 tal:condition="view/label|nothing" 117 tal:content="structure view/label">LABEL</h1> 118 <div tal:content="structure view/content"> THE CONTENT 119 </div> 120 <div id="footer" class="footer"> 121 <div class="pull-right"> 122 <a i18n:translate="" href="#">Back to top</a> 123 </div> 124 <div i18n:translate=""> 125 Kofa - Student Management System 126 </div> 127 <div i18n:translate=""> 128 Copyright © WAeUP Group 2008-2014 129 </div> 130 </div> 116 <div class="alert alert-danger" 117 tal:define="status view/status|nothing" 118 tal:condition="status"> 119 <span tal:content="view/status"> 120 FORM STATUS SUMMARY 121 </span>: 122 <ul id="alert-error" tal:condition="view/errors"> 123 <li tal:repeat="error view/error_views"> 124 <span tal:replace="structure error">Error Type</span> 125 </li> 126 </ul> 131 127 </div> 128 <div class="pull-right"> 129 <a i18n:translate="" href="#bottom">Back to bottom</a> 130 </div> 131 <h1 class="kofa-content-label" 132 tal:condition="view/label|nothing" 133 tal:content="structure view/label">LABEL</h1> 134 <div tal:content="structure view/content"> THE CONTENT 135 </div> 136 <div id="bottom" class="pull-right"> 137 <a i18n:translate="" href="#">Back to top</a> 138 </div> 139 <br /> 140 132 141 </div> 142 <!-- /Diazo element--> 143 133 144 </body> 145 <!-- /Diazo element--> 146 134 147 </html> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/studentsitelayout.pt
r10900 r11254 17 17 href python: view.url(layout.site, 'feed.rss')" /> 18 18 </head> 19 <body>20 <div class="topbar" data-scrollspy="scrollspy" >21 <div class="topbar-inner">22 <div class="container">23 <a class="brand" href="#"24 tal:attributes="href python: view.url(layout.site)"25 tal:content="layout/getAppAcronym">ACRONYM</a>26 <ul class="nav kofa-navbar-left">27 <tal:primary_nav content="structure provider:primary_nav" />28 <tal:primary_nav content="structure provider:primary_nav_student" />29 </ul>30 <ul class="nav secondary-nav kofa-navbar-right">31 <li tal:condition="not: layout/isAuthenticated">32 <a href="#" i18n:translate=""33 tal:attributes="href python: view.url(layout.site, 'login')">34 Login35 </a>36 </li>37 <li tal:condition="layout/isAuthenticated">38 <a href="#" i18n:translate=""39 tal:attributes="href python: view.url(layout.site, '@@contactadmin')">40 Contact41 </a>42 </li>43 <li tal:condition="layout/isAuthenticated">44 <a href="#" i18n:translate=""45 tal:attributes="href python: view.url(context, '@@logout')">46 Logout47 </a>48 </li>49 </ul>50 <span class="language"51 tal:define="langs provider:languages"52 tal:condition="langs">53 <tal:languages54 tal:content="structure langs" /> |55 </span>56 </div>57 </div>58 </div>59 19 60 <div class="container"> 61 <ul class="student-info-bar" tal:condition="layout/isAuthenticated"> 62 <tal:breadcrumbs 63 tal:condition="python: layout.isAuthenticated()" 64 tal:content="structure provider:breadcrumbs" /> 65 <span tal:condition="layout/getStudentName" class="wfstatus"> 20 <!-- Diazo element--> 21 <body class="kofa-body"> 22 23 <!-- Diazo element--> 24 <a class="kofa-brand-link" href="#" 25 tal:attributes="href python: view.url(layout.site)" 26 tal:content="layout/getAppAcronym">ACRONYM</a> 27 <!-- /Diazo element--> 28 29 <!-- Diazo element--> 30 <ul class="nav kofa-navbar-left"> 31 <tal:primary_nav content="structure provider:primary_nav" /> 32 <tal:primary_nav content="structure provider:primary_nav_student" /> 33 </ul> 34 <!-- /Diazo element--> 35 36 <!-- Diazo element--> 37 <ul class="nav secondary-nav kofa-navbar-right"> 38 <li tal:condition="not: layout/isAuthenticated"> 39 <a href="#" i18n:translate="" 40 tal:attributes="href python: view.url(layout.site, 'login')"> 41 Login 42 </a> 43 </li> 44 <li tal:condition="layout/isAuthenticated"> 45 <a href="#" i18n:translate="" 46 tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 47 Contact 48 </a> 49 </li> 50 <li tal:condition="layout/isAuthenticated"> 51 <a href="#" i18n:translate="" 52 tal:attributes="href python: view.url(context, '@@logout')"> 53 Logout 54 </a> 55 </li> 56 </ul> 57 <!-- Diazo element--> 58 59 <span tal:define="langs provider:languages" 60 tal:condition="langs" 61 class="language"> 62 <tal:languages tal:content="structure langs" /> | 63 </span> 64 65 <!-- Diazo element--> 66 <ul class="breadcrumb" tal:condition="layout/isAuthenticated"> 67 <tal:breadcrumbs 68 tal:condition="python: layout.isAuthenticated()" 69 tal:content="structure provider:breadcrumbs" /> 70 </ul> 71 <!-- /Diazo element--> 72 73 <!-- Diazo element--> 74 <span tal:condition="layout/getStudentName"> 75 <div class="wfstatus"> 66 76 <span tal:replace="python:context.student.student_id"> 67 77 Id 68 78 </span> 69 |79 • 70 80 <span tal:replace="python:context.student.translated_state"> 71 81 State 72 82 </span> 73 </span> 74 </ul> 75 <div class="content"> 76 <div class="actionbar" tal:condition="provider:actionbar"> 77 <tal:actionbar content="structure provider:actionbar" /> 78 </div> 79 <div tal:define="message context/@@messages" 80 tal:condition="python: len(message)>11"> 81 <div tal:content="structure message"> 82 </div> 83 </div> 84 <div class="alert-message error" 85 tal:define="status view/status|nothing" 86 tal:condition="status"> 87 <span tal:content="view/status"> 88 FORM STATUS SUMMARY 89 </span>: 90 <ul id="alert-error" tal:condition="view/errors"> 91 <li tal:repeat="error view/error_views"> 92 <span tal:replace="structure error">Error Type</span> 93 </li> 94 </ul> 95 </div> 96 <div class="pull-right"> 97 <a i18n:translate="" href="#footer">Back to bottom</a> 98 </div> 99 <h1 class="kofa-content-label" 100 tal:condition="view/label|nothing" 101 tal:content="structure view/label">Label</h1> 102 <div tal:content="structure view/content"> 103 THE CONTENT 104 </div> 105 <div id="footer" class="footer"> 106 <div class="pull-right"> 107 <a i18n:translate="" href="#">Back to top</a> 108 </div> 109 <div i18n:translate=""> 110 Kofa - Student Management System 111 </div> 112 <div i18n:translate=""> 113 Copyright © WAeUP Group 2008-2014 114 </div> 83 </div> 84 </span> 85 <!-- /Diazo element--> 86 87 <!-- Diazo element--> 88 <div class="kofa-content"> 89 <div class="actionbar" tal:condition="provider:actionbar"> 90 <tal:actionbar content="structure provider:actionbar" /> 91 </div> 92 <div tal:define="message context/@@messages" 93 tal:condition="python: len(message)>11"> 94 <div tal:content="structure message"> 115 95 </div> 116 96 </div> 97 <div class="alert alert-danger" 98 tal:define="status view/status|nothing" 99 tal:condition="status"> 100 <span tal:content="view/status"> 101 FORM STATUS SUMMARY 102 </span>: 103 <ul id="alert-error" tal:condition="view/errors"> 104 <li tal:repeat="error view/error_views"> 105 <span tal:replace="structure error">Error Type</span> 106 </li> 107 </ul> 108 </div> 109 <div class="pull-right"> 110 <a i18n:translate="" href="#bottom">Back to bottom</a> 111 </div> 112 <h1 class="kofa-content-label" 113 tal:condition="view/label|nothing" 114 tal:content="structure view/label">Label</h1> 115 <div tal:content="structure view/content"> 116 THE CONTENT 117 </div> 118 <div id="bottom" class="pull-right"> 119 <a i18n:translate="" href="#">Back to top</a> 120 </div> 121 <br /> 117 122 </div> 123 <!-- /Diazo element--> 124 118 125 </body> 126 <!-- /Diazo element--> 127 119 128 </html> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/usereditformpage.pt
r8486 r11254 9 9 <td i18n:translate="" class="fieldname">Password:</td> 10 10 <td> 11 <input name="password" type="password" />11 <input class="form-control" name="password" type="password" /> 12 12 </td> 13 13 </tr> … … 15 15 <td i18n:translate="" class="fieldname">Retype Password:</td> 16 16 <td> 17 <input name="control_password" type="password" />17 <input class="form-control" name="control_password" type="password" /> 18 18 </td> 19 19 </tr> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/templates/userscontainerpage.pt
r9495 r11254 1 <table i18n:domain="waeup.kofa" class=" displaydataTable">1 <table i18n:domain="waeup.kofa" class="kofa-data-table dataTable"> 2 2 <thead> 3 3 <tr> 4 <th i18n:translate=""> UserId</th>4 <th i18n:translate="">Id</th> 5 5 <th i18n:translate="">Name</th> 6 6 <th i18n:translate="">Portal Roles</th> … … 19 19 <input type="hidden" name="userid" 20 20 tal:attributes="value account/name"/> 21 <input class="btn " type="submit" name="manage"21 <input class="btn btn-sm btn-primary" type="submit" name="manage" 22 22 tal:attributes="value view/manage_button" /> 23 <input class="btn " type="submit" name="delete"23 <input class="btn btn-sm btn-default" type="submit" name="delete" 24 24 tal:attributes="value view/delete_button" /> 25 25 </form> -
main/waeup.kofa/trunk/src/waeup/kofa/browser/tests/test_browser.py
r10676 r11254 374 374 self.browser.open(self.datacenter_path) 375 375 self.browser.getLink("Upload data").click() 376 self.assertTrue(377 '<a href="skeleton?name=facultyprocessor">Download</a>'378 in self.browser.contents)379 376 self.browser.getLink(url='skeleton?name=facultyprocessor').click() 380 377 self.assertEqual(self.browser.headers['Status'], '200 Ok') -
main/waeup.kofa/trunk/src/waeup/kofa/browser/viewlets.py
r10782 r11254 124 124 """Get the icon URL. 125 125 """ 126 static = self.view.static 127 if static is None or static.get(self.icon, None) is None: 128 # In derived classes defined in other modules/packages 129 # than w.k.browser, ``static`` might refer to a static dir 130 # local to the derived class' module. As we often like to 131 # get the icons from here 132 # (i.e. waeup.kofa.browser/static), we set the directory 133 # resource appropiately. 134 # 135 # XXX: The hardcoding of 'w.k.browser' should be replaced 136 # by something smarter. 137 # 138 # TODO: notes in here should go to general documentation. 139 static = queryAdapter( 140 self.request, Interface, name='waeup.kofa.browser') 141 return static[self.icon]() 126 return '/static/img/%s' % self.icon 142 127 143 128 @property
Note: See TracChangeset for help on using the changeset viewer.