[
https://issues.apache.org/jira/browse/OFBIZ-7003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15262189#comment-15262189
]
Jacques Le Roux edited comment on OFBIZ-7003 at 4/28/16 2:33 PM:
-----------------------------------------------------------------
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 :
{code}
<field name="actualNonBilledTotalHours"
title="${uiLabelMap.ProjectMgrNonBilledActualHours}"><display
description="${groovy:isBillable&&actualNonBilledTotalHours!=void?actualNonBilledTotalHours:""}"/></field>
{code}
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
was (Author: florian m):
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&&actualNonBilledTotalHours!=void?actualNonBilledTotalHours:""}"/></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)