src/pyams_scheduler/zmi/task.py
changeset 22 b1a1ccc1fa26
parent 4 03b9d3744d75
child 36 42761bc38f66
--- a/src/pyams_scheduler/zmi/task.py	Thu Oct 08 11:12:35 2015 +0200
+++ b/src/pyams_scheduler/zmi/task.py	Thu Oct 08 11:31:03 2015 +0200
@@ -16,11 +16,11 @@
 from io import StringIO
 
 # import interfaces
-from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager, IWidgetsPrefixViewletsManager
+from pyams_form.interfaces.form import IWidgetsSuffixViewletsManager, IWidgetsPrefixViewletsManager, IFormHelp
 from pyams_scheduler.interfaces import ITaskInfo, IScheduler, ITask, ICronTask, ICronTaskScheduling, IDateTask, \
     IDateTaskScheduling, ILoopTask, ILoopTaskScheduling, ITaskHistory, IBaseTaskScheduling
-from pyams_skin.interfaces import IContentHelp
 from pyams_skin.layer import IPyAMSLayer
+from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION
 from pyams_zmi.layer import IAdminLayer
 from z3c.form.interfaces import IDataExtractedEvent, DISPLAY_MODE
 from z3c.table.interfaces import IValues, IColumn
@@ -28,9 +28,9 @@
 
 # import packages
 from pyams_form.form import AJAXEditForm
+from pyams_form.help import FormHelp
 from pyams_form.schema import CloseButton
 from pyams_pagelet.pagelet import pagelet_config
-from pyams_skin.help import ContentHelp
 from pyams_skin.table import BaseTable, I18nColumn
 from pyams_template.template import template_config
 from pyams_utils.adapter import adapter_config, ContextAdapter, ContextRequestViewAdapter
@@ -66,7 +66,7 @@
     input_css_class = 'col-md-8'
 
     fields = field.Fields(ITaskInfo).omit('__parent__', '__name__')
-    edit_permission = 'system.manage'
+    edit_permission = MANAGE_SYSTEM_PERMISSION
     task_factory = None
 
     def updateWidgets(self, prefix=None):
@@ -94,7 +94,7 @@
         event.form.widgets.errors += (Invalid(_("Specified task name is already used!")),)
 
 
-@pagelet_config(name='properties.html', context=ITask, layer=IPyAMSLayer, permission='system.view')
+@pagelet_config(name='properties.html', context=ITask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 class TaskPropertiesEditForm(AdminDialogEditForm):
     """Scheduler task properties edit form"""
 
@@ -110,7 +110,7 @@
 
     fields = field.Fields(ITaskInfo).omit('__parent__', '__name__')
     ajax_handler = 'properties.json'
-    edit_permission = 'system.manage'
+    edit_permission = MANAGE_SYSTEM_PERMISSION
 
     def updateWidgets(self, prefix=None):
         super(TaskPropertiesEditForm, self).updateWidgets(prefix)
@@ -118,7 +118,7 @@
 
 
 @view_config(name='properties.json', context=ITask, request_type=IPyAMSLayer,
-             permission='system.manage', renderer='json', xhr=True)
+             permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
 class SchedulerTaskPropertiesAJAXEditForm(AJAXEditForm, TaskPropertiesEditForm):
     """Scheduler task properties edit form, AJAX view"""
 
@@ -137,7 +137,7 @@
     input_css_class = 'col-md-8'
 
     ajax_handler = 'schedule.json'
-    edit_permission = 'system.manage'
+    edit_permission = MANAGE_SYSTEM_PERMISSION
 
     def update_content(self, content, data):
         changes = super(TaskScheduleEditForm, self).update_content(content, data)
@@ -156,7 +156,7 @@
             return super(TaskSchedulerAJAXEditForm, self).get_ajax_output(changes)
 
 
-@pagelet_config(name='schedule.html', context=ICronTask, layer=IPyAMSLayer, permission='system.view')
+@pagelet_config(name='schedule.html', context=ICronTask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 class CronTaskScheduleEditForm(TaskScheduleEditForm):
     """Cron-style task schedule edit form"""
 
@@ -164,12 +164,12 @@
 
 
 @view_config(name='schedule.json', context=ICronTask, request_type=IPyAMSLayer,
-             permission='system.manage', renderer='json', xhr=True)
+             permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
 class CronTaskScheduleAJAXEditForm(TaskSchedulerAJAXEditForm, CronTaskScheduleEditForm):
     """Cron-style task schedule edit form, AJAX view"""
 
 
-@pagelet_config(name='schedule.html', context=IDateTask, layer=IPyAMSLayer, permission='system.view')
+@pagelet_config(name='schedule.html', context=IDateTask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 class DateTaskScheduleEditForm(TaskScheduleEditForm):
     """Date-style task schedule edit form"""
 
@@ -177,12 +177,12 @@
 
 
 @view_config(name='schedule.json', context=IDateTask, request_type=IPyAMSLayer,
-             permission='system.manage', renderer='json', xhr=True)
+             permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
 class DateTaskScheduleAJAXEditForm(TaskSchedulerAJAXEditForm, DateTaskScheduleEditForm):
     """Date-style task schedule edit form, AJAX view"""
 
 
-@pagelet_config(name='schedule.html', context=ILoopTask, layer=IPyAMSLayer, permission='system.view')
+@pagelet_config(name='schedule.html', context=ILoopTask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 class LoopTaskScheduleEditForm(TaskScheduleEditForm):
     """Loop-style task schedule edit form"""
 
@@ -190,7 +190,7 @@
 
 
 @view_config(name='schedule.json', context=ILoopTask, request_type=IPyAMSLayer,
-             permission='system.manage', renderer='json', xhr=True)
+             permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
 class LoopTaskScheduleAJAXEditForm(TaskSchedulerAJAXEditForm, LoopTaskScheduleEditForm):
     """Loop-style task schedule edit form, AJAX view"""
 
@@ -203,7 +203,7 @@
     execute = button.Button(name='execute', title=_("Run in normal mode"))
 
 
-@pagelet_config(name='run.html', context=ITask, layer=IPyAMSLayer, permission='system.manage')
+@pagelet_config(name='run.html', context=ITask, layer=IPyAMSLayer, permission=MANAGE_SYSTEM_PERMISSION)
 class TaskRunForm(AdminDialogEditForm):
     """Task runner form"""
 
@@ -237,7 +237,7 @@
 
 
 @view_config(name='run.json', context=ITask, request_type=IPyAMSLayer,
-             permission='system.manage', renderer='json', xhr=True)
+             permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True)
 class TaskRunAJAXForm(AJAXEditForm, TaskRunForm):
     """Task runner form, AJAX view"""
 
@@ -255,8 +255,8 @@
                     'close_form': False}
 
 
-@adapter_config(context=(ITask, IAdminLayer, TaskRunForm), provides=IContentHelp)
-class TaskRunFormHelpAdapter(ContentHelp):
+@adapter_config(context=(ITask, IAdminLayer, TaskRunForm), provides=IFormHelp)
+class TaskRunFormHelpAdapter(FormHelp):
     """Task run form help adapter"""
 
     status = 'warning'
@@ -279,7 +279,7 @@
     """Task debug report viewlet"""
 
 
-@pagelet_config(name='history.html', context=ITask, layer=IPyAMSLayer, permission='system.view')
+@pagelet_config(name='history.html', context=ITask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION)
 class TaskHistoryDisplayForm(AdminDialogDisplayForm):
     """Task history display form"""
 
@@ -316,7 +316,7 @@
                           'data-ams-datatable-sdom': "t<'dt-row dt-bottom-row'<'text-right'p>>",
                           'data-ams-datatable-display-length': '20',
                           'data-ams-datatable-pagination-type': 'bootstrap_prevnext'},
-                'tr': {'data-ams-url': lambda x: absolute_url(x, self.request, 'info.json'),
+                'tr': {'data-ams-url': lambda x, col: absolute_url(x, self.request, 'info.json'),
                        'data-ams-target': '#task-history-report'}}
 
     def getCSSHighlightClass(self, column, item, cssClass):
@@ -363,7 +363,7 @@
 
 
 @view_config(name='info.json', context=ITaskHistory, request_type=IPyAMSLayer,
-             permission='system.view', renderer='json', xhr=True)
+             permission=VIEW_SYSTEM_PERMISSION, renderer='json', xhr=True)
 def TaskHistoryInfoView(request):
     return {'status': 'success',
             'close_form': False,