17 |
17 |
18 # import interfaces |
18 # import interfaces |
19 from pyams_scheduler.interfaces.url import IURLCallerTask, IURLCallerTaskInfo |
19 from pyams_scheduler.interfaces.url import IURLCallerTask, IURLCallerTaskInfo |
20 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu |
20 from pyams_skin.interfaces.viewlet import IToolbarAddingMenu |
21 from pyams_skin.layer import IPyAMSLayer |
21 from pyams_skin.layer import IPyAMSLayer |
|
22 from pyams_utils.interfaces import VIEW_SYSTEM_PERMISSION, MANAGE_SYSTEM_PERMISSION |
22 from zope.component.interfaces import ISite |
23 from zope.component.interfaces import ISite |
23 |
24 |
24 # import packages |
25 # import packages |
25 from pyams_form.form import AJAXAddForm, AJAXEditForm |
26 from pyams_form.form import AJAXAddForm, AJAXEditForm |
26 from pyams_pagelet.pagelet import pagelet_config |
27 from pyams_pagelet.pagelet import pagelet_config |
36 from pyams_scheduler import _ |
37 from pyams_scheduler import _ |
37 |
38 |
38 |
39 |
39 @viewlet_config(name='add-scheduler-url-task.menu', context=ISite, layer=IPyAMSLayer, |
40 @viewlet_config(name='add-scheduler-url-task.menu', context=ISite, layer=IPyAMSLayer, |
40 view=SchedulerTasksTable, manager=IToolbarAddingMenu, |
41 view=SchedulerTasksTable, manager=IToolbarAddingMenu, |
41 permission='system.manage', weight=5) |
42 permission=MANAGE_SYSTEM_PERMISSION, weight=5) |
42 class URLTaskAddMenu(ToolbarMenuItem): |
43 class URLTaskAddMenu(ToolbarMenuItem): |
43 """URL caller task add menu""" |
44 """URL caller task add menu""" |
44 |
45 |
45 label = _("Add URL caller task...") |
46 label = _("Add URL caller task...") |
46 label_css_class = 'fa fa-fw fa-globe' |
47 label_css_class = 'fa fa-fw fa-globe' |
47 url = 'add-scheduler-url-task.html' |
48 url = 'add-scheduler-url-task.html' |
48 modal_target = True |
49 modal_target = True |
49 |
50 |
50 |
51 |
51 @pagelet_config(name='add-scheduler-url-task.html', context=ISite, layer=IPyAMSLayer, |
52 @pagelet_config(name='add-scheduler-url-task.html', context=ISite, layer=IPyAMSLayer, |
52 permission='system.manage') |
53 permission=MANAGE_SYSTEM_PERMISSION) |
53 class URLTaskAddForm(TaskBaseAddForm): |
54 class URLTaskAddForm(TaskBaseAddForm): |
54 """URL caller task add form""" |
55 """URL caller task add form""" |
55 |
56 |
56 legend = _("Add URL caller task") |
57 legend = _("Add URL caller task") |
57 icon_css_class = 'fa fa-fw fa-globe' |
58 icon_css_class = 'fa fa-fw fa-globe' |
59 ajax_handler = 'add-scheduler-url-task.json' |
60 ajax_handler = 'add-scheduler-url-task.json' |
60 task_factory = URLCallerTask |
61 task_factory = URLCallerTask |
61 |
62 |
62 |
63 |
63 @view_config(name='add-scheduler-url-task.json', context=ISite, request_type=IPyAMSLayer, |
64 @view_config(name='add-scheduler-url-task.json', context=ISite, request_type=IPyAMSLayer, |
64 permission='system.manage', renderer='json', xhr=True) |
65 permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True) |
65 class URLTaskAJAXAddForm(AJAXAddForm, URLTaskAddForm): |
66 class URLTaskAJAXAddForm(AJAXAddForm, URLTaskAddForm): |
66 """URL caller task add form, AJAX view""" |
67 """URL caller task add form, AJAX view""" |
67 |
68 |
68 |
69 |
69 @pagelet_config(name='settings.html', context=IURLCallerTask, layer=IPyAMSLayer, permission='system.view') |
70 @pagelet_config(name='settings.html', context=IURLCallerTask, layer=IPyAMSLayer, permission=VIEW_SYSTEM_PERMISSION) |
70 class URLTaskEditForm(AdminDialogEditForm): |
71 class URLTaskEditForm(AdminDialogEditForm): |
71 """URL caller task edit form""" |
72 """URL caller task edit form""" |
72 |
73 |
73 @property |
74 @property |
74 def title(self): |
75 def title(self): |
78 legend = _("Edit task settings") |
79 legend = _("Edit task settings") |
79 icon_css_class = 'fa fa-fw fa-globe' |
80 icon_css_class = 'fa fa-fw fa-globe' |
80 |
81 |
81 fields = field.Fields(IURLCallerTaskInfo) |
82 fields = field.Fields(IURLCallerTaskInfo) |
82 ajax_handler = 'settings.json' |
83 ajax_handler = 'settings.json' |
83 edit_permission = 'system.manage' |
84 edit_permission = MANAGE_SYSTEM_PERMISSION |
84 |
85 |
85 |
86 |
86 @view_config(name='settings.json', context=IURLCallerTask, request_type=IPyAMSLayer, |
87 @view_config(name='settings.json', context=IURLCallerTask, request_type=IPyAMSLayer, |
87 permission='system.manage', renderer='json', xhr=True) |
88 permission=MANAGE_SYSTEM_PERMISSION, renderer='json', xhr=True) |
88 class URLTaskAJAXEditForm(AJAXEditForm, URLTaskEditForm): |
89 class URLTaskAJAXEditForm(AJAXEditForm, URLTaskEditForm): |
89 """URL caller task edit form, AJAX view""" |
90 """URL caller task edit form, AJAX view""" |