- Timestamp:
- 13 Apr 2010, 16:47:45 (15 years ago)
- Location:
- main/waeup.sirp/trunk/src/waeup/sirp/accesscodes
- Files:
-
- 1 added
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
main/waeup.sirp/trunk/src/waeup/sirp/accesscodes/browser.py
r5132 r5155 7 7 from waeup.sirp.browser.pages import UniversityPage 8 8 from waeup.sirp.browser.viewlets import ( 9 AdminTask, AddActionButton, LeftSidebar, BatchOpButton)9 AdminTask, AddActionButton, SearchActionButton, LeftSidebar, BatchOpButton) 10 10 from waeup.sirp.interfaces import IWAeUPObject, IUniversity 11 11 … … 105 105 self.redirect(self.url(self.context)) 106 106 107 107 class BatchContainerSearchPage(WAeUPPage): 108 grok.name('search') 109 grok.context(IAccessCodeBatchContainer) 110 grok.template('searchpage') 111 grok.require('waeup.manageACBatches') 112 113 title = 'Search Scratch Cards' 114 pnav = 0 115 116 def update(self, search=None, searchterm=None, searchtype=None, 117 entries=None, disable=None, enable=None): 118 self.searchresults = None 119 if search is not None: 120 searchresults = self.context.search(searchterm, searchtype) 121 if len(searchresults) == 0: 122 return 123 self.searchresults = [] 124 for result in searchresults: 125 status = u'unused' 126 if result.disabled is True: 127 status = u'disabled by %s on %s' % ( 128 result.student_id, 129 result.invalidation_date.strftime('%c') 130 ) 131 elif result.invalidation_date is not None: 132 status = u'invalidated by %s on %s' % ( 133 result.student_id, 134 result.invalidation_date.strftime('%c') 135 ) 136 entry = dict( 137 serial = result.batch_serial, 138 code = result.representation, 139 status = status) 140 self.searchresults.append(entry) 141 if entries is None: 142 return 143 if isinstance(entries, basestring): 144 entries = [entries] 145 for entry in entries: 146 if disable is not None: 147 self.context.disable(entry, self.request.principal.id) 148 self.flash('disabled %s' % entry) 149 elif enable is not None: 150 self.context.enable(entry) 151 self.flash('(re-)enabled %s' % entry) 152 return 153 108 154 class BatchContainerBreadcrumb(Breadcrumb): 109 155 """A breadcrumb for ac batch containers. … … 114 160 parent_viewname = 'administration' 115 161 162 class BatchContainerSearchBreadcrumb(Breadcrumb): 163 """A breadcrumb for ac batch containers search page. 164 """ 165 grok.require('waeup.manageACBatches') 166 grok.context(IAccessCodeBatchContainer) 167 grok.name('search') 168 title = u'Search Scratch Cards' 169 viewname = 'search' 170 parent_viewname = 'index' 171 116 172 class AdminTaskManageACBatches(AdminTask): 117 173 """Entry on administration page that links to batch container. … … 141 197 text = 'Reimport Scratch Card Batch' 142 198 199 class SearchAccessCodeButton(SearchActionButton): 200 """Action button on batch container page which links to search. 201 """ 202 grok.context(IAccessCodeBatchContainer) 203 grok.view(BatchContainerPage) 204 grok.require('waeup.manageACBatches') 205 text = 'Search Scratch Cards' 206 143 207 class ManageAccessCodes(grok.Viewlet): 144 208 """Link on front page to access code management.
Note: See TracChangeset for help on using the changeset viewer.