96 |
96 |
97 @pagelet_config(name='properties.html', context=ITask, layer=IPyAMSLayer, permission=MANAGE_SYSTEM_PERMISSION) |
97 @pagelet_config(name='properties.html', context=ITask, layer=IPyAMSLayer, permission=MANAGE_SYSTEM_PERMISSION) |
98 class TaskPropertiesEditForm(AdminDialogEditForm): |
98 class TaskPropertiesEditForm(AdminDialogEditForm): |
99 """Scheduler task properties edit form""" |
99 """Scheduler task properties edit form""" |
100 |
100 |
|
101 prefix = 'task_properties.' |
|
102 |
101 @property |
103 @property |
102 def title(self): |
104 def title(self): |
103 translate = self.request.localizer.translate |
105 translate = self.request.localizer.translate |
104 return translate(_("Scheduler task: {0}")).format(self.context.name) |
106 return translate(_("Scheduler task: {0}")).format(self.context.name) |
105 |
107 |
123 """Scheduler task properties edit form, AJAX view""" |
125 """Scheduler task properties edit form, AJAX view""" |
124 |
126 |
125 |
127 |
126 class TaskScheduleEditForm(AdminDialogEditForm): |
128 class TaskScheduleEditForm(AdminDialogEditForm): |
127 """Scheduler task base schedule edit form""" |
129 """Scheduler task base schedule edit form""" |
|
130 |
|
131 prefix = 'task_schedule.' |
128 |
132 |
129 @property |
133 @property |
130 def title(self): |
134 def title(self): |
131 translate = self.request.localizer.translate |
135 translate = self.request.localizer.translate |
132 return translate(_("Scheduler task: {0}")).format(self.context.name) |
136 return translate(_("Scheduler task: {0}")).format(self.context.name) |
204 |
208 |
205 |
209 |
206 @pagelet_config(name='run.html', context=ITask, layer=IPyAMSLayer, permission=MANAGE_SYSTEM_PERMISSION) |
210 @pagelet_config(name='run.html', context=ITask, layer=IPyAMSLayer, permission=MANAGE_SYSTEM_PERMISSION) |
207 class TaskRunForm(AdminDialogEditForm): |
211 class TaskRunForm(AdminDialogEditForm): |
208 """Task runner form""" |
212 """Task runner form""" |
|
213 |
|
214 prefix = 'task_run.' |
209 |
215 |
210 @property |
216 @property |
211 def title(self): |
217 def title(self): |
212 translate = self.request.localizer.translate |
218 translate = self.request.localizer.translate |
213 return translate(_("Scheduler task: {0}")).format(self.context.name) |
219 return translate(_("Scheduler task: {0}")).format(self.context.name) |
242 """Task runner form, AJAX view""" |
248 """Task runner form, AJAX view""" |
243 |
249 |
244 def get_ajax_output(self, changes): |
250 def get_ajax_output(self, changes): |
245 translate = self.request.localizer.translate |
251 translate = self.request.localizer.translate |
246 if self.actions['execute'].name in self.request.params: |
252 if self.actions['execute'].name in self.request.params: |
247 return {'status': 'success', |
253 return { |
248 'message': translate(_('Task scheduled in normal mode will start in 5 seconds...'))} |
254 'status': 'success', |
|
255 'message': translate(_('Task scheduled in normal mode will start in 5 seconds...')) |
|
256 } |
249 else: |
257 else: |
250 return {'status': 'message', |
258 return { |
251 'content': {'raw': True, |
259 'status': 'message', |
252 'text': changes, |
260 'content': { |
253 'target': '#task-debug-report'}, |
261 'raw': True, |
254 'message': translate(_('Task run in debug mode. Please check your console...')), |
262 'text': changes, |
255 'close_form': False} |
263 'target': '#task-debug-report' |
|
264 }, |
|
265 'message': translate(_('Task run in debug mode. Please check your console...')), |
|
266 'close_form': False |
|
267 } |
256 |
268 |
257 |
269 |
258 @adapter_config(context=(ITask, IAdminLayer, TaskRunForm), provides=IFormHelp) |
270 @adapter_config(context=(ITask, IAdminLayer, TaskRunForm), provides=IFormHelp) |
259 class TaskRunFormHelpAdapter(FormHelp): |
271 class TaskRunFormHelpAdapter(FormHelp): |
260 """Task run form help adapter""" |
272 """Task run form help adapter""" |
308 cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight datatable'} |
320 cssClasses = {'table': 'table table-bordered table-striped table-hover table-tight datatable'} |
309 sortOn = None |
321 sortOn = None |
310 |
322 |
311 @property |
323 @property |
312 def data_attributes(self): |
324 def data_attributes(self): |
313 return {'table': {'data-ams-datatable-global-filter': 'false', |
325 return { |
314 'data-ams-datatable-info': 'false', |
326 'table': { |
315 'data-ams-datatable-sort': 'false', |
327 'data-ams-datatable-global-filter': 'false', |
316 'data-ams-datatable-sdom': "t<'dt-row dt-bottom-row'<'text-right'p>>", |
328 'data-ams-datatable-info': 'false', |
317 'data-ams-datatable-display-length': '20', |
329 'data-ams-datatable-sort': 'false', |
318 'data-ams-datatable-pagination-type': 'bootstrap_prevnext'}, |
330 'data-ams-datatable-sdom': "t<'dt-row dt-bottom-row'<'text-right'p>>", |
319 'tr': {'data-ams-url': lambda x, col: absolute_url(x, self.request, 'info.json'), |
331 'data-ams-datatable-display-length': '20', |
320 'data-ams-target': '#task-history-report'}} |
332 'data-ams-datatable-pagination-type': 'bootstrap_prevnext'}, |
|
333 'tr': { |
|
334 'data-ams-url': lambda x, col: absolute_url(x, self.request, 'info.json'), |
|
335 'data-ams-target': '#task-history-report' |
|
336 } |
|
337 } |
321 |
338 |
322 def getCSSHighlightClass(self, column, item, cssClass): |
339 def getCSSHighlightClass(self, column, item, cssClass): |
323 return STATUS_CLASS[item.status] |
340 return STATUS_CLASS[item.status] |
324 |
341 |
325 |
342 |
363 |
380 |
364 |
381 |
365 @view_config(name='info.json', context=ITaskHistory, request_type=IPyAMSLayer, |
382 @view_config(name='info.json', context=ITaskHistory, request_type=IPyAMSLayer, |
366 permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True) |
383 permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True) |
367 def TaskHistoryInfoView(request): |
384 def TaskHistoryInfoView(request): |
368 return {'status': 'success', |
385 return { |
369 'close_form': False, |
386 'status': 'success', |
370 'content': {'raw': True, |
387 'close_form': False, |
371 'text': request.context.report, |
388 'content': { |
372 'target': '#task-history-report'}} |
389 'raw': True, |
|
390 'text': request.context.report, |
|
391 'target': '#task-history-report' |
|
392 } |
|
393 } |