Changeset 7459 for main/waeup.sirp
- Timestamp:
- 12 Jan 2012, 16:19:57 (13 years ago)
- Location:
- main/waeup.sirp/trunk/src/waeup/sirp
- Files:
-
- 5 deleted
- 94 edited
- 4 copied
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.py
r7321 r7459 32 32 ) 33 33 from waeup.sirp.accesscodes.catalog import search 34 from waeup.sirp.browser.layout import action 34 35 35 36 grok.context(ISIRPObject) … … 66 67 grok.require('waeup.manageACBatches') 67 68 68 title= 'Create Access Code Batch'69 label = 'Create Access Code Batch' 69 70 pnav = 0 70 71 … … 72 73 'prefix', 'entry_num', 'cost') 73 74 74 @ grok.action('Cancel')75 @action('Cancel') 75 76 def cancel(self, *args, **kw): 76 77 self.flash('Batch creation cancelled.') 77 78 self.redirect(self.url(self.context)) 78 79 79 @ grok.action('Create batch')80 @action('Create batch') 80 81 def createBatch(self, **data): 81 82 creator = self.request.principal.id -
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.txt
r7372 r7459 58 58 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 59 59 ... 60 <h2>Access Code Batches</h2>60 ...<h2>Access Code Batches</h2> 61 61 ... 62 62 ... The following batches are available: … … 106 106 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 107 107 ... 108 <h2>Access Code Batches</h2>108 ...<h2>Access Code Batches</h2> 109 109 ... 110 110 ... The following batches are available: … … 155 155 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 156 156 ... 157 < li ...>Archived APP-2 (APP-2_archive-...-zope.mgr.csv)</li>157 <div ...>Archived APP-2 (APP-2_archive-...-zope.mgr.csv)</div> 158 158 ... 159 159 … … 165 165 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 166 166 ... 167 < li ...>No batch selected.</li>167 <div ...>No batch selected.</div> 168 168 ... 169 169 … … 345 345 >>> print browser.contents 346 346 <!DOCTYPE html ... 347 <li class="message">APP-1-<10-DIGITS> disabled.</li>347 ...APP-1-<10-DIGITS> disabled.</div> 348 348 ... 349 349 … … 355 355 >>> print browser.contents 356 356 <!DOCTYPE html ... 357 < li ...>APP-1-<10-DIGITS>: Disable transition not allowed.</li>357 <div ...>APP-1-<10-DIGITS>: Disable transition not allowed.</div> 358 358 ... 359 359 … … 365 365 >>> print browser.contents 366 366 <!DOCTYPE html ... 367 <li class="message">APP-1-<10-DIGITS> (re-)enabled.</li>367 ...APP-1-<10-DIGITS> (re-)enabled.</div> 368 368 ... 369 369 … … 375 375 >>> print browser.contents 376 376 <!DOCTYPE html ... 377 < li ...>APP-1-<10-DIGITS>: Re-enable transition not allowed.</li>377 <div ...>APP-1-<10-DIGITS>: Re-enable transition not allowed.</div> 378 378 ... 379 379 -
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser_templates/admintaskacbatches.pt
r5082 r7459 2 2 <a href="" 3 3 tal:attributes="href viewlet/link_target" 4 tal:content="viewlet/link_title">Manage Users</a>4 tal:content="viewlet/link_title">Manage</a> 5 5 </p> -
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser_templates/batchcontainer.pt
r7198 r7459 15 15 </thead> 16 16 <tbody> 17 <tr tal:repeat="batch context/values" 18 tal:attributes="class python: repeat['batch'].odd() and 'even' or 'odd'"> 17 <tr tal:repeat="batch context/values"> 19 18 <td> 20 19 <input type="checkbox" name="batches" value="batch/prefix" … … 42 41 </tbody> 43 42 </table> 44 <input type="submit" name="archive" value="Archive" />45 <input type="submit" name="delete" value="Archive and Delete" />43 <input type="submit" class="btn" name="archive" value="Archive" /> 44 <input type="submit" class="btn" name="delete" value="Archive and Delete" /> 46 45 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser_templates/reimportbatchpage.pt
r7198 r7459 1 1 <h3>Reimport Access Code Batches</h3> 2 <p> 3 Please select the files to reimport. Please note, that batches with 4 same name have to be deleted before. 2 <p> Please select the files to reimport. Please note, that batches with same name have to be deleted before. 5 3 </p> 6 4 <form method="POST"> … … 8 6 <thead> 9 7 <tr> 10 <th> </th> 11 <th>File</th> 8 <th> 9 </th> 10 <th>File 11 </th> 12 12 </tr> 13 13 </thead> 14 14 <tbody> 15 <tr tal:repeat="filename context/getImportFiles" 16 tal:attributes="class python: repeat['filename'].odd() and 'even' or 'odd'"> 17 <td> 18 <input type="checkbox" name="filenames" value="filename" 19 tal:attributes="value filename" /> 20 </td> 21 <td tal:content="filename">file.name</td> 15 <tr tal:repeat="filename context/getImportFiles" tal:attributes="class python: repeat['filename'].odd() and 'even' or 'odd'"> <td> 16 <input type="checkbox" name="filenames" value="filename" tal:attributes="value filename" /> </td> 17 <td tal:content="filename">file.name</td> 22 18 </tr> 23 19 <tr tal:condition="python: len(list(context.getImportFiles())) == 0"> 24 <td colspan="5"><b>No import batches available</b></td>20 <td colspan="5"><b>No import batches available</b></td> 25 21 </tr> 26 22 </tbody> 27 23 </table> 28 29 <input type="submit" name="cancel" value="Cancel" /> 30 <input type="submit" name="reimport" value="Reimport" /> 24 <input type="submit" class="btn primary" name="reimport" value="Reimport" /> 25 <input type="submit" class="btn" name="cancel" value="Cancel" /> 31 26 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser_templates/searchpage.pt
r7198 r7459 3 3 <br /> 4 4 5 <input type="submit" name="search" value="Search" />5 <input type="submit" class="btn primary" name="search" value="Search" /> 6 6 for access codes 7 7 … … 46 46 </tbody> 47 47 </table> 48 <div class="actionButtons">49 <input type="submit" name="disable" value="Disable ACs" />50 <input type="submit" name="enable" value="Enable ACs" />48 <div> 49 <input type="submit" class="btn" name="disable" value="Disable ACs" /> 50 <input type="submit" class="btn" name="enable" value="Enable ACs" /> 51 51 </div> 52 52 -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser.py
r7438 r7459 38 38 from waeup.sirp.browser.interfaces import ICaptchaManager 39 39 from waeup.sirp.browser.breadcrumbs import Breadcrumb 40 from waeup.sirp.browser.layout import NullValidator, jsaction 40 from waeup.sirp.browser.layout import ( 41 NullValidator, jsaction, action, UtilityView) 41 42 from waeup.sirp.browser.pages import add_local_role, del_local_roles 42 43 from waeup.sirp.browser.resources import datepicker, tabs, datatable, warning … … 120 121 return 121 122 122 @ grok.action('Add applicants container', validator=NullValidator)123 @action('Add applicants container', validator=NullValidator) 123 124 def addApplicantsContainer(self, **data): 124 125 self.redirect(self.url(self.context, '@@add')) 125 126 return 126 127 127 @ grok.action('Cancel', validator=NullValidator)128 @action('Cancel', validator=NullValidator) 128 129 def cancel(self, **data): 129 130 self.redirect(self.url(self.context)) 130 131 return 131 132 132 @ grok.action('Add local role', validator=NullValidator)133 @action('Add local role', validator=NullValidator) 133 134 def addLocalRole(self, **data): 134 135 return add_local_role(self,2, **data) 135 136 136 @ grok.action('Remove selected local roles')137 @action('Remove selected local roles') 137 138 def delLocalRoles(self, **data): 138 139 return del_local_roles(self,2,**data) … … 156 157 return super(ApplicantsContainerAddFormPage, self).update() 157 158 158 @ grok.action('Add applicants container')159 @action('Add applicants container') 159 160 def addApplicantsContainer(self, **data): 160 161 year = data['year'] … … 178 179 return 179 180 180 @ grok.action('Cancel', validator=NullValidator)181 @action('Cancel', validator=NullValidator) 181 182 def cancel(self, **data): 182 183 self.redirect(self.url(self.context, '@@manage') + '#tab-1') … … 280 281 return get_users_with_local_roles(self.context) 281 282 282 @ grok.action('Save')283 @action('Save') 283 284 def apply(self, **data): 284 285 self.applyData(self.context, **data) … … 310 311 return 311 312 312 @ grok.action('Add applicant', validator=NullValidator)313 @action('Add applicant', validator=NullValidator) 313 314 def addApplicant(self, **data): 314 315 self.redirect(self.url(self.context, 'addapplicant')) 315 316 return 316 317 317 @ grok.action('Cancel', validator=NullValidator)318 @action('Cancel', validator=NullValidator) 318 319 def cancel(self, **data): 319 320 self.redirect(self.url(self.context)) 320 321 return 321 322 322 @ grok.action('Add local role', validator=NullValidator)323 @action('Add local role', validator=NullValidator) 323 324 def addLocalRole(self, **data): 324 325 return add_local_role(self,3, **data) 325 326 326 @ grok.action('Remove selected local roles')327 @action('Remove selected local roles') 327 328 def delLocalRoles(self, **data): 328 329 return del_local_roles(self,3,**data) … … 345 346 return "Applicants Container: %s" % self.context.title 346 347 347 @ grok.action('Create application record')348 @action('Create application record') 348 349 def addApplicant(self, **data): 349 350 applicant = createObject(u'waeup.Applicant') … … 409 410 'applicant_id', 'firstname', 'lastname','email', 'course1') 410 411 411 class CreateStudentPage( grok.View):412 class CreateStudentPage(UtilityView, grok.View): 412 413 """Create a student object from applicatnt data 413 414 and copy applicant object. … … 426 427 return 427 428 428 class AcceptanceFeePaymentAddPage( grok.View):429 class AcceptanceFeePaymentAddPage(UtilityView, grok.View): 429 430 """ Page to add an online payment ticket 430 431 """ … … 493 494 self.context.__parent__.display_fullname,self.context.p_id) 494 495 495 class OnlinePaymentCallbackPage( grok.View):496 class OnlinePaymentCallbackPage(UtilityView, grok.View): 496 497 """ Callback view 497 498 """ … … 525 526 return 526 527 527 class ExportPDFPaymentSlipPage( grok.View):528 class ExportPDFPaymentSlipPage(UtilityView, grok.View): 528 529 """Deliver a PDF slip of the context. 529 530 """ … … 552 553 self.context.__parent__, applicantview) 553 554 554 class ExportPDFPage( grok.View):555 class ExportPDFPage(UtilityView, grok.View): 555 556 """Deliver a PDF slip of the context. 556 557 """ … … 671 672 dict(name=x, title=y) for x, y in allowed_transitions] 672 673 673 @ grok.action('Save')674 @action('Save') 674 675 def save(self, **data): 675 676 form = self.request.form … … 739 740 # We explicitely want the forms to be validated before payment tickets 740 741 # can be created. If no validation is requested, use 741 # 'validator=NullValidator' in the grok.action directive742 @ grok.action('Add online payment ticket')742 # 'validator=NullValidator' in the action directive 743 @action('Add online payment ticket') 743 744 def addPaymentTicket(self, **data): 744 745 self.redirect(self.url(self.context, '@@addafp')) … … 763 764 form_fields['date_of_birth'].custom_widget = FriendlyDateWidget('le-year') 764 765 form_fields['phone'].custom_widget = PhoneWidget 766 form_fields['applicant_id'].for_display = True 765 767 grok.template('applicanteditpage') 766 768 manage_applications = False … … 808 810 # We explicitely want the forms to be validated before payment tickets 809 811 # can be created. If no validation is requested, use 810 # 'validator=NullValidator' in the grok.action directive811 @ grok.action('Add online payment ticket')812 # 'validator=NullValidator' in the action directive 813 @action('Add online payment ticket') 812 814 def addPaymentTicket(self, **data): 813 815 self.redirect(self.url(self.context, '@@addafp')) … … 820 822 return 821 823 822 @ grok.action('Save')824 @action('Save') 823 825 def save(self, **data): 824 826 if self.passport_changed is False: # False is not None! … … 828 830 return 829 831 830 @ grok.action('Final Submit')832 @action('Final Submit') 831 833 def finalsubmit(self, **data): 832 834 if self.passport_changed is False: # False is not None! … … 903 905 return 904 906 905 @ grok.action('Get login credentials')907 @action('Get login credentials') 906 908 def register(self, **data): 907 909 if not self.captcha_result.is_valid: -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantdisplaypage.pt
r7384 r7459 13 13 <img src="" tal:attributes="src view/passport_url" /> 14 14 15 <table class=" zebra">15 <table class="form-table"> 16 16 <tbody> 17 17 <tal:block repeat="widget view/widgets"> … … 26 26 </tal:block> 27 27 <tr> 28 <td class="fieldname" width="33%">28 <td class="fieldname"> 29 29 Admitted Course of Study: 30 30 </td> … … 44 44 </table> 45 45 <h3 i18n:translate="">Acceptance Fee Payment Tickets</h3> 46 <table class="zebra">46 <table> 47 47 <thead> 48 48 <tr> -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicanteditpage.pt
r7254 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 14 14 </div> 15 15 16 <div class=" form-status"16 <div class="alert-message error" 17 17 tal:define="status view/status" 18 18 tal:condition="status"> … … 23 23 </div> 24 24 25 <table class=" zebra">25 <table class="form-table"> 26 26 <tbody> 27 27 <tal:block repeat="widget view/widgets"> 28 28 <tr> 29 <td class="label"> 30 <label tal:attributes="for widget/name"> 31 <span class="required" tal:condition="widget/required">*</span> 32 <span i18n:translate="" tal:content="widget/label">label</span>: 33 </label> 29 <td class="fieldname"> 30 <span tal:condition="widget/required">*</span> 31 <span i18n:translate="" tal:content="widget/label">label</span>: 34 32 </td> 35 <td class="field">36 <span class="widget"tal:content="structure widget">33 <td> 34 <span tal:content="structure widget"> 37 35 <input type="text" /> 38 36 </span> … … 41 39 </tal:error> 42 40 <tal:hint tal:condition="widget/hint"> 43 <span class="hint"tal:content="structure widget/hint">hint</span>41 <span tal:content="structure widget/hint">hint</span> 44 42 </tal:hint> 45 43 </td> … … 47 45 </tal:block> 48 46 <tr> 49 <td class=" label">50 <label i18n:translate="" for="form.passport">Photograph</label>47 <td class="fieldname"> 48 Photograph 51 49 </td> 52 <td class="field"> 53 <span class="widget"> 54 <img src="passport.jpg" /><br /> 55 <input type="file" name="form.passport" /> 56 <br /> 57 <span i18n:translate=""> 58 Max. file size: 59 <span tal:replace="view/max_upload_size">10 KB</span> 60 </span> 50 <td> 51 <img src="passport.jpg" /><br /> 52 <input type="file" name="form.passport" /> 53 <br /> 54 <span i18n:translate=""> 55 Max. file size: 56 <span tal:replace="view/max_upload_size">10 KB</span> 61 57 </span> 62 58 </tr> 63 59 <tr tal:condition="view/manage_applications"> 64 <td class=" label"><label>Password:</label></td>60 <td class="fieldname">Password:</td> 65 61 <td> 66 62 <input name="password" type="password" /> … … 68 64 </tr> 69 65 <tr tal:condition="view/manage_applications"> 70 <td class=" label"><label>Retype password:</label></td>66 <td class="fieldname">Retype password:</td> 71 67 <td> 72 68 <input name="control_password" type="password" /> … … 74 70 </tr> 75 71 <tr tal:condition="view/manage_applications"> 76 <td class=" label"><label>Application Transition:</label></td>72 <td class="fieldname">Application Transition:</td> 77 73 <td> 78 74 <select id="transition" name="transition"> … … 88 84 89 85 <div tal:condition="not: view/manage_applications"> 90 <input class="checkboxType"id="confirm_passport" name="confirm_passport"86 <input id="confirm_passport" name="confirm_passport" 91 87 type="checkbox" value="True"/> 92 88 I confirm that the Passport Photograph uploaded on this form is a … … 94 90 </div> 95 91 96 <div class="actionButtons"tal:condition="view/availableActions">92 <div tal:condition="view/availableActions"> 97 93 <span tal:repeat="action view/actions" 98 94 tal:omit-tag=""> … … 105 101 <h3 i18n:translate="">Acceptance Fee Payment Tickets</h3> 106 102 107 <table class="display dataTableManage">103 <table> 108 104 <thead> 109 105 <tr> … … 136 132 </table> 137 133 138 <div class="actionButtons"tal:condition="view/availableActions">134 <div tal:condition="view/availableActions"> 139 135 <span tal:repeat="action view/actions" 140 136 tal:omit-tag=""> -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantregister.pt
r7381 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 <table class=" zebra">17 <table class="form-table"> 18 18 <tbody> 19 19 <tal:block repeat="widget view/widgets"> 20 20 <tr> 21 <td class="label"> 22 <label tal:attributes="for widget/name"> 23 <span class="required" tal:condition="widget/required">*</span> 24 <span i18n:translate="" tal:content="widget/label">label</span>: 25 </label> 21 <td class="fieldname"> 22 <span tal:condition="widget/required">*</span> 23 <span i18n:translate="" tal:content="widget/label">label</span>: 26 24 </td> 27 <td class="field">28 <span class="widget"tal:content="structure widget">25 <td> 26 <span tal:content="structure widget"> 29 27 <input type="text" /> 30 28 </span> … … 33 31 </tal:error> 34 32 <tal:hint tal:condition="widget/hint"> 35 <span class="hint"tal:content="structure widget/hint">hint</span>33 <span tal:content="structure widget/hint">hint</span> 36 34 </tal:hint> 37 35 </td> … … 54 52 credentials will be sent to the address provided. 55 53 </p> 56 <div class="actionButtons"tal:condition="view/availableActions">54 <div tal:condition="view/availableActions"> 57 55 <input tal:repeat="action view/actions" 58 56 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantscontaineraddpage.pt
r6756 r7459 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 <table class=" zebra">17 <table class="form-table"> 18 18 <tbody> 19 19 <tal:block repeat="widget view/widgets"> 20 20 <tr> 21 <td class="label"> 22 <label tal:attributes="for widget/name"> 23 <span class="required" tal:condition="widget/required">*</span> 24 <span i18n:translate="" tal:content="widget/label">label</span>: 25 </label> 21 <td class="fieldname"> 22 <span tal:condition="widget/required">*</span> 23 <span i18n:translate="" tal:content="widget/label">label</span>: 26 24 </td> 27 <td class="field">28 <span class="widget"tal:content="structure widget">25 <td> 26 <span tal:content="structure widget"> 29 27 <input type="text" /> 30 28 </span> … … 33 31 </tal:error> 34 32 <tal:hint tal:condition="widget/hint"> 35 <span class="hint"tal:content="structure widget/hint">hint</span>33 <span tal:content="structure widget/hint">hint</span> 36 34 </tal:hint> 37 35 </td> … … 41 39 </table> 42 40 43 <div class="actionButtons"tal:condition="view/availableActions">41 <div tal:condition="view/availableActions"> 44 42 <input tal:repeat="action view/actions" 45 43 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantscontainermanagepage.pt
r7364 r7459 1 1 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form" enctype="multipart/form-data"> 2 2 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 3 <div class=" form-status" tal:define="status view/status" tal:condition="status"> Form Status:3 <div class="alert-message error" tal:define="status view/status" tal:condition="status"> Form Status: 4 4 <span i18n:translate="" tal:content="view/status"> Form status summary 5 5 </span> 6 6 </div> 7 < div id="tabs">8 < ul>9 <li>10 < a href="#tab-1">11 <span>Settings12 </span></a>13 </li>14 <li>15 < a href="#tab-2">16 <span>Applicants17 </span></a>18 </li>19 <li>20 < a href="#tab-3">21 <span>Local Roles22 </span></a>23 </li>24 </ul>25 <div id="tab-1" >26 <table class=" zebra">7 <ul class="tabs" data-tabs="tabs"> 8 <li class="active"> 9 <a href="#tab-1"> 10 <span>Settings 11 </span></a> 12 </li> 13 <li> 14 <a href="#tab-2"> 15 <span>Applicants 16 </span></a> 17 </li> 18 <li> 19 <a href="#tab-3"> 20 <span>Local Roles 21 </span></a> 22 </li> 23 </ul> 24 <div class="tab-content"> 25 <div id="tab-1" class="active"> 26 <table class="form-table"> 27 27 <tbody> 28 28 <tal:block repeat="widget view/widgets"> 29 29 <tr> 30 <td class="label"> 31 <label tal:attributes="for widget/name"> 32 <span class="required" tal:condition="widget/required">* 33 </span> 34 <span i18n:translate="" tal:content="widget/label">label 35 </span>: 36 </label> </td> 37 <td class="field"> 38 <span class="widget" tal:content="structure widget"> 30 <td class="fieldname"> 31 <span tal:condition="widget/required">* 32 </span> 33 <span i18n:translate="" tal:content="widget/label">label 34 </span>: 35 </td> 36 <td> 37 <span tal:content="structure widget"> 39 38 <input type="text" /> 40 39 </span> … … 44 43 </tal:error> 45 44 <tal:hint tal:condition="widget/hint"> 46 <span class="hint"tal:content="structure widget/hint">hint45 <span tal:content="structure widget/hint">hint 47 46 </span> 48 47 </tal:hint> </td> … … 51 50 </tbody> 52 51 </table> 53 <div class="actionButtons"tal:condition="view/availableActions">52 <div tal:condition="view/availableActions"> 54 53 <span tal:repeat="action view/actions" tal:omit-tag=""> 55 54 <input tal:condition="python:action.label in view.taboneactions" … … 98 97 </tbody> 99 98 </table> 100 <div class="actionButtons"tal:condition="view/availableActions">99 <div tal:condition="view/availableActions"> 101 100 <span tal:repeat="action view/actions" tal:omit-tag=""> 102 101 <input tal:condition="python:action.label in view.tabtwoactions" … … 120 119 </thead> 121 120 <tbody> 122 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="grade B"> <td>121 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 123 122 <input type="checkbox" name="role_id" 124 123 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> … … 129 128 </tbody> 130 129 </table> 131 <div class="actionButtons"tal:condition="view/availableActions">130 <div tal:condition="view/availableActions"> 132 131 <span tal:repeat="action view/actions" tal:omit-tag=""> 133 132 <input tal:condition="python:action.label in view.tabthreeactions1" … … 135 134 </span> 136 135 </div> <br /><br /> 137 <table class=" zebra">136 <table class="form-table"> 138 137 <tr> <td> 139 138 <select id="user" name="user"> -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantscontainerpage.pt
r6509 r7459 5 5 <br /> 6 6 7 <table class=" zebra" tal:condition="layout/isAuthenticated">7 <table class="form-table" tal:condition="layout/isAuthenticated"> 8 8 <tbody> 9 9 <tal:block repeat="widget view/widgets"> … … 13 13 <tal:block replace="python:widget.label"/>: 14 14 </td> 15 <td class="field">15 <td> 16 16 <tal:block tal:replace="structure widget" /> 17 17 </td> -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantsrootmanagepage.pt
r7213 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 <div class="form-status" tal:define="status view/status" tal:condition="status">2 <div tal:define="status view/status" tal:condition="status" class="alert-message error"> 3 3 <div i18n:translate="" tal:content="view/status"> Form status summary 4 4 </div> … … 10 10 </ul> 11 11 </div> 12 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form"enctype="multipart/form-data">13 < div id="tabs">14 < ul>15 <li>16 < a href="#tab-1">17 <span tal:content="view/subunits">Contents18 </span></a>19 </li>20 <li>21 < a href="#tab-2">22 <span>Local Roles23 </span></a>24 </li>25 </ul>26 <div id="tab-1" >12 <form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data"> 13 <ul class="tabs" data-tabs="tabs"> 14 <li class="active"> 15 <a href="#tab-1"> 16 <span tal:content="view/subunits">Contents 17 </span></a> 18 </li> 19 <li> 20 <a href="#tab-2"> 21 <span>Local Roles 22 </span></a> 23 </li> 24 </ul> 25 <div class="tab-content"> 26 <div id="tab-1" class="active"> 27 27 <h3 tal:content="view/subunits">Applicants Containers</h3> 28 28 <table class="display dataTableManage"> … … 40 40 </thead> 41 41 <tbody> 42 <tr tal:repeat="entry context/values" class="grade B"> <td>42 <tr tal:repeat="entry context/values" class="gradeC"> <td> 43 43 <input type="checkbox" name="val_id" tal:attributes="value entry/__name__" /> </td> 44 44 <td tal:content="entry/year">Year </td> <td> … … 48 48 </tbody> 49 49 </table> 50 <div class="actionButtons"tal:condition="view/availableActions">50 <div tal:condition="view/availableActions"> 51 51 <span tal:repeat="action view/actions" tal:omit-tag=""> 52 52 <input tal:condition="python:action.label in view.taboneactions" tal:replace="structure action/render"/> … … 69 69 </thead> 70 70 <tbody> 71 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="grade B"> <td>71 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 72 72 <input type="checkbox" name="role_id" tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 73 73 <td tal:content="entry/user_name"> USERNAME </td> … … 77 77 </tbody> 78 78 </table> 79 <div class="actionButtons"tal:condition="view/availableActions">79 <div tal:condition="view/availableActions"> 80 80 <span tal:repeat="action view/actions" tal:omit-tag=""> 81 81 <input tal:condition="python:action.label in view.tabtwoactions1" tal:replace="structure action/render"/> 82 82 </span> 83 83 </div> <br /><br /> 84 <table class=" zebra">84 <table class="form-table"> 85 85 <tr> <td> 86 86 <select id="user" name="user"> -
main/waeup.sirp/trunk/src/waeup/sirp/applicants/browser_templates/applicantsrootpage.pt
r6756 r7459 10 10 </thead> 11 11 <tbody> 12 <tr tal:repeat="entry context/values" 13 class="gradeB"> 12 <tr tal:repeat="entry context/values" class="gradeC"> 14 13 <td tal:content="entry/year">Year 15 14 </td> 16 15 <td> 17 <a href=""18 tal:attributes="href python:view.url(entry)"19 tal:content="entry/__name__">Code</a>16 <a href="" 17 tal:attributes="href python:view.url(entry)" 18 tal:content="entry/__name__">Code</a> 20 19 </td> 21 20 <td tal:content="entry/title">Title -
main/waeup.sirp/trunk/src/waeup/sirp/browser/batchprocessing.txt
r7262 r7459 561 561 True 562 562 >>> browser.getControl('Show', index=0).click() 563 >>> '<input type="submit" name="back" value="Back" />' in browser.contents563 >>> '<input class="btn primary" type="submit" name="back" value="Back" />' in browser.contents 564 564 True 565 565 >>> browser.getControl('Back', index=0).click() -
main/waeup.sirp/trunk/src/waeup/sirp/browser/browser.txt
r7401 r7459 54 54 >>> print browser.contents 55 55 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 56 ... <li class="message">Your message has been sent.</li>56 ...Your message has been sent... 57 57 ... 58 58 … … 77 77 The edit form contains the default value for the portal skin:: 78 78 79 >>> 'waeup theme-gray1.css' in browser.contents79 >>> 'waeup-base.css' in browser.contents 80 80 True 81 81 … … 85 85 >>> print browser.contents 86 86 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 87 ... <li class="message">Settings have been saved.</li>87 ...Settings have been saved... 88 88 ... 89 89 … … 92 92 >>> print browser.contents 93 93 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 94 ... <li class="message">Plugins were updated. See log file for details.</li>94 ...Plugins were updated. See log file for details... 95 95 ... 96 96 … … 118 118 >>> print browser.contents 119 119 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 120 ... manage portal users...120 ...Portal Users... 121 121 ... 122 122 … … 195 195 >>> print browser.contents 196 196 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 197 ... <li class="message">Your message has been sent.</li>197 ...Your message has been sent... 198 198 ... 199 199 … … 214 214 >>> print browser.contents 215 215 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 216 ... <span class="required">*</span>216 ...*... 217 217 ...<span>Name of faculty</span>: 218 218 ... … … 371 371 >>> print browser.contents 372 372 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 373 ... <span class="required">*</span>373 ...*</span> 374 374 ...<span>Name of department</span>: 375 375 ... … … 400 400 >>> print browser.contents 401 401 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 402 ... <li class="message">The code chosen already exists in this faculty.</li>402 ...The code chosen already exists in this faculty... 403 403 ... 404 404 … … 535 535 >>> print browser.contents 536 536 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 537 ... <span class="required">*</span>537 ...*</span> 538 538 ...<span>Title of course</span>: 539 539 ... … … 574 574 >>> print browser.contents 575 575 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 576 ... <li class="message">A course with same code already exists:...</li>576 ...A course with same code already exists:... 577 577 ... 578 578 … … 746 746 >>> print browser.contents 747 747 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 748 ... <span class="required">*</span>748 ...*</span> 749 749 ...<span>Title</span>: 750 750 ... … … 785 785 >>> print browser.contents 786 786 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 787 ... <li class="message">A certificate with same code already exists:...</li>787 ...A certificate with same code already exists:... 788 788 ... 789 789 … … 950 950 >>> print browser.contents 951 951 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"... 952 ... <span class="required">*</span>952 ...*</span> 953 953 ...<span>Level</span>: 954 954 ... -
main/waeup.sirp/trunk/src/waeup/sirp/browser/layout.py
r7364 r7459 34 34 from waeup.sirp.interfaces import ISIRPObject, IUserAccount 35 35 from waeup.sirp.browser.interfaces import ITheme 36 from waeup.sirp.browser.theming import get_all_themes, SIRPTheme Gray136 from waeup.sirp.browser.theming import get_all_themes, SIRPThemeBase 37 37 from waeup.sirp.students.interfaces import IStudentNavigation 38 38 from waeup.sirp.applicants.interfaces import IApplicant … … 52 52 default_primary_nav_template.__grok_name__ = 'default_primary_nav' 53 53 54 class jsaction(grok.action):54 class action(grok.action): 55 55 56 56 def __call__(self, success): 57 action = JSAction(self.label, success=success, **self.options)57 action = SIRPAction(self.label, success=success, **self.options) 58 58 self.actions.append(action) 59 59 return action 60 60 61 class JSAction(Action): 62 63 msg = '\'Are you sure?\'' 61 class SIRPAction(Action): 62 63 def __init__(self, label, style='', **options): 64 super(SIRPAction, self).__init__(label, **options) 65 self.style = style 64 66 65 67 def render(self): … … 70 72 label = zope.i18n.translate(self.label, context=self.form.request) 71 73 return ('<input type="submit" id="%s" name="%s" value="%s"' 72 ' class="button" onclick="return confirmPost(%s)" />' % 74 ' class="btn %s"/>' % 75 (self.__name__, self.__name__, escape(label, quote=True), 76 self.style)) 77 78 class jsaction(grok.action): 79 80 def __call__(self, success): 81 action = JSAction(self.label, success=success, **self.options) 82 self.actions.append(action) 83 return action 84 85 class JSAction(Action): 86 87 msg = '\'Are you sure?\'' 88 89 def render(self): 90 if not self.available(): 91 return '' 92 label = self.label 93 if isinstance(label, Message): 94 label = zope.i18n.translate(self.label, context=self.form.request) 95 return ('<input type="submit" id="%s" name="%s" value="%s"' 96 ' class="btn" onclick="return confirmPost(%s)" />' % 73 97 (self.__name__, self.__name__, escape(label, quote=True), self.msg) 74 98 ) … … 116 140 return self.url(site, name) 117 141 118 def flash(self, message, type=' message'):142 def flash(self, message, type='alert-message warning'): 119 143 """Send a short message to the user. 120 144 """ … … 125 149 return True 126 150 127 class SIRPLayout( Layout, UtilityView):151 class SIRPLayout(UtilityView,Layout): 128 152 """A megrok.layout.Layout with additional methods. 129 153 """ 130 154 grok.baseclass() 131 155 132 class SIRPForm( Form, UtilityView):156 class SIRPForm(UtilityView,Form): 133 157 """A megrok.layout.Form with additional methods. 134 158 """ … … 137 161 def setUpWidgets(self,ignore_request=False): 138 162 super(SIRPForm,self).setUpWidgets(ignore_request) 163 # Width parameters will be overridden by Bootstrap 164 # so we have to set the css class 139 165 if self.widgets.get('subject'): 140 self.widgets['subject']. displayWidth = 45166 self.widgets['subject'].cssClass = 'span9' 141 167 if self.widgets.get('body'): 142 168 self.widgets['body'].height = 10 143 169 if self.widgets.get('body'): 144 self.widgets['body']. width = 35145 146 class SIRPPage( Page):170 self.widgets['body'].cssClass = 'span9' 171 172 class SIRPPage(UtilityView,Page): 147 173 """A megrok.layout page with additional methods. 148 174 """ 149 175 grok.baseclass() 150 176 151 class SIRPDisplayFormPage( DisplayForm, UtilityView):177 class SIRPDisplayFormPage(UtilityView,DisplayForm): 152 178 """A megrok.layout.DisplayForm with additional methods. 153 179 """ … … 155 181 template = default_waeup_display_template 156 182 157 class SIRPEditFormPage( EditForm, UtilityView):183 class SIRPEditFormPage(UtilityView,EditForm): 158 184 """A megrok.layout.EditForm with additional methods. 159 185 """ … … 163 189 def setUpWidgets(self,ignore_request=False): 164 190 super(SIRPEditFormPage,self).setUpWidgets(ignore_request) 191 for widget in self.widgets: 192 if widget.__class__.__name__ == 'TextWidget': 193 widget.cssClass = 'span8' 194 elif widget.__class__.__name__ == 'IntWidget': 195 widget.cssClass = 'span2' 196 #import pdb; pdb.set_trace() 165 197 if self.widgets.get('title'): 166 self.widgets['title']. displayWidth = 80198 self.widgets['title'].cssClass = 'span12' 167 199 if self.widgets.get('frontpage'): 168 self.widgets['frontpage']. width = 70200 self.widgets['frontpage'].cssClass = 'span12' 169 201 if self.widgets.get('phone'): 170 self.widgets['phone']. displayWidth = 13202 self.widgets['phone'].cssClass = 'span4' 171 203 if self.widgets.get('notice'): 172 204 self.widgets['notice'].height = 3 173 174 class SIRPAddFormPage(AddForm, UtilityView): 205 if self.widgets.get('perm_address'): 206 self.widgets['perm_address'].cssClass = 'span8' 207 self.widgets['perm_address'].height = 10 208 209 class SIRPAddFormPage(UtilityView,AddForm): 175 210 """A megrok.layout.AddForm with additional methods. 176 211 """ … … 184 219 185 220 #: An instance of the default theme to use for the site layout 186 default_theme = SIRPTheme Gray1()221 default_theme = SIRPThemeBase() 187 222 stafftemp = grok.PageTemplateFile('templates/staffsitelayout.pt') 188 223 studenttemp = grok.PageTemplateFile('templates/studentsitelayout.pt') … … 194 229 def getAppTitle(self): 195 230 return getattr(grok.getSite()['configuration'], 'name', u'Sample University') 231 232 def getAppAcronym(self): 233 return getattr(grok.getSite()['configuration'], 'acronym', u'Acronym') 196 234 197 235 def isAuthenticated(self): -
main/waeup.sirp/trunk/src/waeup/sirp/browser/pages.py
r7404 r7459 59 59 from waeup.sirp.authentication import get_principal_role_manager 60 60 from waeup.sirp.utils.helpers import get_user_account 61 from waeup.sirp.browser.layout import jsaction, JSAction61 from waeup.sirp.browser.layout import jsaction, action 62 62 63 63 grok.context(ISIRPObject) … … 215 215 return get_user_account(self.request) 216 216 217 @ grok.action('Send message now')217 @action('Send message now', style='primary') 218 218 def send(self, *args, **data): 219 219 fullname = self.request.principal.title … … 244 244 'fullname', 'email_from', 'body') 245 245 246 @ grok.action('Send now')246 @action('Send now', style='primary') 247 247 def send(self, *args, **data): 248 248 sirp_utils = getUtility(ISIRPUtils) … … 378 378 title = 'Portal Users' 379 379 380 @ grok.action('Add user')380 @action('Add user', style='primary') 381 381 def addUser(self, **data): 382 382 name = data['name'] … … 426 426 self.widgets['description'].height = 3 427 427 428 @ grok.action('Save')428 @action('Save', style='primary') 429 429 def save(self, **data): 430 430 form = self.request.form … … 444 444 return 445 445 446 @ grok.action('Cancel', validator=NullValidator)446 @action('Cancel', validator=NullValidator) 447 447 def cancel(self, **data): 448 448 self.redirect(self.url(self.context.__parent__)) … … 461 461 return u'Send message to %s' % self.context.title 462 462 463 @ grok.action('Send message now')463 @action('Send message now', style='primary') 464 464 def send(self, *args, **data): 465 465 try: … … 596 596 return super(ConfigurationContainerManageFormPage, self).update() 597 597 598 @ grok.action('Save')598 @action('Save', style='primary') 599 599 def save(self, **data): 600 600 self.applyData(self.context, **data) … … 602 602 return 603 603 604 @ grok.action('Add session configuration', validator=NullValidator)604 @action('Add session configuration', validator=NullValidator, style='primary') 605 605 def addSubunit(self, **data): 606 606 self.redirect(self.url(self.context, '@@add')) … … 621 621 return 622 622 623 @ grok.action('Update plugins', validator=NullValidator)623 @action('Update plugins', validator=NullValidator) 624 624 def updatePlugins(self, **data): 625 625 grok.getSite().updatePlugins() … … 638 638 pnav = 0 639 639 640 @ grok.action('Add Session Configuration')640 @action('Add Session Configuration', style='primary') 641 641 def addSessionConfiguration(self, **data): 642 642 sessionconfiguration = createObject(u'waeup.SessionConfiguration') … … 650 650 return 651 651 652 @ grok.action('Cancel', validator=NullValidator)652 @action('Cancel', validator=NullValidator) 653 653 def cancel(self): 654 654 self.redirect(self.url(self.context, '@@index')+'#tab-2') … … 674 674 return 'Edit academic session %s configuration' % session_string 675 675 676 @ grok.action('Save')676 @action('Save', style='primary') 677 677 def save(self, **data): 678 678 self.applyData(self.context, **data) … … 681 681 return 682 682 683 @ grok.action('Cancel', validator=NullValidator)683 @action('Cancel', validator=NullValidator) 684 684 def cancel(self): 685 685 self.redirect(self.url(self.context.__parent__, '@@index')+'#tab-2') … … 1210 1210 return 1211 1211 1212 @ grok.action('Add faculty', validator=NullValidator)1212 @action('Add faculty', validator=NullValidator) 1213 1213 def addFaculty(self, **data): 1214 1214 self.redirect(self.url(self.context, '@@add')) 1215 1215 return 1216 1216 1217 @ grok.action('Cancel', validator=NullValidator)1217 @action('Cancel', validator=NullValidator) 1218 1218 def cancel(self, **data): 1219 1219 self.redirect(self.url(self.context)) … … 1232 1232 pnav = 1 1233 1233 1234 @ grok.action('Add faculty')1234 @action('Add faculty', style='primary') 1235 1235 def addFaculty(self, **data): 1236 1236 faculty = createObject(u'waeup.Faculty') … … 1243 1243 self.redirect(self.url(self.context, u'@@manage')+'#tab-1') 1244 1244 1245 @ grok.action('Cancel')1245 @action('Cancel') 1246 1246 def cancel(self, **data): 1247 1247 self.redirect(self.url(self.context)) … … 1315 1315 return 1316 1316 1317 @ grok.action('Save')1317 @action('Save', style='primary') 1318 1318 def save(self, **data): 1319 1319 self.applyData(self.context, **data) 1320 1320 return 1321 1321 1322 @ grok.action('Cancel', validator=NullValidator)1322 @action('Cancel', validator=NullValidator) 1323 1323 def cancel(self, **data): 1324 1324 self.redirect(self.url(self.context)) 1325 1325 return 1326 1326 1327 @ grok.action('Add department', validator=NullValidator)1327 @action('Add department', validator=NullValidator) 1328 1328 def addSubunit(self, **data): 1329 1329 self.redirect(self.url(self.context, '@@add')) 1330 1330 return 1331 1331 1332 @ grok.action('Add local role', validator=NullValidator)1332 @action('Add local role', validator=NullValidator) 1333 1333 def addLocalRole(self, **data): 1334 1334 return add_local_role(self, '3', **data) 1335 1335 1336 @ grok.action('Remove selected local roles')1336 @action('Remove selected local roles') 1337 1337 def delLocalRoles(self, **data): 1338 1338 return del_local_roles(self,3,**data) … … 1352 1352 return self.context.longtitle() 1353 1353 1354 @ grok.action('Add department')1354 @action('Add department', style='primary') 1355 1355 def addDepartment(self, **data): 1356 1356 department = createObject(u'waeup.Department') … … 1364 1364 self.redirect(self.url(self.context, u'@@manage')+'#tab-2') 1365 1365 1366 @ grok.action('Cancel')1366 @action('Cancel') 1367 1367 def cancel(self, **data): 1368 1368 self.redirect(self.url(self.context)) … … 1503 1503 return get_users_with_local_roles(self.context) 1504 1504 1505 @ grok.action('Save')1505 @action('Save', style='primary') 1506 1506 def save(self, **data): 1507 1507 self.applyData(self.context, **data) … … 1520 1520 return 1521 1521 1522 @ grok.action('Add course', validator=NullValidator)1522 @action('Add course', validator=NullValidator) 1523 1523 def addCourse(self, **data): 1524 1524 self.redirect(self.url(self.context, 'addcourse')) 1525 1525 return 1526 1526 1527 @ grok.action('Add certificate', validator=NullValidator)1527 @action('Add certificate', validator=NullValidator) 1528 1528 def addCertificate(self, **data): 1529 1529 self.redirect(self.url(self.context, 'addcertificate')) 1530 1530 return 1531 1531 1532 @ grok.action('Cancel', validator=NullValidator)1532 @action('Cancel', validator=NullValidator) 1533 1533 def cancel(self, **data): 1534 1534 self.redirect(self.url(self.context)) 1535 1535 return 1536 1536 1537 @ grok.action('Add local role', validator=NullValidator)1537 @action('Add local role', validator=NullValidator) 1538 1538 def addLocalRole(self, **data): 1539 1539 return add_local_role(self, 4, **data) 1540 1540 1541 @ grok.action('Remove selected local roles')1541 @action('Remove selected local roles') 1542 1542 def delLocalRoles(self, **data): 1543 1543 return del_local_roles(self,4,**data) … … 1557 1557 return self.context.longtitle() 1558 1558 1559 @ grok.action('Add course')1559 @action('Add course') 1560 1560 def addCourse(self, **data): 1561 1561 course = createObject(u'waeup.Course') … … 1579 1579 self.redirect(self.url(self.context, u'@@manage')+'#tab-2') 1580 1580 1581 @ grok.action('Cancel', validator=NullValidator)1581 @action('Cancel', validator=NullValidator) 1582 1582 def cancel(self, **data): 1583 1583 self.redirect(self.url(self.context)) … … 1598 1598 return self.context.longtitle() 1599 1599 1600 @ grok.action('Add certificate')1600 @action('Add certificate') 1601 1601 def addCertificate(self, **data): 1602 1602 certificate = createObject(u'waeup.Certificate') … … 1621 1621 return 1622 1622 1623 @ grok.action('Cancel', validator=NullValidator)1623 @action('Cancel', validator=NullValidator) 1624 1624 def cancel(self): #, **data): 1625 1625 self.redirect(self.url(self.context)) … … 1657 1657 return 'Course: %s (%s)' % (self.context.title, self.context.code) 1658 1658 1659 @ grok.action('Save')1659 @action('Save', style='primary') 1660 1660 def save(self, **data): 1661 1661 self.applyData(self.context, **data) 1662 1662 return 1663 1663 1664 @ grok.action('Save and return')1664 @action('Save and return') 1665 1665 def saveAndReturn(self, **data): 1666 1666 self.applyData(self.context, **data) … … 1668 1668 return 1669 1669 1670 @ grok.action('Cancel', validator=NullValidator)1670 @action('Cancel', validator=NullValidator) 1671 1671 def cancel(self, **data): 1672 1672 self.redirect(self.url(self.context)) … … 1731 1731 form_fields = grok.AutoFields(ICertificate) 1732 1732 1733 @ grok.action('Save')1733 @action('Save', style='primary') 1734 1734 def save(self, **data): 1735 1735 self.applyData(self.context, **data) … … 1741 1741 return 1742 1742 1743 @ grok.action('Add course referrer', validator=NullValidator)1743 @action('Add course referrer', validator=NullValidator) 1744 1744 def addCertificateCourse(self, **data): 1745 1745 self.redirect(self.url(self.context, 'addcertificatecourse')) 1746 1746 return 1747 1747 1748 @ grok.action('Cancel', validator=NullValidator)1748 @action('Cancel', validator=NullValidator) 1749 1749 def cancel(self, **data): 1750 1750 self.redirect(self.url(self.context)) … … 1765 1765 return get_users_with_local_roles(self.context) 1766 1766 1767 @ grok.action('Add local role', validator=NullValidator)1767 @action('Add local role', validator=NullValidator) 1768 1768 def addLocalRole(self, **data): 1769 1769 return add_local_role(self, 3, **data) 1770 1770 1771 @ grok.action('Remove selected local roles')1771 @action('Remove selected local roles') 1772 1772 def delLocalRoles(self, **data): 1773 1773 return del_local_roles(self,3,**data) … … 1788 1788 return "Certificate: %s (%s)" % (self.context.title, self.context.code) 1789 1789 1790 @ grok.action('Add course referrer')1790 @action('Add course referrer') 1791 1791 def addCertcourse(self, **data): 1792 1792 try: … … 1798 1798 self.redirect(self.url(self.context, u'@@manage')+'#tab-2') 1799 1799 1800 @ grok.action('Cancel', validator=NullValidator)1800 @action('Cancel', validator=NullValidator) 1801 1801 def cancel(self, **data): 1802 1802 self.redirect(self.url(self.context)) … … 1838 1838 return 'Course Referrer: %s' % (self.context.__name__) 1839 1839 1840 @ grok.action('Save and return')1840 @action('Save and return') 1841 1841 def saveAndReturn(self, **data): 1842 1842 parent = self.context.__parent__ … … 1853 1853 return 1854 1854 1855 @ grok.action('Cancel', validator=NullValidator)1855 @action('Cancel', validator=NullValidator) 1856 1856 def cancel(self, **data): 1857 1857 self.redirect(self.url(self.context)) -
main/waeup.sirp/trunk/src/waeup/sirp/browser/resources.py
r7328 r7459 140 140 toggleall = ResourceInclusion(waeup_sirp, 'toggleall.js') 141 141 142 #: A resource that binds jQueryUItabs to <div> tags with class142 #: A resource that binds Bootstrap tabs to <div> tags with class 143 143 #: ``tabs``. 144 144 #: 145 #: If you want jQuery tabs for some <div>s in your page then you145 #: If you want Bootstrap tabs in your page then you 146 146 #: have to perform two steps: 147 147 #: … … 159 159 #: into the HTML page generated. 160 160 #: 161 #: * In your HTML code add some ``<div>`` tag with ``class`` set to 162 #: ``tabs``, like this: 161 #: * In your HTML code add some tags with like this: 163 162 #: 164 163 #: .. code-block:: html 165 #: 166 #: <div id="tabs"> 167 #: <ul> 168 #: <li><a href="#tab-1"><span>Tab 1 Heading</span></a></li> 169 #: <li><a href="#tab-2"><span>Tab 2 Heading</span></a></li> 170 #: </ul> 171 #: <div id="tab-1"> 172 #: Content of tab 1 173 #: </div> 174 #: <div id="tab-2"> 175 #: Content of tab 2 176 #: </div> 177 #: </div> 164 165 #: <ul class="tabs" data-tabs="tabs" > 166 #: <li class="active"><a href="#tab-1">Tab 1 Heading</a></li> 167 #: <li><a href="#tab-2">Tab 2 Heading</a></li> 168 #: <li><a href="#tab-3">Tab 3 Heading</a></li> 169 #: </ul> 170 171 #: <div class="tab-content"> 172 #: <div id="tab-1" class="active">...</div> 173 #: <div id="tab-2">...</div> 174 #: <div id="tab-3">...</div> 175 #: </div> 178 176 #: 179 177 #: When the HTML is rendered, clicking into one of the tabs will make 180 178 #: other <div>s disappear. See 181 179 #: 182 #: http:// jqueryui.com/demos/tabs/180 #: http://twitter.github.com/bootstrap/javascript.html#tabs 183 181 #: 184 182 #: for details. 185 183 #: 186 tabs = ResourceInclusion(waeup_sirp, 'tabs.js', 187 depends=[jquery, jqueryui]) 184 tabs = ResourceInclusion(waeup_sirp, 'bootstrap-tabs-1.4.0.js', 185 depends=[jquery]) 186 188 187 189 188 #: Resource that makes datatables for jQuery UI available. … … 249 248 depends=[datatables, datatables_css]) 250 249 251 #: Register basic YUI based CSSas a resource.252 reset_fonts_grids= ResourceInclusion(253 waeup_sirp, ' yuirfg.css')254 255 yuiapp_css= ResourceInclusion(256 waeup_sirp, ' yuiapp.css',257 depends=[ reset_fonts_grids])258 259 #: Register basic SIRP base CSS (which is based on ``yuiapp.css`` as a260 #: resource.250 #: Register Twitter's Bootsrap css including dropdown js as a resource. 251 bootstrap_min = ResourceInclusion( 252 waeup_sirp, 'bootstrap.min-1.4.0.css') 253 254 dropdown = ResourceInclusion( 255 waeup_sirp, 'bootstrap-dropdown-1.4.0.js', 256 depends=[jquery]) 257 258 #: Register basic SIRP CSS (which is based on ``bootstrap.min-1.4.0.css`` 259 #: and ``base`` as a resource. 261 260 waeup_base_css = ResourceInclusion( 262 261 waeup_sirp, 'waeup-base.css', 263 depends=[yuiapp_css, base]) 264 265 #: The red SIRP theme registered as a resource. 266 waeuptheme_red1 = ResourceInclusion( 267 waeup_sirp, 'waeuptheme-red1.css', 268 depends=[waeup_base_css]) 269 270 #: The gray SIRP theme registered as a resource. 271 waeuptheme_gray1 = ResourceInclusion( 272 waeup_sirp, 'waeuptheme-gray1.css', 273 depends=[waeup_base_css]) 262 depends=[dropdown,bootstrap_min, base]) 274 263 275 264 #: A basic theme based on jQuery only (crappy yet). -
main/waeup.sirp/trunk/src/waeup/sirp/browser/static/mobile.css
r6690 r7459 1 #primary-navigation li a { 2 font-size:100%; 3 padding-bottom: 0.5em; 4 padding-left: 0.5em; 5 padding-right: 0.5em; 6 padding-top: 0.5em; 1 .container { 2 width: 480px; 7 3 } 8 4 9 #user-navigation li a { 10 font-size: 86%; 11 padding-bottom: 0.5em; 12 padding-left: 0.5em; 13 padding-right: 0.5em; 14 padding-top: 0.8em; 5 body { 6 padding-top: 60px; 15 7 } 16 8 17 #hd { 18 padding-left:0.3em; 19 padding-right:0.3em; 9 select { 10 width: 60px; 20 11 } 21 12 22 #bd { 23 padding:0.6em; 13 .dataTables_length { 14 float: left; 15 width: 40%; 24 16 } 17 18 .dataTables_filter { 19 float: right; 20 text-align: right; 21 width: 60%; 22 } -
main/waeup.sirp/trunk/src/waeup/sirp/browser/static/waeup-base.css
r7321 r7459 1 1 /* This is the base stylesheet for SIRP. It defines base styles 2 additionally or modifying yuiapp.css styles and yuirfg.css. For themes, please create2 additionally or modifying Bootstrap styles. For themes, please create 3 3 a stylesheet overriding values set here in a file named 4 4 'waeuptheme-<SOME-NAME>.css' and include a utility and a resource in theming.py 5 5 and resources.py respectively. */ 6 6 7 #hd { background-color:#003366; } 8 .block .hd { background-color:#003366; color:#fff; border-bottom:10px solid #262626; } 9 .block .bd h1 { font-size:153.9%; color:green; margin-bottom:0.5em;} 10 .block .bd h2 { font-size:153.9%; color:#003366; margin-bottom:0.5em;} 11 .block .bd h3 { font-size:130%; color:#003366; margin-bottom:0.5em;} 12 .spaces .hd { background-color:transparent; } 13 .spaces .hd ul li { background-color:#003366; } 14 a { color:#003366; } 15 .tabs .hd ul li a:hover { background-color:#8d0399; } 7 /* bootstrap.min customizations */ 16 8 17 /***** Henrik Stuff *****/ 18 19 .breadcrumbs { 20 background-color: #fff; 21 padding: 3px; 22 margin-bottom: 1.3em 9 body { 10 padding-top: 56px; 11 background-color: #EEEEEE; 23 12 } 24 13 25 a, table td a{26 text-decoration: none;14 .container-fluid>.sidebar { 15 width: 165px; 27 16 } 28 17 29 a:hover { 30 text-decoration: underline; 18 .container-fluid > .content { 19 margin-left: 180px; 20 } 21 22 .well { 23 border: 0px; 24 background-color: #FFFFFF; 25 padding-bottom: 12px; 26 padding-left: 12px; 27 padding-right: 12px; 28 padding-top: 12px; 29 } 30 31 .content { 32 background-color: #FFFFFF; 33 margin-left: -20px; 34 margin-right: -20px; 35 padding-bottom: 16px; 36 padding-left: 20px; 37 padding-right: 20px; 38 padding-top: 16px; 39 border-top-left-radius: 3px; 40 border-top-right-radius: 3px; 41 } 42 43 .container { 44 width: 700px; 45 } 46 47 h2 { 48 margin-bottom: 12px; 49 } 50 51 .breadcrumb { 52 margin-left: 20px; 53 margin-right: 20px; 54 margin-bottom: 14px; 55 padding-left: 20px; 56 padding-right: 20px; 57 width: 940px; 58 background-color: #FFFFFF; 59 background-image: None; 60 border: 0px; 61 border-top-left-radius: 3px; 62 border-top-right-radius: 3px; 63 border-bottom-left-radius: 3px; 64 border-bottom-right-radius: 3px; 65 } 66 67 68 select { 69 width: 180px; 70 } 71 72 /* IE doesn't like the footer tag*/ 73 .footer { 74 padding-top: 17px; 75 border-top: 1px solid #eee; 76 margin-top: 50px; 77 } 78 79 /* dataTables stuff */ 80 81 .dataTables_wrapper { 82 min-height: 50px; 83 margin-bottom: 50px; 84 } 85 86 .dataTables_filter { 87 margin-bottom: 20px; 88 } 89 90 /* SIRP stuff */ 91 92 .actionbar { 93 margin-bottom: 16px; 94 } 95 96 .error { 97 color: red; 98 } 99 100 .form-table { 101 width: 100%; 102 } 103 104 .form-table td { 105 padding: 5px 5px 4px; 106 border-top: none; 107 } 108 109 .fieldname { 110 width: 25%; 31 111 } 32 112 … … 38 118 padding: 4px; 39 119 margin-bottom: 8px; 120 line-height: 16px; 40 121 } 41 122 42 .form-status { 43 border:1px solid #fbb; 44 background-color:#fdd; 45 text-align:center; 46 padding: 2px; 123 .student-info-bar{ 124 padding: 7px 14px; 125 margin-left: -20px; 126 margin-right: -20px; 127 margin-bottom: 14px; 128 padding-left: 20px; 129 padding-right: 20px; 130 width: 700px; 131 background-color: #FFFFFF; 132 background-image: None; 133 border: 0px; 134 border-top-left-radius: 3px; 135 border-top-right-radius: 3px; 136 border-bottom-left-radius: 3px; 137 border-bottom-right-radius: 3px; 47 138 } 48 139 49 . hint{50 color: #CD0A0A;51 padding-left: 4px;140 .student-info-bar li { 141 display: inline; 142 text-shadow: 0 1px 0 #ffffff; 52 143 } 53 54 55 .block { 56 margin-bottom: 0.5em; 144 .student-info-bar .divider { 145 padding: 0 5px; 146 color: #bfbfbf; 57 147 } 58 59 .block .bd { 60 padding-bottom: 1em; 148 .student-info-bar .active a { 149 color: #404040; 61 150 } 62 63 .actionButtons {64 padding-top: 1em;65 }66 67 151 .wfstatus { 68 152 float: right; 153 line-height: 18px; 69 154 } 70 71 .studentmenu {72 text-align: left;73 line-height: 2;74 }75 76 .error {77 border:0px78 }79 80 /* Define different styles for headlines in rendered restructured text */81 82 #rest h1 {83 font-size:130%;84 }85 86 #rest h2 {87 font-size:100%;88 }89 90 #rest h3 {91 font-size:100%;92 }93 94 95 #rest h4 {96 font-size:100%;97 }98 99 /* jquery-ui customizations */100 101 .ui-corner-all, .ui-corner-top {102 -moz-border-radius-bottomleft: 0px;103 -moz-border-radius-bottomright: 0px;104 -moz-border-radius-topleft: 7px;105 -moz-border-radius-topright: 7px;106 }107 108 .ui-widget {109 font-family: Verdana,Arial,sans-serif;110 font-size: 100%;111 }112 113 .ui-tabs .ui-tabs-nav li a:hover {114 text-decoration: underline;115 }116 117 .dataTables_wrapper {118 min-height: 100px;119 }120 121 .dataTables_info {122 padding-top: 15px;123 float: None;124 }125 126 .dataTables_paginate {127 padding-top: 15px;128 }129 130 131 /***** Uli Stuff *****/132 133 /* Make YUI button icons appear vertically centered... */134 .yui-skin-sam .yui-button a img {135 vertical-align: middle;136 margin-right: 3px;137 margin-top: -1px;138 margin-left: -2px;139 }140 141 /* Fix logo image height: as image is taller than h1 text, header area142 explodes otherwise */143 #logo img {144 margin-top: -45px;145 position: relative;146 top: 12px;147 }148 149 .actionbar {150 margin-top: -18px;151 margin-bottom: 18px;152 }153 154 /* Form labels */155 form label, form label span {156 color: #333;157 font-weight: bold;158 font-size: 100%;159 }160 161 /* Fixes to let tables appear correctly... */162 table, tr, th, td {font-family: arial,sans-serif;}163 164 /* Odd and even table rows */165 tr.even,166 .yui-skin-sam tr.yui-dt-even {167 background-color: #fff;168 }169 tr.odd,170 .yui-skin-sam tr.yui-dt-odd {171 background-color: #eee;172 }173 174 /* unselected paginator page numbers */175 .yui-skin-sam .yui-pg-pages a.yui-pg-page {176 background-color: #fff;177 color: #000;178 text-decoration: none;179 border: 1px solid #000;180 padding-left: 5px;181 }182 183 /* selected paginator page, hover for unselected pages */184 .yui-skin-sam .yui-pg-pages a.yui-pg-page:hover,185 .yui-skin-sam span.yui-pg-page {186 background-color: #000;187 color: #fff;188 }189 190 /* paginator prev, next, etc. links */191 .yui-skin-sam .yui-dt .yui-dt-paginator a.yui-pg-first,192 .yui-skin-sam .yui-dt .yui-dt-paginator a.yui-pg-previous,193 .yui-skin-sam .yui-dt .yui-dt-paginator a.yui-pg-last,194 .yui-skin-sam .yui-dt .yui-dt-paginator a.yui-pg-next {195 color: #000;196 text-decoration: none;197 background-color: #fff;198 }199 200 /* Header row */201 th .yui-dt-liner {202 color: #fff;203 background: #000 url();204 }205 206 /* Header cells text, when not selected */207 .yui-skin-sam .yui-dt th, .yui-skin-sam .yui-dt th a {208 font-weight: bold;209 color: #fff;210 }211 212 /* Sortable header cells, when selected */213 .yui-skin-sam th.yui-dt-desc .yui-dt-liner .yui-dt-sortable,214 .yui-skin-sam th.yui-dt-asc .yui-dt-liner .yui-dt-sortable {215 color: #000;216 }217 218 /* Action buttons */219 220 .yui-button {221 display: -moz-inline-box;222 display: inline-block;223 vertical-align: text-bottom;224 }225 .yui-button .first-child {226 display: block;227 *display: inline-block;228 }229 .yui-button button, .yui-button a {230 display: block;231 *display: inline-block;232 border: none;233 margin: 0;234 }235 .yui-button button {236 background-color: transparent;237 *overflow: visible;238 cursor: pointer;239 }240 .yui-button a {241 text-decoration: none;242 }243 .yui-skin-sam .yui-button {244 border-width: 1px 0;245 border-style: solid;246 border-color: #808080;247 background: url(sprite.png) repeat-x 0 0;248 margin: auto .25em;249 }250 .yui-skin-sam .yui-button .first-child {251 border-width: 0 1px;252 border-style: solid;253 border-color: #808080;254 margin: 0 -1px;255 _margin: 0;256 }257 .yui-skin-sam .yui-button button, .yui-skin-sam .yui-button a {258 padding: 0 10px;259 font-size: 93%;260 line-height: 2;261 *line-height: 1.7;262 min-height: 2em;263 *min-height: auto;264 color: #000;265 }266 .yui-skin-sam .yui-button a {267 *line-height: 1.875;268 *padding-bottom: 1px;269 }270 271 272 /* The follwing is stolen from jquery... */273 274 /* Interaction Cues275 ----------------------------------*/276 .ui-state-disabled { cursor: default !important; }277 278 279 /* Icons280 ----------------------------------*/281 282 /* states and images */283 .ui-icon { display: block;284 text-indent: -99999px; overflow: hidden;285 background-repeat: no-repeat; }286 287 /* states and images */288 .ui-icon { width: 16px; height: 16px; background-image: url(ui-icons_222222_256x240.png); }289 .ui-widget-content .ui-icon {background-image: url(ui-icons_222222_256x240.png); }290 .ui-widget-header .ui-icon {background-image: url(ui-icons_ffffff_256x240.png); }291 .ui-state-default .ui-icon { background-image: url(ui-icons_ef8c08_256x240.png); }292 .ui-state-hover .ui-icon, .ui-state-focus .ui-icon {background-image: url(ui-icons_ef8c08_256x240.png); }293 .ui-state-active .ui-icon {background-image: url(ui-icons_ef8c08_256x240.png); }294 .ui-state-highlight .ui-icon {background-image: url(ui-icons_228ef1_256x240.png); }295 .ui-state-error .ui-icon, .ui-state-error-text .ui-icon {background-image: url(ui-icons_e73434_256x240.png); }296 297 /* positioning */298 .ui-icon-carat-1-n { background-position: 0 0; }299 .ui-icon-carat-1-ne { background-position: -16px 0; }300 .ui-icon-carat-1-e { background-position: -32px 0; }301 .ui-icon-carat-1-se { background-position: -48px 0; }302 .ui-icon-carat-1-s { background-position: -64px 0; }303 .ui-icon-carat-1-sw { background-position: -80px 0; }304 .ui-icon-carat-1-w { background-position: -96px 0; }305 .ui-icon-carat-1-nw { background-position: -112px 0; }306 .ui-icon-carat-2-n-s { background-position: -128px 0; }307 .ui-icon-carat-2-e-w { background-position: -144px 0; }308 .ui-icon-triangle-1-n { background-position: 0 -16px; }309 .ui-icon-triangle-1-ne { background-position: -16px -16px; }310 .ui-icon-triangle-1-e { background-position: -32px -16px; }311 .ui-icon-triangle-1-se { background-position: -48px -16px; }312 .ui-icon-triangle-1-s { background-position: -64px -16px; }313 .ui-icon-triangle-1-sw { background-position: -80px -16px; }314 .ui-icon-triangle-1-w { background-position: -96px -16px; }315 .ui-icon-triangle-1-nw { background-position: -112px -16px; }316 .ui-icon-triangle-2-n-s { background-position: -128px -16px; }317 .ui-icon-triangle-2-e-w { background-position: -144px -16px; }318 .ui-icon-arrow-1-n { background-position: 0 -32px; }319 .ui-icon-arrow-1-ne { background-position: -16px -32px; }320 .ui-icon-arrow-1-e { background-position: -32px -32px; }321 .ui-icon-arrow-1-se { background-position: -48px -32px; }322 .ui-icon-arrow-1-s { background-position: -64px -32px; }323 .ui-icon-arrow-1-sw { background-position: -80px -32px; }324 .ui-icon-arrow-1-w { background-position: -96px -32px; }325 .ui-icon-arrow-1-nw { background-position: -112px -32px; }326 .ui-icon-arrow-2-n-s { background-position: -128px -32px; }327 .ui-icon-arrow-2-ne-sw { background-position: -144px -32px; }328 .ui-icon-arrow-2-e-w { background-position: -160px -32px; }329 .ui-icon-arrow-2-se-nw { background-position: -176px -32px; }330 .ui-icon-arrowstop-1-n { background-position: -192px -32px; }331 .ui-icon-arrowstop-1-e { background-position: -208px -32px; }332 .ui-icon-arrowstop-1-s { background-position: -224px -32px; }333 .ui-icon-arrowstop-1-w { background-position: -240px -32px; }334 .ui-icon-arrowthick-1-n { background-position: 0 -48px; }335 .ui-icon-arrowthick-1-ne { background-position: -16px -48px; }336 .ui-icon-arrowthick-1-e { background-position: -32px -48px; }337 .ui-icon-arrowthick-1-se { background-position: -48px -48px; }338 .ui-icon-arrowthick-1-s { background-position: -64px -48px; }339 .ui-icon-arrowthick-1-sw { background-position: -80px -48px; }340 .ui-icon-arrowthick-1-w { background-position: -96px -48px; }341 .ui-icon-arrowthick-1-nw { background-position: -112px -48px; }342 .ui-icon-arrowthick-2-n-s { background-position: -128px -48px; }343 .ui-icon-arrowthick-2-ne-sw { background-position: -144px -48px; }344 .ui-icon-arrowthick-2-e-w { background-position: -160px -48px; }345 .ui-icon-arrowthick-2-se-nw { background-position: -176px -48px; }346 .ui-icon-arrowthickstop-1-n { background-position: -192px -48px; }347 .ui-icon-arrowthickstop-1-e { background-position: -208px -48px; }348 .ui-icon-arrowthickstop-1-s { background-position: -224px -48px; }349 .ui-icon-arrowthickstop-1-w { background-position: -240px -48px; }350 .ui-icon-arrowreturnthick-1-w { background-position: 0 -64px; }351 .ui-icon-arrowreturnthick-1-n { background-position: -16px -64px; }352 .ui-icon-arrowreturnthick-1-e { background-position: -32px -64px; }353 .ui-icon-arrowreturnthick-1-s { background-position: -48px -64px; }354 .ui-icon-arrowreturn-1-w { background-position: -64px -64px; }355 .ui-icon-arrowreturn-1-n { background-position: -80px -64px; }356 .ui-icon-arrowreturn-1-e { background-position: -96px -64px; }357 .ui-icon-arrowreturn-1-s { background-position: -112px -64px; }358 .ui-icon-arrowrefresh-1-w { background-position: -128px -64px; }359 .ui-icon-arrowrefresh-1-n { background-position: -144px -64px; }360 .ui-icon-arrowrefresh-1-e { background-position: -160px -64px; }361 .ui-icon-arrowrefresh-1-s { background-position: -176px -64px; }362 .ui-icon-arrow-4 { background-position: 0 -80px; }363 .ui-icon-arrow-4-diag { background-position: -16px -80px; }364 .ui-icon-extlink { background-position: -32px -80px; }365 .ui-icon-newwin { background-position: -48px -80px; }366 .ui-icon-refresh { background-position: -64px -80px; }367 .ui-icon-shuffle { background-position: -80px -80px; }368 .ui-icon-transfer-e-w { background-position: -96px -80px; }369 .ui-icon-transferthick-e-w { background-position: -112px -80px; }370 .ui-icon-folder-collapsed { background-position: 0 -96px; }371 .ui-icon-folder-open { background-position: -16px -96px; }372 .ui-icon-document { background-position: -32px -96px; }373 .ui-icon-document-b { background-position: -48px -96px; }374 .ui-icon-note { background-position: -64px -96px; }375 .ui-icon-mail-closed { background-position: -80px -96px; }376 .ui-icon-mail-open { background-position: -96px -96px; }377 .ui-icon-suitcase { background-position: -112px -96px; }378 .ui-icon-comment { background-position: -128px -96px; }379 .ui-icon-person { background-position: -144px -96px; }380 .ui-icon-print { background-position: -160px -96px; }381 .ui-icon-trash { background-position: -176px -96px; }382 .ui-icon-locked { background-position: -192px -96px; }383 .ui-icon-unlocked { background-position: -208px -96px; }384 .ui-icon-bookmark { background-position: -224px -96px; }385 .ui-icon-tag { background-position: -240px -96px; }386 .ui-icon-home { background-position: 0 -112px; }387 .ui-icon-flag { background-position: -16px -112px; }388 .ui-icon-calendar { background-position: -32px -112px; }389 .ui-icon-cart { background-position: -48px -112px; }390 .ui-icon-pencil { background-position: -64px -112px; }391 .ui-icon-clock { background-position: -80px -112px; }392 .ui-icon-disk { background-position: -96px -112px; }393 .ui-icon-calculator { background-position: -112px -112px; }394 .ui-icon-zoomin { background-position: -128px -112px; }395 .ui-icon-zoomout { background-position: -144px -112px; }396 .ui-icon-search { background-position: -160px -112px; }397 .ui-icon-wrench { background-position: -176px -112px; }398 .ui-icon-gear { background-position: -192px -112px; }399 .ui-icon-heart { background-position: -208px -112px; }400 .ui-icon-star { background-position: -224px -112px; }401 .ui-icon-link { background-position: -240px -112px; }402 .ui-icon-cancel { background-position: 0 -128px; }403 .ui-icon-plus { background-position: -16px -128px; }404 .ui-icon-plusthick { background-position: -32px -128px; }405 .ui-icon-minus { background-position: -48px -128px; }406 .ui-icon-minusthick { background-position: -64px -128px; }407 .ui-icon-close { background-position: -80px -128px; }408 .ui-icon-closethick { background-position: -96px -128px; }409 .ui-icon-key { background-position: -112px -128px; }410 .ui-icon-lightbulb { background-position: -128px -128px; }411 .ui-icon-scissors { background-position: -144px -128px; }412 .ui-icon-clipboard { background-position: -160px -128px; }413 .ui-icon-copy { background-position: -176px -128px; }414 .ui-icon-contact { background-position: -192px -128px; }415 .ui-icon-image { background-position: -208px -128px; }416 .ui-icon-video { background-position: -224px -128px; }417 .ui-icon-script { background-position: -240px -128px; }418 .ui-icon-alert { background-position: 0 -144px; }419 .ui-icon-info { background-position: -16px -144px; }420 .ui-icon-notice { background-position: -32px -144px; }421 .ui-icon-help { background-position: -48px -144px; }422 .ui-icon-check { background-position: -64px -144px; }423 .ui-icon-bullet { background-position: -80px -144px; }424 .ui-icon-radio-off { background-position: -96px -144px; }425 .ui-icon-radio-on { background-position: -112px -144px; }426 .ui-icon-pin-w { background-position: -128px -144px; }427 .ui-icon-pin-s { background-position: -144px -144px; }428 .ui-icon-play { background-position: 0 -160px; }429 .ui-icon-pause { background-position: -16px -160px; }430 .ui-icon-seek-next { background-position: -32px -160px; }431 .ui-icon-seek-prev { background-position: -48px -160px; }432 .ui-icon-seek-end { background-position: -64px -160px; }433 .ui-icon-seek-first { background-position: -80px -160px; }434 .ui-icon-stop { background-position: -96px -160px; }435 .ui-icon-eject { background-position: -112px -160px; }436 .ui-icon-volume-off { background-position: -128px -160px; }437 .ui-icon-volume-on { background-position: -144px -160px; }438 .ui-icon-power { background-position: 0 -176px; }439 .ui-icon-signal-diag { background-position: -16px -176px; }440 .ui-icon-signal { background-position: -32px -176px; }441 .ui-icon-battery-0 { background-position: -48px -176px; }442 .ui-icon-battery-1 { background-position: -64px -176px; }443 .ui-icon-battery-2 { background-position: -80px -176px; }444 .ui-icon-battery-3 { background-position: -96px -176px; }445 .ui-icon-circle-plus { background-position: 0 -192px; }446 .ui-icon-circle-minus { background-position: -16px -192px; }447 .ui-icon-circle-close { background-position: -32px -192px; }448 .ui-icon-circle-triangle-e { background-position: -48px -192px; }449 .ui-icon-circle-triangle-s { background-position: -64px -192px; }450 .ui-icon-circle-triangle-w { background-position: -80px -192px; }451 .ui-icon-circle-triangle-n { background-position: -96px -192px; }452 .ui-icon-circle-arrow-e { background-position: -112px -192px; }453 .ui-icon-circle-arrow-s { background-position: -128px -192px; }454 .ui-icon-circle-arrow-w { background-position: -144px -192px; }455 .ui-icon-circle-arrow-n { background-position: -160px -192px; }456 .ui-icon-circle-zoomin { background-position: -176px -192px; }457 .ui-icon-circle-zoomout { background-position: -192px -192px; }458 .ui-icon-circle-check { background-position: -208px -192px; }459 .ui-icon-circlesmall-plus { background-position: 0 -208px; }460 .ui-icon-circlesmall-minus { background-position: -16px -208px; }461 .ui-icon-circlesmall-close { background-position: -32px -208px; }462 .ui-icon-squaresmall-plus { background-position: -48px -208px; }463 .ui-icon-squaresmall-minus { background-position: -64px -208px; }464 .ui-icon-squaresmall-close { background-position: -80px -208px; }465 .ui-icon-grip-dotted-vertical { background-position: 0 -224px; }466 .ui-icon-grip-dotted-horizontal { background-position: -16px -224px; }467 .ui-icon-grip-solid-vertical { background-position: -32px -224px; }468 .ui-icon-grip-solid-horizontal { background-position: -48px -224px; }469 .ui-icon-gripsmall-diagonal-se { background-position: -64px -224px; }470 .ui-icon-grip-diagonal-se { background-position: -80px -224px; }471 472 span.ui-icon {473 position: relative;474 float: left;475 margin-right: 4px;476 margin-bottom: 0pt;477 margin-left: -0pt;478 left: 0.2em;479 }480 a span.ui-icon {481 margin-top: 4px;482 } -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/actionbutton.pt
r6717 r7459 1 <span class="yui-button" tal:condition="viewlet/target_url"> 2 <span class="first-child"> 3 <a href="" 4 tal:attributes="href viewlet/target_url"> 5 <img src="" alt="edit" 6 tal:attributes="src viewlet/icon_url; 7 alt viewlet/alt"/> 8 <span tal:content="viewlet/text">TEXT</span></a> 9 </span> 10 </span> 1 <a class="btn actionbar" tal:condition="viewlet/target_url" 2 tal:attributes="href viewlet/target_url"> 3 <img src="" alt="edit" 4 tal:attributes="src viewlet/icon_url; 5 alt viewlet/alt"/> 6 <span tal:replace="viewlet/text">TEXT</span> 7 </a> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/breadcrumbs.pt
r5389 r7459 1 <div class="breadcrumbs"> 2 <span tal:repeat="item viewlet/getEntries"> 3 <a href="#" 4 tal:attributes="href item/url"> 5 <span tal:content="item/title"> 6 Entry 7 </span> 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> 8 5 </a> 9 <span tal:condition="not: repeat/item/end"> 10 > 11 </span> 12 </span> 13 </div> 6 <span tal:condition="not: repeat/item/end" class="divider">/</span> 7 </li> 8 </span> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatecoursepage.pt
r6008 r7459 1 1 <h2 tal:content="context/longtitle">TITLE</h2> 2 2 3 <table class=" zebra">3 <table class="form-table"> 4 4 <thead> 5 5 </thead> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatemanagepage.pt
r7335 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"><span>Settings</span></a></li> 17 <ul class="tabs" data-tabs="tabs"> 18 <li class="active"><a href="#tab-1"><span>Settings</span></a></li> 20 19 <li><a href="#tab-2"><span>Course Referrers</span></a></li> 21 20 <li><a href="#tab-3"><span>Local Roles</span></a></li> 22 21 </ul> 23 22 24 <div id="tab-1"> 25 <table class="zebra"> 23 <div class="tab-content"> 24 <div id="tab-1" class="active"> 25 <table class="form-table"> 26 <tbody> 27 <tal:block repeat="widget view/widgets"> 28 <tr> 29 <td class="fieldname"> 30 <span tal:condition="widget/required">*</span> 31 <span i18n:translate="" tal:content="widget/label">label</span>: 32 </td> 33 <td> 34 <span tal:content="structure widget"> 35 <input type="text" /> 36 </span> 37 <tal:error tal:condition="widget/error"> 38 <span tal:replace="structure widget/error">error</span> 39 </tal:error> 40 <tal:hint tal:condition="widget/hint"> 41 <span tal:content="structure widget/hint">hint</span> 42 </tal:hint> 43 </td> 44 </tr> 45 </tal:block> 46 </tbody> 47 </table> 48 <div tal:condition="view/availableActions"> 49 <span tal:repeat="action view/actions" 50 tal:omit-tag=""> 51 <input tal:condition="python:action.label in view.taboneactions" 52 tal:replace="structure action/render"/> 53 </span> 54 </div> 55 </div> 56 <div id="tab-2"> 57 <h3>Course Referrers</h3> 58 <table class="display dataTableManage"> 59 <thead> 60 <tr> 61 <th> </th><th>Level</th><th>Semester</th><th>Referrer</th><th>Course</th><th>Title</th> 62 <th>Mandatory</th> 63 </tr> 64 </thead> 26 65 <tbody> 27 <tal:block repeat="widget view/widgets"> 28 <tr> 29 <td class="label"> 30 <label tal:attributes="for widget/name"> 31 <span class="required" tal:condition="widget/required">*</span> 32 <span i18n:translate="" tal:content="widget/label">label</span>: 33 </label> 66 <tr tal:repeat="cc context/values" class="gradeC"> 67 <td> 68 <input type="checkbox" 69 name="val_id" 70 tal:attributes="value cc/__name__" /> 34 71 </td> 35 <td class="field">36 <span class="widget" tal:content="structure widget">37 <input type="text" />72 <td> 73 <span tal:content="cc/level"> 74 LEVEL 38 75 </span> 39 <tal:error tal:condition="widget/error"> 40 <span tal:replace="structure widget/error">error</span> 41 </tal:error> 42 <tal:hint tal:condition="widget/hint"> 43 <span class="hint" tal:content="structure widget/hint">hint</span> 44 </tal:hint> 76 </td> 77 <td tal:content="cc/course/semester">SEMESTER</td> 78 <td> 79 <a tal:attributes="href python: view.url(cc)" 80 tal:content="cc/__name__"> 81 REFERRER CODE 82 </a> 83 </td> 84 <td> 85 <a tal:attributes="href python:view.url(cc.course)" 86 tal:content="cc/course/code"> 87 COURSE CODE 88 </a> 89 </td> 90 <td> 91 <span tal:content="cc/course/title"> 92 COURSE TITLE 93 </span> 94 </td> 95 <td> 96 <span tal:content="cc/core_or_elective"> 97 MANDATORY 98 </span> 45 99 </td> 46 100 </tr> 47 </tal:block>48 101 </tbody> 49 </table> 50 <div class="actionButtons" tal:condition="view/availableActions"> 51 <span tal:repeat="action view/actions" 52 tal:omit-tag=""> 53 <input tal:condition="python:action.label in view.taboneactions" 54 tal:replace="structure action/render"/> 55 </span> 56 </div> 57 </div> 58 <div id="tab-2"> 59 <h3>Course Referrers</h3> 60 <table class="display dataTableManage"> 61 <thead> 62 <tr> 63 <th> </th><th>Level</th><th>Semester</th><th>Referrer</th><th>Course</th><th>Title</th> 64 <th>Mandatory</th> 102 </table> 103 <div tal:condition="view/availableActions"> 104 <span tal:repeat="action view/actions" 105 tal:omit-tag=""> 106 <input tal:condition="python:action.label in view.tabtwoactions" 107 tal:replace="structure action/render"/> 108 </span> 109 </div> 110 </div> 111 <div id="tab-3"> <br /> 112 <table class="display dataTableManage"> 113 <thead> 114 <tr> 115 <th> 116 </th> 117 <th>User Id 118 </th> 119 <th>Name 120 </th> 121 <th>Local Role 122 </th> 123 </tr> 124 </thead> 125 <tbody> 126 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 127 <input type="checkbox" name="role_id" tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 128 <td tal:content="entry/user_name"> USERNAME </td> 129 <td tal:content="entry/user_title"> USERTITLE </td> 130 <td tal:content="entry/local_role_title"> LOCAL ROLE </td> 131 </tr> 132 </tbody> 133 </table> 134 <div tal:condition="view/availableActions"> 135 <span tal:repeat="action view/actions" tal:omit-tag=""> 136 <input tal:condition="python:action.label in view.tabthreeactions1" tal:replace="structure action/render"/> 137 </span> 138 </div><br /><br /> 139 <table class="form-table"> 140 <tr> <td> 141 <select id="user" name="user"> 142 <option tal:repeat="user view/getUsers" tal:attributes="value user/name"> 143 <span tal:replace="user/val/title">USERTITLE 144 </span> 145 </option> 146 </select> </td> <td> 147 <select id="local_role" name="local_role"> 148 <option tal:repeat="localrole view/getLocalRoles" tal:attributes="value localrole/name"> 149 <span tal:replace="localrole/title">LOCALROLETITLE 150 </span> 151 </option> 152 </select> </td> <td> 153 <div tal:condition="view/availableActions"> 154 <span tal:repeat="action view/actions" tal:omit-tag=""> 155 <input tal:condition="python:action.label in view.tabthreeactions2" tal:replace="structure action/render"/> 156 </span> 157 </div> </td> 65 158 </tr> 66 </thead> 67 <tbody> 68 <tr tal:repeat="cc context/values"> 69 <td> 70 <input type="checkbox" 71 name="val_id" 72 tal:attributes="value cc/__name__" /> 73 </td> 74 <td> 75 <span tal:content="cc/level"> 76 LEVEL 77 </span> 78 </td> 79 <td tal:content="cc/course/semester">SEMESTER</td> 80 <td> 81 <a tal:attributes="href python: view.url(cc)" 82 tal:content="cc/__name__"> 83 REFERRER CODE 84 </a> 85 </td> 86 <td> 87 <a tal:attributes="href python:view.url(cc.course)" 88 tal:content="cc/course/code"> 89 COURSE CODE 90 </a> 91 </td> 92 <td> 93 <span tal:content="cc/course/title"> 94 COURSE TITLE 95 </span> 96 </td> 97 <td> 98 <span tal:content="cc/core_or_elective"> 99 MANDATORY 100 </span> 101 </td> 102 </tr> 103 </tbody> 104 </table> 105 <div class="actionButtons" tal:condition="view/availableActions"> 106 <span tal:repeat="action view/actions" 107 tal:omit-tag=""> 108 <input tal:condition="python:action.label in view.tabtwoactions" 109 tal:replace="structure action/render"/> 110 </span> 159 </table> 111 160 </div> 112 161 </div> 113 <div id="tab-3"> <br />114 <table class="display dataTableManage">115 <thead>116 <tr>117 <th> 118 </th>119 <th>User Id120 </th>121 <th>Name122 </th>123 <th>Local Role124 </th>125 </tr>126 </thead>127 <tbody>128 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeB"> <td>129 <input type="checkbox" name="role_id" tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td>130 <td tal:content="entry/user_name"> USERNAME </td>131 <td tal:content="entry/user_title"> USERTITLE </td>132 <td tal:content="entry/local_role_title"> LOCAL ROLE </td>133 </tr>134 </tbody>135 </table>136 <div class="actionButtons" tal:condition="view/availableActions">137 <span tal:repeat="action view/actions" tal:omit-tag="">138 <input tal:condition="python:action.label in view.tabthreeactions1" tal:replace="structure action/render"/>139 </span>140 </div><br /><br />141 <table class="zebra">142 <tr> <td>143 <select id="user" name="user">144 <option tal:repeat="user view/getUsers" tal:attributes="value user/name">145 <span tal:replace="user/val/title">USERTITLE146 </span>147 </option>148 </select> </td> <td>149 <select id="local_role" name="local_role">150 <option tal:repeat="localrole view/getLocalRoles" tal:attributes="value localrole/name">151 <span tal:replace="localrole/title">LOCALROLETITLE152 </span>153 </option>154 </select> </td> <td>155 <div tal:condition="view/availableActions">156 <span tal:repeat="action view/actions" tal:omit-tag="">157 <input tal:condition="python:action.label in view.tabthreeactions2" tal:replace="structure action/render"/>158 </span>159 </div> </td>160 </tr>161 </table>162 </div>163 </div>164 162 </form> 165 163 -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/certificatepage.pt
r6344 r7459 1 1 <h2 tal:content="context/longtitle">TITLE</h2> 2 2 3 <table class=" zebra">3 <table class="form-table"> 4 4 <thead> 5 5 </thead> … … 7 7 <tal:block repeat="widget view/widgets"> 8 8 <tr> 9 <td> 10 <label tal:attributes="for widget/name"> 11 <span i18n:translate="" 9 <td class="fieldname"> 10 <span i18n:translate="" 12 11 tal:content="widget/label">label</span>: 13 </label>14 12 </td> 15 <td class="field"tal:on-error="default">16 <div class="widget"tal:content="structure widget">13 <td tal:on-error="default"> 14 <div tal:content="structure widget"> 17 15 <input type="text" /> 18 16 </div> … … 33 31 </thead> 34 32 <tbody> 35 <tr tal:repeat="cc context/values" >33 <tr tal:repeat="cc context/values" class="gradeC"> 36 34 <td> 37 35 <span tal:content="cc/level"> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/configurationmanagepage.pt
r6916 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 <div class=" form-status" tal:define="status view/status" tal:condition="status"> Form Status:2 <div class="alert-message error" tal:define="status view/status" tal:condition="status"> Form Status: 3 3 <span i18n:translate="" tal:content="view/status"> Form status summary 4 4 </span> 5 5 </div> 6 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form" enctype="multipart/form-data"> 7 <div id="tabs"> 8 <ul> 9 <li> 6 <form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data"> 7 <ul class="tabs" data-tabs="tabs"> 8 <li class="active"> 10 9 <a href="#tab-1"> 11 10 <span>Site Settings … … 16 15 </li> 17 16 </ul> 18 <div id="tab-1"> 19 <table class="zebra"> 17 <div class="tab-content"> 18 <div id="tab-1" class="active"> 19 <table class="form-table"> 20 20 <tbody> 21 21 <tal:block repeat="widget view/widgets"> 22 22 <tr> 23 <td class="label"> 24 <label tal:attributes="for widget/name"> 25 <span class="required" tal:condition="widget/required">* 23 <td class="fieldname"> 24 <span tal:condition="widget/required">* 26 25 </span> 27 26 <span i18n:translate="" tal:content="widget/label">label 28 27 </span>: 29 </label></td>30 <td class="field">31 <span class="widget"tal:content="structure widget">28 </td> 29 <td> 30 <span tal:content="structure widget"> 32 31 <input type="text" /> 33 32 </span> … … 37 36 </tal:error> 38 37 <tal:hint tal:condition="widget/hint"> 39 <span class="hint"tal:content="structure widget/hint">hint38 <span tal:content="structure widget/hint">hint 40 39 </span> 41 40 </tal:hint> </td> … … 44 43 </tbody> 45 44 </table> 46 <div class="actionButtons"tal:condition="view/availableActions">45 <div tal:condition="view/availableActions"> 47 46 <span tal:repeat="action view/actions" tal:omit-tag=""> 48 <input tal:condition="python:action.label in view.taboneactions" tal:replace="structure action/render"/> 47 <input tal:condition="python:action.label in view.taboneactions" 48 tal:replace="structure action/render"/> 49 49 </span> 50 50 </div> … … 61 61 </thead> 62 62 <tbody> 63 <tr tal:repeat="entry view/getSessionConfigurations" class="grade B"> <td>63 <tr tal:repeat="entry view/getSessionConfigurations" class="gradeC"> <td> 64 64 <input type="checkbox" name="val_id" tal:attributes="value entry/name" /> </td> <td> 65 65 <a href="" tal:attributes="href entry/url" tal:content="entry/title">Name</a> </td> … … 67 67 </tbody> 68 68 </table> 69 <div class="actionButtons"tal:condition="view/availableActions">69 <div tal:condition="view/availableActions"> 70 70 <span tal:repeat="action view/actions" tal:omit-tag=""> 71 71 <input tal:condition="python:action.label in view.tabtwoactions" tal:replace="structure action/render"/> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/contactform.pt
r7227 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 21 21 tal:content="widget/label">Label 22 22 </div> 23 <div class="widget"tal:content="structure widget">23 <div tal:content="structure widget"> 24 24 Textbody 25 25 </div> … … 27 27 </tal:block> 28 28 29 <div class="actionButtons"tal:condition="view/availableActions">29 <div tal:condition="view/availableActions"> 30 30 <input tal:repeat="action view/actions" 31 31 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/coursepage.pt
r5946 r7459 1 1 <h2 tal:content="context/title">TITLE</h2> 2 2 3 <table class=" listing">3 <table class="form-table"> 4 4 <thead> 5 5 </thead> 6 6 <tbody> 7 <tr class="odd">7 <tr> 8 8 <td>Code:</td> 9 9 <td tal:content="context/__name__">CODE</td> 10 10 </tr> 11 <tr class="even">11 <tr> 12 12 <td>Title:</td> 13 13 <td tal:content="context/title">THE TITLE</td> 14 14 </tr> 15 <tr class="odd">15 <tr> 16 16 <td>Credits:</td> 17 17 <td tal:content="context/credits">CREDITS</td> 18 18 </tr> 19 <tr class="even">19 <tr> 20 20 <td>Passmark:</td> 21 21 <td tal:content="context/passmark">PASSMARK</td> 22 22 </tr> 23 <tr class="odd">23 <tr> 24 24 <td>Semester/Term:</td> 25 25 <td tal:content="context/semester">SEMESTER</td> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterimport1page.pt
r6908 r7459 16 16 </thead> 17 17 <tbody> 18 <tr tal:repeat="file view/getFiles" 19 tal:attributes="class python: repeat['file'].odd() and 'odd' or ''"> 18 <tr tal:repeat="file view/getFiles"> 20 19 <td> 21 <button type="submit" name="select" 20 <button type="submit" name="select" class="btn primary" 22 21 tal:attributes="value file/name">Select</button> 23 22 </td> … … 29 28 </tbody> 30 29 </table> 31 <input type="submit" name="cancel" value="Cancel" />30 <input type="submit" name="cancel" class="btn" value="Cancel" /> 32 31 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterimport2page.pt
r6908 r7459 13 13 </p> 14 14 <div> 15 <table class = "zebra"15 <table 16 16 tal:define="body view/getPreviewBody; 17 17 headers view/getPreviewHeader; … … 19 19 <thead> 20 20 <tr> 21 <th style="border: 1px solid #888;" 22 tal:repeat="headerfield headers" 21 <th tal:repeat="headerfield headers" 23 22 tal:content="headerfield"> headerfield 24 23 </th> … … 28 27 <tr tal:repeat="row body"> 29 28 <td tal:repeat="value row" 30 tal:content="value" 31 style="border: 1px solid #000;"> value 29 tal:content="value"> value 32 30 </td> 33 31 </tr> … … 62 60 </p> 63 61 </div> 64 <input type="submit" name="cancel" value="Cancel" />65 <input type="submit" name="back1" value="Back to step 1" />66 <input tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''"62 <input class="btn" type="submit" name="cancel" value="Cancel" /> 63 <input class="btn danger" type="submit" name="back1" value="Back to step 1" /> 64 <input class="btn primary" tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''" 67 65 type="submit" name="proceed" value="Proceed to step 3..." /> 68 66 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterimport3page.pt
r6908 r7459 1 <div class="alert-message success" tal:condition="not: view/getWarnings"> 2 Header fields OK 3 </div> 4 1 5 <h2 i18n:translate="" 2 6 tal:condition="view/label" … … 25 29 tal:attributes="value view/mode" /> 26 30 </p> 27 <div class="alert notice ui-state-info" tal:condition="not: view/getWarnings"> 28 <span class="ui-icon ui-icon-info">A</span> 29 Header fields OK 30 </div> 31 31 32 <div> 32 <table class = "zebra"33 <table class="condensed-table" 33 34 tal:define="body view/getPreviewBody; 34 35 headers view/headerfields; … … 36 37 <thead> 37 38 <tr> 38 <th style="border: 1px solid #888;" 39 tal:repeat="headerfield headers" 39 <th tal:repeat="headerfield headers" 40 40 tal:content="headerfield"> 41 41 headerfield … … 43 43 </tr> 44 44 <tr> 45 <th style="border: 1px solid #888; text-align=center;" 46 tal:repeat="headerfield headers"> 45 <th tal:repeat="headerfield headers"> 47 46 <i>change to:</i> 48 47 </th> 49 48 </tr> 50 49 <tr> 51 <th style="border: 1px solid #888;" 52 tal:repeat="headerfield headers"> 50 <th tal:repeat="headerfield headers"> 53 51 <select name="headerfield"> 54 52 <option tal:repeat="opt view/getPossibleHeaders" … … 65 63 <tr tal:repeat="row body"> 66 64 <td tal:repeat="value row" 67 tal:content="value" 68 style="border: 1px solid #000;"> 65 tal:content="value"> 69 66 value 70 67 </td> … … 74 71 </div> 75 72 76 <input type="submit" name="cancel" value="Cancel" />77 <input type="reset" name="reset" value="Reset" />78 <input type="submit" name="update" value="Set headerfields" />79 <br /> 80 <input type="submit" name="back2" value="Back to step 2" />81 <input tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''"73 <input class="btn" type="submit" name="cancel" value="Cancel" /> 74 <input class="btn" type="reset" name="reset" value="Reset" /> 75 <input class="btn" type="submit" name="update" value="Set headerfields" /> 76 <br /><br /> 77 <input class="btn danger" type="submit" name="back2" value="Back to step 2" /> 78 <input class="btn primary" tal:attributes="disabled python: view.getWarnings() and 'disabled' or ''" 82 79 type="submit" name="proceed" value="Perform import..." /> 83 80 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterimport4page.pt
r6908 r7459 18 18 </p> 19 19 <form method="POST"> 20 <input type="submit" name="finish" value="Back to data center" />21 <input type="submit" name="showlog" value="View processing log" />20 <input class="btn primary" type="submit" name="finish" value="Back to data center" /> 21 <input class="btn" type="submit" name="showlog" value="View processing log" /> 22 22 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterlogspage.pt
r6909 r7459 1 <h2 i18n:translate="" 2 tal:condition="view/label" 3 tal:content="view/label">Label</h2> 4 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 5 2 <div tal:define="files view/files"> 6 <p tal:condition="not: files"> 7 Currently no log files are available. 3 <p tal:condition="not: files">Currently no log files are available. 8 4 </p> 9 <table tal:condition="files" >5 <table tal:condition="files" class="condensed-table"> 10 6 <thead> 11 7 <tr> 12 <th></th><th>File</th><th>Date</th><th>Size</th> 8 <th> 9 </th> 10 <th>File 11 </th> 12 <th>Date 13 </th> 14 <th>Size 15 </th> 13 16 </tr> 14 17 </thead> 15 18 <tbody> 16 <tr tal:repeat="file files" 17 tal:attributes="class python: repeat['file'].odd() and 'odd' or 'even'"> 18 <td class="text-center"> 19 <form method="POST"> 20 <input type="submit" name="show" value="Show" /> 21 <input type="hidden" name="logname" 22 tal:attributes="value file/name" /> 23 </form> 24 </td> 25 <td tal:content="file/name">file.name</td> 26 <td tal:content="file/uploaddate">Fri Jan 15 17:44:25 2010</td> 27 <td tal:content="file/getSize">12 bytes</td> 19 <tr tal:repeat="file files" tal:attributes="class python: repeat['file'].odd() and 'odd' or 'even'"> 20 <td class="text-center"> 21 <form method="POST"> 22 <input type="submit" class="btn primary" name="show" value="Show" /> 23 <input type="hidden" name="logname" tal:attributes="value file/name" /> 24 </form></td> 25 <td tal:content="file/name">file.name</td> 26 <td tal:content="file/uploaddate">Fri Jan 15 17:44:25 2010</td> 27 <td tal:content="file/getSize">12 bytes</td> 28 28 </tr> 29 29 </tbody> 30 30 </table> 31 32 31 <form method="POST"> 33 <input type="submit" name="back" value="Back to Data Center" />32 <input type="submit" class="btn" name="back" value="Back to Data Center" /> 34 33 </form> 35 36 34 </div> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterlogsshowfilepage.pt
r4858 r7459 4 4 5 5 <form method="POST"> 6 <input type="submit" name="back" value="Back" />6 <input class="btn primary" type="submit" name="back" value="Back" /> 7 7 </form> 8 8 9 <div class="bd">9 <div> 10 10 <pre tal:content="view/filecontents"> 11 11 blah, blah … … 14 14 15 15 <form method="POST"> 16 <input type="submit" name="back" value="Back" />16 <input class="btn primary" type="submit" name="back" value="Back" /> 17 17 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacentermanagepage.pt
r6909 r7459 5 5 <form method="POST"> 6 6 <div> 7 <label for="newpath">Storage path:</label>7 Storage path: 8 8 <input type="text" name="newpath" 9 9 tal:attributes="value context/storage" /> 10 10 <br /><br /> 11 <div> 12 <input type="checkbox" name="move" checked="checked" /> 13 <label for="move">Copy existing data to new storage?</label> 14 </div> 15 <div> 16 <input type="checkbox" name="overwrite" checked="no" /> 17 <label for="overwrite">Overwrite contents in new location?</label> 18 </div> 19 <br /> 20 <input type="submit" name="save" value="Save" /> 21 <input type="reset" name="reset" value="Reset" /> 22 <input type="submit" name="cancel" value="Cancel" /> 11 Copy existing data to new storage? 12 <input type="checkbox" name="move" checked="checked" /> 13 <br /><br /> 14 Overwrite contents in new location? 15 <input type="checkbox" name="overwrite" checked="no" /> 16 <br /><br /> 17 <input class="btn primary" type="submit" name="save" value="Save" /> 18 <input class="btn" type="reset" name="reset" value="Reset" /> 19 <input class="btn" type="submit" name="cancel" value="Cancel" /> 23 20 </div> 24 21 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenterpage.pt
r4958 r7459 19 19 </thead> 20 20 <tbody> 21 <tr tal:repeat="file context/getFiles" 22 tal:attributes="class python: repeat['file'].odd() and 'odd' or 'even'"> 21 <tr tal:repeat="file context/getFiles"> 23 22 <td tal:content="file/name">thefilename</td> 24 23 <td tal:content="file/size">12 k</td> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/datacenteruploadpage.pt
r6908 r7459 5 5 <form method="post" enctype="multipart/form-data"> 6 6 <input type="file" name="uploadfile:file" /> 7 <br /><br /> 7 8 <div> 8 <input type="submit" name="SUBMIT" value="Upload" />9 <input type="submit" name="CANCEL" value="Cancel" />9 <input class="btn primary" type="submit" name="SUBMIT" value="Upload" /> 10 <input class="btn" type="submit" name="CANCEL" value="Cancel" /> 10 11 </div> 11 12 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/default_waeup_display_form.pt
r7384 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <table class=" zebra">5 <table class="form-table"> 6 6 <tbody> 7 7 <tal:block repeat="widget view/widgets"> 8 8 <tr> 9 <td class="fieldname" width="33%">9 <td class="fieldname"> 10 10 <tal:block content="widget/label"/>: 11 11 </td> … … 18 18 </tbody> 19 19 <tfoot> 20 <tr class="controls">20 <tr> 21 21 <td colspan="2" class="align-right"> 22 22 <input tal:repeat="action view/actions" -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/default_waeup_edit_form.pt
r7112 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 13 13 Form status summary 14 14 </span> 15 <ul tal:condition="view/errors">16 <li tal:repeat="error view/error_views">17 <span tal:replace="structure error">Error Type</span>18 </li>19 </ul>20 15 </div> 21 16 22 <table class=" zebra">17 <table class="form-table"> 23 18 <tbody> 24 19 <tal:block repeat="widget view/widgets"> 25 20 <tr> 26 <td class="label"> 27 <label tal:attributes="for widget/name"> 28 <span class="required" tal:condition="widget/required">*</span> 29 <span i18n:translate="" tal:content="widget/label">label</span>: 30 </label> 21 <td class="fieldname"> 22 <span tal:condition="widget/required">*</span> 23 <span i18n:translate="" tal:content="widget/label">label</span>: 31 24 </td> 32 <td class="field">33 <span class="widget"tal:content="structure widget">25 <td> 26 <span tal:content="structure widget"> 34 27 <input type="text" /> 35 28 </span> … … 38 31 </tal:error> 39 32 <tal:hint tal:condition="widget/hint"> 40 <span class="hint"tal:content="structure widget/hint">hint</span>33 <span tal:content="structure widget/hint">hint</span> 41 34 </tal:hint> 42 35 </td> … … 46 39 </tbody> 47 40 </table> 48 <div class="actionButtons"tal:condition="view/availableActions">41 <div tal:condition="view/availableActions"> 49 42 <input tal:repeat="action view/actions" 50 43 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/departmentmanagepage.pt
r7213 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 <div class=" form-status" tal:define="status view/status" tal:condition="status"> Form Status:2 <div class="alert-message error" tal:define="status view/status" tal:condition="status"> Form Status: 3 3 <span i18n:translate="" tal:content="view/status"> Form status summary 4 4 </span> 5 5 </div> 6 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form"enctype="multipart/form-data">7 < div id="tabs">8 < ul>9 <li>10 < a href="#tab-1">11 <span>Settings12 </span></a>13 </li>14 <li>15 <a href="#tab-2">Courses</a>16 </li>17 <li>18 <a href="#tab-3">Certificates</a>19 </li>20 <li>21 <a href="#tab-4">Local Roles</a>22 </li>23 </ul>24 <div id="tab-1" >25 <table class=" zebra">6 <form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data"> 7 <ul class="tabs" data-tabs="tabs"> 8 <li class="active"> 9 <a href="#tab-1"> 10 <span>Settings 11 </span></a> 12 </li> 13 <li> 14 <a href="#tab-2">Courses</a> 15 </li> 16 <li> 17 <a href="#tab-3">Certificates</a> 18 </li> 19 <li> 20 <a href="#tab-4">Local Roles</a> 21 </li> 22 </ul> 23 <div class="tab-content"> 24 <div id="tab-1" class="active"> 25 <table class="form-table"> 26 26 <tbody> 27 27 <tal:block repeat="widget view/widgets"> 28 28 <tr> 29 <td class="label"> 30 <label tal:attributes="for widget/name"> 31 <span class="required" tal:condition="widget/required">* 29 <td class="fieldname"> 30 <span tal:condition="widget/required">* 32 31 </span> 33 32 <span i18n:translate="" tal:content="widget/label">label 34 33 </span>: 35 </label></td>36 <td class="field">37 <span class="widget"tal:content="structure widget">34 </td> 35 <td> 36 <span tal:content="structure widget"> 38 37 <input type="text" /> 39 38 </span> … … 43 42 </tal:error> 44 43 <tal:hint tal:condition="widget/hint"> 45 <span class="hint"tal:content="structure widget/hint">hint44 <span tal:content="structure widget/hint">hint 46 45 </span> 47 46 </tal:hint> </td> … … 50 49 </tbody> 51 50 </table> 52 <div class="actionButtons"tal:condition="view/availableActions">51 <div tal:condition="view/availableActions"> 53 52 <span tal:repeat="action view/actions" tal:omit-tag=""> 54 53 <input tal:condition="python:action.label in view.taboneactions" tal:replace="structure action/render"/> … … 69 68 </thead> 70 69 <tbody> 71 <tr tal:repeat="entry view/getCourses" class="grade B"> <td>70 <tr tal:repeat="entry view/getCourses" class="gradeC"> <td> 72 71 <input type="checkbox" name="val_id" tal:attributes="value entry/name" /> </td> <td> 73 72 <a href="" tal:attributes="href entry/url" tal:content="entry/name">Name</a> </td> … … 76 75 </tbody> 77 76 </table> 78 <div class="actionButtons"tal:condition="view/availableActions">77 <div tal:condition="view/availableActions"> 79 78 <span tal:repeat="action view/actions" tal:omit-tag=""> 80 79 <input tal:condition="python:action.label in view.tabtwoactions" tal:replace="structure action/render"/> … … 95 94 </thead> 96 95 <tbody> 97 <tr tal:repeat="entry view/getCertificates" class="grade B"> <td>96 <tr tal:repeat="entry view/getCertificates" class="gradeC"> <td> 98 97 <input type="checkbox" name="val_id" tal:attributes="value entry/name" /> </td> <td> 99 98 <a href="" tal:attributes="href entry/url" tal:content="entry/name">Name</a> </td> … … 102 101 </tbody> 103 102 </table> 104 <div class="actionButtons"tal:condition="view/availableActions">103 <div tal:condition="view/availableActions"> 105 104 <span tal:repeat="action view/actions" tal:omit-tag=""> 106 105 <input tal:condition="python:action.label in view.tabthreeactions" tal:replace="structure action/render"/> … … 123 122 </thead> 124 123 <tbody> 125 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="grade B"> <td>124 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 126 125 <input type="checkbox" name="role_id" tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 127 126 <td tal:content="entry/user_name"> USERNAME </td> … … 131 130 </tbody> 132 131 </table> 133 <div class="actionButtons"tal:condition="view/availableActions">132 <div tal:condition="view/availableActions"> 134 133 <span tal:repeat="action view/actions" tal:omit-tag=""> 135 134 <input tal:condition="python:action.label in view.tabfouractions1" tal:replace="structure action/render"/> 136 135 </span> 137 136 </div> <br /><br /> 138 <table class=" zebra">137 <table class="form-table"> 139 138 <tr> <td> 140 139 <select id="user" name="user"> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/departmentpage.pt
r6461 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div id="tabs"> 6 <ul> 7 <li><a href="#tab-1"><span>Courses</span></a></li> 8 <li><a href="#tab-2"><span>Certificates</span></a></li> 9 </ul> 10 11 <div id="tab-1"> 5 <ul class="tabs" data-tabs="tabs"> 6 <li class="active"><a href="#tab-1"><span>Courses</span></a></li> 7 <li><a href="#tab-2"><span>Certificates</span></a></li> 8 </ul> 9 <div class="tab-content"> 10 <div id="tab-1" class="active"> 12 11 <br /> 13 12 <table class="display dataTable"> … … 18 17 </thead> 19 18 <tbody> 20 <tr tal:repeat="entry view/getCourses" 21 class="gradeB"> 19 <tr tal:repeat="entry view/getCourses" class="gradeC"> 22 20 <td> 23 21 <a href="" … … 42 40 </thead> 43 41 <tbody> 44 <tr tal:repeat="entry view/getCertificates" 45 class="gradeB"> 42 <tr tal:repeat="entry view/getCertificates" class="gradeC"> 46 43 <td> 47 44 <a href="" … … 55 52 </tbody> 56 53 </table> 57 <br /><br />58 54 </div> 59 55 </div> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultiescontainermanagepage.pt
r7333 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"> 20 <span tal:content="view/subunits">Contents</span> 21 </a></li> 22 </ul> 23 24 <div id="tab-1"> 25 <h3 tal:content="view/subunits">Faculties</h3> 26 <table class="zebra"> 27 <thead> 28 <tr> 29 <th> </th><th>Code</th><th>Title</th> 30 </tr> 31 </thead> 32 <tbody> 33 <tr tal:repeat="dep context/values"> 34 <td> 35 <input type="checkbox" 36 name="val_id" 37 tal:attributes="value dep/code" /> 38 </td> 39 <td> 40 <a tal:attributes="href python: view.url(dep)" 41 tal:content="dep/__name__"> 42 ID 43 </a> 44 </td> 45 <td> 46 <span tal:content="dep/title"> 47 ID 48 </span> 49 </td> 50 </tr> 51 </tbody> 52 </table> 53 <div class="actionButtons" tal:condition="view/availableActions"> 54 <span tal:repeat="action view/actions" 55 tal:omit-tag=""> 56 <input tal:condition="python:action.label in view.taboneactions" 57 tal:replace="structure action/render"/> 58 </span> 59 </div> 60 61 </div> 17 <table> 18 <thead> 19 <tr> 20 <th> </th><th>Code</th><th>Title</th> 21 </tr> 22 </thead> 23 <tbody> 24 <tr tal:repeat="dep context/values"> 25 <td> 26 <input type="checkbox" 27 name="val_id" 28 tal:attributes="value dep/code" /> 29 </td> 30 <td> 31 <a tal:attributes="href python: view.url(dep)" 32 tal:content="dep/__name__"> 33 ID 34 </a> 35 </td> 36 <td> 37 <span tal:content="dep/title"> 38 ID 39 </span> 40 </td> 41 </tr> 42 </tbody> 43 </table> 44 <div tal:condition="view/availableActions"> 45 <span tal:repeat="action view/actions" 46 tal:omit-tag=""> 47 <input tal:condition="python:action.label in view.taboneactions" 48 tal:replace="structure action/render"/> 49 </span> 62 50 </div> 63 51 </form> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultymanagepage.pt
r7213 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 <div class="form-status" tal:define="status view/status" tal:condition="status"> Form Status: 2 <div class="alert-message error" tal:define="status view/status" 3 tal:condition="status"> Form Status: 3 4 <span i18n:translate="" tal:content="view/status"> Form status summary 4 5 </span> 5 6 </div> 6 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form"enctype="multipart/form-data">7 < div id="tabs">8 < ul>9 <li>10 < a href="#tab-1">11 <span>Settings12 </span></a>13 </li>14 <li>15 < a href="#tab-2">16 <span tal:content="view/subunits">Contents17 </span> </a>18 </li>19 <li>20 < a href="#tab-3">21 <span>Local Roles22 </span></a>23 </li>24 </ul>25 <div id="tab-1" >26 <table class=" zebra">7 <form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data"> 8 <ul class="tabs" data-tabs="tabs"> 9 <li class="active"> 10 <a href="#tab-1"> 11 <span>Settings 12 </span></a> 13 </li> 14 <li> 15 <a href="#tab-2"> 16 <span tal:content="view/subunits">Contents 17 </span> </a> 18 </li> 19 <li> 20 <a href="#tab-3"> 21 <span>Local Roles 22 </span></a> 23 </li> 24 </ul> 25 <div class="tab-content"> 26 <div id="tab-1" class="active"> 27 <table class="form-table"> 27 28 <tbody> 28 29 <tal:block repeat="widget view/widgets"> 29 30 <tr> 30 <td class="label"> 31 <label tal:attributes="for widget/name"> 32 <span class="required" tal:condition="widget/required">* 33 </span> 34 <span i18n:translate="" tal:content="widget/label">label 35 </span>: 36 </label> </td> 37 <td class="field"> 38 <span class="widget" tal:content="structure widget"> 31 <td class="fieldname"> 32 <span tal:condition="widget/required">* 33 </span> 34 <span i18n:translate="" tal:content="widget/label">label 35 </span>: 36 </td> 37 <td> 38 <span tal:content="structure widget"> 39 39 <input type="text" /> 40 40 </span> … … 44 44 </tal:error> 45 45 <tal:hint tal:condition="widget/hint"> 46 <span class="hint"tal:content="structure widget/hint">hint46 <span tal:content="structure widget/hint">hint 47 47 </span> 48 48 </tal:hint> </td> … … 51 51 </tbody> 52 52 </table> 53 <div class="actionButtons"tal:condition="view/availableActions">53 <div tal:condition="view/availableActions"> 54 54 <span tal:repeat="action view/actions" tal:omit-tag=""> 55 <input tal:condition="python:action.label in view.taboneactions" tal:replace="structure action/render"/> 55 <input tal:condition="python:action.label in view.taboneactions" 56 tal:replace="structure action/render"/> 56 57 </span> 57 58 </div> … … 59 60 <div id="tab-2"> 60 61 <h3 tal:content="view/subunits">Departments</h3> 61 <table class="zebra">62 <table> 62 63 <thead> 63 64 <tr> … … 72 73 <tbody> 73 74 <tr tal:repeat="dep context/values"> <td> 74 <input type="checkbox" name="val_id" tal:attributes="value dep/code" /> </td> <td> 75 <a tal:attributes="href python: view.url(dep)" tal:content="dep/__name__"> ID</a> </td> <td> 75 <input type="checkbox" name="val_id" 76 tal:attributes="value dep/code" /> </td> <td> 77 <a tal:attributes="href python: view.url(dep)" 78 tal:content="dep/__name__"> ID</a> </td> <td> 76 79 <span tal:content="dep/title">ID 77 80 </span> </td> … … 79 82 </tbody> 80 83 </table> 81 <div class="actionButtons"tal:condition="view/availableActions">84 <div tal:condition="view/availableActions"> 82 85 <span tal:repeat="action view/actions" tal:omit-tag=""> 83 <input tal:condition="python:action.label in view.tabtwoactions" tal:replace="structure action/render"/> 86 <input tal:condition="python:action.label in view.tabtwoactions" 87 tal:replace="structure action/render"/> 84 88 </span> 85 89 </div> … … 100 104 </thead> 101 105 <tbody> 102 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeB"> <td> 103 <input type="checkbox" name="role_id" tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 106 <tr tal:repeat="entry view/getUsersWithLocalRoles" class="gradeC"> <td> 107 <input type="checkbox" name="role_id" 108 tal:attributes="value python: entry['user_name']+'|'+entry['local_role']" /> </td> 104 109 <td tal:content="entry/user_name"> USERNAME </td> 105 110 <td tal:content="entry/user_title"> USERTITLE </td> … … 108 113 </tbody> 109 114 </table> 110 <div class="actionButtons"tal:condition="view/availableActions">115 <div tal:condition="view/availableActions"> 111 116 <span tal:repeat="action view/actions" tal:omit-tag=""> 112 <input tal:condition="python:action.label in view.tabthreeactions1" tal:replace="structure action/render"/> 117 <input tal:condition="python:action.label in view.tabthreeactions1" 118 tal:replace="structure action/render"/> 113 119 </span> 114 120 </div><br /><br /> 115 <table class=" zebra">121 <table class="form-table"> 116 122 <tr> <td> 117 123 <select id="user" name="user"> … … 122 128 </select> </td> <td> 123 129 <select id="local_role" name="local_role"> 124 <option tal:repeat="localrole view/getLocalRoles" tal:attributes="value localrole/name"> 130 <option tal:repeat="localrole view/getLocalRoles" 131 tal:attributes="value localrole/name"> 125 132 <span tal:replace="localrole/title">LOCALROLETITLE 126 133 </span> … … 129 136 <div tal:condition="view/availableActions"> 130 137 <span tal:repeat="action view/actions" tal:omit-tag=""> 131 <input tal:condition="python:action.label in view.tabthreeactions2" tal:replace="structure action/render"/> 138 <input tal:condition="python:action.label in view.tabthreeactions2" 139 tal:replace="structure action/render"/> 132 140 </span> 133 141 </div> </td> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/facultypage.pt
r5993 r7459 5 5 </div> 6 6 7 <table class="zebra">7 <table> 8 8 <thead> 9 9 <tr> … … 14 14 <tbody> 15 15 <tr tal:repeat="value context/values"> 16 <td> <a tal:attributes="href value/__name__"> <span tal:content="value/code">Name</span></a></td> 16 <td> <a tal:attributes="href value/__name__"> 17 <span tal:content="value/code">Name</span></a></td> 17 18 <td tal:content="value/longtitle">Title</td> 18 19 </tr> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/loginpage.pt
r7369 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 2 <form method="post"> 3 <table id="login" class="form "summary="Table for entering login information">3 <table id="login" class="form-table" summary="Table for entering login information"> 4 4 <tbody> 5 5 <tr> 6 <th> 7 <label for="form.login">User Name or Student Id 8 </label> 9 </th> <td> 10 <input type="text" id="login" name="form.login" size="20" /> </td> 6 <td class="fieldname"> 7 User Name or Student Id: 8 </td> 9 <td> 10 <input type="text" id="login" name="form.login" size="20" /> 11 </td> 11 12 </tr> 12 13 <tr> 13 <t h>14 <label for="form.password">Password15 </label>16 < /th><td>14 <td class="fieldname"> 15 Password: 16 </td> 17 <td> 17 18 <input type="password" id="password" name="form.password" size="20" value="" /> 18 19 … … 23 24 </table> 24 25 <input type="hidden" name="camefrom" tal:attributes="value view/camefrom" /> 25 <input type="submit" name="SUBMIT" value="Login" /><br /><br />26 <input class="btn primary" type="submit" name="SUBMIT" value="Login" /><br /><br /> 26 27 <p>Don't forget to logout or exit your browser when you're done. 27 28 If you are having trouble logging in, make sure to enable cookies in your web browser. -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/messages.pt
r6225 r7459 1 <ul> 2 <li 3 tal:repeat="message view/messages" 4 tal:attributes="class message/type" 5 tal:content="structure message/message">Sauron will arrive soon! 6 </li> 7 </ul> 1 <div 2 tal:repeat="message view/messages" 3 tal:attributes="class message/type" 4 tal:content="structure message/message">Sauron will arrive soon! 5 </div> 6 -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/myrolespage.pt
r7179 r7459 1 1 <h3 i18n:translate="">My Portal Roles:</h3> 2 <span tal:repeat="role view/getSiteRoles"> 3 <div tal:content="role" >ROLE</div> 4 </span> 5 <br /><br /> 2 <table class="form-table"> 3 <tr tal:repeat="role view/getSiteRoles"> 4 <td> 5 <div tal:content="role" >ROLE</div> 6 </td> 7 </tr> 8 </table> 9 6 10 <h3 i18n:translate="">My Local Roles:</h3> 7 <table >11 <table class="form-table"> 8 12 <tr tal:repeat="role view/getLocalRoles"> 9 13 <td valign="top" ><span tal:content="role" >ROLE</span>:</td> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/notfound.pt
r6190 r7459 3 3 </h2> 4 4 5 <div class="error"><b>Please note the following:</b></div>5 <div><b>Please note the following:</b></div> 6 6 <div> 7 7 <ol class="list"> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/plainactionbutton.pt
r7367 r7459 1 <span class="yui-button"tal:condition="viewlet/target_url">2 <span class="first-child">1 <span tal:condition="viewlet/target_url"> 2 <span> 3 3 <a href="" 4 4 tal:attributes="href viewlet/target_url"> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/searchpage.pt
r6460 r7459 3 3 <input type="text" name="query" 4 4 tal:attributes="value view/query" /> 5 <input type="submit" name="SUBMIT" value="Search" />5 <input class="btn primary" type="submit" name="SUBMIT" value="Search" /> 6 6 </form> 7 7 <br /> … … 31 31 </tbody> 32 32 </table> 33 <div class="actionButtons">34 </div>35 33 </span> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/staffsitelayout.pt
r6723 r7459 13 13 tal:attributes="title string:RSS feed of ${layout/getAppTitle}; 14 14 href python: view.url(layout.site, 'feed.rss')" /> 15 </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="#" tal:content="layout/getAppAcronym">Acronym</a> 21 <ul class="nav"> 22 <tal:primary_nav content="structure provider:primary_nav" /> 23 </ul> 24 <ul class="nav secondary-nav"> 25 <li tal:condition="not: layout/isAuthenticated"> 26 <a href="#" tal:attributes="href python: view.url(layout.site, 'login')"> 27 Login 28 </a> 29 </li> 30 <li tal:condition="layout/isAuthenticated"> 31 <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 32 Contact 33 </a> 34 </li> 35 <li tal:condition="layout/isAuthenticated"> 36 <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a> 37 </li> 38 </ul> 39 </div> 40 </div> 41 </div> 15 42 16 </head> 17 <body class="rounded yui-skin-sam"> 18 <div id="doc3" class="yui-t1"> 19 <div id="hd" role="banner"> 20 <div id="hd"> 21 <h1 id="logo"> 22 <a href="" tal:attributes="href view/application_url"> 23 <span class="uni-logo"> 24 </span> </a> 25 <span id="uni-title" tal:content="layout/getAppTitle"> Sample University 26 </span> </h1> 27 <div id="navigation" class="yui-navset" style="text-align:right;"> 28 <ul id="primary-navigation"> 29 <tal:primary_nav content="structure provider:primary_nav" /> 43 <ul class="breadcrumb"> 44 <tal:breadcrumbs 45 tal:condition="python: layout.isAuthenticated()" 46 tal:content="structure provider:breadcrumbs" /> 47 <span tal:condition="layout/getStudentName" class="wfstatus"> 48 Student Id: 49 <span tal:replace="python:context.getStudent().student_id">Id 50 </span> 51 State: 52 <span tal:replace="python:context.getStudent().state">State 53 </span> 54 </span> 55 </ul> 56 57 <div class="container-fluid"> 58 <div class="sidebar"> 59 <div class="well"> 60 <div tal:condition="layout/getStudentName"> 61 <h5 tal:content="layout/getStudentName">Student name</h5> 62 <ul> 63 <tal:left content="structure provider:left_studentmanage" /> 30 64 </ul> 31 <ul id="user-navigation"> 32 <li tal:condition="not: layout/isAuthenticated"> 33 <a href="#" tal:attributes="href python: view.url(layout.site, 'login')"> 34 Login 35 </a> 36 </li> 37 <li tal:condition="layout/isAuthenticated"> 38 <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 39 Contact 40 </a> 41 </li> 42 <li tal:condition="layout/isAuthenticated"> 43 <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a> 44 </li> 65 </div> 66 <div tal:condition="layout/isAuthenticated"> 67 <h5 tal:content="layout/getUserTitle">Username</h5> 68 <ul> 69 <tal:left content="structure provider:left" /> 45 70 </ul> 46 <div class="clear">47 </div>48 71 </div> 49 72 </div> 50 73 </div> 51 <div id="bd" role="main"> 52 <span tal:condition="python: layout.isAuthenticated()" 53 tal:content="structure provider:breadcrumbs" /> 54 55 <div class="yui-b"> 56 <div class="block" tal:condition="layout/getStudentName"> 57 <div class="hd"> 58 <h2 tal:content="layout/getStudentName">Student name</h2> 59 </div> 60 <div class="bd"> 61 <tal:left content="structure provider:left_studentmanage" /> 62 </div> 63 </div> 64 <div class="block" tal:condition="layout/isAuthenticated"> 65 <div class="hd"> 66 <h2 tal:content="layout/getUserTitle">Username</h2> 67 </div> 68 <div class="bd"> 69 <tal:left content="structure provider:left" /> 70 </div> 74 <div class="span13 content"> 75 <div 76 tal:define="message context/@@messages" 77 tal:condition="python: len(message)>11"> 78 <div tal:content="structure message"> 71 79 </div> 72 80 </div> 73 74 <div id="yui-main"> 75 <div class="yui-b"> 76 <div class="yui-g"> 77 <div class="block"> 78 <div class="hd" tal:condition="python: layout.isAuthenticated()"> 79 <span tal:content="view/title"> THE CONTENT TITLE </span> 80 <span tal:condition="layout/getStudentName" class="wfstatus"> 81 Sudent Id: <span tal:content="python:context.getStudent().student_id">Student Id</span> 82 83 State: <span tal:content="python:context.getStudent().state">State</span> 84 </span> 85 </div> 86 <div class="bd"> 87 <div class="actionbar"> 88 <tal:actionbar content="structure provider:actionbar" /> 89 </div> 90 <div class="alert warning ui-state-error" 91 tal:define="message context/@@messages" 92 tal:condition="python: len(message)>11"> 93 <span class="ui-icon ui-icon-alert">A 94 </span> 95 <span tal:content="structure message"> 96 </span> 97 </div> 98 <div tal:replace="structure view/content"> THE CONTENT 99 </div> 100 </div> 101 </div> 102 </div> 103 </div> 81 <span tal:replace="structure provider:actionbar" /> 82 <div tal:content="structure view/content"> THE CONTENT 104 83 </div> 105 106 </div> 107 <div id="ft" role="contentinfo"> 108 <p>Student Information and Registration Portal<br /> 109 Copyright © WAeUP Group, 2008-2011 110 </p> 84 <div class="footer"> 85 <p class="pull-right"><a href="#">Back to top</a></p> 86 <p> 87 Student Information and Registration Portal<br /> 88 Copyright © WAeUP Group, 2008-2012 89 </p> 90 </div> 111 91 </div> 112 92 </div> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/studentsitelayout.pt
r7240 r7459 10 10 <meta name="viewport" content="width=320, initial-scale=1, maximum-scale=1"/> 11 11 <link rel="stylesheet" media="only screen and (max-device-width: 480px)" 12 tal:attributes="href python: view.url(layout.site, '@@/waeup.sirp.browser/mobile.css')" type="text/css" /> 12 tal:attributes="href python: view.url(layout.site, '@@/waeup.sirp.browser/mobile.css')" 13 type="text/css" /> 13 14 <link rel="shortcut icon" tal:attributes="href static/favicon.ico" type="image/x-icon" /> 14 15 <link rel="alternate" type="application/rss+xml" title="RSS" … … 16 17 tal:attributes="title string:RSS feed of ${layout/getAppTitle}; 17 18 href python: view.url(layout.site, 'feed.rss')" /> 18 19 19 </head> 20 <body class="rounded yui-skin-sam"> 21 <div id="doc3" class="yui-t7"> 22 <div id="hd" role="banner"> 23 <div id="hd"> 24 <h1 id="logo"> 25 <a href="" tal:attributes="href view/application_url"> 26 <span class="uni-logo"> 27 </span> </a> 28 <span id="uni-title" tal:content="layout/getAppTitle"> Sample University 29 </span> </h1> 30 <div id="navigation" class="yui-navset" style="text-align:right;"> 31 <ul id="primary-navigation"> 20 <body> 21 <div class="topbar" data-scrollspy="scrollspy" > 22 <div class="topbar-inner"> 23 <div class="container"> 24 <a class="brand" href="#" tal:content="layout/getAppAcronym">Acronym</a> 25 <ul class="nav"> 32 26 <tal:primary_nav content="structure provider:primary_nav" /> 33 27 <tal:primary_nav content="structure provider:primary_nav_student" /> 34 </ul> 35 <ul id="user-navigation"> 36 <li tal:condition="not: layout/isAuthenticated"> 37 <a href="#" tal:attributes="href python: view.url(layout.site, 'login')"> 38 Login 39 </a> 40 </li> 41 <li tal:condition="layout/isAuthenticated"> 42 <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 43 Contact 44 </a> 45 </li> 46 <li tal:condition="layout/isAuthenticated"> 47 <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a> 48 </li> 49 </ul> 50 <div class="clear"> 51 </div> 28 </ul> 29 <ul class="nav secondary-nav"> 30 <li tal:condition="not: layout/isAuthenticated"> 31 <a href="#" tal:attributes="href python: view.url(layout.site, 'login')"> 32 Login 33 </a> 34 </li> 35 <li tal:condition="layout/isAuthenticated"> 36 <a href="#" tal:attributes="href python: view.url(layout.site, '@@contactadmin')"> 37 Contact 38 </a> 39 </li> 40 <li tal:condition="layout/isAuthenticated"> 41 <a href="#" tal:attributes="href python: view.url(context, '@@logout')">Logout</a> 42 </li> 43 </ul> 44 </div> 45 </div> 46 </div> 47 <div class="container"> 48 <ul class="student-info-bar" tal:condition="layout/isAuthenticated"> 49 <tal:breadcrumbs 50 tal:condition="python: layout.isAuthenticated()" 51 tal:content="structure provider:breadcrumbs" /> 52 <span tal:condition="layout/getStudentName" class="wfstatus"> 53 Student Id: 54 <span tal:replace="python:context.getStudent().student_id">Id 55 </span> 56 State: 57 <span tal:replace="python:context.getStudent().state">State 58 </span> 59 </span> 60 </ul> 61 <div class="content"> 62 <div tal:define="message context/@@messages" 63 tal:condition="python: len(message)>11"> 64 <div tal:content="structure message"> 52 65 </div> 53 66 </div> 54 </div> 55 <div id="bd" role="main"> 56 57 <div class="yui-b"> 58 <div class="block" > 59 <div class="studentmenu"> 60 <div tal:condition="layout/getStudentName" 61 tal:replace="structure provider:top_student"> 62 Student Links 63 </div> 64 <div tal:content="structure provider:actionbar"> 65 Student Actions 66 </div> 67 </div> 68 </div> 67 <span tal:replace="structure provider:actionbar" /> 68 <div tal:content="structure view/content"> THE CONTENT 69 69 </div> 70 71 <div id="yui-main"> 72 <div class="yui-b"> 73 <div class="yui-g"> 74 <div class="block"> 75 <div class="bd"> 76 <div class="actionbar"> 77 <span tal:condition="layout/getStudentName" class="wfstatus"> 78 Id: 79 <span tal:replace="python:context.getStudent().student_id" 80 class="wfstatus">Id</span> 81 82 State: 83 <span tal:replace="python:context.getStudent().state" 84 class="wfstatus">State</span> 85 </span> 86 </div> 87 <div class="alert warning ui-state-error" 88 tal:define="message context/@@messages" 89 tal:condition="python: len(message)>11"> 90 <span class="ui-icon ui-icon-alert">A 91 </span> 92 <span tal:content="structure message"> 93 </span> 94 </div> 95 <div tal:replace="structure view/content"> THE CONTENT 96 </div> 97 </div> 98 </div> 99 </div> 100 </div> 70 <div class="footer"> 71 <p class="pull-right"><a href="#">Back to top</a></p> 72 <p> 73 Student Information and Registration Portal<br /> 74 Copyright © WAeUP Group, 2008-2012 75 </p> 101 76 </div> 102 103 </div>104 <div id="ft" role="contentinfo">105 <p>Student Information and Registration Portal<br />106 Copyright © WAeUP Group, 2008-2011107 </p>108 77 </div> 109 78 </div> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/subobjectlist.pt
r5936 r7459 8 8 </thead> 9 9 <tbody> 10 <tr tal:repeat="row viewletmanager/rows" 11 tal:attributes="class python: repeat['row'].odd() and 'odd' or 'even'"> 10 <tr tal:repeat="row viewletmanager/rows"> 12 11 <td tal:repeat="viewlet row"> 13 12 <div tal:replace="structure viewlet/render"> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/universitypage.pt
r6907 r7459 1 <h 2 tal:content="view/label">Title</h2>1 <h1 tal:content="view/label">Title</h1> 2 2 3 3 <span tal:replace="structure view/frontpage">Frontpage</span> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/usereditformpage.pt
r7149 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 20 20 </div> 21 21 22 <table class=" zebra">22 <table class="form-table"> 23 23 <tbody> 24 24 <tal:block repeat="widget view/widgets"> 25 25 <tr> 26 <td class="label"> 27 <label tal:attributes="for widget/name"> 28 <span class="required" tal:condition="widget/required">*</span> 29 <span i18n:translate="" tal:content="widget/label">label</span>: 30 </label> 26 <td class="fieldname"> 27 <span tal:condition="widget/required">*</span> 28 <span i18n:translate="" tal:content="widget/label">label</span>: 31 29 </td> 32 <td class="field">33 <span class="widget"tal:content="structure widget">30 <td> 31 <span tal:content="structure widget"> 34 32 <input type="text" /> 35 33 </span> … … 38 36 </tal:error> 39 37 <tal:hint tal:condition="widget/hint"> 40 <span class="hint"tal:content="structure widget/hint">hint</span>38 <span tal:content="structure widget/hint">hint</span> 41 39 </tal:hint> 42 40 </td> … … 44 42 </tal:block> 45 43 <tr> 46 <td class=" label"><label>Password:</label></td>44 <td class="fieldname">Password:</td> 47 45 <td> 48 46 <input name="password" type="password" /> … … 50 48 </tr> 51 49 <tr> 52 <td class=" label"><label>Retype password:</label></td>50 <td class="fieldname">Retype password:</td> 53 51 <td> 54 52 <input name="control_password" type="password" /> … … 58 56 </tbody> 59 57 </table> 60 <div class="actionButtons"tal:condition="view/availableActions">58 <div tal:condition="view/availableActions"> 61 59 <input tal:repeat="action view/actions" 62 60 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/browser/templates/userscontainerpage.pt
r7178 r7459 1 1 <h2>Portal Users</h2> 2 2 3 <p> 4 Here you can manage portal users. 5 </p> 6 7 <table class="zebra"> 3 <table> 8 4 <thead> 9 5 <tr> 10 6 <th>User ID</th> 11 7 <th>Name</th> 12 <th>Description</th>13 8 <th>Portal Roles</th> 14 9 <th>Local Roles</th> … … 20 15 <td tal:content="account/name">User name</td> 21 16 <td tal:content="account/title">Title</td> 22 <td tal:content="account/description">Description</td>23 17 <td tal:content="structure python:view.getSiteRoles(account)">SITE ROLES</td> 24 18 <td tal:content="structure python:view.getLocalRoles(account)">LOCAL ROLES</td> … … 27 21 <input type="hidden" name="userid" 28 22 tal:attributes="value account/name"/> 29 <input type="submit" name="manage" value="manage" />30 <input type="submit" name="delete" value="delete" />23 <input class="btn" type="submit" name="manage" value="manage" /> 24 <input class="btn" type="submit" name="delete" value="delete" /> 31 25 </form> 32 26 </td> -
main/waeup.sirp/trunk/src/waeup/sirp/browser/theming.py
r7321 r7459 26 26 from waeup.sirp.browser.interfaces import ITheme 27 27 from waeup.sirp.browser.resources import ( 28 waeuptheme_red1, waeuptheme_gray1, waeuptheme_empty, 29 waeup_base_css, 28 waeuptheme_empty, waeup_base_css, 30 29 ) 31 30 … … 39 38 return [waeup_base_css] 40 39 41 class SIRPThemeRed1(grok.GlobalUtility):42 grok.implements(ITheme)43 grok.name('red waeup theme')40 #class SIRPThemeRed1(grok.GlobalUtility): 41 # grok.implements(ITheme) 42 # grok.name('red waeup theme') 44 43 45 description = u"Uli's Red Theme"44 # description = u"Uli's Red Theme" 46 45 47 def getResources(self):48 return [waeuptheme_red1]46 # def getResources(self): 47 # return [waeuptheme_red1] 49 48 50 class SIRPThemeGray1(grok.GlobalUtility):51 grok.implements(ITheme)52 grok.name('gray waeup theme')49 #class SIRPThemeGray1(grok.GlobalUtility): 50 # grok.implements(ITheme) 51 # grok.name('gray waeup theme') 53 52 54 description = u"Henrik's Gray Theme"53 # description = u"Henrik's Gray Theme" 55 54 56 def getResources(self):57 return [waeuptheme_gray1]55 # def getResources(self): 56 # return [waeuptheme_gray1] 58 57 59 58 class SIRPThemeEmpty(grok.GlobalUtility): -
main/waeup.sirp/trunk/src/waeup/sirp/browser/viewlets.py
r7334 r7459 195 195 breadcrumbs = IBreadcrumbContainer(self.view) 196 196 for breadcrumb in breadcrumbs: 197 yield dict( 198 title = breadcrumb.title, 199 url = self.view.url(breadcrumb.context, breadcrumb.target) 200 ) 197 if breadcrumb.target: 198 yield dict( 199 title = breadcrumb.title, 200 url = self.view.url(breadcrumb.context, breadcrumb.target) 201 ) 201 202 202 203 … … 264 265 if self.url: 265 266 if self.icon_url: 266 return u'< div class="portlet"><a href="%s"><img src="%s" /> %s </a></div>' % (267 return u'<li><a href="%s"><img src="%s" /> %s </a></li>' % ( 267 268 self.url, self.icon_url, self.title) 268 269 else: 269 return u'< div class="portlet"><a href="%s">%s </a></div>' % (270 return u'<li><a href="%s">%s </a></li>' % ( 270 271 self.url, self.title) 271 272 else: … … 290 291 return '' 291 292 url = self.view.url(grok.getSite(), self.link) 292 return u'< div class="portlet"><a href="%s">%s</a></div>' % (293 return u'<li"><a href="%s">%s</a></li>' % ( 293 294 url, self.text) 294 295 … … 325 326 def render(self): 326 327 url = self.view.url(grok.getSite(), self.link) 327 return u'< div class="portlet"><a href="%s">%s</a></div>' % (328 return u'<li><a href="%s">%s</a></li>' % ( 328 329 url, self.text) 329 330 -
main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser.py
r7332 r7459 29 29 from waeup.sirp.browser.viewlets import ( 30 30 ManageActionButton, PrimaryNavTab) 31 from waeup.sirp.browser.layout import jsaction, JSAction31 from waeup.sirp.browser.layout import jsaction, action 32 32 from waeup.sirp.interfaces import ISIRPObject 33 33 from waeup.sirp.hostels.vocabularies import NOT_OCCUPIED … … 141 141 return 142 142 143 @ grok.action('Add hostel', validator=NullValidator)143 @action('Add hostel', validator=NullValidator) 144 144 def addSubunit(self, **data): 145 145 self.redirect(self.url(self.context, 'addhostel')) … … 158 158 pnav = 5 159 159 160 @ grok.action('Create hostel')160 @action('Create hostel') 161 161 def addHostel(self, **data): 162 162 hostel = Hostel() … … 230 230 return 231 231 232 @ grok.action('Save')232 @action('Save') 233 233 def save(self, **data): 234 234 msave(self, **data) 235 235 return 236 236 237 @ grok.action('Update all beds')237 @action('Update all beds') 238 238 def updateBeds(self, **data): 239 239 removed, added, modified, modified_beds = self.context.updateBeds() … … 245 245 return 246 246 247 @ grok.action('Switch reservation of selected beds')247 @action('Switch reservation of selected beds') 248 248 def switchReservations(self, **data): 249 249 form = self.request.form … … 273 273 return 274 274 275 @ grok.action('Release selected beds')275 @action('Release selected beds') 276 276 def releaseBeds(self, **data): 277 277 form = self.request.form … … 316 316 self.context.__parent__.hostel_name, co[1], co[2], co[3]) 317 317 318 @ grok.action('Save')318 @action('Save') 319 319 def save(self, **data): 320 320 msave(self, **data) -
main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containermanagepage.pt
r6959 r7459 1 1 <h2 i18n:translate="" tal:condition="view/label" tal:content="view/label">Label</h2> 2 <div class=" form-status" tal:define="status view/status" tal:condition="status"> Form Status:2 <div class="alert-message error" tal:define="status view/status" tal:condition="status"> Form Status: 3 3 <span i18n:translate="" tal:content="view/status"> Form status summary 4 4 </span> 5 5 </div> 6 <form action="." tal:attributes="action request/URL" method="POST" class="edit-form"enctype="multipart/form-data">7 <table class="zebra">6 <form action="." tal:attributes="action request/URL" method="POST" enctype="multipart/form-data"> 7 <table> 8 8 <thead> 9 9 <tr> … … 25 25 </tbody> 26 26 </table> 27 <div class="actionButtons"tal:condition="view/availableActions">27 <div tal:condition="view/availableActions"> 28 28 <span tal:repeat="action view/actions" tal:omit-tag=""> 29 29 <input tal:replace="structure action/render"/> -
main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/containerpage.pt
r6959 r7459 5 5 </div> 6 6 7 <table class="zebra">7 <table> 8 8 <thead> 9 9 <tr> -
main/waeup.sirp/trunk/src/waeup/sirp/hostels/browser_templates/hostelmanagepage.pt
r7068 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 18 18 19 19 <form action="." tal:attributes="action request/URL" method="POST" 20 class="edit-form"enctype="multipart/form-data">20 enctype="multipart/form-data"> 21 21 22 <div id="tabs"> 23 <ul> 24 <li><a href="#tab-1"><span>Hostel Data</span></a></li> 25 <li><a href="#tab-2"><span>Beds</span></a></li> 26 </ul> 22 <ul class="tabs" data-tabs="tabs"> 23 <li class="active"><a href="#tab-1"><span>Hostel Data</span></a></li> 24 <li><a href="#tab-2"><span>Beds</span></a></li> 25 </ul> 27 26 28 <div id="tab-1"> 29 <table class="zebra"> 27 <div class="tab-content"> 28 <div id="tab-1" class="active"> 29 <table class="form-table"> 30 30 <tbody> 31 31 <tal:block repeat="widget view/widgets"> 32 32 <tr> 33 <td class="label"> 34 <label tal:attributes="for widget/name"> 35 <span class="required" tal:condition="widget/required">*</span> 36 <span i18n:translate="" tal:content="widget/label">label</span>: 37 </label> 33 <td class="fieldname"> 34 <span class="required" tal:condition="widget/required">*</span> 35 <span i18n:translate="" tal:content="widget/label">label</span>: 38 36 </td> 39 <td class="field">37 <td> 40 38 <span class="widget" tal:content="structure widget"> 41 39 <input type="text" /> … … 45 43 </tal:error> 46 44 <tal:hint tal:condition="widget/hint"> 47 <span class="hint"tal:content="structure widget/hint">hint</span>45 <span tal:content="structure widget/hint">hint</span> 48 46 </tal:hint> 49 47 </td> … … 52 50 </tbody> 53 51 </table> 54 <div class="actionButtons"tal:condition="view/availableActions">52 <div tal:condition="view/availableActions"> 55 53 <span tal:repeat="action view/actions" 56 54 tal:omit-tag=""> … … 97 95 </table> 98 96 99 <div class="actionButtons"tal:condition="view/availableActions">97 <div tal:condition="view/availableActions"> 100 98 <span tal:repeat="action view/actions" 101 99 tal:omit-tag=""> -
main/waeup.sirp/trunk/src/waeup/sirp/interfaces.py
r7404 r7459 53 53 def year_range(): 54 54 curr_year = datetime.now().year 55 return range(curr_year - 2, curr_year + 5)55 return range(curr_year - 4, curr_year + 5) 56 56 57 57 def academic_sessions(): … … 292 292 293 293 title = schema.TextLine( 294 title = u'Name', 295 description = u'Real name of user', 294 title = u'Full Name', 296 295 required = False,) 297 296 … … 359 358 title = u'Name of University', 360 359 default = u'Sample University', 360 required = True, 361 ) 362 363 acronym = schema.TextLine( 364 title = u'Abbreviated Title of University', 365 default = u'WAeUP.SIRP', 361 366 required = True, 362 367 ) -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser.py
r7424 r7459 36 36 SIRPPage, SIRPEditFormPage, SIRPAddFormPage, SIRPDisplayFormPage, 37 37 ContactAdminForm, SIRPForm) 38 from waeup.sirp.browser.interfaces import ICaptchaManager 38 from waeup.sirp.browser.interfaces import ICaptchaManager, IBreadcrumbIgnorable 39 39 from waeup.sirp.browser.breadcrumbs import Breadcrumb 40 40 from waeup.sirp.browser.resources import datepicker, datatable, tabs, warning 41 41 from waeup.sirp.browser.viewlets import ( 42 42 ManageActionButton, AddActionButton) 43 from waeup.sirp.browser.layout import jsaction, JSAction43 from waeup.sirp.browser.layout import jsaction, action, UtilityView 44 44 from waeup.sirp.interfaces import ( 45 45 ISIRPObject, IUserAccount, IExtFileStore, IPasswordValidator, IContactForm, … … 64 64 from waeup.sirp.applicants.interfaces import IApplicantBaseData 65 65 from waeup.sirp.hostels.hostel import NOT_OCCUPIED 66 from waeup.sirp.utils.helpers import get_current_principal 66 67 67 68 def write_log_message(view, message): … … 96 97 grok.context(IStudentsContainer) 97 98 title = 'Students' 99 #grok.implements(IBreadcrumbIgnorable) 100 101 @property 102 def target(self): 103 user = get_current_principal() 104 #import pdb; pdb.set_trace() 105 if getattr(user, 'user_type', None) == 'student': 106 return None 107 return self.viewname 98 108 99 109 class StudentBreadcrumb(Breadcrumb): … … 131 141 grok.context(IStudentAccommodation) 132 142 title = 'Accommodation' 133 134 #@property135 #def target(self):136 # prm = get_principal_role_manager()137 # principal = get_current_principal()138 # roles = [x[0] for x in prm.getRolesForPrincipal(principal.id)]139 # if 'waeup.Student' in roles:140 # return 'index'141 # else:142 # return 'manage'143 143 144 144 class BedTicketBreadcrumb(Breadcrumb): … … 293 293 if not self.hitlist: 294 294 self.flash('No student found.') 295 if 'remove' in form: 296 self.flash('No item selected.') 295 297 return 296 298 entries = form['entries'] … … 328 330 pnav = 4 329 331 330 @ grok.action('Create student record')332 @action('Create student record', style='primary') 331 333 def addStudent(self, **data): 332 334 student = createObject(u'waeup.Student') … … 383 385 return u'Send message to %s' % self.context.display_fullname 384 386 385 @ grok.action('Send message now')387 @action('Send message now', style='primary') 386 388 def send(self, *args, **data): 387 389 try: … … 442 444 dict(name=x, title=y) for x, y in allowed_transitions] 443 445 444 @ grok.action('Save')446 @action('Save', style='primary') 445 447 def save(self, **data): 446 448 form = self.request.form … … 576 578 return super(StudentClearanceManageFormPage, self).update() 577 579 578 @ grok.action('Save')580 @action('Save', style='primary') 579 581 def save(self, **data): 580 582 msave(self, **data) 581 583 return 582 584 583 class StudentClearPage( grok.View):585 class StudentClearPage(UtilityView, grok.View): 584 586 """ Clear student by clearance officer 585 587 """ … … 600 602 return 601 603 602 class StudentRejectClearancePage( grok.View):604 class StudentRejectClearancePage(UtilityView, grok.View): 603 605 """ Reject clearance by clearance officers 604 606 """ … … 662 664 pnav = 4 663 665 664 @ grok.action('Save')666 @action('Save', style='primary') 665 667 def save(self, **data): 666 668 msave(self, **data) … … 732 734 return 733 735 734 @ grok.action('Save')736 @action('Save', style='primary') 735 737 def save(self, **data): 736 738 msave(self, **data) … … 744 746 yield(dict(code=code, title=title)) 745 747 746 @ grok.action('Add study level')748 @action('Add study level') 747 749 def addStudyLevel(self, **data): 748 750 level_code = self.request.form.get('addlevel', None) … … 754 756 except KeyError: 755 757 self.flash('This level exists.') 758 self.flash('Study level has been added.') 756 759 self.redirect(self.url(self.context, u'@@manage')+'#tab-2') 757 760 return … … 821 824 target = 'course_registration.pdf' 822 825 823 class ExportPDFCourseRegistrationSlipPage( grok.View):826 class ExportPDFCourseRegistrationSlipPage(UtilityView, grok.View): 824 827 """Deliver a PDF slip of the context. 825 828 """ … … 921 924 return 'Manage study level %s' % self.context.level_title 922 925 923 @ grok.action('Save')926 @action('Save', style='primary') 924 927 def save(self, **data): 925 928 msave(self, **data) 926 929 return 927 930 928 @ grok.action('Add course ticket')931 @action('Add course ticket') 929 932 def addCourseTicket(self, **data): 930 933 self.redirect(self.url(self.context, '@@add')) … … 954 957 return 955 958 956 class ValidateCoursesPage( grok.View):959 class ValidateCoursesPage(UtilityView, grok.View): 957 960 """ Validate course list by course adviser 958 961 """ … … 975 978 return 976 979 977 class RejectCoursesPage( grok.View):980 class RejectCoursesPage(UtilityView, grok.View): 978 981 """ Reject course list by course adviser 979 982 """ … … 1022 1025 return 'Study Level %s' % self.context.level_title 1023 1026 1024 @ grok.action('Add course ticket')1027 @action('Add course ticket') 1025 1028 def addCourseTicket(self, **data): 1026 1029 ticket = CourseTicket() … … 1046 1049 return 1047 1050 1048 @ grok.action('Cancel')1051 @action('Cancel') 1049 1052 def cancel(self, **data): 1050 1053 self.redirect(self.url(self.context)) … … 1095 1098 return 'Manage course ticket %s' % self.context.code 1096 1099 1097 @ grok.action('Save')1100 @action('Save', style='primary') 1098 1101 def save(self, **data): 1099 1102 msave(self, **data) … … 1176 1179 return 1177 1180 1178 @ grok.action('Add online payment ticket')1181 @action('Add online payment ticket') 1179 1182 def addPaymentTicket(self, **data): 1180 1183 self.redirect(self.url(self.context, '@@addop')) … … 1200 1203 pnav = 4 1201 1204 1202 @ grok.action('Create ticket')1205 @action('Create ticket', style='primary') 1203 1206 def createTicket(self, **data): 1204 1207 p_category = data['p_category'] … … 1296 1299 return self.view.url(self.view.context, self.target) 1297 1300 1298 class OnlinePaymentCallbackPage( grok.View):1301 class OnlinePaymentCallbackPage(UtilityView, grok.View): 1299 1302 """ Callback view 1300 1303 """ … … 1345 1348 return 1346 1349 1347 class ExportPDFPaymentSlipPage( grok.View):1350 class ExportPDFPaymentSlipPage(UtilityView, grok.View): 1348 1351 """Deliver a PDF slip of the context. 1349 1352 """ … … 1576 1579 target = 'bed_allocation.pdf' 1577 1580 1578 class ExportPDFBedTicketSlipPage( grok.View):1581 class ExportPDFBedTicketSlipPage(UtilityView, grok.View): 1579 1582 """Deliver a PDF slip of the context. 1580 1583 """ … … 1608 1611 target = 'relocate' 1609 1612 1610 class BedTicketRelocationPage( grok.View):1613 class BedTicketRelocationPage(UtilityView, grok.View): 1611 1614 """ Callback view 1612 1615 """ … … 1735 1738 pnav = 4 1736 1739 1737 @ grok.action('Save')1740 @action('Save', style='primary') 1738 1741 def save(self, **data): 1739 1742 msave(self, **data) … … 1751 1754 pnav = 4 1752 1755 1753 @ grok.action('Save')1756 @action('Save', style='primary') 1754 1757 def save(self, **data): 1755 1758 form = self.request.form … … 1898 1901 return super(StudentClearanceEditFormPage, self).update() 1899 1902 1900 @ grok.action('Save')1903 @action('Save', style='primary') 1901 1904 def save(self, **data): 1902 1905 self.applyData(self.context, **data) … … 1911 1914 return False 1912 1915 1913 @ grok.action('Save and request clearance')1916 @action('Save and request clearance', style='primary') 1914 1917 def requestClearance(self, **data): 1915 1918 self.applyData(self.context, **data) … … 2063 2066 return 2064 2067 2065 @ grok.action('Create course list now')2068 @action('Create course list now', style='primary') 2066 2069 def addStudyLevel(self, **data): 2067 2070 studylevel = StudentStudyLevel() … … 2127 2130 return total_credits 2128 2131 2129 @ grok.action('Add course ticket')2132 @action('Add course ticket') 2130 2133 def addCourseTicket(self, **data): 2131 2134 self.redirect(self.url(self.context, 'ctadd')) … … 2157 2160 return 2158 2161 2159 @ grok.action('Register course list')2162 @action('Register course list', style='primary') 2160 2163 def RegisterCourses(self, **data): 2161 2164 IWorkflowInfo(self.context.getStudent()).fireTransition('register_courses') … … 2172 2175 'grade', 'score', 'core_or_elective', 'automatic') 2173 2176 2174 @ grok.action('Add course ticket')2177 @action('Add course ticket') 2175 2178 def addCourseTicket(self, **data): 2176 2179 ticket = CourseTicket() … … 2211 2214 return 2212 2215 2213 @ grok.action('Get login credentials')2216 @action('Get login credentials', style='primary') 2214 2217 def request(self, **data): 2215 2218 if not self.captcha_result.is_valid: -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/accommodationmanagepage.pt
r7254 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form" enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 17 <table class="display dataTableManage"> … … 41 41 </table> 42 42 43 <div class="actionButtons"tal:condition="view/availableActions">43 <div tal:condition="view/availableActions"> 44 44 <span tal:repeat="action view/selected_actions" 45 45 tal:omit-tag=""> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/basemanagepage.pt
r7134 r7459 4 4 5 5 <form action="." tal:attributes="action request/URL" method="post" 6 class="edit-form"enctype="multipart/form-data">6 enctype="multipart/form-data"> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"><span>Base Data</span></a></li> 20 <li><a href="#tab-2"><span>Passport Picture</span></a></li> 21 </ul> 17 <ul class="tabs" data-tabs="tabs"> 18 <li class="active"><a href="#tab-1"><span>Base Data</span></a></li> 19 <li><a href="#tab-2"><span>Passport Picture</span></a></li> 20 </ul> 22 21 23 <div id="tab-1"> 24 <table class="form-fields zebra"> 22 <div class="tab-content"> 23 <div id="tab-1" class="active"> 24 <table class="form-table"> 25 25 <tbody> 26 26 <tal:block repeat="widget view/widgets"> 27 27 <tr> 28 <td class="label"> 29 <label tal:attributes="for widget/name"> 30 <span class="required" tal:condition="widget/required">*</span> 31 <span i18n:translate="" tal:content="widget/label">label</span>: 32 </label> 28 <td class="fieldname"> 29 <span tal:condition="widget/required">*</span> 30 <span i18n:translate="" tal:content="widget/label">label</span>: 33 31 </td> 34 <td class="field">35 <span class="widget"tal:content="structure widget">32 <td> 33 <span tal:content="structure widget"> 36 34 <input type="text" /> 37 35 </span> … … 40 38 </tal:error> 41 39 <tal:hint tal:condition="widget/hint"> 42 <span class="hint"tal:content="structure widget/hint">hint</span>40 <span tal:content="structure widget/hint">hint</span> 43 41 </tal:hint> 44 42 </td> … … 46 44 </tal:block> 47 45 <tr> 48 <td class=" label"><label>Password:</label></td>46 <td class="fieldname">Password:</td> 49 47 <td> 50 48 <input name="password" type="password" /> … … 52 50 </tr> 53 51 <tr> 54 <td class=" label"><label>Retype password:</label></td>52 <td class="fieldname">Retype password:</td> 55 53 <td> 56 54 <input name="control_password" type="password" /> … … 58 56 </tr> 59 57 <tr> 60 <td class=" label"><label>Registration Transition:</label></td>58 <td class="fieldname">Registration Transition:</td> 61 59 <td> 62 60 <select id="transition" name="transition"> … … 72 70 </table> 73 71 74 <div class="actionButtons"tal:condition="view/availableActions">72 <div tal:condition="view/availableActions"> 75 73 <input tal:repeat="action view/actions" 76 74 tal:replace="structure action/render" … … 80 78 81 79 <div id="tab-2"> 82 <h2>Upload passport picture</h2> 83 <table class="form-fields zebra"> 80 <table class="form-table"> 84 81 <tbody> 85 82 <tal:files content="structure provider:files" /> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/basepage.pt
r7384 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <table class=" zebra">5 <table class="form-table"> 6 6 <tbody> 7 7 <tal:block repeat="widget view/widgets"> … … 16 16 </tal:block> 17 17 <tr> 18 <td class="fieldname" width="33%">18 <td class="fieldname"> 19 19 Password: 20 20 </td> … … 26 26 </tbody> 27 27 <tfoot> 28 <tr class="controls">29 <td colspan="2" class="align-right">28 <tr> 29 <td> 30 30 <input tal:repeat="action view/actions" 31 31 tal:replace="structure action/render" /> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/change_password.pt
r7144 r7459 4 4 5 5 <form action="." tal:attributes="action request/URL" method="post" 6 class="edit-form"enctype="multipart/form-data">6 enctype="multipart/form-data"> 7 7 8 8 <input type="hidden" name="student_id" value="" 9 9 tal:attributes="value context/student_id" /> 10 10 11 <table class="form- fields zebra">11 <table class="form-table"> 12 12 <tbody> 13 13 <tr> 14 <td class=" label"><label>Password:</label></td>14 <td class="fieldname">Password:</td> 15 15 <td> 16 16 <input name="change_password" type="password" /> … … 18 18 </tr> 19 19 <tr> 20 <td class=" label"><label>Retype password:</label></td>20 <td class="fieldname">Retype password:</td> 21 21 <td> 22 22 <input name="change_password_repeat" type="password" /> … … 26 26 </table> 27 27 28 <div class="actionButtons"tal:condition="view/availableActions">28 <div tal:condition="view/availableActions"> 29 29 <input tal:repeat="action view/actions" 30 30 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/changepw.pt
r7369 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 <table class=" zebra">17 <table class="form-table"> 18 18 <tbody> 19 19 <tal:block repeat="widget view/widgets"> 20 20 <tr> 21 <td class="label"> 22 <label tal:attributes="for widget/name"> 23 <span class="required" tal:condition="widget/required">*</span> 21 <td class="fieldname"> 22 <span tal:condition="widget/required">*</span> 24 23 <span i18n:translate="" tal:content="widget/label">label</span>: 25 </label>26 24 </td> 27 <td class="field">28 <span class="widget"tal:content="structure widget">25 <td> 26 <span tal:content="structure widget"> 29 27 <input type="text" /> 30 28 </span> … … 33 31 </tal:error> 34 32 <tal:hint tal:condition="widget/hint"> 35 <span class="hint"tal:content="structure widget/hint">hint</span>33 <span tal:content="structure widget/hint">hint</span> 36 34 </tal:hint> 37 35 </td> … … 51 49 </table> 52 50 53 <div class="actionButtons"tal:condition="view/availableActions">51 <div tal:condition="view/availableActions"> 54 52 <input tal:repeat="action view/actions" 55 53 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/clearanceeditpage.pt
r7134 r7459 4 4 5 5 <form action="." tal:attributes="action request/URL" method="post" 6 class="edit-form"enctype="multipart/form-data">6 enctype="multipart/form-data"> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"><span>Clearance Data</span></a></li> 20 <li><a href="#tab-2"><span>Scans</span></a></li> 21 </ul> 22 23 <div id="tab-1"> 24 <table class="form-fields zebra"> 17 <ul class="tabs" data-tabs="tabs"> 18 <li class="active"><a href="#tab-1"><span>Clearance Data</span></a></li> 19 <li><a href="#tab-2"><span>Scans</span></a></li> 20 </ul> 21 <div class="tab-content"> 22 <div id="tab-1" class="active"> 23 <table class="form-table"> 25 24 <tbody> 26 25 <tal:block repeat="widget view/widgets"> 27 26 <tr> 28 <td class="label"> 29 <label tal:attributes="for widget/name"> 30 <span class="required" tal:condition="widget/required">*</span> 27 <td class="fieldname"> 28 <span tal:condition="widget/required">*</span> 31 29 <span i18n:translate="" tal:content="widget/label">label</span>: 32 </label>33 30 </td> 34 <td class="field">35 <span class="widget"tal:content="structure widget">31 <td> 32 <span tal:content="structure widget"> 36 33 <input type="text" /> 37 34 </span> … … 40 37 </tal:error> 41 38 <tal:hint tal:condition="widget/hint"> 42 <span class="hint"tal:content="structure widget/hint">hint</span>39 <span tal:content="structure widget/hint">hint</span> 43 40 </tal:hint> 44 41 </td> … … 48 45 </table> 49 46 50 <div class="actionButtons"tal:condition="view/availableActions">47 <div tal:condition="view/availableActions"> 51 48 <input tal:repeat="action view/actions" 52 49 tal:replace="structure action/render" … … 56 53 57 54 <div id="tab-2"> 58 <h2>Upload scans</h2> 59 <table class="form-fields zebra"> 55 <table class="form-table"> 60 56 <tbody> 61 57 <tal:files content="structure provider:files" /> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containermanagepage.pt
r7364 r7459 4 4 <br /> 5 5 6 <input type="submit" name="search" value="Search" />6 <input class="btn primary" type="submit" name="search" value="Search" /> 7 7 for students 8 8 … … 48 48 </table> 49 49 50 <div class="actionButtons"> 51 <input type="submit" name="remove" value="Remove selected" 52 onclick="return confirmPost('Are you sure?')"/> 53 </div> 50 <input type="submit" name="remove" value="Remove selected" class="btn" 51 onclick="return confirmPost('Are you sure?')"/> 54 52 55 53 </div> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/containerpage.pt
r7364 r7459 4 4 <br /> 5 5 6 <input type="submit" name="search" value="Search" />6 <input class="btn primary" type="submit" name="search" value="Search" /> 7 7 for students 8 8 -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketmanagepage.pt
r6796 r7459 1 1 <form action="." tal:attributes="action request/URL" method="post" 2 class="edit-form"enctype="multipart/form-data">2 enctype="multipart/form-data"> 3 3 4 4 <h2 i18n:translate="" … … 6 6 tal:content="view/label">Label</h2> 7 7 8 <div class=" form-status"8 <div class="alert-message error" 9 9 tal:define="status view/status" 10 10 tal:condition="status"> … … 15 15 </div> 16 16 17 18 <table class="zebra"> 17 <table class="form-table"> 19 18 <tbody> 20 19 <tr> … … 68 67 <tal:block repeat="widget view/widgets"> 69 68 <tr> 70 <td class="label"> 71 <label tal:attributes="for widget/name"> 72 <span class="required" tal:condition="widget/required">*</span> 69 <td class="fieldname"> 70 <span tal:condition="widget/required">*</span> 73 71 <span i18n:translate="" tal:content="widget/label">label</span>: 74 </label>75 72 </td> 76 <td class="field">77 <span class="widget"tal:content="structure widget">73 <td> 74 <span tal:content="structure widget"> 78 75 <input type="text" /> 79 76 </span> … … 82 79 </tal:error> 83 80 <tal:hint tal:condition="widget/hint"> 84 <span class="hint"tal:content="structure widget/hint">hint</span>81 <span tal:content="structure widget/hint">hint</span> 85 82 </tal:hint> 86 83 </td> … … 89 86 </tbody> 90 87 </table> 91 <div class="actionButtons"tal:condition="view/availableActions">88 <div tal:condition="view/availableActions"> 92 89 <input tal:repeat="action view/actions" 93 90 tal:replace="structure action/render" -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/courseticketpage.pt
r6804 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <table class=" zebra">5 <table class="form-table"> 6 6 <tbody> 7 7 <tr> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/enterpin.pt
r6935 r7459 2 2 tal:content="view/label">Label</h2> 3 3 <form method="POST"> 4 <table >4 <table class="form-table"> 5 5 <tbody> 6 6 <tr><td> 7 <label for="ac_series">Activation Code:</label>7 Activation Code: 8 8 </td><td> 9 9 <span tal:replace="view/ac_prefix">PIN Prefix</span> - … … 18 18 <tr> 19 19 <td colspan="2"> 20 <input type="submit" name="SUBMIT" 20 <input type="submit" name="SUBMIT" class="btn primary" 21 21 tal:attributes="value view/buttonname" /> 22 22 </td> 23 23 </tr> 24 24 </tbody> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/filedisplay.pt
r7319 r7459 1 1 <tr tal:condition = "viewlet/file_exists"> 2 <td class="label"> 3 <label i18n:translate=""> 4 <span tal:replace="viewlet/label">FILENAME</span>: 5 </label> 2 <td class="fieldname"> 3 <span tal:replace="viewlet/label">FILENAME</span>: 6 4 </td> 7 <td class="field">5 <td> 8 6 <span class="widget"> 9 7 <a tal:attributes="href viewlet/download_name" -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/filesuploadpage.pt
r7127 r7459 4 4 5 5 <form action="." tal:attributes="action request/URL" method="post" 6 class="edit-form"enctype="multipart/form-data">7 <table class=" zebra">6 enctype="multipart/form-data"> 7 <table class="form-table"> 8 8 <tbody> 9 9 <tal:files content="structure provider:files" /> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/fileupload.pt
r7319 r7459 1 1 <tr> 2 <td class="label"> 3 <label i18n:translate="" tal:attributes="for viewlet/input_name"> 4 <span tal:replace="viewlet/label">FILENAME</span>: 5 </label> 2 <td class="fieldname"> 3 <span tal:replace="viewlet/label">FILENAME</span>: 6 4 </td> 7 <td class="field">5 <td> 8 6 <span class="widget"> 9 7 … … 17 15 <br /> 18 16 <input type="file" tal:attributes="name viewlet/input_name"/> 19 <br /> 17 <br /><br /> 20 18 <input type="submit" tal:condition="viewlet/file_exists" 21 19 tal:attributes="id python:('delete_%s' % viewlet.input_name); 22 20 name python:('delete_%s' % viewlet.input_name)" 23 value="Delete attachment" class="b utton" />21 value="Delete attachment" class="btn error" /> 24 22 <input type="submit" 25 23 tal:attributes="id python:('upload_%s' % viewlet.input_name); 26 24 name python:('upload_%s' % viewlet.input_name)" 27 value="Upload new file" class="b utton" />25 value="Upload new file" class="btn primary" /> 28 26 <span i18n:translate=""> 29 27 Max. file size: -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/imagedisplay.pt
r7414 r7459 1 1 <tr> 2 <td class="label"> 3 <label i18n:translate=""> 2 <td class="fieldname"> 4 3 <span tal:replace="viewlet/label">FILENAME</span>: 5 </label>6 4 </td> 7 <td class="field"> 8 <span class="widget"> 5 <td> 9 6 <img height="125px" tal:attributes="src viewlet/download_name" /> 10 7 <br /> 11 </span>12 8 </td> 13 9 </tr> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/imageupload.pt
r7414 r7459 1 1 <tr> 2 <td class="label"> 3 <label i18n:translate="" tal:attributes="for viewlet/input_name"> 4 <span tal:replace="viewlet/label">FILENAME</span>: 5 </label> 2 <td class="fieldname"> 3 <span tal:replace="viewlet/label">FILENAME</span>: 6 4 </td> 7 <td class="field">5 <td> 8 6 <span class="widget"> 9 7 <img align="middle" height="125px" … … 12 10 tal:attributes="id python:('delete_%s' % viewlet.input_name); 13 11 name python:('delete_%s' % viewlet.input_name)" 14 value="Delete" class="b utton" />12 value="Delete" class="btn error" /> 15 13 <br /><br /> 16 14 <input type="file" tal:attributes="name viewlet/input_name"/> 15 <br /><br /> 17 16 <input type="submit" 18 17 tal:attributes="id python:('upload_%s' % viewlet.input_name); 19 18 name python:('upload_%s' % viewlet.input_name)" 20 value="Upload" class="b utton" />19 value="Upload" class="btn primary" /> 21 20 <span i18n:translate=""> 22 21 Max. file size: -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/paymentsmanagepage.pt
r7254 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form" enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 17 <table class="display dataTableManage"> … … 46 46 </table> 47 47 48 <div class="actionButtons"tal:condition="view/availableActions">48 <div tal:condition="view/availableActions"> 49 49 <span tal:repeat="action view/actions" 50 50 tal:omit-tag=""> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/paymentspage.pt
r7254 r7459 1 1 <h2 tal:content="view/label">TITLE</h2> 2 2 3 <table class="zebra">4 <thead>5 </thead>6 3 <table class="display dataTable"> 7 4 <thead> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/setpassword.pt
r6758 r7459 2 2 tal:content="view/label">Label</h2> 3 3 <form method="POST"> 4 <table >4 <table class="form-table"> 5 5 <tbody> 6 <tr><td> 7 <label for="reg_number">Registration Number: 8 </label></td> <td> 6 <tr> 7 <td> 8 Registration Number: 9 </td> 10 <td> 9 11 <input name="reg_number" type="text" size="15" maxlength="15" 10 12 value="" tal:attributes="value view/reg_number"/> 11 </td></tr> 13 </td> 14 </tr> 12 15 <tr> 13 16 <td> 14 <label for="ac_series">Access Code: 15 </label></td> <td> 17 Access Code: 18 </td> 19 <td> 16 20 <span tal:replace="view/ac_prefix">PIN Prefix 17 21 </span> - … … 23 27 <tr> 24 28 <td colspan="2"> 25 <input type="submit" name="SUBMIT" 29 <input type="submit" name="SUBMIT" class="btn primary" 26 30 value="Show Student Id and set password" /> </td> 27 31 </tr> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studentpage.pt
r6635 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <table class=" zebra">5 <table class="form-table"> 6 6 <tbody> 7 7 <tal:block repeat="widget view/widgets"> … … 17 17 </tbody> 18 18 <tfoot> 19 <tr class="controls">19 <tr> 20 20 <td colspan="2" class="align-right"> 21 21 <input tal:repeat="action view/actions" … … 24 24 </tr> 25 25 </tfoot> 26 27 26 </table> 28 27 -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studycoursemanagepage.pt
r6794 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"><span>Study Course Data</span></a></li> 20 <li><a href="#tab-2"><span>Study Levels</span></a></li> 21 </ul> 22 23 <div id="tab-1"> 24 <table class="zebra"> 25 <tbody> 26 <tal:block repeat="widget view/widgets"> 27 <tr> 28 <td class="label"> 29 <label tal:attributes="for widget/name"> 30 <span class="required" tal:condition="widget/required">*</span> 31 <span i18n:translate="" tal:content="widget/label">label</span>: 32 </label> 33 </td> 34 <td class="field"> 35 <span class="widget" tal:content="structure widget"> 36 <input type="text" /> 17 <ul class="tabs" data-tabs="tabs"> 18 <li class="active"><a href="#tab-1"><span>Study Course Data</span></a></li> 19 <li><a href="#tab-2"><span>Study Levels</span></a></li> 20 </ul> 21 22 <div class="tab-content"> 23 <div id="tab-1" class="active"> 24 <table class="form-table"> 25 <tbody> 26 <tal:block repeat="widget view/widgets"> 27 <tr> 28 <td class="fieldname"> 29 <span class="required" tal:condition="widget/required">*</span> 30 <span i18n:translate="" tal:content="widget/label">label</span>: 31 </td> 32 <td> 33 <span tal:content="structure widget"> 34 <input type="text" /> 35 </span> 36 <tal:error tal:condition="widget/error"> 37 <span tal:replace="structure widget/error">error</span> 38 </tal:error> 39 <tal:hint tal:condition="widget/hint"> 40 <span tal:content="structure widget/hint">hint</span> 41 </tal:hint> 42 </td> 43 </tr> 44 </tal:block> 45 </tbody> 46 </table> 47 <div tal:condition="view/availableActions"> 48 <span tal:repeat="action view/actions" 49 tal:omit-tag=""> 50 <input tal:condition="python:action.label in view.taboneactions" 51 tal:replace="structure action/render"/> 37 52 </span> 38 <tal:error tal:condition="widget/error"> 39 <span tal:replace="structure widget/error">error</span> 40 </tal:error> 41 <tal:hint tal:condition="widget/hint"> 42 <span class="hint" tal:content="structure widget/hint">hint</span> 43 </tal:hint> 44 </td> 45 </tr> 46 </tal:block> 47 </tbody> 48 </table> 49 <div class="actionButtons" tal:condition="view/availableActions"> 50 <span tal:repeat="action view/actions" 51 tal:omit-tag=""> 52 <input tal:condition="python:action.label in view.taboneactions" 53 tal:replace="structure action/render"/> 54 </span> 53 </div> 54 </div> 55 56 <div id="tab-2"> 57 <h3>Study Levels (Course Lists)</h3> 58 <table class="display dataTableManage"> 59 <thead> 60 <tr> 61 <th> </th><th>Level Code</th><th>Level Title</th> 62 </tr> 63 </thead> 64 <tbody> 65 <tr tal:repeat="cl context/values"> 66 <td> 67 <input type="checkbox" 68 name="val_id" 69 tal:attributes="value cl/__name__" /> 70 </td> 71 <td> <a tal:attributes="href cl/__name__"> 72 <span tal:content="cl/level">CODE</span></a> 73 </td> 74 <td> 75 <span tal:content="cl/level_title">TITLE</span> 76 </td> 77 </tr> 78 </tbody> 79 </table> 80 81 <div tal:condition="view/availableActions"> 82 <span tal:repeat="action view/actions" 83 tal:omit-tag=""> 84 <input tal:condition="python:action.label in view.tabtwoactions" 85 tal:replace="structure action/render"/> 86 </span> 87 </div> 88 <br /><br /><br /> 89 <div> 90 <span tal:condition="view/availableActions"> 91 <span tal:repeat="action view/actions" 92 tal:omit-tag=""> 93 <input tal:condition="python:action.label in view.tabthreeactions" 94 tal:replace="structure action/render"/> 95 </span> 96 </span> 97 <select id="addlevel" name="addlevel"> 98 <option tal:attributes="value level/code" tal:repeat="level view/level_dict"> 99 <span tal:replace="level/title">LEVELTITLE 100 </span> 101 </option> 102 </select> 103 </div> 104 </div> 55 105 </div> 56 </div>57 58 <div id="tab-2">59 <h3>Study Levels (Course Lists)</h3>60 <table class="display dataTableManage">61 <thead>62 <tr>63 <th> </th><th>Level Code</th><th>Level Title</th>64 </tr>65 </thead>66 <tbody>67 <tr tal:repeat="cl context/values">68 <td>69 <input type="checkbox"70 name="val_id"71 tal:attributes="value cl/__name__" />72 </td>73 <td> <a tal:attributes="href cl/__name__">74 <span tal:content="cl/level">CODE</span></a>75 </td>76 <td>77 <span tal:content="cl/level_title">TITLE</span>78 </td>79 </tr>80 </tbody>81 </table>82 83 <div class="actionButtons" tal:condition="view/availableActions">84 <span tal:repeat="action view/actions"85 tal:omit-tag="">86 <input tal:condition="python:action.label in view.tabtwoactions"87 tal:replace="structure action/render"/>88 </span>89 </div>90 <br /><br /><br />91 <div>92 <span class="actionButtons" tal:condition="view/availableActions">93 <span tal:repeat="action view/actions"94 tal:omit-tag="">95 <input tal:condition="python:action.label in view.tabthreeactions"96 tal:replace="structure action/render"/>97 </span>98 </span>99 <select id="addlevel" name="addlevel">100 <option tal:attributes="value level/code" tal:repeat="level view/level_dict">101 <span tal:replace="level/title">LEVELTITLE102 </span>103 </option>104 </select>105 </div>106 107 108 109 </div>110 </div>111 106 </form> 112 107 -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studycoursepage.pt
r7206 r7459 1 1 <h2 tal:content="view/label">TITLE</h2> 2 2 3 <table class=" zebra">3 <table class="form-table"> 4 4 <thead> 5 5 </thead> … … 7 7 <tal:block repeat="widget view/widgets"> 8 8 <tr> 9 <td> 10 <label tal:attributes="for widget/name"> 11 <span i18n:translate="" 12 tal:content="widget/label">label</span>: 13 </label> 9 <td class="filedname"> 10 <span i18n:translate="" tal:content="widget/label">label</span>: 14 11 </td> 15 <td class="field"tal:on-error="default">12 <td tal:on-error="default"> 16 13 <div class="widget" tal:content="structure widget"> 17 14 <input type="text" /> … … 22 19 <tr> 23 20 <td> 24 <label>25 21 Study Mode: 26 </label>27 22 </td> 28 23 <td class="field"> … … 34 29 <tr tal:condition="python: view.department is not None"> 35 30 <td> 36 <label>37 31 Department: 38 </label>39 32 </td> 40 33 <td class="field"> … … 47 40 <tr tal:condition="python: view.faculty is not None"> 48 41 <td> 49 <label>50 42 Faculty: 51 </label>52 43 </td> 53 44 <td class="field"> … … 64 55 65 56 66 <table class="zebra">57 <table> 67 58 <thead> 68 59 <tr> … … 72 63 </thead> 73 64 <tbody> 74 <tr tal:repeat="value context/values">65 <tr class="gradeC" tal:repeat="value context/values"> 75 66 <td> <a tal:attributes="href value/__name__"> 76 67 <span tal:content="value/level">CODE</span></a></td> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studyleveladdpage.pt
r6806 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 17 <p>Text to explain course registration procedure.</p> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studyleveleditpage.pt
r7310 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 17 <h3>Course Tickets (Total Credits: <span tal:replace="view/total_credits">TOTAL</span>)</h3> … … 30 30 </thead> 31 31 <tbody> 32 <tr tal:repeat="value context/values" >32 <tr tal:repeat="value context/values" class="gradeC"> 33 33 <td> 34 34 <input type="checkbox" name="val_id" … … 49 49 </table> 50 50 51 <div class="actionButtons"tal:condition="view/availableActions">51 <div tal:condition="view/availableActions"> 52 52 <span tal:repeat="action view/actions" 53 53 tal:omit-tag=""> -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelmanagepage.pt
r7310 r7459 3 3 tal:content="view/label">Label</h2> 4 4 5 <div class=" form-status"5 <div class="alert-message error" 6 6 tal:define="status view/status" 7 7 tal:condition="status"> … … 13 13 14 14 <form action="." tal:attributes="action request/URL" method="POST" 15 class="edit-form"enctype="multipart/form-data">15 enctype="multipart/form-data"> 16 16 17 <div id="tabs"> 18 <ul> 19 <li><a href="#tab-1"><span>Study Level Data</span></a></li> 20 <li><a href="#tab-2"><span>Course Tickets</span></a></li> 21 </ul> 22 23 <div id="tab-1"> 24 <table class="zebra"> 25 <tbody> 26 <tal:block repeat="widget view/widgets"> 27 <tr> 28 <td class="label"> 29 <label tal:attributes="for widget/name"> 30 <span class="required" tal:condition="widget/required">*</span> 31 <span i18n:translate="" tal:content="widget/label">label</span>: 32 </label> 33 </td> 34 <td class="field"> 35 <span class="widget" tal:content="structure widget"> 36 <input type="text" /> 17 <ul class="tabs" data-tabs="tabs"> 18 <li class="active"><a href="#tab-1"><span>Study Level Data</span></a></li> 19 <li><a href="#tab-2"><span>Course Tickets</span></a></li> 20 </ul> 21 22 <div class="tab-content"> 23 <div id="tab-1" class="active"> 24 <table class="form-table"> 25 <tbody> 26 <tal:block repeat="widget view/widgets"> 27 <tr> 28 <td class="fieldname"> 29 <span class="required" tal:condition="widget/required">*</span> 30 <span i18n:translate="" tal:content="widget/label">label</span>: 31 </td> 32 <td> 33 <span tal:content="structure widget"> 34 <input type="text" /> 35 </span> 36 <tal:error tal:condition="widget/error"> 37 <span tal:replace="structure widget/error">error</span> 38 </tal:error> 39 <tal:hint tal:condition="widget/hint"> 40 <span tal:content="structure widget/hint">hint</span> 41 </tal:hint> 42 </td> 43 </tr> 44 </tal:block> 45 </tbody> 46 </table> 47 <div tal:condition="view/availableActions"> 48 <span tal:repeat="action view/actions" 49 tal:omit-tag=""> 50 <input tal:condition="python:action.label in view.taboneactions" 51 tal:replace="structure action/render"/> 37 52 </span> 38 <tal:error tal:condition="widget/error"> 39 <span tal:replace="structure widget/error">error</span> 40 </tal:error> 41 <tal:hint tal:condition="widget/hint"> 42 <span class="hint" tal:content="structure widget/hint">hint</span> 43 </tal:hint> 44 </td> 45 </tr> 46 </tal:block> 47 </tbody> 48 </table> 49 <div class="actionButtons" tal:condition="view/availableActions"> 50 <span tal:repeat="action view/actions" 51 tal:omit-tag=""> 52 <input tal:condition="python:action.label in view.taboneactions" 53 tal:replace="structure action/render"/> 54 </span> 53 </div> 54 </div> 55 56 <div id="tab-2"> 57 <h3>Course Tickets</h3> 58 <table class="display dataTableManage"> 59 <thead> 60 <tr> 61 <th> </th> 62 <th>Sem.</th> 63 <th>Code</th> 64 <th>Title</th> 65 <th>Department</th> 66 <th>Faculty</th> 67 <th>Credits</th> 68 <th>Mandatory</th> 69 <th>Score</th> 70 <th>Auto</th> 71 </tr> 72 </thead> 73 <tbody> 74 <tr tal:repeat="value context/values" class="gradeC"> 75 <td> 76 <input type="checkbox" name="val_id" 77 tal:attributes="value value/__name__" /> 78 </td> 79 <td tal:content="value/semester">SEMESTER</td> 80 <td> <a tal:attributes="href value/__name__"> 81 <span tal:content="value/code">CODE</span> 82 </a></td> 83 <td tal:content="value/title">TITLE</td> 84 <td tal:content="value/department">DEPARTMENT</td> 85 <td tal:content="value/faculty">FACULTY</td> 86 <td tal:content="value/credits">CREDITS</td> 87 <td tal:content="value/core_or_elective">MANDATORY</td> 88 <td tal:content="value/score">SCORE</td> 89 <td tal:content="value/automatic">AUTO</td> 90 </tr> 91 </tbody> 92 </table> 93 94 <div tal:condition="view/availableActions"> 95 <span tal:repeat="action view/actions" 96 tal:omit-tag=""> 97 <input tal:condition="python:action.label in view.tabtwoactions" 98 tal:replace="structure action/render"/> 99 </span> 100 </div> 101 102 </div> 55 103 </div> 56 </div>57 58 <div id="tab-2">59 <h3>Course Tickets</h3>60 <table class="display dataTableManage">61 <thead>62 <tr>63 <th> </th>64 <th>Sem.</th>65 <th>Code</th>66 <th>Title</th>67 <th>Department</th>68 <th>Faculty</th>69 <th>Credits</th>70 <th>Mandatory</th>71 <th>Score</th>72 <th>Auto</th>73 </tr>74 </thead>75 <tbody>76 <tr tal:repeat="value context/values">77 <td>78 <input type="checkbox" name="val_id"79 tal:attributes="value value/__name__" />80 </td>81 <td tal:content="value/semester">SEMESTER</td>82 <td> <a tal:attributes="href value/__name__">83 <span tal:content="value/code">CODE</span>84 </a></td>85 <td tal:content="value/title">TITLE</td>86 <td tal:content="value/department">DEPARTMENT</td>87 <td tal:content="value/faculty">FACULTY</td>88 <td tal:content="value/credits">CREDITS</td>89 <td tal:content="value/core_or_elective">MANDATORY</td>90 <td tal:content="value/score">SCORE</td>91 <td tal:content="value/automatic">AUTO</td>92 </tr>93 </tbody>94 </table>95 96 <div class="actionButtons" tal:condition="view/availableActions">97 <span tal:repeat="action view/actions"98 tal:omit-tag="">99 <input tal:condition="python:action.label in view.tabtwoactions"100 tal:replace="structure action/render"/>101 </span>102 </div>103 104 </div>105 </div>106 104 </form> 107 105 -
main/waeup.sirp/trunk/src/waeup/sirp/students/browser_templates/studylevelpage.pt
r7310 r7459 1 1 <h2 tal:content="view/label">TITLE</h2> 2 2 3 <table class=" zebra">3 <table class="form-table"> 4 4 <thead> 5 5 </thead> … … 7 7 <tal:block repeat="widget view/widgets"> 8 8 <tr> 9 <td> 10 <label tal:attributes="for widget/name"> 11 <span i18n:translate="" 12 tal:content="widget/label">label</span>: 13 </label> 9 <td class="fieldname"> 10 <span i18n:translate="" tal:content="widget/label">label</span>: 14 11 </td> 15 <td class="field"tal:on-error="default">12 <td tal:on-error="default"> 16 13 <div class="widget" tal:content="structure widget"> 17 14 <input type="text" /> … … 22 19 <tr> 23 20 <td> 24 <label>Total Credits:</label>21 Total Credits: 25 22 </td> 26 23 <td> … … 33 30 <h3>Course Tickets</h3> 34 31 35 <table class="display dataTable" 32 <table class="display dataTable"> 36 33 <thead> 37 34 <tr> … … 48 45 </thead> 49 46 <tbody> 50 <tr tal:repeat="value context/values" >47 <tr tal:repeat="value context/values" class="gradeC"> 51 48 <td tal:content="value/semester">SEMESTER</td> 52 49 <td> <a tal:attributes="href value/__name__"> -
main/waeup.sirp/trunk/src/waeup/sirp/students/tests/test_browser.py
r7422 r7459 807 807 self.browser.getLink("Clear student").click() 808 808 self.assertTrue('Student has been cleared' in self.browser.contents) 809 self.assertTrue(' State: <span>cleared</span>' in self.browser.contents)809 self.assertTrue('cleared' in self.browser.contents) 810 810 self.browser.getLink("Reject clearance").click() 811 811 self.assertTrue('Clearance has been annulled' in self.browser.contents) … … 814 814 self.assertEqual(self.browser.url, self.student_path + 815 815 '/contactstudent?subject=%s' % urlmessage) 816 self.assertTrue('State: <span>clearance started</span>' 817 in self.browser.contents) 816 self.assertTrue('clearance started' in self.browser.contents) 818 817 IWorkflowInfo(self.student).fireTransition('request_clearance') 819 818 self.browser.open(self.clearance_student_path) … … 821 820 self.assertTrue('Clearance request has been rejected' 822 821 in self.browser.contents) 823 self.assertTrue('State: <span>clearance started</span>' 824 in self.browser.contents) 822 self.assertTrue('clearance started' in self.browser.contents) 825 823 # CO does now also see the contact form and can send a message 826 824 self.browser.getControl(name="form.subject").value = 'Important subject' … … 917 915 self.browser.getLink("Validate courses").click() 918 916 self.assertTrue('Course list has been validated' in self.browser.contents) 919 self.assertTrue(' State: <span>courses validated</span>' in self.browser.contents)917 self.assertTrue('courses validated' in self.browser.contents) 920 918 self.browser.getLink("Reject courses").click() 921 919 self.assertTrue('Course list request has been annulled' … … 924 922 self.assertEqual(self.browser.url, self.student_path + 925 923 '/contactstudent?subject=%s' % urlmessage) 926 self.assertTrue('State: <span>school fee paid</span>' 927 in self.browser.contents) 924 self.assertTrue('school fee paid' in self.browser.contents) 928 925 IWorkflowInfo(self.student).fireTransition('register_courses') 929 926 self.browser.open(L110_student_path) … … 931 928 self.assertTrue('Course list request has been rejected' 932 929 in self.browser.contents) 933 self.assertTrue('State: <span>school fee paid</span>' 934 in self.browser.contents) 930 self.assertTrue('school fee paid' in self.browser.contents) 935 931 # CA does now see the contact form and can send a message 936 932 self.browser.getControl(name="form.subject").value = 'Important subject' … … 977 973 self.assertTrue('Password changed' in self.browser.contents) 978 974 # We are still logged in. Changing the password hasn't thrown us out. 979 self.browser.getLink(" MyData").click()975 self.browser.getLink("Base Data").click() 980 976 self.assertEqual(self.browser.url, self.student_path) 981 977 # We can logout -
main/waeup.sirp/trunk/src/waeup/sirp/students/viewlets.py
r7366 r7459 57 57 def render(self): 58 58 url = self.view.url(self.context.getStudent(), self.link) 59 return u'< div class="portlet"><a href="%s">%s</a></div>' % (59 return u'<li><a href="%s">%s</a></li>' % ( 60 60 url, self.text) 61 61 62 class StudentManageBaseLink(StudentManageLink):63 grok.order(1)64 link = 'index'65 text = u'Base Data'66 67 62 class StudentManageApplicationLink(StudentManageLink): 68 grok.order( 2)63 grok.order(1) 69 64 link = 'application_slip' 70 65 text = u'Application Slip' … … 75 70 if slip: 76 71 url = self.view.url(self.context,self.link) 77 return u'< div class="portlet"><a href="%s">%s</a></div>' % (72 return u'<li><a href="%s">%s</a></li>' % ( 78 73 url, self.text) 79 74 return '' 75 76 class StudentManageBaseLink(StudentManageLink): 77 grok.order(2) 78 link = 'index' 79 text = u'Base Data' 80 80 81 81 class StudentManageClearanceLink(StudentManageLink): … … 104 104 grok.require('waeup.handleAccommodation') 105 105 link = 'accommodation' 106 text = u'Accommodation Data'106 text = u'Accommodation' 107 107 108 108 class StudentManageHistoryLink(StudentManageLink): 109 grok.order(8)110 link = 'history'111 text = u'History'112 113 114 class StudentMenu(grok.ViewletManager):115 grok.name('top_student')116 117 class StudentLink(PlainActionButton):118 """A link displayed in the student box which shows up for StudentNavigation119 objects.120 121 """122 grok.baseclass()123 grok.viewletmanager(StudentMenu)124 grok.context(ISIRPObject)125 grok.view(Interface)126 grok.order(5)127 grok.require('waeup.viewStudent')128 129 link = 'index'130 text = u'Base Data'131 132 @property133 def target_url(self):134 """Get a URL to the target...135 """136 return self.view.url(self.context.getStudent(), self.link)137 138 class StudentBaseLink(StudentLink):139 grok.order(1)140 link = 'index'141 text = u'Base Data'142 143 class ApplicationSlipLink(StudentLink):144 grok.order(2)145 link = 'application_slip'146 text = u'Application Slip'147 148 @property149 def target_url(self):150 slip = getUtility(IExtFileStore).getFileByContext(151 self.context.getStudent(), attr=self.link)152 if slip:153 return self.view.url(self.context,self.link)154 return155 156 class StudentClearanceLink(StudentLink):157 grok.order(3)158 link = 'view_clearance'159 text = u'Clearance Data'160 161 class StudentPersonalLink(StudentLink):162 grok.order(4)163 link = 'view_personal'164 text = u'Personal Data'165 166 class StudentStudyCourseLink(StudentLink):167 grok.order(5)168 link = 'studycourse'169 text = u'Study Course'170 171 class StudentPaymentsLink(StudentLink):172 grok.order(6)173 link = 'payments'174 text = u'Payments'175 176 class StudentAccommodationLink(StudentLink):177 grok.order(7)178 link = 'accommodation'179 text = u'Accommodation'180 181 class StudentHistoryLink(StudentLink):182 109 grok.order(8) 183 110 link = 'history' … … 227 154 228 155 class MyStudentDataTab(PrimaryStudentNavTab): 229 """MyData -tab in primary navigation.156 """MyData dropdown tab in primary navigation. 230 157 """ 231 158 grok.order(3) 232 159 grok.require('waeup.viewMyStudentDataTab') 160 grok.template('mydatadropdowntabs') 233 161 pnav = 4 234 162 tab_title = u'My Data' 235 163 236 164 @property 237 def link_target(self): 238 rel_link = '/students/%s' % self.request.principal.id 239 return self.view.application_url() + rel_link 165 def active(self): 166 view_pnav = getattr(self.view, 'pnav', 0) 167 if view_pnav == self.pnav: 168 return 'active dropdown' 169 return 'dropdown' 170 171 @property 172 def targets(self): 173 student_url = self.view.application_url() + ( 174 '/students/%s' % self.request.principal.id) 175 #app_slip = getUtility(IExtFileStore).getFileByContext( 176 # self.context.getStudent(), 'application_slip') 177 targets = [] 178 #if app_slip: 179 # targets = [{'url':student_url + '/application_slip', 'title':'Application Slip'},] 180 targets += [ 181 {'url':student_url, 'title':'Base Data'}, 182 {'url':student_url + '/view_clearance', 'title':'Clearance Data'}, 183 {'url':student_url + '/view_personal', 'title':'Personal Data'}, 184 {'url':student_url + '/studycourse', 'title':'Study Course'}, 185 {'url':student_url + '/payments', 'title':'Payments'}, 186 {'url':student_url + '/accommodation', 'title':'Accommodation Data'}, 187 {'url':student_url + '/history', 'title':'History'}, 188 ] 189 return targets 240 190 241 191 def handle_file_delete(context, view, download_name):
Note: See TracChangeset for help on using the changeset viewer.