ECAS 2019
Failed to execute the [velocity] macro. Cause: [Error number 9001 in 9: Access denied in edit mode on document xwiki:ECAS2019.WebHome]. Click on this message for details.
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [{{html clean="false" wiki="true"}}
################################################################################
################################################################################
## Events Class Sheet
################################################################################
################################################################################
#template("apice_macros.vm")
#template('apice_event_macros.vm')
#setobjectspace('Events')
#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] )
## set $attachments
#set( $attachments = [] )
#foreach( $attachment in $doc.attachmentList )
#set( $discard = $attachments.add($attachment.filename) )
#end
## set views for attach mode
#set( $attachmentviews = [ 'cfp_pdf', 'cfp_txt', 'poster', 'flyer', 'brochure', 'program', 'logo' ] )
## 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
#set( $modeGuestList = [ 'data' ] )
#foreach( $attachmentview in $attachmentvalues.keySet() )
#if( $attachmentvalues[$attachmentview] != '' && $attachments.contains($attachmentvalues[$attachmentview]) )
#set( $modeGuestList = [ 'data', 'attach' ] )
#break
#end
#end
## set attach vars
#set( $cfp_pdf = $doc.getValue('cfp_pdf').trim() )
#set( $cfp_txt = $doc.getValue('cfp_txt').trim() )
#set( $poster = $doc.getValue('poster').trim() )
#set( $flyer = $doc.getValue('flyer').trim() )
#set( $brochure = $doc.getValue('brochure').trim() )
#set( $program = $doc.getValue('program').trim() )
#set( $logo = $doc.getValue('logo').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 = [ 'event','apice','roles'] )
##
## set $dataMode
## default
#set( $dataMode = $dataModeList[0] )
## 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= { 'event' : "$services.localization.render('data')", 'apice' : 'APICe', 'roles' : "$services.localization.render('roles')" } )
#if( $action == "edit" && $mode == "data" )
<table class="databar"><tr>
#foreach( $datamode in $dataModeList )
<td width="33%" class='#if( $datamode == $dataMode )modedataeditselected#{else}basebutton#end'><a href='$doc.getURL($action,"mode=data&data=$datamode")'>#if( $datamode == $dataModeList[2] )  #end$databarHeaders[$datamode] [[image:$barActionImages["edit"]||height=$barHeight]]</a>#if( $datamode == $dataModeList[2] )  <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" } )
#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("${objectSpace}.Class_${attachmentview}")</a></td>
#end
</tr></table>
#end
## DOCUMENTS / START
#if( $attachMode == 'cfp_pdf' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_cfp_pdf").toLowerCase()
</div>
<center>
#if( $attachmentvalues['cfp_pdf'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['cfp_pdf']"/}}
#else
[[$attachmentvalues['cfp_pdf']>>attach:$attachmentvalues['cfp_pdf']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'cfp_txt' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_cfp_txt").toLowerCase()
</div>
<center>
#if( $attachmentvalues['cfp_txt'].endsWith('.txt') )
{{{ $doc.getAttachment($doc.getValue('cfp_txt')).getContentAsString() }}}
#else
[[$attachmentvalues['cfp_txt']>>attach:$attachmentvalues['cfp_txt']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'poster' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_poster").toLowerCase()
</div>
<center>
#if( $attachmentvalues['poster'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['poster']"/}}
#else
[[[[image:$doc.getValue('poster')]]>>attach:$doc.getValue('poster')||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'flyer' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_flyer").toLowerCase()
</div>
<center>
#if( $attachmentvalues['flyer'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['flyer']"/}}
#else
[[$attachmentvalues['flyer']>>attach:$attachmentvalues['flyer']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'brochure' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_brochure").toLowerCase()
</div>
<center>
#if( $attachmentvalues['brochure'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['brochure']"/}}
#else
[[$attachmentvalues['brochure']>>attach:$attachmentvalues['brochure']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'program' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_program").toLowerCase()
</div>
<center>
#if( $attachmentvalues['program'].endsWith('.pdf') )
{{pdf filename="$attachmentvalues['program']"/}}
#else
[[$attachmentvalues['program']>>attach:$attachmentvalues['program']||target="_blank"]]
#end
</center>
#end
#if( $attachMode == 'logo' )
<div class="mainheader" style="margin: 0 0 0 0; color: $theme.textPrimaryColor">
$services.localization.render("${objectSpace}.Class_logo").toLowerCase()
</div>
<center>
[[[[image:$doc.getValue('logo')]]>>attach:$doc.getValue('logo')||target="_blank"]]
</center>
#end
## DOCUMENTS / 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='cfp_pdf' filter='pdf' defaultValue=' ' buttontext='$services.localization.render("${mainSpace}.Class_cfp_pdf")'/}}
</td><td style="vertical-align: middle">
#fieldlink("cfp_pdf")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="cfp_txt" filter="txt,text" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_cfp_txt")'/}}
</td><td style="vertical-align: middle">
#fieldlink("cfp_txt")
</td>
</tr>
## CFP / END
##
## DISPLAY / START
<tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="poster" filter="png,jpg,jpeg,gif,svg,tif,tiff,pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_poster")'/}}
</td><td style="vertical-align: middle">
#fieldlink("poster")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="flyer" filter="png,jpg,jpeg,gif,svg,tif,tiff,pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_flyer")'/}}
</td><td style="vertical-align: middle">
#fieldlink("flyer")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="brochure" filter="png,jpg,jpeg,gif,svg,tif,tiff,pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_brochure")'/}}
</td><td style="vertical-align: middle">
#fieldlink("brochure")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="program" filter="png,jpg,jpeg,gif,svg,tif,tiff,pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_program")'/}}
</td><td style="vertical-align: middle">
#fieldlink("program")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right" width="50%">
{{attachmentSelector classname="${mainSpace}.Class" property="logo" filter="png,jpg,jpeg,gif,svg,tif,tiff,pdf" defaultValue=" " buttontext='$services.localization.render("${mainSpace}.Class_logo")'/}}
</td><td style="vertical-align: middle">
#fieldlink("logo")
</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()
## TITLE / START
#if( $doc.display("acronym","view").trim() != "" )
<div class="mainheader">
$doc.display("name","view")
</div>
#end
## TITLE / END
##
## WHERE & WHEN / START
<div class="textprimary" align="right" style="font-size: smaller; padding: 0 0 .5em 0">
#if( $doc.getValue("where") != "" || $doc.display("journal","view") != "" )
{{eventWhere}}$doc{{/eventWhere}}#if( $doc.getValue("start_date") != "" || $doc.getValue("end_date") != "" ), {{eventWhen}}$doc{{/eventWhen}}#end#elseif( $doc.getValue("start_date") != "" || $doc.getValue("end_date") != "" ){{eventWhen}}$doc{{/eventWhen}}#end
</div>
## WHERE & WHEN / END
##
## DESCRIPTION / START
#if( !$doc.getValue("description").isEmpty() )
<div width=100% style="border-color:$theme.borderColor; border-style:hidden solid solid hidden; border-width: thin; text-align: justify; text-justify: inter-word; font-size: normal; padding: .5em .5em 0 0">
$doc.display('description',"view")
</div>
#end
## DESCRIPTION / END
##
## TOPICS / START
#if( !$doc.getValue("topics").isEmpty() )
<div width=100% style="border-color:$theme.borderColor; border-style:solid hidden hidden solid; border-width: thin; color: $theme.textSecondaryColor; font-style: oblique; font-size: smaller; padding: .5em 0 0 .5em">
{{stringEngIta eng="topics of interest" ita="temi di interesse"/}}
</div>
<div width=100% style='border-color:$theme.borderColor; border-style:hidden hidden hidden solid; border-width: thin; text-align: justify; text-justify: inter-word; font-size: normal; padding: .5em'>
$doc.display("topics")
</div>
#end
## TOPICS / END
##
## APICE FROM HERE / START
## hosting event
#if( $doc.display("hosting","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_hosting").toLowerCase()
</div>
#foreach( $event in $doc.getValue("hosting") )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
## colocated event
#if( $doc.display("colocated","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_colocated").toLowerCase()
</div>
#foreach( $event in $doc.getValue("colocated") )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
## hosted event
#if( $doc.display("hosted","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_hosted").toLowerCase()
</div>
#foreach( $event in $doc.getValue("hosted") )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
## source event
#if( $doc.display("source","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_source").toLowerCase()
</div>
#foreach( $event in $doc.getValue("source") )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
## special issue
#if( $doc.display("specialissue","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_specialissue").toLowerCase()
</div>
#foreach( $event in $doc.getValue("specialissue") )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
## funding project
#if( $doc.display("project","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_project").toLowerCase()
</div>
#template('apice_project_macros.vm')
#foreach( $project in $doc.getValue("project") )
<div style="font-size: smaller; text-align: right">
#projecticon() {{project}}$project{{/project}}
</div>
#end
#end
## hosting journal
#if( $doc.display("journal","view") != "" )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render("${mainSpace}.Class_journal").toLowerCase()
</div>
#template('apice_journal_macros.vm')
#foreach( $journal in $doc.getValue("journal") )
<div style="font-size: smaller; text-align: right">
#journalicon() #journallinked($journal)
</div>
#end
#end
## APICE FROM HERE / END
##
## APICE TO HERE / START
## publications
#set( $from = ", BaseObject as obj, #if( !$hasEdit ) StringProperty as accessProp, StringProperty as statusProp, #end DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Publications.Class' and obj.name <> 'Publication.Template' #if( !$hasEdit ) and accessProp.id.id = obj.id and accessProp.name = 'access' and statusProp.id.id = obj.id and statusProp.name = 'status' and accessProp.value <> 'hidden' and statusProp.value <> 'rejected' #end and eventProp.id.id = obj.id and eventProp.name = 'event-venue' and list like '$doc.fullName' " )
#set( $query = $from + " where " + $where )
#set( $pubList = $xwiki.searchDocuments($query) )
## talks
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Talks.Class' and obj.name <> 'Talk.Template' and eventProp.id.id = obj.id and eventProp.name = 'event' and list like '$doc.fullName' " )
#set( $query = $from + " where " + $where )
#set( $talkList = $xwiki.searchDocuments($query) )
## hosting events
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Class' and obj.name <> 'Event.Template' and eventProp.id.id = obj.id and eventProp.name = 'hosting' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $hostingeventList = $xwiki.searchDocuments($query) )
## hosted
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Class' and obj.name <> 'Event.Template' and eventProp.id.id = obj.id and eventProp.name = 'hosted' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $hostedeventList = $xwiki.searchDocuments($query) )
## colocated
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Class' and obj.name <> 'Event.Template' and eventProp.id.id = obj.id and eventProp.name = 'colocated' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $colocatedeventList = $xwiki.searchDocuments($query) )
## source
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Class' and obj.name <> 'Event.Template' and eventProp.id.id = obj.id and eventProp.name = 'source' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $sourceeventList = $xwiki.searchDocuments($query) )
## specialissue
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Class' and obj.name <> 'Event.Template' and eventProp.id.id = obj.id and eventProp.name = 'specialissue' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $specialissueeventList = $xwiki.searchDocuments($query) )
## series
#set( $from = ", BaseObject as obj, DBStringListProperty as eventProp join eventProp.list list" )
#set( $where = "obj.name = doc.fullName and obj.className = 'Events.Series.Class' and obj.name <> 'Events.Series.Template' and eventProp.id.id = obj.id and eventProp.name = 'events' and list like '$doc.fullName'" )
#set( $query = $from + " where " + $where )
#set( $serieseventList = $xwiki.searchDocuments($query) )
##
## HEADER / START
#if( $pubList.size() > 0 || $talkList.size() > 0 || $hostingeventList.size() > 0 || $hostedeventList.size() > 0 || $colocatedeventList.size() > 0 || $sourceeventList.size() > 0 || $specialissueeventList.size() > 0 || $serieseventList.size() > 0 )
<div class="mainheader" style="color: $theme.textPrimaryColor; margin: .25em 0 -.25em 0">
$services.localization.render('worksas').toLowerCase()
</div>
#end
## HEADER / END
##
## PUBLICATIONS / START
#if( $pubList.size() > 0 )
#template('apice_publication_macros.vm')
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Publications.Class_event-venue_short').toLowerCase() $services.localization.render('for').toLowerCase() $services.localization.render('publication').toLowerCase()
</div>
#foreach( $pub in $pubList )
<div style="font-size: smaller; text-align: right">
#pubicon() #publinked($pub)
</div>
#end
#end
## PUBLICATIONS / END
##
## TALKS / START
#if( $talkList.size() > 0 )
#template('apice_talk_macros.vm')
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Talks.Class_event').toLowerCase() $services.localization.render('for').toLowerCase() $services.localization.render('talk').toLowerCase()
</div>
#foreach( $talk in $talkList )
<div style="font-size: smaller; text-align: right">
#talkicon() #talklinked($talk)
</div>
#end
#end
## TALKS / END
##
## EVENTS / START
#if( $hostingeventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Class_hosting').toLowerCase() $services.localization.render('for').toLowerCase()
</div>
#foreach( $event in $hostingeventList )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
#if( $hostedeventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Class_hosted').toLowerCase() $services.localization.render('for').toLowerCase()
</div>
#foreach( $event in $hostedeventList )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
#if( $colocatedeventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Class_colocated').toLowerCase() $services.localization.render('for').toLowerCase()
</div>
#foreach( $event in $colocatedeventList )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
#if( $sourceeventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Class_source').toLowerCase() $services.localization.render('for').toLowerCase()
</div>
#foreach( $event in $sourceeventList )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
#if( $specialissueeventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Class_specialissue').toLowerCase() $services.localization.render('for').toLowerCase()
</div>
#foreach( $event in $specialissueeventList )
<div style="font-size: smaller; text-align: right">
#eventicon() #eventlinked($event)
</div>
#end
#end
#if( $serieseventList.size() > 0 )
<div style="border-style: solid solid hidden hidden; border-width: thin; border-color: $theme.borderColor; text-align: right; color: $theme.textSecondaryColor; font-size: smaller; padding: .25em .5em .25em 0; margin: .5em 0 0 0">
$services.localization.render('Events.Series.Class_event').toLowerCase()
</div>
#foreach( $series in $serieseventList )
<div style="font-size: smaller; text-align: right">
#eventseriesicon() #eventseries($series)
</div>
#end
#end
## APICE TO HERE / END
##
## EVENTS / END
#end
#### VIEW MODE / END
##
#### INLINE MODE / START
#if( $mode == "data" && $action == "edit" )
##
#newobjtitle()
### EVENT DATA / START
#if( $dataMode == "event" )
## single table / start
<table style="font-size: smaller; text-align: left" width="100%">
## TITLE & ACRONYM / START
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("acronym")
</td><td>
$doc.display("acronym")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("name")
</td><td>
$doc.display("name")
</td>
</tr>
## TITLE & ACRONYM / END
##
## WHERE & WHEN / START
#if( !$doc.display('journal') != "" )
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("where")
</td><td>
$doc.display("where")
</td>
</tr>
#end
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("start_date")
</td><td>
$doc.display("start_date")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("end_date")
</td><td>
$doc.display("end_date")
</td>
</tr>
## WHERE & WHEN / END
##
## SORT & SERIES / START
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("sort")
</td><td>
$doc.display("sort")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("ordinal")
</td><td>
$doc.display("ordinal")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("year")
</td><td>
$doc.display("year")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("series")
</td><td>
$doc.display("series")
</td>
</tr>
## SORT & SERIES / END
##
## DESCRIPTION & TOPICS / START
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("description")
</td><td>
$doc.display("description")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("topics")
</td><td>
$doc.display("topics")
</td>
</tr>
## DESCRIPTION & TOPICS / END
##
## URLS / START
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("url")
</td><td>
$doc.display("url")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("submission_url")
</td><td>
$doc.display("submission_url")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("publication_url")
</td><td>
$doc.display("publication_url")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("dblp")
</td><td>
$doc.display("dblp")
</td>
</tr>
## URLS / END
##
## DATES / START
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("abstract_submission")
</td><td>
$doc.display("abstract_submission")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("paper_submission")
</td><td>
$doc.display("paper_submission")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("notification")
</td><td>
$doc.display("notification")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("cr_submission")
</td><td>
$doc.display("cr_submission")
</td>
</tr>
## DATES / END
</table>
## single table / end
#end
## EVENT DATA / END
##
#if( $dataMode == "apice" )
### APICE DATA / START
<table style="font-size: smaller; text-align: left" width="100%">
## EVENTS / START
<tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("hosting")
</td><td>
$doc.display("hosting")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("colocated")
</td><td>
$doc.display("colocated")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("hosted")
</td><td>
$doc.display("hosted")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("source")
</td><td>
$doc.display("source")
</td>
</tr><tr class="fieldrow2">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("specialissue")
</td><td>
$doc.display("specialissue")
</td>
</tr>
## EVENTS / END
##
## OTHER / START
<tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("project")
</td><td>
$doc.display("project")
</td>
</tr><tr class="fieldrow1">
<td style="text-align: right; vertical-align: middle" width="20%">
#fieldlink("journal")
</td><td>
$doc.display("journal")
</td>
</tr>
## OTHER / END
##
### APICE DATA / END
</table>
#end
##
#if( $dataMode == "roles" )
#set( $objectSpace = "Events.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: 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="65%">
$role.label
</td>
</tr>
<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 colspan="3">
$role.who
</td>
</tr>
#end
</table>
#end
<div align="center">
<a class="basebutton" href='$doc.getURL($action,"mode=$mode&data=$dataMode&add")'>#if( $xcontext.language == "en" ) add role [[image:icon:add]] #{else} aggiungi ruolo [[image:icon:add]] #end</a></td><td width=80%>
</div>
### ROLE CLASS / END
#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.GeneratedMethodAccessor549.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.GeneratedMethodAccessor165.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.GeneratedMethodAccessor165.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:Events.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:ECAS2019.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:ECAS2019.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