Thèmes pour Flamingo
Erreur dans lexécution de la macro [velocity]. Cause : [Error number 9001 in 9: Access denied in edit mode on document portail:XWiki.XWikiPreferences]. Cliquer sur ce message pour voir plus de détails.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [################################
## Globals
################################
#set ($discard = $xwiki.ssx.use('FlamingoThemesCode.WebHomeSheet'))
####################################
## CONTROLLER
####################################
#if($request.action == 'setTheme')
#setTheme()
#elseif($request.action == 'setThemeSuccess')
#prepareView()
#setThemeSuccess()
#view()
#elseif($request.action == 'create')
#create()
#else
#prepareView()
#view()
#end
####################################
## PREPARE VIEW
####################################
#macro(prepareView)
#set ($currentTheme = $xwiki.getXWikiPreference('colorTheme'))
#if ("$!currentTheme" == '')
#set ($currentTheme = 'FlamingoThemes.Charcoal')
#end
#set ($currentThemeDoc = $xwiki.getDocument($currentTheme))
#set ($isSubWiki = $services.wiki.currentWikiId != $services.wiki.mainWikiId)
#set ($flamingoThemesFromThisWiki = [])
#getFlamingoThemes($services.wiki.currentWikiId, $flamingoThemesFromThisWiki)
#if ($isSubWiki)
#set ($flamingoThemesFromMainWiki = [])
#getFlamingoThemes($services.wiki.mainWikiId, $flamingoThemesFromMainWiki)
#end
#set ($currentScope = 'local')
#if ("$!currentTheme" != '' && $services.model.resolveDocument($currentTheme).wikiReference.name == $services.wiki.mainWikiId)
#set ($currentScope = 'global')
#end
#end
################################
## Get Flamingo themes
################################
#macro(getFlamingoThemes $wiki $return)
#set ($results = [])
#set ($xwql = "from doc.object(FlamingoThemesCode.ThemeClass) obj WHERE doc.fullName <> 'FlamingoThemesCode.ThemeTemplate' ORDER BY doc.name")
#getThemesFromQuery ($xwql, $wiki, $results)
#set ($return = $NULL)
#setVariable ("$return", $results)
#end
################################
## Get themes from a query
################################
#macro(getThemesFromQuery $xwql $wiki $return)
#set ($wikiReference = $services.model.createWikiReference($wiki))
#set ($themes = $services.query.xwql($xwql).setWiki($wiki).execute())
#set ($themesRef = [])
#foreach ($theme in $themes)
#set ($themeRef = $services.model.resolveDocument($theme, 'default', $wikiReference))
#if ($services.security.authorization.hasAccess('view', $xcontext.userReference, $themeRef))
#set ($discard = $themesRef.add($themeRef))
#end
#end
#set ($return = $NULL)
#setVariable("$return" $themesRef)
#end
####################################
## VIEW
####################################
#macro(view)
(% class="theme-viewer" %)
(((
## Display a warning about old color themes (if any)
#if($xwiki.exists($services.model.createDocumentReference('', 'ColorThemes', 'ColorThemeClass')) && $xwiki.exists($services.model.createDocumentReference('', 'ColorThemes', 'WebHome')))
{{info}}
$services.localization.render('platform.flamingo.themes.home.warningOldColorThemeInstalled', ["[[", ">>ColorThemes.WebHome]]"])
{{/info}}
#end
## Display the current theme
== $services.localization.render('platform.flamingo.themes.home.currenttheme') ==
#if($currentThemeDoc.getObject('ColorThemes.ColorThemeClass'))
{{warning}}
$services.localization.render('platform.flamingo.themes.home.warningCurrentOldColorTheme')
{{/warning}}
#end
#displayTheme($currentThemeDoc.documentReference, $currentScope)
## Display the other themes
## Creation form
#creationForm()
== $services.localization.render('platform.flamingo.themes.home.otherthemes') ==
#if ($isSubWiki && !$flamingoThemesFromMainWiki.isEmpty())
{{html}}
<ul class="nav nav-tabs" role="tablist">
<li role="presentation" class="active"><a href="#local" role="tab" data-toggle="tab">$escapetool.xml($services.localization.render('platform.flamingo.themes.local'))</a></li>
<li role="presentation"><a href="#global" role="tab" data-toggle="tab">$escapetool.xml($services.localization.render('platform.flamingo.themes.global'))</a></li>
</ul>
{{/html}}
(% class="tab-content" %)
(((
(% class="tab-pane active" id="local" %)
(((
#foreach($themeRef in $flamingoThemesFromThisWiki)
#displayTheme($themeRef, 'local')
#end
)))
(% class="tab-pane" id="global" %)
(((
#foreach($themeRef in $flamingoThemesFromMainWiki)
#displayTheme($themeRef, 'global')
#end
)))
)))
#else
#foreach($themeRef in $flamingoThemesFromThisWiki)
#displayTheme($themeRef, 'local')
#end
#end
)))
#end
####################################
## DISPLAY THEME
####################################
#macro(displayTheme $themeReference $scope)
#if ($scope == 'local')
#set ($fullName = $services.model.serialize($themeReference, 'local'))
#else
#set ($fullName = $services.model.serialize($themeReference, 'default'))
#end
#set ($isCurrentTheme = ($currentThemeDoc.documentReference == $themeReference))
#set ($themeDoc = $xwiki.getDocument($themeReference))
#set ($themeObj = $themeDoc.getObject('FlamingoThemesCode.ThemeClass'))
(% class="theme #if($isCurrentTheme) current-theme#end" %)
(((
## Display the mockup
#themeMockup($themeObj)
## Display the informations
(% class="theme-info" %)
(((
=== [[$themeDoc.displayTitle>>$fullName]] #if ($isSubWiki && $scope == 'local') ($services.wiki.currentWikiId)#end===
#if ($hasAdmin && !$isCurrentTheme)
$services.icon.render('bullet_go') [[$services.localization.render('platform.flamingo.themes.home.useThisTheme')>>path:$doc.getURL('view', "action=setTheme&theme=${fullName}&form_token=$services.csrf.token")]]
#end
)))
)))
#end
####################################
## THEME MOCKUP
####################################
#macro(themeMockup $themeObj)
#macro(displayValue $variableName $fallback)
#set($value = $themeObj.getValue($variableName))
#if("$!value" == '')
#set($value = $fallback)
#end
$value##
#end
{{html}}
<div class="mockup-page" style="background-color: #displayValue('body-bg', '#fff')">
## A fake navbar
<div class="mockup-navbar" style="background-color: #displayValue('navbar-default-bg', '#eee')">
## A fake logo
<div class="mockup-logo"></div>
## A fake menu
<div class="mockup-navbar-menu" style="border-color: #displayValue('navbar-default-color', '#000')"></div>
## A fake add button
<div class="mockup-add-button" style="background-color: #displayValue('btn-success-bg', '#4D9244')"></div>
</div>
## A fake page content
<div class="mockup-page-content" style="background-color: #displayValue('xwiki-page-content-bg', '#fff')">
<div class="mockup-title" style="border-color: #displayValue('text-color', '#000')"></div>
<div class="mockup-text1" style="border-color: #displayValue('text-color', '#000')"></div>
<div class="mockup-text2" style="border-color: #displayValue('text-color', '#000')"></div>
<div class="mockup-text3" style="border-color: #displayValue('text-color', '#000')"></div>
<div class="mockup-text4" style="border-color: #displayValue('link-color', '#000')"></div>
<div class="mockup-text5" style="border-color: #displayValue('text-color', '#0000ff')"></div>
</div>
## A fake app bar
<div class="mockup-left-panel" style="color: #displayValue('link-color', '#0000ff')"></div>
## A fake right panel
<div class="mockup-right-panel">
<div class="mockup-right-panel-header" style="color: #displayValue('panel-default-text', '#000'); background-color: #displayValue('panel-bg', '#fff')">
<div class="mockup-right-panel-header-text" style="border-color: #displayValue('panel-default-text', '#000')"></div>
</div>
<div class="mockup-right-panel-contents" style="background-color: #displayValue('panel-bg', '#fff')">
<div class="mockup-right-panel-text1" style="background-color: #displayValue('panel-default-text', '#000')"> </div>
<div class="mockup-right-panel-text2" style="background-color: #displayValue('panel-default-text', '#000')"> </div>
<div class="mockup-right-panel-text3" style="background-color: #displayValue('link-color', '#0000ff')"> </div>
</div>
</div>
## A fake footer
<div class="mockup-footer" style="background-color: #displayValue('navbar-default-bg', '#fff')">
<div class="mockup-footer-content" style="border-color: #displayValue('navbar-default-link-color', '#000')">
</div>
</div>
{{/html}}
#end
####################################
## CREATION FORM
####################################
#macro(creationForm)
#if($xwiki.hasAccessLevel('edit', $xcontext.user, 'FlamingoThemes.AnyPage____________'))
(% class="clearfix" %)
(((
{{html}}
<div class="theme-creation-form" >
<form action="$doc.getURL()" method="post" class="form-inline">
<input type="hidden" name="form_token" value="$services.csrf.token" />
<input type="hidden" name="action" value="create"/>
<label for="newThemeName" class="hidden">$services.localization.render('platform.flamingo.themes.home.newThemeName')</label>
<input type="text" name="newThemeName" id="newThemeName" value="$services.localization.render('platform.flamingo.themes.home.newThemeName')" class="withTip" size="30"/>
<input type="submit" value="$services.localization.render('platform.flamingo.themes.home.create')" class="button"/>
</form>
</div>
{{/html}}
)))
#end
#end
####################################
## CREATE A NEW THEME
####################################
#macro(create)
#if("$!request.newThemeName" == '')
{{error}}
{{translation key="platform.flamingo.themes.home.create.invalid" /}}
{{/error}}
#creationForm()
#elseif(!$services.csrf.isTokenValid($request.form_token))
{{error}}
{{translation key="platform.flamingo.themes.home.create.csrf" parameters="$request.newThemeName" /}}
{{/error}}
{{html}}
<form action="$doc.getURL()" method="post">
<input type="hidden" name="form_token" value="$services.csrf.token" />
<input type="hidden" name="action" value="create"/>
<input type="hidden" name="newThemeName" id="newThemeName" value="$request.newThemeName" />
<input type="submit" value="$services.localization.render('platform.flamingo.themes.home.create.confirm')" class="button"/>
</form>
{{/html}}
#else
## Let's do it
$response.sendRedirect($xwiki.getDocument($services.model.createDocumentReference('', 'FlamingoThemes', $request.newThemeName)).getURL('edit', "template=FlamingoThemesCode.ThemeTemplate&title=$escapetool.url($request.newThemeName)&parent=$doc.fullName&xhidden=1"))
#end
#end
####################################
## SET THEME
####################################
#macro(setTheme)
#if("$!request.theme" != '' && $hasAdmin && ${services.csrf.isTokenValid("$!{request.getParameter('form_token')}")})
#set($preferencesDoc = $xwiki.getDocument('XWiki.XWikiPreferences'))
#set($preferencesObj = $preferencesDoc.getObject('XWiki.XWikiPreferences'))
$preferencesObj.set('colorTheme', $request.theme)
$preferencesDoc.save()
$response.sendRedirect($doc.getURL('view', "theme=$escapetool.url($request.theme)&action=setThemeSuccess"))
#end
#end
####################################
## SET THEME SUCCESS
####################################
#macro(setThemeSuccess)
#if("$!request.theme" != '')
{{success}}
$services.localization.render('platform.flamingo.themes.home.set.success', [$xwiki.getDocument($request.theme).displayTitle])
{{/success}}
#end
#end]
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:186)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:60)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:279)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:182)
at org.xwiki.rendering.macro.script.AbstractScriptMacro.execute(AbstractScriptMacro.java:58)
at org.xwiki.rendering.internal.transformation.macro.MacroTransformation.transform(MacroTransformation.java:441)
at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183)
at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:88)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.executeInCurrentExecutionContext(DocumentContentAsyncExecutor.java:397)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:269)
at org.xwiki.display.internal.DocumentContentAsyncRenderer.execute(DocumentContentAsyncRenderer.java:112)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:157)
at org.xwiki.rendering.async.internal.block.AbstractBlockAsyncRenderer.render(AbstractBlockAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:290)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.execute(DefaultBlockAsyncRendererExecutor.java:125)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:93)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:46)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:96)
at org.xwiki.display.internal.DefaultDocumentDisplayer.display(DefaultDocumentDisplayer.java:39)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:245)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.applySheet(SheetDocumentDisplayer.java:225)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.maybeDisplayWithSheet(SheetDocumentDisplayer.java:180)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:111)
at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:52)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:68)
at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:42)
at com.xpn.xwiki.doc.XWikiDocument.display(XWikiDocument.java:1433)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1569)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1519)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1488)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:822)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:704)
at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:75)
at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:242)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.xwiki.velocity.internal.directive.TryCatchDirective.render(TryCatchDirective.java:86)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:818)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:765)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:217)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:818)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:773)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:765)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:79)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.renderNoException(DefaultTemplateManager.java:73)
at org.xwiki.template.script.TemplateScriptService.render(TemplateScriptService.java:54)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:217)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:190)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:107)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.evaluateContent(TemplateAsyncRenderer.java:219)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.renderVelocity(TemplateAsyncRenderer.java:174)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:135)
at com.xpn.xwiki.internal.template.TemplateAsyncRenderer.render(TemplateAsyncRenderer.java:54)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.lambda$syncRender$0(DefaultAsyncRendererExecutor.java:284)
at com.xpn.xwiki.internal.security.authorization.DefaultAuthorExecutor.call(DefaultAuthorExecutor.java:98)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.syncRender(DefaultAsyncRendererExecutor.java:284)
at org.xwiki.rendering.async.internal.DefaultAsyncRendererExecutor.render(DefaultAsyncRendererExecutor.java:267)
at org.xwiki.rendering.async.internal.block.DefaultBlockAsyncRendererExecutor.render(DefaultBlockAsyncRendererExecutor.java:154)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:869)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:831)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:811)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:797)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:91)
at com.xpn.xwiki.internal.template.DefaultTemplateManager.render(DefaultTemplateManager.java:85)
at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:2552)
at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:180)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:651)
at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:339)
at com.xpn.xwiki.web.LegacyActionServlet.service(LegacyActionServlet.java:111)
at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:658)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:71)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:135)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:212)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SafeRedirectFilter.doFilter(SafeRedirectFilter.java:106)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.ResolveRelativeRedirectFilter.doFilter(ResolveRelativeRedirectFilter.java:129)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SourceURLResolverFilter.doFilter(SourceURLResolverFilter.java:177)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:120)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:162)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:138)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:165)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:88)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:492)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:113)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:83)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:782)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:72)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:399)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:63)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:1272)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1797)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:52)
at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:973)
at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:491)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:63)
at java.base/java.lang.Thread.run(Unknown Source)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [portail:FlamingoThemesCode.WebHomeSheet]
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:235)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:168)
... 194 more
Caused by: org.apache.velocity.exception.MethodInvocationException: Invocation of method 'save' in class com.xpn.xwiki.api.Document threw exception com.xpn.xwiki.XWikiException: Error number 9001 in 9: Access denied in edit mode on document portail:XWiki.XWikiPreferences at portail:FlamingoThemesCode.WebHomeSheet[line 268, column 17]
at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:308)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:235)
at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:368)
at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:492)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:217)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:331)
at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:261)
at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:304)
at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:147)
at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:171)
at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:439)
at org.apache.velocity.Template.merge(Template.java:358)
at org.apache.velocity.Template.merge(Template.java:262)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:233)
... 195 more
Caused by: com.xpn.xwiki.XWikiException: Error number 9001 in 9: Access denied in edit mode on document portail:XWiki.XWikiPreferences
at com.xpn.xwiki.api.Document.save(Document.java:2773)
at com.xpn.xwiki.api.Document.save(Document.java:2744)
at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(Unknown Source)
at java.base/java.lang.reflect.Method.invoke(Unknown Source)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:571)
at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:554)
at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:221)
... 210 more