You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ofbiz.apache.org by "Montalbano Florian (JIRA)" <ji...@apache.org> on 2016/04/28 16:06:12 UTC

[jira] [Commented] (OFBIZ-7003) Error when accessing project manager

    [ https://issues.apache.org/jira/browse/OFBIZ-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15262189#comment-15262189 ] 

Montalbano Florian commented on OFBIZ-7003:
-------------------------------------------

Hi,
I looked into the problem and found where this error comes from.
When the project list is loaded, it uses the form "ListCurrentProjects" from the file ProjectsForms.xml.
In this form, the diffrent informations about the projects are loaded.
The error indicates that the property "actualNonBilledTotalHours" does not exist in the current context. And this value is used in this line : 
<field name="actualNonBilledTotalHours" title="${uiLabelMap.ProjectMgrNonBilledActualHours}"><display description="${groovy:isBillable&amp;&amp;actualNonBilledTotalHours!=void?actualNonBilledTotalHours:&quot;&quot;}"/></field>

The condition means : If the hours are billable And there is at least 1 hour not billed Then display this number of hours Else diplay ""
I'm not sure about the "!=void" thing, I would use Util.isNotEmpty instead.

When the condition is checked, the property actualNonBilledTotalHours is searched through the context but is not found.
I search something that was related to this property and found the simple-method "getHours" from the file "WorkEffortSimpleServices.xml". Under the right condition, it does evaluate and return the property. But the thing is that this method is not called by the "ListCurrentProject". And one of the reason is that this method is not available as a service.

So the problem behind this one is that there is nothing to put the "actualNonBilledTotalHours" in the context of "ListCurrentProject" thus showing the error about this property missing.

To solve this problem, either a service can be created to call the method getHours and then updating the ListCurrentProject (this choice is to be made by the community) or this feature about the "actualNonBilledTotalHours" can be dropped (choice decided by the community too).

I hope I'm not mistaking about the root problem and hope that will help you.

Have a nice day,

Florian 

> Error when accessing project manager
> ------------------------------------
>
>                 Key: OFBIZ-7003
>                 URL: https://issues.apache.org/jira/browse/OFBIZ-7003
>             Project: OFBiz
>          Issue Type: Bug
>          Components: specialpurpose/projectmgr
>    Affects Versions: Trunk
>            Reporter: james yong
>            Priority: Minor
>
> I am running SVN version 1738958.
> Problem
> =======
> I navigate to https://localhost:8443/projectmgr, and found the following error on the console:
> {code}
> 2016-04-14 22:31:56,648 |http-nio-8443-exec-3 |ServiceDispatcher             |T| Sync service [projectmgr/getProject] finished in [24] milliseconds
> 2016-04-14 22:31:56,724 |http-nio-8443-exec-3 |FlexibleStringExpander        |W| Error evaluating scriptlet [${groovy:isBillable&&actualNonBilledTotalHours!=void?actualNonBilledTotalHours:""}]; error was: groovy.lang.MissingPropertyException: No such property: actualNonBilledTotalHours for class: script14606441839311459442740
> groovy.lang.MissingPropertyException: No such property: actualNonBilledTotalHours for class: script14606441839311459442740
> 	at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.unwrap(ScriptBytecodeAdapter.java:53) ~[groovy-all-2.4.5.jar:2.4.5]
> 	at org.codehaus.groovy.runtime.callsite.PogoGetPropertySite.getProperty(PogoGetPropertySite.java:52) ~[groovy-all-2.4.5.jar:2.4.5]
> 	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGroovyObjectGetProperty(AbstractCallSite.java:307) ~[groovy-all-2.4.5.jar:2.4.5]
> 	at script14606441839311459442740.run(script14606441839311459442740.groovy:1) ~[?:?]
> 	at org.ofbiz.base.util.ScriptUtil.evaluate(ScriptUtil.java:263) ~[ofbiz-base.jar:?]
> 	at org.ofbiz.base.util.string.FlexibleStringExpander$ScriptElem.get(FlexibleStringExpander.java:657) [ofbiz-base.jar:?]
> 	at org.ofbiz.base.util.string.FlexibleStringExpander.expandString(FlexibleStringExpander.java:437) [ofbiz-base.jar:?]
> 	at org.ofbiz.base.util.string.FlexibleStringExpander.expandString(FlexibleStringExpander.java:407) [ofbiz-base.jar:?]
> 	at org.ofbiz.widget.model.ModelFormField$DisplayField.getDescription(ModelFormField.java:1496) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.macro.MacroFormRenderer.renderDisplayField(MacroFormRenderer.java:194) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelFormField$DisplayField.renderFieldString(ModelFormField.java:1615) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelFormField.renderFieldString(ModelFormField.java:724) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.FormRenderer.renderItemRow(FormRenderer.java:582) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.FormRenderer.renderItemRows(FormRenderer.java:899) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.FormRenderer.renderListFormString(FormRenderer.java:941) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.FormRenderer.render(FormRenderer.java:266) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Form.renderWidgetString(ModelScreenWidget.java:1053) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.macro.MacroScreenRenderer.renderScreenletSubWidget(MacroScreenRenderer.java:678) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Screenlet.renderWidgetString(ModelScreenWidget.java:599) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$DecoratorSection.renderWidgetString(ModelScreenWidget.java:906) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$SectionsRenderer.render(ModelScreenWidget.java:127) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$DecoratorSectionInclude.renderWidgetString(ModelScreenWidget.java:943) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:459) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:459) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Container.renderWidgetString(ModelScreenWidget.java:459) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:780) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$IncludeScreen.renderWidgetString(ModelScreenWidget.java:780) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ScreenFactory.renderReferencedScreen(ScreenFactory.java:214) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$DecoratorScreen.renderWidgetString(ModelScreenWidget.java:860) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget.renderSubWidgetsString(ModelScreenWidget.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreenWidget$Section.renderWidgetString(ModelScreenWidget.java:280) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.model.ModelScreen.renderScreenString(ModelScreen.java:164) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:136) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.ScreenRenderer.render(ScreenRenderer.java:98) [ofbiz-widget.jar:?]
> 	at org.ofbiz.widget.renderer.macro.MacroScreenViewHandler.render(MacroScreenViewHandler.java:157) [ofbiz-widget.jar:?]
> 	at org.ofbiz.webapp.control.RequestHandler.renderView(RequestHandler.java:1001) [ofbiz-webapp.jar:?]
> 	at org.ofbiz.webapp.control.RequestHandler.doRequest(RequestHandler.java:653) [ofbiz-webapp.jar:?]
> 	at org.ofbiz.webapp.control.ControlServlet.doGet(ControlServlet.java:213) [ofbiz-webapp.jar:?]
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) [servlet-api-3.1.jar:?]
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) [servlet-api-3.1.jar:?]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.ofbiz.webapp.control.ContextFilter.doFilter(ContextFilter.java:323) [ofbiz-webapp.jar:?]
> 	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:522) [tomcat-8.0.33-catalina.jar:8.0.33]
> 	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1095) [tomcat-8.0.33-tomcat-coyote.jar:8.0.33]
> 	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:672) [tomcat-8.0.33-tomcat-coyote.jar:8.0.33]
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1502) [tomcat-8.0.33-tomcat-coyote.jar:8.0.33]
> 	at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1458) [tomcat-8.0.33-tomcat-coyote.jar:8.0.33]
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_60]
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_60]
> 	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-8.0.33-tomcat-util.jar:8.0.33]
> 	at java.lang.Thread.run(Thread.java:745) [?:1.8.0_60]
> {code}	



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)