0 Votes

Modifications pour le document Planificateur de traitements

Modifié par john le 2026/06/02 12:24

Depuis la version 1.1
modifié par john
sur 2025/01/10 15:27
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-scheduler-ui/16.10.2]
À la version 3.1
modifié par john
sur 2026/06/02 12:24
Commentaire de modification : Install extension [org.xwiki.platform:xwiki-platform-scheduler-ui/17.10.9]

Résumé

Détails

Propriétés de la Page
Contenu
... ... @@ -2,11 +2,12 @@
2 2  ## First, set a shortcut to our Scheduler plugin
3 3  ##
4 4  #set ($scheduler = $xwiki.scheduler)
5 +#set ($schedulerEnabled = $scheduler.enabled)
5 5  ##
6 6  ## If the sheet is called with an action ($request.do), let us first process this action
7 7  ## Possible values are : "schedule", "pause", "resume", "unschedule", "delete"
8 8  ##
9 -#if ("$!request.do" != '' && "$!request.which" != '')
10 +#if ($schedulerEnabled && "$!request.do" != '' && "$!request.which" != '')
10 10   ##
11 11   ## Obtain the Job document and object for which the action has been called
12 12   ##
... ... @@ -25,7 +25,7 @@
25 25   ##
26 26   #set ($ok = $scheduler.scheduleJob($jobObj))
27 27   #if (!$ok)
28 - {{error}}$xcontext.get('error'){{/error}}
29 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
29 29  
30 30   #else
31 31   #set ($jobName = "$jobObj.get('jobName')")
... ... @@ -38,7 +38,7 @@
38 38   ##
39 39   #set ($ok = $scheduler.pauseJob($jobObj))
40 40   #if (!$ok)
41 - {{error}}$xcontext.get('error'){{/error}}
42 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
42 42  
43 43   #else
44 44   {{info}}$services.localization.render('xe.scheduler.paused', [$jobObj.get('jobName')]){{/info}}
... ... @@ -50,7 +50,7 @@
50 50   ##
51 51   #set ($ok = $scheduler.resumeJob($jobObj))
52 52   #if (!$ok)
53 - {{error}}$xcontext.get('error'){{/error}}
54 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
54 54  
55 55   #else
56 56   {{info}}$services.localization.render('xe.scheduler.resumed', [$jobObj.get('jobName'), $scheduler.getNextFireTime($jobObj)]){{/info}}
... ... @@ -62,7 +62,7 @@
62 62   ##
63 63   #set ($ok = $scheduler.unscheduleJob($jobObj))
64 64   #if (!$ok)
65 - {{error}}$xcontext.get('error'){{/error}}
66 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
66 66  
67 67   #else
68 68   {{info}}$services.localization.render('xe.scheduler.unscheduled', [$jobObj.get('jobName')]){{/info}}
... ... @@ -80,7 +80,7 @@
80 80   #set ($deleteRedirect = $xwiki.getURL($jobObj.getName(), 'delete'))
81 81   $response.sendRedirect($deleteRedirect)
82 82   #else
83 - {{error}}$xcontext.get('error'){{/error}}
84 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
84 84  
85 85   #end
86 86   #else
... ... @@ -93,7 +93,7 @@
93 93   ##
94 94   #set ($ok = $scheduler.triggerJob($jobObj))
95 95   #if (!$ok)
96 - {{error}}$xcontext.get('error'){{/error}}
97 + {{error}}$services.rendering.escape($xcontext.get('error'), 'xwiki/2.1'){{/error}}
97 97  
98 98   #else
99 99   {{info}}$services.localization.render('xe.scheduler.triggered', [$jobObj.get('jobName')]){{/info}}
... ... @@ -103,6 +103,12 @@
103 103  #end
104 104  $services.localization.render('xe.scheduler.welcome')
105 105  
107 +#if (!$schedulerEnabled)
108 +{{warning}}
109 + {{translation key="scheduler.disabled"/}}
110 +{{/warning}}
111 +
112 +#end
106 106  = $services.localization.render('xe.scheduler.jobs.list') =
107 107  
108 108  ##
... ... @@ -109,32 +109,35 @@
109 109  ## Retrieve all scheduler jobs
110 110  ## Display their name, status, possible next fire time, and available actions
111 111  ##
112 -|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.name')|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.status')|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.next')|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.actions')
119 +|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.name')#if ($schedulerEnabled)|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.status')|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.next')#end|=(%scope="col"%)$services.localization.render('xe.scheduler.jobs.actions')
113 113  #foreach ($docName in $services.query.xwql('from doc.object(XWiki.SchedulerJobClass) as jobs where doc.fullName <> ''XWiki.SchedulerJobTemplate''').execute())
114 114   #set ($jobHolder = $xwiki.getDocument($docName))
115 115   #set ($job = $jobHolder.getObject('XWiki.SchedulerJobClass'))
116 - #set ($status = $scheduler.getJobStatus($job).value)
117 - #if ($status == '')
118 - #set ($status = 'None')
123 + #if ($schedulerEnabled)
124 + #set ($status = $scheduler.getJobStatus($job).value)
125 + #if ($status == '')
126 + #set ($status = 'None')
127 + #end
128 + #set ($firetime = '')
129 + #if ($status != 'None')
130 + #set ($firetime = $scheduler.getNextFireTime($job))
131 + #else
132 + #set ($firetime = $services.localization.render('xe.scheduler.jobs.next.undefined'))
133 + #end
134 + #set ($actions = ['trigger'])
135 + #if ($status == 'None')
136 + #set ($ok = $actions.add('schedule'))
137 + #elseif($status == 'Normal')
138 + #set ($ok = $actions.addAll(['pause', 'unschedule']))
139 + #elseif ($status == 'Paused')
140 + #set ($ok = $actions.addAll(['resume', 'unschedule']))
141 + #end
142 + #set ($ok = $actions.add('delete'))
119 119   #end
120 - #set ($firetime = '')
121 - #if ($status != 'None')
122 - #set ($firetime = $scheduler.getNextFireTime($job))
123 - #else
124 - #set ($firetime = $services.localization.render('xe.scheduler.jobs.next.undefined'))
125 - #end
126 - #set ($actions = ['trigger'])
127 - #if ($status == 'None')
128 - #set ($ok = $actions.add('schedule'))
129 - #elseif($status == 'Normal')
130 - #set ($ok = $actions.addAll(['pause', 'unschedule']))
131 - #elseif ($status == 'Paused')
132 - #set ($ok = $actions.addAll(['resume', 'unschedule']))
133 - #end
134 - #set ($ok = $actions.add('delete'))
135 -|$job.get('jobName')|$status|$firetime|**$services.localization.render('xe.scheduler.jobs.actions.access')** [[$services.localization.render('xe.scheduler.jobs.actions.view')>>$services.rendering.escape($jobHolder.fullName, 'xwiki/2.1')]]#if($jobHolder.hasAccessLevel('programming')) [[$services.localization.render('xe.scheduler.jobs.actions.edit')>>path:${jobHolder.getURL('edit')}]]#end **$services.localization.render('xe.scheduler.jobs.actions.manage')**#foreach($action in $actions) [[$services.localization.render("xe.scheduler.jobs.actions.$action")>>path:$doc.getURL('view', $escapetool.url({'do': $action, 'which': $jobHolder.fullName, 'form_token': $services.csrf.token}))]]#end
144 +|$job.get('jobName')#if($schedulerEnabled)|$status|$firetime#end|**$services.localization.render('xe.scheduler.jobs.actions.access')** [[$services.localization.render('xe.scheduler.jobs.actions.view')>>$services.rendering.escape($jobHolder.fullName, 'xwiki/2.1')]]#if($jobHolder.hasAccessLevel('programming'))#if ($schedulerEnabled) [[$services.localization.render('xe.scheduler.jobs.actions.edit')>>path:${jobHolder.getURL('edit')}]]#end#end#if ($schedulerEnabled) **$services.localization.render('xe.scheduler.jobs.actions.manage')**#foreach($action in $actions) [[$services.localization.render("xe.scheduler.jobs.actions.$action")>>path:$doc.getURL('view', $escapetool.url({'do': $action, 'which': $jobHolder.fullName, 'form_token': $services.csrf.token}))]]#end#end
136 136  
137 137  #end
147 +#if ($schedulerEnabled)
138 138  #if ($doc.hasAccessLevel('programming'))
139 139  ##
140 140  ## Job creation is offered only for programmers, because the job page needs to be saved
... ... @@ -172,4 +172,5 @@
172 172   {{warning}}$services.localization.render('xe.scheduler.jobs.warning'){{/warning}}
173 173  
174 174  #end
185 +#end
175 175  {{/velocity}}