Wiki source code of AjaxActions
Last modified by superadmin on 2025/05/22 17:45
Show last authors
| author | version | line-number | content |
|---|---|---|---|
| 1 | {{include reference="TourCode.Macros"/}} | ||
| 2 | |||
| 3 | {{velocity}} | ||
| 4 | #set ($action = $request.action) | ||
| 5 | #set ($tourName = $request.tourName) | ||
| 6 | #if ("$!tourName" != '') | ||
| 7 | #set ($tourDoc = $xwiki.getDocument($tourName)) | ||
| 8 | #if ($action == 'editStep') | ||
| 9 | ## Save step | ||
| 10 | #set ($nbSteps = $request.nbSteps) | ||
| 11 | #set ($stepOrder = $request.stepOrder) | ||
| 12 | #set ($prevStepOrder = $nbSteps) | ||
| 13 | #set ($stepID = $numbertool.toNumber($request.stepID).intValue()) | ||
| 14 | #set ($isNewStep = true) | ||
| 15 | #if ("$!stepID" != '') ## Edit | ||
| 16 | #set ($stepObj = $tourDoc.getObject('TourCode.StepClass', $stepID)) | ||
| 17 | #if ($stepObj) | ||
| 18 | #set ($isNewStep = false) | ||
| 19 | #set ($prevStepOrder = $stepObj.getValue('order')) | ||
| 20 | #end | ||
| 21 | #end | ||
| 22 | #if ($isNewStep) | ||
| 23 | ## New step | ||
| 24 | #set ($stepObj = $tourDoc.newObject('TourCode.StepClass')) | ||
| 25 | #end | ||
| 26 | #set ($discard = $stepObj.set('element', $request.element)) | ||
| 27 | #set ($discard = $stepObj.set('title', $request.title)) | ||
| 28 | #set ($discard = $stepObj.set('placement', $request.placement)) | ||
| 29 | #set ($discard = $stepObj.set('targetPage', $request.targetPage)) | ||
| 30 | #set ($discard = $stepObj.set('action', $request.targetAction)) | ||
| 31 | #set ($discard = $stepObj.set('queryString', $request.get('queryString'))) | ||
| 32 | #set ($discard = $stepObj.set('backdrop', $request.backdrop)) | ||
| 33 | #set ($discard = $stepObj.set('content', $request.content)) | ||
| 34 | #set ($discard = $stepObj.set('reflex', $request.reflex)) | ||
| 35 | #if ($prevStepOrder != $stepOrder) | ||
| 36 | ## Update the step objects | ||
| 37 | #set ($stepObj2 = $tourDoc.getObject('TourCode.StepClass', 'order', "$stepOrder")) | ||
| 38 | #if ("$!stepObj2" != '') | ||
| 39 | #set ($discard = $stepObj2.set('order', $prevStepOrder)) | ||
| 40 | #end | ||
| 41 | #set ($discard = $stepObj.set('order', $stepOrder)) | ||
| 42 | #else | ||
| 43 | #if ($isNewStep) | ||
| 44 | #set ($discard = $stepObj.set('order', $nbSteps)) | ||
| 45 | #end | ||
| 46 | #end | ||
| 47 | #elseif ($action == 'deleteStep') | ||
| 48 | #set ($stepID = $numbertool.toNumber($request.stepID).intValue()) | ||
| 49 | #set ($stepObj = $tourDoc.getObject('TourCode.StepClass', $stepID)) | ||
| 50 | #if ($stepObj) | ||
| 51 | #set ($discard = $tourDoc.removeObject($stepObj)) | ||
| 52 | ## Update other steps order | ||
| 53 | #set ($steps = $tourDoc.getObjects('TourCode.StepClass')) | ||
| 54 | #set ($sortedSteps = []) | ||
| 55 | #sortXWikiObjectsList($steps, 'order', $sortedSteps) | ||
| 56 | #foreach ($step in $sortedSteps) | ||
| 57 | #set ($discard = $step.set('order', $foreach.index)) | ||
| 58 | #end | ||
| 59 | #end | ||
| 60 | #end | ||
| 61 | #set ($discard = $tourDoc.save()) | ||
| 62 | #set ($pageMode = 'edit') | ||
| 63 | {{include reference="TourCode.StepsListing"/}} | ||
| 64 | #end | ||
| 65 | {{/velocity}} |