This is an automated email from the ASF dual-hosted git repository.

nmalin pushed a commit to branch trunk
in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git


The following commit(s) were added to refs/heads/trunk by this push:
     new 10529c3bd7 Improved: Slim down use of ${groovy: } (OFBIZ-13146) (#838)
10529c3bd7 is described below

commit 10529c3bd798e086b69eb31c3b64b240d0bb151c
Author: Nicolas Malin <nicolas.ma...@nereide.fr>
AuthorDate: Tue Nov 5 18:32:03 2024 +0100

    Improved: Slim down use of ${groovy: } (OFBIZ-13146) (#838)
    
    * Improved: Slim down use of ${groovy: } (OFBIZ-13146)
    
    With the framework evolution, we used on many place the scriptlet ${groovy: 
} on screen rendering where something it's now unecessary.
    
    This issue convert some of them on a other solution to slim down this usage
---
 .../invoice/DisplayInvoiceAmounts.groovy           | 25 +++++++
 .../ledger/PartyPreferenceTooltipLabels.groovy     | 25 +++++++
 .../accounting/widget/BillingAccountForms.xml      |  8 +-
 applications/accounting/widget/GlSetupForms.xml    | 87 +++++++---------------
 .../commonext/ofbizsetup/SystemInfoNote.groovy     | 29 ++++++++
 applications/commonext/widget/CommonScreens.xml    | 12 +--
 .../content/widget/website/WebSiteForms.xml        |  2 +-
 .../widget/manufacturing/ProductionRunForms.xml    |  6 +-
 applications/marketing/widget/ContactListForms.xml |  2 +-
 .../order/widget/ordermgr/OrderEntryForms.xml      |  2 +-
 applications/party/widget/partymgr/PartyForms.xml  | 13 ++--
 .../widget/catalog/ImageManagementForms.xml        |  3 +-
 .../org/apache/ofbiz/common/GetUiLabels.groovy     | 21 ++++++
 themes/common-theme/widget/CommonScreens.xml       |  2 +-
 14 files changed, 143 insertions(+), 94 deletions(-)

diff --git 
a/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/invoice/DisplayInvoiceAmounts.groovy
 
b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/invoice/DisplayInvoiceAmounts.groovy
new file mode 100644
index 0000000000..32b7dd7d58
--- /dev/null
+++ 
b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/invoice/DisplayInvoiceAmounts.groovy
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.ofbiz.accounting.invoice
+
+String invoiceId = context.invoiceId
+BigDecimal amountToApply = InvoiceWorker.getInvoiceNotApplied(delegator, 
invoiceId)
+context.paidInvoice = amountToApply == 0
+context.amountToApply = amountToApply
+context.total = InvoiceWorker.getInvoiceTotal(delegator, invoiceId)
diff --git 
a/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/ledger/PartyPreferenceTooltipLabels.groovy
 
b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/ledger/PartyPreferenceTooltipLabels.groovy
new file mode 100644
index 0000000000..4204e6478a
--- /dev/null
+++ 
b/applications/accounting/src/main/groovy/org/apache/ofbiz/accounting/ledger/PartyPreferenceTooltipLabels.groovy
@@ -0,0 +1,25 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.ofbiz.accounting.ledger
+
+List fieldForTooltip = 
delegator.getModelEntity('PartyAcctgPreference').getAllFieldNames()
+String labelInherited = label('AccountingUiLabels', 'AccountingInheritedValue')
+fieldForTooltip.each {
+    context."${it}Tooltip" = !context.partyAcctgPreference?.(it) && 
context.aggregatedPartyAcctgPreference?.(it) ? labelInherited : ''
+}
diff --git a/applications/accounting/widget/BillingAccountForms.xml 
b/applications/accounting/widget/BillingAccountForms.xml
index f55a6ce4c1..0a8cbd840a 100644
--- a/applications/accounting/widget/BillingAccountForms.xml
+++ b/applications/accounting/widget/BillingAccountForms.xml
@@ -80,13 +80,7 @@ under the License.
                 <field-map field-name="compareDate" from-field="invoiceDate"/>
                 <field-map field-name="lastNameFirst" value="Y"/>
             </service>
-            <set field="paidInvoice" value="${groovy: 
org.apache.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId).compareTo(java.math.BigDecimal.ZERO)==0}"
 type="Boolean"/>
-            <set field="amountToApply" value="${groovy:
-                import java.text.NumberFormat;
-                
return(NumberFormat.getNumberInstance(locale).format(org.apache.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceNotApplied(delegator,invoiceId)));}"/>
-            <set field="total" value="${groovy:
-                import java.text.NumberFormat;
-                
return(NumberFormat.getNumberInstance(locale).format(org.apache.ofbiz.accounting.invoice.InvoiceWorker.getInvoiceTotal(delegator,invoiceId)));}"/>
+            <script 
location="component://accounting/src/main/groovy/org/apache/ofbiz/accounting/invoice/DisplayInvoiceAmounts.groovy"/>
         </row-actions>
         <field name="billingAccountId"><hidden/></field>
         <field name="invoiceId" widget-style="buttontext">
diff --git a/applications/accounting/widget/GlSetupForms.xml 
b/applications/accounting/widget/GlSetupForms.xml
index b50f8d49ea..21bf4da094 100644
--- a/applications/accounting/widget/GlSetupForms.xml
+++ b/applications/accounting/widget/GlSetupForms.xml
@@ -159,6 +159,7 @@ under the License.
                 <field-map field-name="organizationPartyId"/>
             </service>
             <set field="aggregatedPartyAcctgPreference" 
from-field="result.partyAccountingPreference" type="Object"/>
+            <script 
location="component://accounting/src/main/groovy/org/apache/ofbiz/accounting/ledger/PartyPreferenceTooltipLabels.groovy"/>
         </actions>
         <alt-target use-when="partyAcctgPreference!=null" 
target="updatePartyAcctgPreference"/>
         <auto-fields-service service-name="createPartyAcctgPreference"/>
@@ -167,7 +168,7 @@ under the License.
         <field name="partyId" 
title="${uiLabelMap.AccountingOrganizationPartyId}"><display/></field>
         <!-- if there is no partyAcctgPreference yet, then we show drop-downs 
for the fields and a submit button -->
         <field name="fiscalYearStartMonth" 
use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartMonth')!=null)return
 (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', 
locale))}">
+            tooltip="${fiscalYearStartMonthTooltip}">
             <drop-down>
                 <option key="1" 
description="${uiLabelMap.AccountingFiscalMonth01}"/>
                 <option key="2" 
description="${uiLabelMap.AccountingFiscalMonth02}"/>
@@ -184,7 +185,7 @@ under the License.
             </drop-down>
         </field>
         <field name="fiscalYearStartDay" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartDay')!=null)return
 (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', 
locale))}">
+            tooltip="${fiscalYearStartDayTooltip}">
             <drop-down>
                 <option key="1"/><option key="2"/><option key="3"/><option 
key="4"/><option key="5"/>
                 <option key="6"/><option key="7"/><option key="8"/><option 
key="9"/><option key="10"/>
@@ -196,8 +197,7 @@ under the License.
             </drop-down>
         </field>
         <field name="taxFormId" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('taxFormId')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+            tooltip="${taxFormIdTooltip}">
             <drop-down>
                 <entity-options entity-name="Enumeration" 
key-field-name="enumId">
                     <entity-constraint name="enumTypeId" operator="equals" 
value="TAX_FORMS"/>
@@ -206,7 +206,7 @@ under the License.
             </drop-down>
         </field>
         <field name="cogsMethodId" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('cogsMethodId')!=null)return 
(UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', 
locale))}">
+            tooltip="${cogsMethodIdTooltip}">
             <drop-down>
                 <entity-options entity-name="Enumeration" 
key-field-name="enumId">
                     <entity-constraint name="enumTypeId" operator="equals" 
value="COGS_METHODS"/>
@@ -215,8 +215,7 @@ under the License.
             </drop-down>
         </field>
         <field name="baseCurrencyUomId" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('baseCurrencyUomId')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+            tooltip="${baseCurrencyUomIdTooltip}">
             <drop-down 
no-current-selected-key="${defaultOrganizationPartyCurrencyUomId}">
                 <entity-options key-field-name="uomId" 
description="${description} - ${abbreviation}" entity-name="Uom">
                     <entity-constraint name="uomTypeId" operator="equals" 
value="CURRENCY_MEASURE"/>
@@ -225,113 +224,77 @@ under the License.
             </drop-down>
         </field>
         <field name="invoiceIdPrefix" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceIdPrefix')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+            tooltip="${invoiceIdPrefixTooltip}">
             <text maxlength="10" size="5"/>
         </field>
         <field name="useInvoiceIdForReturns" 
use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('useInvoiceIdForReturns')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+            tooltip="${useInvoiceIdForReturnsTooltip}">
             <drop-down allow-empty="true">
                 <option key="Y" description="${uiLabelMap.CommonY}"/><option 
key="N" description="${uiLabelMap.CommonN}"/>
             </drop-down>
         </field>
         <field name="quoteIdPrefix" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteIdPrefix')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+            tooltip="${quoteIdPrefixTootlip}">
             <text maxlength="10" size="5"/>
         </field>
         <field name="orderIdPrefix" use-when="partyAcctgPreference==null"
-            tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties; if(aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('orderIdPrefix')!=null)return 
(UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', 
locale))}">
+            tooltip="${orderIdPrefixTooltip}">
             <text maxlength="10" size="5"/>
         </field>
         <field name="createButton" use-when="partyAcctgPreference==null" 
title="${uiLabelMap.CommonAdd}"><submit/></field>
         <field name="updateButton" use-when="partyAcctgPreference!=null" 
title="${uiLabelMap.CommonUpdate}"><submit/></field>
 
         <!-- otherwise, we just display the fields.  there is no submit button 
because we shouldn't try to create it again and don't support an update option 
right now-->
-        <field name="fiscalYearStartMonth" 
use-when="partyAcctgPreference!=null" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('fiscalYearStartMonth')==null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartMonth')!=null)return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="fiscalYearStartMonth" 
use-when="partyAcctgPreference!=null" tooltip="${fiscalYearStartMonthTooltip}">
             <display/>
         </field>
-        <field name="fiscalYearStartDay" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-            if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('fiscalYearStartDay')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('fiscalYearStartDay')!=null)return
-                    (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="fiscalYearStartDay" use-when="partyAcctgPreference!=null" 
tooltip="${fiscalYearStartDayTooltip}">
             <display/>
         </field>
-        <field name="taxFormId" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('taxFormId')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 null&amp;&amp;aggregatedPartyAcctgPreference.get('taxFormId')!=null)return
-                    (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="taxFormId" use-when="partyAcctgPreference!=null" 
tooltip="${taxFormIdTooltip}">
             <display-entity entity-name="Enumeration" key-field-name="enumId"/>
         </field>
-        <field name="cogsMethodId" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-            if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('cogsMethodId')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 null&amp;&amp;aggregatedPartyAcctgPreference.get('cogsMethodId')!=null)return
-                    (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="cogsMethodId" use-when="partyAcctgPreference!=null" 
tooltip="${cogsMethodIdTooltip}">
             <display-entity entity-name="Enumeration" key-field-name="enumId"/>
         </field>
-        <field name="baseCurrencyUomId" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('baseCurrencyUomId')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('baseCurrencyUomId')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="baseCurrencyUomId" use-when="partyAcctgPreference!=null" 
tooltip="${baseCurrencyUomIdTooltip}">
             <display/>
         </field>
-        <field name="invoiceIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('invoiceIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('invoiceIdPrefix')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="invoiceIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${invoiceIdPrefixTooltip}">
             <display/>
         </field>
-        <field name="useInvoiceIdForReturns" 
use-when="partyAcctgPreference!=null" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('useInvoiceIdForReturns')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('useInvoiceIdForReturns')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="useInvoiceIdForReturns" 
use-when="partyAcctgPreference!=null" 
tooltip="${useInvoiceIdForReturnsTooltip}">
             <display/>
         </field>
-        <field name="quoteIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('quoteIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 null&amp;&amp;aggregatedPartyAcctgPreference.get('quoteIdPrefix')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="quoteIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${quoteIdPrefixTooltip}">
             <display/>
         </field>
-        <field name="lastQuoteNumber" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('lastQuoteNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastQuoteNumber')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="lastQuoteNumber" use-when="partyAcctgPreference!=null" 
tooltip="${lastQuoteNumberTooltip}">
             <display/>
         </field>
-        <field name="orderIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('orderIdPrefix')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 null&amp;&amp;aggregatedPartyAcctgPreference.get('orderIdPrefix')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="orderIdPrefix" use-when="partyAcctgPreference!=null" 
tooltip="${orderIdPrefixTooltip}">
             <display/>
         </field>
-        <field name="lastOrderNumber" use-when="partyAcctgPreference!=null" 
tooltip="${groovy: import org.apache.ofbiz.base.util.UtilProperties;
-                if(partyAcctgPreference!= 
null&amp;&amp;partyAcctgPreference.get('lastOrderNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastOrderNumber')!=null)return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="lastOrderNumber" use-when="partyAcctgPreference!=null" 
tooltip="${lastOrderNumberTooltip}">
             <display/>
         </field>
 
         <!-- these 2 are ONLY displayed, never allow manual editing -->
-        <field name="lastInvoiceNumber" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-                
if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceNumber')!=null) ||
-                
(partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('lastInvoiceNumber')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceNumber')!=null))return
-                    (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="lastInvoiceNumber" tooltip="${lastInvoiceNumberTooltip}">
             <display/>
         </field>
-        <field name="lastInvoiceRestartDate" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-                
if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceRestartDate')!=null)
 ||
-                
(partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('lastInvoiceRestartDate')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('lastInvoiceRestartDate')!=null))return
 (UtilProperties.getMessage('AccountingUiLabels', 'AccountingInheritedValue', 
locale))}">
+        <field name="lastInvoiceRestartDate" 
tooltip="${lastInvoiceRestartDateTooltip}">
             <display/>
         </field>
         <!-- these 2 are always can be updated -->
-        <field name="refundPaymentMethodId" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-                
if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('refundPaymentMethodId')!=null)
 ||
-                
(partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('refundPaymentMethodId')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('refundPaymentMethodId')!=null))return
-                (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="refundPaymentMethodId" 
tooltip="${refundPaymentMethodIdTooltip}">
             <drop-down>
                 <entity-options entity-name="PaymentMethod" 
key-field-name="paymentMethodId">
                     <entity-constraint name="partyId" operator="equals" 
env-name="organizationPartyId"/>
                 </entity-options>
             </drop-down>
         </field>
-        <field name="errorGlJournalId" tooltip="${groovy: import 
org.apache.ofbiz.base.util.UtilProperties;
-            
if((partyAcctgPreference==null&amp;&amp;aggregatedPartyAcctgPreference!= 
null&amp;&amp;aggregatedPartyAcctgPreference.get('errorGlJournalId')!=null) ||
-            
(partyAcctgPreference!=null&amp;&amp;partyAcctgPreference.get('errorGlJournalId')==null&amp;&amp;aggregatedPartyAcctgPreference!=
 
null&amp;&amp;aggregatedPartyAcctgPreference.get('errorGlJournalId')!=null))return
-            (UtilProperties.getMessage('AccountingUiLabels', 
'AccountingInheritedValue', locale))}">
+        <field name="errorGlJournalId" tooltip="${errorGlJournalIdTooltip}">
             <drop-down allow-empty="true">
                 <entity-options entity-name="GlJournal" 
key-field-name="glJournalId" description="${glJournalName} [${glJournalId}]">
                     <entity-constraint name="organizationPartyId" 
operator="equals" env-name="organizationPartyId"/>
diff --git 
a/applications/commonext/src/main/groovy/org/apache/ofbiz/commonext/ofbizsetup/SystemInfoNote.groovy
 
b/applications/commonext/src/main/groovy/org/apache/ofbiz/commonext/ofbizsetup/SystemInfoNote.groovy
new file mode 100644
index 0000000000..10effd80e5
--- /dev/null
+++ 
b/applications/commonext/src/main/groovy/org/apache/ofbiz/commonext/ofbizsetup/SystemInfoNote.groovy
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.ofbiz.commonext.ofbizsetup
+
+Map serviceResult = run service: 'getLastSystemInfoNote', with: parameters
+    context.layoutSettings.middleTopHeader = "---------- 
${uiLabelMap.CommonLastSytemNotes} ----------"
+['1', '2', '3'].each {
+    Map infoNote = serviceResult."lastSystemInfoNote$it"
+    context.layoutSettings."middleTopMessage$it" = infoNote ? 
"${infoNote.noteDateTime.toString().substring(0, 16)} ${infoNote.noteInfo}" : ''
+    context.layoutSettings."middleTopLink$it" = infoNote && 
infoNote.moreInfoUrl && infoNote.moreInfoItemName && infoNote.moreInfoItemId
+            ? 
"${infoNote.moreInfoUrl}?${infoNote.moreInfoItemName}=${infoNote.moreInfoItemId}&amp;id=${infoNote.moreInfoItemId}"
+            : ''
+}
diff --git a/applications/commonext/widget/CommonScreens.xml 
b/applications/commonext/widget/CommonScreens.xml
index 6c110b2ce6..46df879425 100644
--- a/applications/commonext/widget/CommonScreens.xml
+++ b/applications/commonext/widget/CommonScreens.xml
@@ -33,17 +33,7 @@ under the License.
                 <set field="layoutSettings.topLines[]" from-field="line" 
global="true"/>
                 <script 
location="component://commonext/src/main/groovy/org/apache/ofbiz/commonext/ofbizsetup/ChangeOrgPartyId.groovy"/><!--
 to see ofbizsetup needs to be displayed -->
                 <!-- system info notes -->
-                <service service-name="getLastSystemInfoNote" 
result-map="resultNote"/>
-                <set field="lastSystemInfoNote1" 
from-field="resultNote.lastSystemInfoNote1"/>
-                <set field="lastSystemInfoNote2" 
from-field="resultNote.lastSystemInfoNote2"/>
-                <set field="lastSystemInfoNote3" 
from-field="resultNote.lastSystemInfoNote3"/>
-                <set field="layoutSettings.middleTopHeader" value="---------- 
${uiLabelMap.CommonLastSytemNotes} ----------"/>
-                <set field="layoutSettings.middleTopMessage1" 
value="${groovy:lastSystemInfoNote1!=null?lastSystemInfoNote1.noteDateTime.toString().substring(0,16)
 + &quot; &quot; + lastSystemInfoNote1.noteInfo:&quot;&quot;}"/>
-                <set field="layoutSettings.middleTopMessage2" 
value="${groovy:lastSystemInfoNote2!=null?lastSystemInfoNote2.noteDateTime.toString().substring(0,16)
 + &quot; &quot; + lastSystemInfoNote2.noteInfo:&quot;&quot;}"/>
-                <set field="layoutSettings.middleTopMessage3" 
value="${groovy:lastSystemInfoNote3!=null?lastSystemInfoNote3.noteDateTime.toString().substring(0,16)
 + &quot; &quot; + lastSystemInfoNote3.noteInfo:&quot;&quot;}"/>
-                <set field="layoutSettings.middleTopLink1" 
value="${lastSystemInfoNote1.moreInfoUrl}${groovy: if 
(lastSystemInfoNote1&amp;&amp;lastSystemInfoNote1.moreInfoItemName&amp;&amp;lastSystemInfoNote1.moreInfoItemId)&quot;?&quot;
 + lastSystemInfoNote1.moreInfoItemName + &quot;=&quot; + 
lastSystemInfoNote1.moreInfoItemId + &quot;&amp;id=&quot; + 
lastSystemInfoNote1.moreInfoItemId;}"/>
-                <set field="layoutSettings.middleTopLink2" 
value="${lastSystemInfoNote2.moreInfoUrl}${groovy: if 
(lastSystemInfoNote2&amp;&amp;lastSystemInfoNote2.moreInfoItemName&amp;&amp;lastSystemInfoNote2.moreInfoItemId)&quot;?&quot;
 + lastSystemInfoNote2.moreInfoItemName + &quot;=&quot; + 
lastSystemInfoNote2.moreInfoItemId + &quot;&amp;id=&quot; + 
lastSystemInfoNote2.moreInfoItemId;}"/>
-                <set field="layoutSettings.middleTopLink3" 
value="${lastSystemInfoNote3.moreInfoUrl}${groovy: if 
(lastSystemInfoNote3&amp;&amp;lastSystemInfoNote3.moreInfoItemName&amp;&amp;lastSystemInfoNote3.moreInfoItemId)&quot;?&quot;
 + lastSystemInfoNote3.moreInfoItemName + &quot;=&quot; + 
lastSystemInfoNote3.moreInfoItemId + &quot;&amp;id=&quot; + 
lastSystemInfoNote3.moreInfoItemId;}"/>
+                <script 
location="component://commonext/src/main/groovy/org/apache/ofbiz/commonext/ofbizsetup/SystemInfoNote.groovy"/>
                 <!-- Help link actions -->
                 <set field="helpTopic" value="${groovy: 
webappName.toUpperCase() + '_' + requestAttributes._CURRENT_VIEW_}"/>
                 <entity-and entity-name="ContentAssoc" list="pageAvail">
diff --git a/applications/content/widget/website/WebSiteForms.xml 
b/applications/content/widget/website/WebSiteForms.xml
index 01f233d1e2..bae024416e 100644
--- a/applications/content/widget/website/WebSiteForms.xml
+++ b/applications/content/widget/website/WebSiteForms.xml
@@ -274,7 +274,7 @@ under the License.
     <form name="CreateWebSiteContactList" type="single" 
target="createWebSiteContactList" 
             default-map-name="webSite" title="" header-row-style="header-row" 
default-table-style="basic-table">
         <actions>
-            <set field="fromDate" value="${groovy: import 
org.apache.ofbiz.base.util.UtilDateTime; return UtilDateTime.nowTimestamp();}" 
type="Timestamp"/>
+            <set field="fromDate" value="${date:nowTimestamp()}" 
type="Timestamp"/>
         </actions>
         <field name="webSiteId"><display/></field>
         <field name="siteName"><display/></field>
diff --git 
a/applications/manufacturing/widget/manufacturing/ProductionRunForms.xml 
b/applications/manufacturing/widget/manufacturing/ProductionRunForms.xml
index 73b42b6834..57573320f3 100644
--- a/applications/manufacturing/widget/manufacturing/ProductionRunForms.xml
+++ b/applications/manufacturing/widget/manufacturing/ProductionRunForms.xml
@@ -552,13 +552,13 @@ under the License.
         <field name="drObjectInfo" title="${uiLabelMap.CommonContent}">
             <display description="default ${drObjectInfo}"/>
         </field>
-        <field name="drObjectInfo" title="${uiLabelMap.CommonContent}" 
use-when="${groovy: drDataResourceTypeId != null &amp;&amp; 
(drDataResourceTypeId.contains(&quot;FILE&quot;) || 
drDataResourceTypeId.equals(&quot;IMAGE_OBJECT&quot;))}">
+        <field name="drObjectInfo" title="${uiLabelMap.CommonContent}" 
use-when="${drDataResourceTypeId?.contains('FILE') || drDataResourceTypeId == 
'IMAGE_OBJECT'}">
             <hyperlink description="${drObjectInfo}" 
target="/content/control/ViewBinaryDataResource" target-type="content" 
target-window="productionRunContentWindow">
                 <parameter param-name="dataResourceId" 
from-field="drDataResourceId"/>
             </hyperlink>
         </field>
-        <field name="drObjectInfo" title="${uiLabelMap.CommonContent}" 
entry-name="drDataResourceId" encode-output="true" use-when="${groovy: 
drDataResourceTypeId != null &amp;&amp; 
drDataResourceTypeId.equals(&quot;ELECTRONIC_TEXT&quot;)}">
-            <display-entity entity-name="ElectronicText" 
key-field-name="dataResourceId" description="${textData}"></display-entity>
+        <field name="drObjectInfo" title="${uiLabelMap.CommonContent}" 
entry-name="drDataResourceId" encode-output="true" 
use-when="${drDataResourceTypeId == 'ELECTRONIC_TEXT'}">
+            <display-entity entity-name="ElectronicText" 
key-field-name="dataResourceId" description="${textData}"/>
         </field>
         <field name="deleteLink" title=" " widget-style="smallSubmit">
             <hyperlink description="${uiLabelMap.CommonDelete}" 
target="deleteProductionRunContent" also-hidden="false">
diff --git a/applications/marketing/widget/ContactListForms.xml 
b/applications/marketing/widget/ContactListForms.xml
index e5f0d15351..662314916e 100644
--- a/applications/marketing/widget/ContactListForms.xml
+++ b/applications/marketing/widget/ContactListForms.xml
@@ -623,7 +623,7 @@ under the License.
     <form name="CreateWebSiteContactList" type="single" 
target="createWebSiteContactList" 
             default-map-name="contactList" title="" 
header-row-style="header-row" default-table-style="basic-table">
         <actions>
-            <set field="fromDate" value="${groovy: import 
org.apache.ofbiz.base.util.UtilDateTime; return UtilDateTime.nowTimestamp();}" 
type="Timestamp"/>
+            <set field="fromDate" value="${date:nowTimestamp()}" 
type="Timestamp"/>
         </actions>
         <field name="contactListId"><display/></field>
         <field name="contactListName"><display/></field>
diff --git a/applications/order/widget/ordermgr/OrderEntryForms.xml 
b/applications/order/widget/ordermgr/OrderEntryForms.xml
index 90d60a55b1..c225b58938 100644
--- a/applications/order/widget/ordermgr/OrderEntryForms.xml
+++ b/applications/order/widget/ordermgr/OrderEntryForms.xml
@@ -154,7 +154,7 @@ under the License.
         <row-actions>
             <entity-one entity-name="Product" value-field="product" 
auto-field-map="true"/>
             <set field=""/>
-            <set field="hasAmount" 
value="${groovy:product.getString('requireAmount')?:'N'}"/>
+            <set field="hasAmount" from-field="product.requireAmount" 
default-value="N"/>
         </row-actions>
         <field name="productId"  title="${uiLabelMap.ProductProductId}" 
widget-style="buttontext">
             <hyperlink description="${productId}" 
target="/catalog/control/EditProductInventoryItems" target-type="inter-app">
diff --git a/applications/party/widget/partymgr/PartyForms.xml 
b/applications/party/widget/partymgr/PartyForms.xml
index 1e1e5bfb30..1c12f16d56 100644
--- a/applications/party/widget/partymgr/PartyForms.xml
+++ b/applications/party/widget/partymgr/PartyForms.xml
@@ -137,16 +137,17 @@ under the License.
             <entity-and entity-name="UserLogin" list="logins" use-cache="true">
                 <field-map field-name="partyId" from-field="partyId"/>
             </entity-and>
-            <set field="userLoginSize" value="${groovy:logins.size()}" 
type="Integer"/>
+            <set field="userLoginSize" value="${util:size(logins)}" 
type="Integer"/>
             <service service-name="getPartyMainRole" result-map="mainRole">
                 <field-map field-name="partyId" from-field="partyId"/>
                 <field-map field-name="userLogin" from-field="userLogin"/>
             </service>
-            <entity-and entity-name="PartyClassification" 
list="partyClassifications" use-cache="true">
-                <field-map field-name="partyId" from-field="partyId"/>
-            </entity-and>
-            <set field="fieldId" value="partyClassificationGroupId"/>
-            <set field="partyClassificationGroupIds" 
value="${groovy:org.apache.ofbiz.entity.util.EntityUtil.getFieldListFromEntityList(partyClassifications,
 fieldId, true);}"/>
+            <entity-condition entity-name="PartyClassification" 
list="partyClassifications" use-cache="true" distinct="true">
+                <condition-expr field-name="partyId" from-field="partyId"/>
+                <select-field field-name="partyClassificationGroupId"/>
+            </entity-condition>
+            <set field="partyClassificationGroupIds" value="${groovy: 
partyClassifications*.partyClassificationGroupId}"/>
+            <service service-name="getPartyNameForDate" 
result-map="partyName"/>
         </row-actions>
         <field name="partyId" sort-field="true" widget-style="buttontext">
             <hyperlink description="${partyId}" target="viewprofile">
diff --git a/applications/product/widget/catalog/ImageManagementForms.xml 
b/applications/product/widget/catalog/ImageManagementForms.xml
index 568363c50c..2b029ba217 100644
--- a/applications/product/widget/catalog/ImageManagementForms.xml
+++ b/applications/product/widget/catalog/ImageManagementForms.xml
@@ -534,7 +534,8 @@ under the License.
 
     <grid name="ListImageUpload" title="" list-name="productContent" 
odd-row-style="alternate-row" default-table-style="basic-table" 
use-row-submit="true" separate-columns="true">
         <actions>
-            <set field="dateNow" type="Timestamp" value="${groovy:import 
org.apache.ofbiz.base.util.UtilDateTime;UtilDateTime.nowTimestamp().getTime() - 
18000;}"/>
+            <set field="dateNow" type="Timestamp" 
value="${date:nowTimestamp()}"/>
+            <set field="dateNow" type="Timestamp" value="${groovy: 
dateNow.getTime() - 18000}"/>
             <entity-condition entity-name="ProductContentAndInfo">
                 <condition-list combine="and">
                     <condition-expr field-name="productId" 
from-field="parameters.productId"/>
diff --git 
a/framework/common/src/main/groovy/org/apache/ofbiz/common/GetUiLabels.groovy 
b/framework/common/src/main/groovy/org/apache/ofbiz/common/GetUiLabels.groovy
new file mode 100644
index 0000000000..e189db25b9
--- /dev/null
+++ 
b/framework/common/src/main/groovy/org/apache/ofbiz/common/GetUiLabels.groovy
@@ -0,0 +1,21 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+*/
+package org.apache.ofbiz.common
+
+context.requiredLabels = new 
groovy.json.JsonSlurper().parseText(parameters.requiredLabels)
diff --git a/themes/common-theme/widget/CommonScreens.xml 
b/themes/common-theme/widget/CommonScreens.xml
index 24b4c1e7ae..4a80694c0f 100644
--- a/themes/common-theme/widget/CommonScreens.xml
+++ b/themes/common-theme/widget/CommonScreens.xml
@@ -662,7 +662,7 @@ under the License.
         <section>
             <actions>
                 <property-map resource="CommonUiLabels" map-name="uiLabelMap" 
global="true"/>
-                <set field="requiredLabels" value="${groovy: new 
groovy.json.JsonSlurper().parseText(parameters.requiredLabels)}"/>
+                <script 
location="component://common/src/main/groovy/org/apache/ofbiz/common/GetUiLabels.groovy"/>
             </actions>
             <widgets>
                 <platform-specific><text><html-template 
location="component://common-theme/template/GetUiLabels.ftl"/></text></platform-specific>


Reply via email to