Details
-
Bug
-
Resolution: Invalid
-
Major
-
1.5
Description
Steps to reproduce:
- Create a meeting
- Log out
- Try to view that meeting.
You'll get this error:
org.xwiki.rendering.macro.MacroExecutionException: Failed to evaluate Velocity Macro for content [{{html wiki="true"}} $xwiki.ssx.use('AppWithinMinutes.ClassSheetGenerator') $xwiki.ssx.use('Meeting.SkinExtension') $xwiki.jsx.use('Meeting.MeetingSheet') #set($discard = $doc.use('Meeting.MeetingClass')) #set($durationHour = $mathtool.floor($mathtool.div($doc.getValue('duration'),60))) #set($durationMinutes = $mathtool.sub($doc.getValue('duration'),$mathtool.mul(60,$durationHour))) #if($context.action=='view' && $doc.get('hasBeenEdited') == 1) #set($duration = $mathtool.add($mathtool.mul(60,$doc.getValue('durationHour')), $doc.getValue('durationMinutes'))) $doc.set('duration', "$duration.toString()") $doc.set('durationString', $doc.get('calc')) $doc.set('hasBeenEdited', 0) $doc.save() #elseif($context.action!='view') $doc.set('durationHour', $durationHour.toString()) $doc.set('durationMinutes', $durationMinutes.toString()) $doc.set('hasBeenEdited', 1) $doc.save() #elseif(!$isGuest) ##context==view && !hasBeenEdited if duration has been changed through the calendar view $doc.set('durationString', $doc.get('calc')) $doc.set('durationHour', $durationHour.toString()) $doc.set('durationMinutes', $durationMinutes.toString()) $doc.save() #end #if($request.createPoll == 'true') $doc.set('hasPoll', 1) $doc.save() #set($title="XPoll for the Meeting $doc.name") #set($newPollReference = $services.model.createDocumentReference('', 'XPoll', $title)) $response.sendRedirect($xwiki.getURL($newPollReference, 'edit', "$!{request.queryString}")) #end #if($request.sendNotification=='true') #set($message = $services.localization.render('contrib.meeting.notification.body', ["$xwiki.getUserName($context.user)","<strong>$doc.getDisplayTitle()</strong>"])) #if($request.additionalMessage!='') #set($message = "$message <br> $services.localization.render('contrib.hr.notification.additionalPart') $request.additionalMessage") #end #set($title = $services.localization.render('contrib.meeting.notification.title', ["$doc.getDisplayTitle()"])) #set($link = $doc.getExternalURL()) ## Retrieve participants emails #set($to = '') #set($participants = $doc.getValue('participants')) #set($listParticipants = $participants.split(',')) #foreach($element in $listParticipants) #set($email = $xwiki.getUserName($element, '$email', false)) #if ("$!email" != '') #set($to = "$to $email,") #end #end ## Retrieve default From email #set($serverName = "$!request.serverName") #set($curentUserName = $xwiki.getUserName($xcontext.user, false)) #if($serverName != '') #set($sender = "$!{escapetool.xml($curentUserName)} <no-reply@$!{serverName}>") #else #set($sender = "$!{escapetool.xml($curentUserName)} <no-reply@xwiki.localdomain.com>") #end #set($defaultMail = $xwiki.getXWikiPreference('admin_email', "$sender")) #set($mailmsg = $services.mailsender.createMessage($defaultMail, $to, $title)) #set ($discard = $mailmsg.addPart('text/html', "$message <br> <a href=$link> $services.localization.render('contrib.meeting.notification.link') </a>")) #getVCalendarContent($doc, $vCalendar) #set ($discard = $mailmsg.addPart('text/calendar;method=CANCEL', $vCalendar, {"headers" : {"Content-Class" : "urn:content-classes:calendarmessage"}})) #set ($discard = $mailmsg.send()) #if($mailmsg.getErrors().size() == 0) $services.localization.render('contrib.meeting.notification.success') $doc.set('lastEmailSent', $util.getDate()) $doc.save() #else {{warning}}$services.localization.render('contrib.meeting.notification.failure'){{/warning}} #end #end ## We don't have access to the form element to set the CSS class for the vertical form layout standard. (% class="xform" %) ((( (% class="row" %) ((( (% class="col-md-12 col-sm-12 col-xs-12" %) ((( ## Add a title of event in edit modetime #if($xcontext.action=='edit') ; <label for="Meeting.MeetingClass_0_meetingTitle">#if($services.icon)$services.icon.render('font') #end $escapetool.xml($doc.displayPrettyName('meetingTitle', false, false))</label> : $doc.display('meetingTitle') #end ))) ))) (% class="row" %) ((( (% class="col-xs-12 col-sm-4" %) ((( ; <label for="Meeting.MeetingClass_0_startDate">#if($services.icon)$services.icon.render('calendar') #end $services.localization.render('contrib.meeting.field.startDate')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('startDate') ))) (% class="col-xs-12 col-sm-4" %) ((( ; <label for="Meeting.MeetingClass_0_calc">#if($services.icon)$services.icon.render('clock') #end $services.localization.render('contrib.meeting.field.duration')</label>## (% class="xHint" %)$services.localization.render('') #if($context.action=='view') : $doc.display('durationString') #else ##: $doc.display('duration') ##; <label for="Meeting.MeetingClass_0_durationHour">$services.localization.render('contrib.meeting.field.duration')</label> : <div id="durationEdit"> $doc.display('durationHour') h $doc.display('durationMinutes') min</div> #end ))) (% class="col-xs-12 col-sm-4" %) ((( ; <label for="Meeting.MeetingClass_0_status">#if($services.icon)$services.icon.render('control_play') #end $services.localization.render('contrib.meeting.field.status')</label>## (% class="xHint" %)$services.localization.render('') #if($context.action=='view') : <span class="label label-warning">$doc.display('status')</span> #else : $doc.display('status') #end ))) ))) (% class="row" %) ((( (% class="col-md-8 col-sm-8 col-xs-12" %) ((( (% class="row" %) ((( (% class="col-md-6 col-sm-6 col-xs-12" %) ((( #if ("$!doc.display('place')" != '') ; <label for="Meeting.MeetingClass_0_place">#if($services.icon)$services.icon.render('map') #end $services.localization.render('contrib.meeting.field.place')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('place') #end ))) (% class="col-md-6 col-sm-6 col-xs-12" %) ((( #if($context.action=="edit") ; <label for="Meeting.MeetingClass_0_displayMap">#if($services.icon)$services.icon.render('map') #end $services.localization.render('contrib.meeting.field.displayMap')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('displayMap') $doc.display('displayMapError') #end ))) ))) (% class="row" %) ((( (% class="col-sm-12 col-xs-12" %) ((( #if($context.action=="view" && $doc.getValue('displayMap') == 1 && "${doc.getValue('place')}"!="") ((({{map location="$doc.getValue('place')" width="500" height="300" errors="hide"}}$doc.display('place'){{/map}}))) #end #if (("$!doc.getValue('description').trim()" != '') && ($context.action=="view")) ; <label for="Meeting.MeetingClass_0_description">#if($services.icon)$services.icon.render('application_view_list') #end $services.localization.render('contrib.meeting.field.description')</label> : $doc.getValue('description') #end #if ($context.action=="edit") ; <label for="Meeting.MeetingClass_0_description">#if($services.icon)$services.icon.render('application_view_list') #end $services.localization.render('contrib.meeting.field.description')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('description') #end #if (("$!doc.getValue('notes').trim()" != '') && ($context.action=="view")) ; <label for="Meeting.MeetingClass_0_notes">#if($services.icon)$services.icon.render('application_view_list') #end $services.localization.render('contrib.meeting.field.notes')</label> : $doc.getValue('notes') #end #if ($context.action=="edit") ; <label for="Meeting.MeetingClass_0_notes">#if($services.icon)$services.icon.render('application_view_list') #end $services.localization.render('contrib.meeting.field.notes')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('notes') #end #if($doc.isCurrentUserCreator() && $xwiki.exists('XPoll.WebHome') && $doc.getValue('status')=='value1' && $context.action=='view') #if($doc.getValue('hasPoll')==0) <form id="createXPoll" action='' method='get'> <div class='presentation'> <input type='hidden' name='createPoll' value='true'> <input type="hidden" name="parent" value="Meeting.WebHome" /> <input type="hidden" name="template" value="XPoll.XPollTemplate" /> <span class='buttonwrapper'> <input type='submit' class='button' value="$services.localization.render('contrib.meeting.createPoll')"/> </span> </div> </form> #else #set($url = $xwiki.getURL("XPoll.XPoll for the Meeting $doc.name")) <form action=$url method='post'> <div class='presentation'> <p><label>$services.localization.render('contrib.meeting.poll.explanation')</label></p> <span class='buttonwrapper'> <input type='submit' class='button' value="$services.localization.render('contrib.meeting.poll.go')"/> </span> </div> </form> #end #end ))) ))) ))) (% class="col-xs-12 col-sm-4" %) ((( #if ("$!doc.getValue('leader')" != '' && ($context.action=="view")) ; <label for="Meeting.MeetingClass_0_leader">#if($services.icon)$services.icon.render('user') #end $services.localization.render('contrib.meeting.field.leader')</label> : $doc.display('leader') #end #if($context.action == 'edit') ; <label for="Meeting.MeetingClass_0_leader">#if($services.icon)$services.icon.render('user') #end $services.localization.render('contrib.meeting.field.leader')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('leader') #end #if ("$!doc.getValue('participants')" != '' && ($context.action=="view")) ; <label for="Meeting.MeetingClass_0_participants">#if($services.icon)$services.icon.render('user') #end $services.localization.render('contrib.meeting.field.participants')</label> : $doc.display('participants') #end #if($context.action == 'edit') ; <label for="Meeting.MeetingClass_0_participants">#if($services.icon)$services.icon.render('user') #end $services.localization.render('contrib.meeting.field.participants')</label>## (% class="xHint" %)$services.localization.render('') : $doc.display('participants') #end #if($doc.isCurrentUserCreator() && $doc.getValue('participants')!='' && $context.action=='view') <form id="sendNotification" action='' method='post'> <div class='presentation'> <input type='hidden' name='sendNotification' value='true'> <label for='additionalMessage'>$services.localization.render('contrib.meeting.notification.additionalMessage')</label><br/> <textarea name="additionalMessage" cols='40' rows='4'></textarea><br/> #if($doc.getValue('lastEmailSent')) <p>$services.localization.render('contrib.meeting.field.lastEmailSent') <b>$doc.display('lastEmailSent')</b></p> #end <span class='buttonwrapper'> <input type='submit' class='button' value="$services.localization.render('contrib.meeting.notification.submit')"/> </span> </div> </form> #end ))) ))) ))) ## end of .xform {{/html}}] at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:131) at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:50) at org.xwiki.rendering.macro.script.AbstractScriptMacro.evaluateBlock(AbstractScriptMacro.java:286) 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:252) at org.xwiki.rendering.internal.transformation.DefaultRenderingContext.transformInContext(DefaultRenderingContext.java:183) at org.xwiki.rendering.internal.transformation.DefaultTransformationManager.performTransformations(DefaultTransformationManager.java:94) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:252) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:125) at org.xwiki.display.internal.DocumentContentDisplayer.display(DocumentContentDisplayer.java:55) 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:229) at org.xwiki.sheet.internal.SheetDocumentDisplayer.applySheet(SheetDocumentDisplayer.java:209) at org.xwiki.sheet.internal.SheetDocumentDisplayer.maybeDisplayWithSheet(SheetDocumentDisplayer.java:164) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:102) at org.xwiki.sheet.internal.SheetDocumentDisplayer.display(SheetDocumentDisplayer.java:50) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:67) at org.xwiki.display.internal.ConfiguredDocumentDisplayer.display(ConfiguredDocumentDisplayer.java:41) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1104) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1082) at com.xpn.xwiki.doc.XWikiDocument.getRenderedContent(XWikiDocument.java:1114) at com.xpn.xwiki.api.Document.getRenderedContent(Document.java:648) at sun.reflect.GeneratedMethodAccessor317.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.value(ASTReference.java:567) at org.apache.velocity.runtime.parser.node.ASTExpression.value(ASTExpression.java:71) at org.apache.velocity.runtime.parser.node.ASTSetDirective.render(ASTSetDirective.java:142) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.xwiki.velocity.introspection.TryCatchDirective.render(TryCatchDirective.java:72) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:256) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198) at com.xpn.xwiki.internal.template.TemplateManager.evaluateContent(TemplateManager.java:674) at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:574) at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:555) at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:526) at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:512) at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1663) at com.xpn.xwiki.XWiki.parseTemplate(XWiki.java:1643) at com.xpn.xwiki.api.XWiki.parseTemplate(XWiki.java:801) at sun.reflect.GeneratedMethodAccessor152.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.directive.VelocimacroProxy.render(VelocimacroProxy.java:216) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:311) at org.apache.velocity.runtime.directive.RuntimeMacro.render(RuntimeMacro.java:230) at org.apache.velocity.runtime.parser.node.ASTDirective.render(ASTDirective.java:207) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:106) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:256) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198) at com.xpn.xwiki.internal.template.TemplateManager.evaluateContent(TemplateManager.java:674) at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:574) at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:555) at com.xpn.xwiki.internal.template.TemplateManager.renderFromSkin(TemplateManager.java:526) at com.xpn.xwiki.internal.template.TemplateManager.render(TemplateManager.java:512) at com.xpn.xwiki.XWiki.evaluateTemplate(XWiki.java:1663) at com.xpn.xwiki.web.Utils.parseTemplate(Utils.java:179) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:358) at com.xpn.xwiki.web.XWikiAction.execute(XWikiAction.java:149) at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:425) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:228) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:449) at javax.servlet.http.HttpServlet.service(HttpServlet.java:687) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667) at com.xpn.xwiki.web.ActionFilter.doFilter(ActionFilter.java:115) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at org.xwiki.wysiwyg.server.filter.ConversionFilter.doFilter(ConversionFilter.java:127) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539) at java.lang.Thread.run(Thread.java:745) Caused by: org.xwiki.velocity.XWikiVelocityException: Failed to evaluate content with id [xwiki:Meeting.MeetingSheet] at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:224) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:198) at org.xwiki.rendering.internal.macro.velocity.VelocityMacro.evaluateString(VelocityMacro.java:124) ... 121 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:Meeting.Meeting 1 at 147:xwiki:Meeting.MeetingSheet[line 13, column 6] at org.apache.velocity.runtime.parser.node.ASTMethod.handleInvocationException(ASTMethod.java:243) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:187) at org.apache.velocity.runtime.parser.node.ASTReference.execute(ASTReference.java:280) at org.apache.velocity.runtime.parser.node.ASTReference.render(ASTReference.java:369) at org.apache.velocity.runtime.parser.node.ASTBlock.render(ASTBlock.java:72) at org.apache.velocity.runtime.parser.node.ASTIfStatement.render(ASTIfStatement.java:87) at org.apache.velocity.runtime.parser.node.SimpleNode.render(SimpleNode.java:342) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluateInternal(DefaultVelocityEngine.java:256) at org.xwiki.velocity.internal.DefaultVelocityEngine.evaluate(DefaultVelocityEngine.java:222) ... 123 more Caused by: com.xpn.xwiki.XWikiException: Error number 9001 in 9: Access denied in edit mode on document xwiki:Meeting.Meeting 1 at com.xpn.xwiki.api.Document.save(Document.java:2237) at com.xpn.xwiki.api.Document.save(Document.java:2223) at sun.reflect.GeneratedMethodAccessor846.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.doInvoke(UberspectImpl.java:395) at org.apache.velocity.util.introspection.UberspectImpl$VelMethodImpl.invoke(UberspectImpl.java:384) at org.apache.velocity.runtime.parser.node.ASTMethod.execute(ASTMethod.java:173) ... 130 more)
Attachments
Issue Links
- is related to
-
XAMEETINGS-95 Velocity error when viewing a Meeting entry on a subwiki you are not member of
- Closed
-
XAMEETINGS-103 When changing the language from URL you get a velocity error
- Closed