Version 2.1 von admin am 2022/04/29 18:56

Zeige letzte Bearbeiter
1 {{velocity output="false"}}
2 #macro (displayCreatePanelForm)
3 {{html clean="false"}}
4 <form method="post" action="$doc.getURL('view', 'xpage=plain')" class="form-inline" onsubmit="cancelCancelEdit()">
5 <div>
6 <input type="hidden" name="form_token" value="$!escapetool.xml($services.csrf.token)" />
7 <input type="hidden" name="create" value="1"/>
8 <input type="hidden" name="parent" value="Panels.WebHome"/>
9 <label for="panelTitle" class="hidden">
10 $escapetool.xml($services.localization.render('xe.panels.create.title'))
11 </label>
12 <input type="text" id="panelTitle" name="panelTitle"
13 placeholder="$escapetool.xml($services.localization.render('xe.panels.create.title'))" />
14 <input type="submit" class="btn btn-success"
15 value="$escapetool.xml($services.localization.render('create'))"/>
16 </div>
17 </form>
18 {{/html}}##
19 #end
20
21 #macro (createPanel $title)
22 #set ($pageName = $services.modelvalidation.transformName($title))
23 #set ($newPanelDoc = $xwiki.getDocument($services.model.createDocumentReference('', '', $pageName)))
24 #if (!$newPanelDoc.isNew())
25 #set ($redirecturl = $newPanelDoc.getURL('view', 'xpage=docalreadyexists'))
26 #else
27 #set ($template = "$!{request.getParameter('template')}")
28 #if ($template == '')
29 #set ($template = 'Panels.PanelTemplate')
30 #end
31 #set ($pcontent = "{{velocity}}${util.newline}${escapetool.h}panelheader('${title.replace('''', '''''')}')${util.newline}${util.newline}${escapetool.h}panelfooter()${util.newline}{{/velocity}}")
32 #set ($redirectparams = "template=${escapetool.url($template)}&Panels.PanelClass_0_name=${escapetool.url($title)}&Panels.PanelClass_0_content=${escapetool.url($pcontent)}&parent=${escapetool.url($!request.parent)}")
33 #set ($redirecturl = $newPanelDoc.getURL('edit', $redirectparams))
34 #end
35 $response.sendRedirect($redirecturl)
36 #end
37 {{/velocity}}
38
39 {{velocity}}
40 #if("$!{request.create}" == '')
41 #displayCreatePanelForm()
42 #else
43 #createPanel("$!{request.panelTitle.trim()}")
44 #end
45 {{/velocity}}