BISON
Failed to execute the [velocity] macro. Cause: [Error number 9001 in 9: Access denied in edit mode on document xwiki:BISON.WebHome]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [{{html clean="false" wiki="true"}}
################################################################################
################################################################################
## Projects Class Sheet
################################################################################
################################################################################
#template("apice_macros.vm")
#setobjectspace("Projects")
#template('apice_project_macros.vm')
#docobj()
#nolangpar()
################################################################################
######## OVERALL GUI / START
################################################################################
## set $action
#if( $xcontext.action == "edit" && $xwiki.hasAccessLevel("edit") )
#set( $action = "edit" )
#else
#set( $action = "view" )
#end
## set $modeList
#set( $modeList = [ 'data', 'page', 'attach' ] )
## set $mode
## default
#set( $mode = $modeList[0] )
## $dataMode set
## default
#set( $dataMode = $dataModeList[0] )
## set $modeGuestList
#set( $attachments = [] )
#foreach( $attachment in $doc.attachmentList )
#set( $discard = $attachments.add($attachment.filename) )
#end
## set views for attach mode
#if( $hasEdit )
#set( $attachmentviews = [ 'logo', 'poster', 'video', 'proposal', 'agreement' ] )
#else
#set( $attachmentviews = [ 'logo', 'poster', 'video' ] )
#end
## find attachment fields defined and available as attachments
#set( $attachmentvalues = {} )
#foreach( $attachmentview in $attachmentviews )
#if( $doc.getValue($attachmentview).trim() != '' )
#set( $attachmentvalues[$attachmentview] = $doc.getValue($attachmentview).trim() )
#end
#end
#set( $modeGuestList = [ 'data' ] )
#foreach( $attachmentview in $attachmentvalues.keySet() )
#if( $attachmentvalues[$attachmentview] != '' && $attachments.contains($attachmentvalues[$attachmentview]) )
#set( $modeGuestList = [ 'data', 'attach' ] )
#break
#end
#end
#set( $logo = $doc.getValue('logo').trim() )
#set( $poster = $doc.getValue('poster').trim() )
#set( $video = $doc.getValue('video').trim() )
#set( $proposal = $doc.getValue('proposal').trim() )
#set( $agreement = $doc.getValue('agreement').trim() )
## set $currentModeList
#if( $hasEdit )
#set( $currentModeList = $modeList )
#else
#set( $currentModeList = $modeGuestList )
#end
## get mode parameter
#if( $request.mode && $request.mode.trim() != "" && $modeList.contains($request.mode.trim().toLowerCase()) )
#set( $mode = $request.mode.trim().toLowerCase() )
#end
## draw bar
#themodebar( $currentModeList $mode $action )
## DATA MODE
## set $dataModeList
#set( $dataModeList = [ 'config', 'project', 'partners', 'roles', 'ack'] )
##
## set $dataMode
## default
#set( $dataMode = 'project' )
## get mode parameter
#if( $request.data && $request.data.trim() != "" && $dataModeList.contains($request.data.trim().toLowerCase()) )
#set( $dataMode = $request.data.trim().toLowerCase() )
#end
## draw data bar
##
## data bar headers
#set( $databarHeaders = { 'config' : $services.localization.render('config'), 'project' : $services.localization.render('data'), 'partners' : $services.localization.render('partners'), 'roles' : $services.localization.render('participants'), 'ack' : $services.localization.render('ack') } )
#if( $action == "edit" && $mode == "data" )
#set( $displaytabwidth = 100 / $dataModeList.size() )
<table class="databar"><tr>
#foreach( $datamode in $dataModeList )
<td width="$displaytabwidth%" class='#if( $datamode == $dataMode )modedataeditselected#{else}basebutton#end'>#if( $datamode == 'partners' || $datamode == 'roles' )  #end<a href='$doc.getURL($action,"mode=data&data=$datamode")'>$databarHeaders[$datamode]<span>[[image:$barActionImages["edit"]||height=$barHeight]]</span></a>#if( $datamode == 'partners' || $datamode == 'roles' )  <a href='$doc.getURL($action,"mode=data&data=$datamode&add")'>[[image:icon:add]]</a>#end</td>
#end
</tr></table>
#end
##
################################################################################
######## OVERALL GUI / END
################################################################################
##
##
################################################################################
######## ADD OBJECT / START
################################################################################
#set( $dataModeClass = { "roles" : "${mainSpace}.Roles.Class", "partners" : "${mainSpace}.Partners.Class" } )
#if( $request.add && $action == "edit" && $mode == "data" && $dataModeClass.keySet().contains($dataMode) )
#set( $obj = $doc.newObject($dataModeClass[$dataMode]) )
## $dataMode
## $dataModeClass[$dataMode]
## $obj
$doc.save()
$response.sendRedirect($doc.getURL("edit", "mode=data&data=$dataMode"))
#end
################################################################################
######## ADD OBJECT / END
################################################################################
##
##
################################################################################
## ATTACH MODE / START
################################################################################
#### VIEW MODE / START
#if( $mode == "attach" && $action == "view" )
##
#if( $attachmentvalues.size() <= 0 )
$response.sendRedirect( $xwiki.getURL($doc, 'view', "mode=data") )
#else
#if( $request.attach && $request.attach.trim() != "" && $attachmentvalues.keySet().contains($request.attach) )
#set( $attachMode = $request.attach )
#else
#foreach( $val in $attachmentvalues.keySet() )#set( $attachMode = $val )#break#end
#end
#end
#if( $attachmentvalues.size() > 1 )
## view bar
#set( $displaytabwidth = 100 / $attachmentvalues.size() )
<table class="viewbar"><tr>
#foreach( $attachmentview in $attachmentvalues.keySet() )
<td width="$displaytabwidth%" class='#if( $attachmentview == $attachMode )modedataeditselected#{else}basebutton#end'><a href='$doc.getURL($action,"mode=attach&attach=$attachmentview")'>$services.localization.render("${mainSpace}.Class_${attachmentview}")</a></td>
#end
</tr></table>
#end
## DOCUMENTS / START
#if( $attachMode == 'agreement' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${mainSpace}.Class_agreement").toLowerCase()
</div>
<center>
#if( $attachmentvalues['agreement'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['agreement']"/}}
#else
[[$attachmentvalues['agreement']>>attach:$attachmentvalues['agreement']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'proposal' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${mainSpace}.Class_proposal").toLowerCase()
</div>
<center>
#if( $attachmentvalues['proposal'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['proposal']"/}}
#else
[[$attachmentvalues['proposal']>>attach:$attachmentvalues['proposal']||target="_blank"]]
#end
</center>
#end
## DOCUMENTS / END
##
## PRESENTATION / START
#if( $attachMode == 'logo' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${mainSpace}.Class_logo").toLowerCase()
</div>
<center>
#if( $attachmentvalues['logo'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['logo']"/}}
#else
[[[[image:$attachmentvalues['logo']]]>>attach:$attachmentvalues['logo']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'poster' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${mainSpace}.Class_poster").toLowerCase()
</div>
<center>
#if( $attachmentvalues['poster'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['poster']"/}}
#else
[[[[image:$attachmentvalues['poster']]]>>attach:$attachmentvalues['poster']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'video' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${mainSpace}.Class_video").toLowerCase()
</div>
<center>
{{video attachment="$attachmentvalues['video']"/}}
</center>
#end
## PRESENTATION / END
#end
#### VIEW MODE / END
##
#### INLINE MODE / START
#if( $mode == "attach" && $action == "edit" )
#### ATTACHED DOCUMENTS / START
<table>
## CFP / START
<tr class="fieldrow1">
<td style="text-align: right" width="50%">
{{attachmentSelector classname='${mainSpace}.Class' property='logo' filter='png,jpg,jpeg,gif,svg,pdf,tif,tiff,webp' defaultValue=' ' buttontext='$services.localization.render("${mainSpace}.Class_logo")'/}}
</td><td style="vertical-align: middle">
#fieldlink("logo")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="poster" filter="png,jpg,jpeg,gif,svg,pdf,tif,tiff,webp" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_poster")'/}}
</td><td style="vertical-align: middle">
#fieldlink("poster")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="video" filter="m4v,mp4,mov,wav" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_video")'/}}
</td><td style="vertical-align: middle">
#fieldlink("video")
</td>
</tr>
## CFP / END
##
## DISPLAY / START
<tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="proposal" filter="pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_proposal")'/}}
</td><td style="vertical-align: middle">
#fieldlink("proposal")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="agreement" filter="pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_agreement")'/}}
</td><td style="vertical-align: middle">
#fieldlink("agreement")
</td>
</tr>
##
## DISPLAY / END
</table>
#### ATTACHED DOCUMENTS / END
#end
#### INLINE MODE / END
################################################################################
## ATTACH MODE / END
################################################################################
##
################################################################################
## DATA MODE / START
################################################################################
#### VIEW MODE / START
#if( $mode == "data" && $action == "view" )
## check for language / default
#nodoclang()
## set $displayList
#set( $displayList = [ 'info' ] )
#foreach( $displaymodality in $doc.getValue('maindisplay') )
#set( $discard = $displayList.add($displaymodality) )
#end
#set( $displaytabwidth = 100 / $displayList.size() )
## set $displayMode
## default
#set( $displayMode = $displayList[0] )
## get mode parameter
#if( $request.display && $request.display.trim() != "" && $displayList.contains($request.display.trim().toLowerCase()) )
#set( $displayMode = $request.display.trim().toLowerCase() )
#end
## draw data display bar
<table class="databar"><tr>
#foreach( $datadisplay in $displayList )
<td class='#if( $datadisplay == $displayMode )modedataeditselected#{else}basebutton#end' width="$displaytabwidth%"><a href='$doc.getURL($action,"mode=data&data=$mode&display=$datadisplay")'>$services.localization.render($datadisplay)</a></td>
#end
</tr></table>
## display info
#if( $displayMode == "info" )
## HEADER / START
#if( $doc.display("fullname","view").trim() != "" )
<div class="mainheader">
$doc.display("fullname","view")
</div>
#elseif( $doc.display("acronym","view").trim() != "" )
<div class="mainheader">
$doc.display("acronym","view")
</div>
#end
## HEADER / END
##
## DESCRIPTION / START
#if( $doc.display('description','view') != "" )
<div width=100% style="color: $theme.textSecondaryColor; border-color:$theme.borderColor; border-style:hidden solid solid hidden; border-width: thin; text-align: left; font-size: smaller; padding: 0 .5em 0 0">
//($services.localization.render("${mainSpace}.Class_description").toLowerCase())//
<div style="color: $theme.textColor; font-size: larger; text-align: justify; text-justify: inter-word">$doc.display('description')</div>
</div>
#end
## DESCRIPTION / END
##
## OBJECTIVE / START
#if( $doc.display('objective','view') != "" )
<div width=100% style="text-align: justify; text-justify: inter-word; border-color: $theme.borderColor; border-style: solid hidden hidden solid; border-width: thin; color: $theme.textSecondaryColor; font-size: smaller; padding: 0 0 0 .5em">
//($services.localization.render("${mainSpace}.Class_objective").toLowerCase())//
<div style="color: $theme.textColor; font-size: larger">$doc.display("objective")</div>
</div>
#end
## OBJECTIVE / END
##
## KEYWORDS / START
#if( $doc.display('keywords','view') != "" )
<div width=100% style="text-align:right; border-color: $theme.borderColor; border-style: hidden solid solid hidden; border-width: thin; color: $theme.textSecondaryColor; font-size: smaller; padding: 0 .5em .5em 0">
//($services.localization.render("${mainSpace}.Class_keywords").toLowerCase())//
 
<span style="color: $theme.textColor; font-size: larger">$doc.display("keywords")</span>
</div>
#end
## KEYWORDS / END
##
## FIELDS OF SCIENCE / START
#if( $doc.display('fields','view') != "" )
<div width=100% style="text-align:justify; border-color: $theme.borderColor; border-style: solid hidden hidden solid; border-width: thin; color: $theme.textSecondaryColor; font-size: smaller; padding: 0 0 .5em .5em">
//($services.localization.render("${mainSpace}.Class_fields").toLowerCase())//
 
<span style="color: $theme.textColor; font-size: larger">$doc.display("fields")</span>
</div>
#end
## FIELDS OF SCIENCE / END
##
<div>
$doc.getContent()
</div>
#end
## display partners
#if( $displayMode == "partners" )
<div style="margin: .5em 0 0 0">
#projectpeoplelist()
</div>
#end
## display publications
#if( $displayMode == "publications" )
<div style="margin: .5em 0 0 0">
#set( $query = ", BaseObject as objPub, DateProperty as propDate, DBStringListProperty as propProject join propProject.list project
where objPub.name = doc.fullName and objPub.className = 'Publications.Class' and objPub.name <> 'Publications.Template' and propProject.id.id = objPub.id and propProject.name = 'project' and propDate.id.id = objPub.id and propDate.name = 'year' and project like '%$doc%' order by propDate.value desc" )
#set( $itemFound = $xwiki.searchDocuments($query) )
#set( $itemFoundNo = $itemFound.size() )
#template('apice_publication_macros.vm')
<ul>
#foreach( $item in $itemFound )
<li>#publinked($item)</li>
#end
</ul>
</div>
#end
## display talks
#if( $displayMode == "talks" )
<div style="margin: .5em 0 0 0">
#set( $query = ", BaseObject as objTalk, DateProperty as propDate, DBStringListProperty as propProject join propProject.list project
where objTalk.name = doc.fullName and objTalk.className = 'Talks.Class' and objTalk.name <> 'Talk.Template' and propProject.id.id = objTalk.id and propProject.name = 'project' and propDate.id.id = objTalk.id and propDate.name = 'date' and project like '%$doc%' order by propDate.value desc" )
#set( $itemFound = $xwiki.searchDocuments($query) )
#set( $itemFoundNo = $itemFound.size() )
#template('apice_talk_macros.vm')
<ul>
#foreach( $item in $itemFound )
<li>#talklinked($item)</li>
#end
</ul>
</div>
#end
## display events
#if( $displayMode == "events" )
<div style="margin: .5em 0 0 0">
#set( $query = ", BaseObject as objEvent, DateProperty as propDate, DBStringListProperty as propProject join propProject.list project
where objEvent.name = doc.fullName and objEvent.className = 'Events.Class' and objEvent.name <> 'Event.Template' and propProject.id.id = objEvent.id and propProject.name = 'project' and propDate.id.id = objEvent.id and propDate.name = 'start_date' and project like '%$doc%' order by propDate.value desc" )
#set( $itemFound = $xwiki.searchDocuments($query) )
#set( $itemFoundNo = $itemFound.size() )
#template('apice_event_macros.vm')
<ul>
#foreach( $item in $itemFound )
<li>#eventlinked($item) <span class="textsecondary"> — #eventyears($item)</span></li>
#end
</ul>
</div>
#end
## display tags
#if( $displayMode == "tags" )
#set( $mainTag = "" )
<div>
#if( $doc.getValue('tag') != "" )
#set( $mainTag = $doc.getValue('tag') )
#elseif( $doc.getValue('acronym') != "" )
#set( $mainTag = $doc.getValue('acronym') )
#end
#if( $mainTag != "" )
#includeInContext('Classes.Shared.Tags4Tag')
#end
</div>
#end
## display ack
#if( $displayMode == "ack" )
<div style="font-size: larger; margin: .5em 0 0 0; padding: 1em">
$doc.display('ack','view')
</div>
#end
#end
#### VIEW MODE / END
##
#### INLINE MODE / START
#if( $mode == "data" && $action == "edit" )
##
#newobjtitle()
##
#if( $dataMode == "config" )
## MAIN DISPLAY / START
<table style="font-size: larger; text-align: left; padding-top: .5em" width="100%">
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink('maindisplay')
</td><td style="vertical-align: middle; font-style: normal">
$doc.display('maindisplay')
</td>
</tr>
</table>
## MAIN DISPLAY / END
#end
##
#if( $dataMode == "project" )
### PROJECT CLASS / START
##
## STATUS & SORT & CONTEXT / START
#set( $sortdatafields = [ 'status', 'sort', 'context' ] )
<table style="font-size: smaller; text-align: left" width="100%">
#foreach( $sortdatafield in $sortdatafields )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($sortdatafield)
</td><td style="vertical-align: middle">
$doc.display($sortdatafield)
</td>
</tr>
#end
</table>
## STATUS & SORT & CONTEXT / END
##
## NAME / START
#set( $titledatafields = [ 'acronym', 'fullname', 'key', 'tag' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $titledatafield in $titledatafields )
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($titledatafield)
</td><td style="vertical-align: middle">
$doc.display($titledatafield)
</td>
</tr>
#end
</table>
## NAME / END
##
## DURATION & DATES / START
#set( $contextdatafields = [ 'start', 'end', 'months', 'years' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $contextdatafield in $contextdatafields )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($contextdatafield)
</td><td style="vertical-align: middle">
$doc.display($contextdatafield)
</td>
</tr>
#end
</table>
## DURATION & DATES / END
##
## DESCRIPTION / START
#set( $descdatafields = [ 'description', 'objective', 'keywords', 'fields' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $descdatafield in $descdatafields )
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($descdatafield)
</td><td style="vertical-align: middle">
$doc.display($descdatafield)
</td>
</tr>
#end
</table>
## DESCRIPTION / END
##
## URL & PAGE & DOI / START
#set( $iddatafields = [ 'url', 'institutional', 'unibo', 'doi', 'cordis' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $iddatafield in $iddatafields )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($iddatafield)
</td><td style="vertical-align: middle">
$doc.display($iddatafield)
</td>
</tr>
#end
</table>
## URL & PAGE & DOI / END
##
## PROGRAM / START
#set( $programdatafields = [ 'body', 'program', 'grant' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $programdatafield in $programdatafields )
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($programdatafield)
</td><td style="vertical-align: middle">
$doc.display($programdatafield)
</td>
</tr>
#end
</table>
## PROGRAM / END
##
## FUNDING / START
#set( $fundingdatafields = [ 'currency', 'budget', 'funding' ] )
<table style="font-size: smaller; text-align: left; margin-top: -1.25em" width="100%">
#foreach( $fundingdatafield in $fundingdatafields )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($fundingdatafield)
</td><td style="vertical-align: middle">
$doc.display($fundingdatafield)
</td>
</tr>
#end
</table>
## FUNDING / END
##
### PROJECT CLASS / END
#end
##
#if( $dataMode == "roles" )
#set( $objectSpace = "Projects.Roles" )
### ROLE CLASS / START
#set( $roles = $doc.getObjects("${objectSpace}.Class") )
#if( $roles.size() > 0 )
<table style="font-size: smaller; text-align: left" width="100%">
#foreach( $role in $roles )
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: baseline" width="10%">
#fieldlink("who")
</td><td width="60%">
$role.who
</td><td style="text-align: right; vertical-align: baseline" width="10%">
#fieldlink("unit")
</td><td width="20%">
$role.unit
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlink("role")
</td><td width="20%">
$role.role
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlink("label")
</td><td style="text-align: left" width="55%">
$role.label
</td>
</tr>
#end
</table>
#end
<div align="center">
<a class="basebutton" href='$doc.getURL($action,"mode=$mode&data=$dataMode&add")'> $services.localization.render('addrole').toLowerCase() [[image:icon:add]] </a></td><td width=80%>
</div>
### ROLE CLASS / END
#end
##
#if( $dataMode == "partners" )
## COORDINATOR UNIT / START
#set( $titledatafields = [ 'coordinator' ] )
<table style="font-size: smaller; text-align: left" width="100%">
#foreach( $titledatafield in $titledatafields )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink($titledatafield)
</td><td style="vertical-align: middle">
$doc.display($titledatafield)
</td>
</tr>
#end
</table>
## COORDINATOR UNIT / END
#set( $objectSpace = "Projects.Partners" )
### PARTNER CLASS / START
#set( $partners = $doc.getObjects("${objectSpace}.Class") )
#if( $partners.size() > 0 )
<table style="font-size: smaller; text-align: left" width="100%">
#foreach( $partner in $partners )
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("unit")
</td><td width="20%">
$partner.unit
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlinkshort("superunit")
</td><td style="text-align: left" width="55%">
$partner.superunit
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("fullname")
</td><td width="20%">
$partner.fullname
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlinkshort("budget")
</td><td style="text-align: left" width="55%">
$partner.budget
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("url")
</td><td width="20%">
$partner.url
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlinkshort("funding")
</td><td style="text-align: left" width="55%">
$partner.funding
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("address")
</td><td width="20%">
$partner.address
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlinkshort("country")
</td><td style="text-align: left" width="55%">
$partner.country
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("vat")
</td><td width="20%">
$partner.vat
</td><td style="text-align: right; vertical-align: middle" width="15%">
#fieldlinkshort("pic")
</td><td style="text-align: left" width="55%">
$partner.pic
</td>
</tr>
<tr class="#if( $foreach.count % 2 == 0 )fieldrow1#{else}fieldrow2#{end}">
<td style="text-align: right; vertical-align: middle" width="10%">
#fieldlinkshort("page")
</td><td colspan="3" width="20%">
$partner.page
</td>
</tr>
#end
</table>
#end
<div align="center">
<a class="basebutton" href='$doc.getURL($action,"mode=$mode&data=$dataMode&add")'> $services.localization.render('addpartner').toLowerCase() [[image:icon:add]] </a></td><td width=80%>
</div>
### PARTNER CLASS / END
#end
## ACK / START
#if( $dataMode == "ack" )
<table style="font-size: smaller; text-align: left; margin-top: 0em" width="100%">
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink('ack')
</td><td style="vertical-align: middle">
$doc.display('ack')
</td>
</tr>
</table>
#end
## ACK / END
#end
#### INLINE MODE / END
################################################################################
## DATA MODE / END
################################################################################
##
################################################################################
## PAGE MODE / START
################################################################################
#### VIEW MODE / START
#if( $mode == "page" && $action == "view" )
$doc.content
#end
#### VIEW MODE / END
##
#### INLINE MODE / START
#if( $mode == "page" && $action == "edit" )
##
#end
#### INLINE MODE / END
################################################################################
## PAGE MODE / END
################################################################################
{{/html}}]
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:311)
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:395)
at org.xwiki.display.internal.DocumentContentAsyncExecutor.execute(DocumentContentAsyncExecutor.java:268)
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:67)
at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:43)
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:1366)
at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1503)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1452)
at com.xpn.xwiki.doc.XWikiDocument.displayDocument(XWikiDocument.java:1421)
at com.xpn.xwiki.api.Document.displayDocument(Document.java:787)
at jdk.internal.reflect.GeneratedMethodAccessor534.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:225)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:105)
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:904)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:866)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:853)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:808)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:800)
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 jdk.internal.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:218)
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:225)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:105)
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:904)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:866)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:853)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:808)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderNoException(InternalTemplateManager.java:800)
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 jdk.internal.reflect.GeneratedMethodAccessor188.invoke(Unknown Source)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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:218)
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:225)
at com.xpn.xwiki.internal.template.VelocityTemplateEvaluator.evaluateContent(VelocityTemplateEvaluator.java:105)
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:904)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:866)
at com.xpn.xwiki.internal.template.InternalTemplateManager.renderFromSkin(InternalTemplateManager.java:846)
at com.xpn.xwiki.internal.template.InternalTemplateManager.render(InternalTemplateManager.java:832)
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:2565)
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:108)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:122)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.wysiwyg.filter.ConversionFilter.doFilter(ConversionFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.resource.servlet.RoutingFilter.doFilter(RoutingFilter.java:132)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:394)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:834)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with namespace [xwiki:Projects.Sheet]
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:227)
at org.xwiki.velocity.internal.InternalVelocityEngine.evaluate(InternalVelocityEngine.java:173)
at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:177)
... 188 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 xwiki:BISON.WebHome at xwiki:Classes.Skins.ObjectSkin^XWiki.XWikiSkinFileOverrideClass[6].content[line 164, column 8]
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:218)
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:225)
... 190 more
Caused by: com.xpn.xwiki.XWikiException: Error number 9001 in 9: Access denied in edit mode on document xwiki:BISON.WebHome
at com.xpn.xwiki.api.Document.save(Document.java:2614)
at com.xpn.xwiki.api.Document.save(Document.java:2585)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:566)
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)
... 205 more