[ 
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&amp;&amp;actualNonBilledTotalHours!=void?actualNonBilledTotalHours:&quot;&quot;}"/></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&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)

Reply via email to