ilscipio/scipio-erp

View on GitHub
applications/shop/widget/CustomerScreens.xml

Summary

Maintainability
Test Coverage
<?xml version="1.0" encoding="UTF-8"?>
<!--
This file is subject to the terms and conditions defined in the
files 'LICENSE' and 'NOTICE', which are part of this source
code package.
-->

<screens xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xsi:noNamespaceSchemaLocation="http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <!-- SCIPIO: new -->
    <screen name="customerBasicFields">
        <section>
            <actions>
                <set field="fieldNamePrefix" from-field="cbfFieldNamePrefix" default-value="${''}" />
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/customerbasicfields.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- SCIPIO: new -->
    <screen name="eftAccountFields">
        <section>
            <actions>
                <set field="fieldNamePrefix" from-field="eafFieldNamePrefix" default-value="${''}" />
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/eftaccountfields.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <!-- SCIPIO: Original: component://accounting/widget/CommonScreens.xml#creditCardFields -->
    <screen name="creditCardFields">
        <section>
            <actions>
                <set field="ccfTemplateLocation" value="component://shop/webapp/shop/customer/creditcardfields.ftl" />
            </actions>
            <widgets>
                <!-- Reuse actions -->
                <include-screen name="creditCardFields" location="component://accounting/widget/CommonScreens.xml" />
            </widgets>
        </section>
    </screen>

    <!-- SCIPIO: Based on a combination of editcreditcard and editcontactmech -->
    <screen name="billaddresspickfields">
        <section>
            <actions>
                <set field="pickFieldClass" from-field="bapfPickFieldClass" default-value="bill-addr-pick-field" />
                <set field="fieldNamePrefix" from-field="bapfFieldNamePrefix" default-value="${''}" />
                <set field="fieldIdPrefix" from-field="bapfFieldIdPrefix" default-value="${fieldNamePrefix}" />
                <set field="newAddrFieldNamePrefix" from-field="bapfNewAddrFieldNamePrefix" default-value="${fieldNamePrefix}" />
                <set field="newAddrFieldIdPrefix" from-field="bapfNewAddrFieldIdPrefix" default-value="${newAddrFieldNamePrefix}" />
                <set field="useNewAddr" from-field="bapfUseNewAddr" type="Boolean" default-value="false" />
                <set field="useUpdate" from-field="bapfUseUpdate" type="Boolean" default-value="false" />
                <set field="updateLink" from-field="bapfUpdateLink" type="String" default-value="" />
                <set field="donePage" from-field="bapfDonePage" type="String" default-value="" />
                <set field="newAddrInline" from-field="bapfNewAddrInline" type="Boolean" default-value="false" />
                <set field="newAddrContentId" from-field="bapfNewAddrContentId" default-value="newbilladdrcontent" />
                <set field="newAddrFieldId" from-field="bapfNewAddrFieldId" default-value="newbilladdrfield" />
                <set field="useScripts" from-field="bapfUseScripts" type="Boolean" default-value="true" />
                <set field="showVerbose" from-field="bapfShowVerbose" type="Boolean" default-value="false" />
            </actions>
            <widgets>
                <section>
                    <condition>
                        <!-- double-include prevention -->
                        <not><if-true field="editPaymentMethodDataPrepared" /></not>
                    </condition>
                    <widgets>
                        <section>
                            <actions>
                                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditPaymentMethod.groovy"/>
                            </actions>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/billaddresspickfields.ftl"/></html></platform-specific>
                            </widgets>
                        </section>
                    </widgets>
                    <fail-widgets>
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/billaddresspickfields.ftl"/></html></platform-specific>
                    </fail-widgets>
                </section>            
            </widgets>
        </section>
    </screen>

    <!-- SCIPIO: new -->
    <screen name="postalAddressFields">
        <section>
            <actions>
                <set field="fieldNamePrefix" from-field="pafFieldNamePrefix" default-value="${''}" />
                <set field="fieldIdPrefix" from-field="pafFieldIdPrefix" default-value="${fieldNamePrefix}" />
                <set field="useScripts" from-field="pafUseScripts" type="Boolean" default-value="true" />
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/postaladdressfields.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>

    <screen name="editcontactmech">
        <section>
            <actions>
                <set field="titleProperty" value="PartyEditContactInfo"/>
                
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditContactMech.groovy"/>
                <set field="reqName" from-field="requestName" />
                
                <set field="dependentForm" value="editcontactmechform"/>
                <set field="paramKey" value="countryGeoId"/>
                <set field="mainId" value="countryGeoId"/>
                <set field="dependentId" value="stateProvinceGeoId"/>
                <set field="requestName" value="getAssociatedStateList"/>
                <set field="responseName" value="stateList"/>
                <set field="dependentKeyName" value="geoId"/>
                <set field="descName" value="geoName"/>
                <set field="selectedDependentOption" from-field="selectedStateName" default-value="_none_"/>
                
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userIsKnown" />
                            </condition>
                            <widgets>
                                <platform-specific>
                                    <html>
                                        <html-template location="component://common/webcommon/includes/setDependentDropdownValuesJs.ftl"/>                                
                                        <html-template location="component://shop/webapp/shop/customer/editcontactmech.ftl"/>
                                    </html>
                                </platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="editcreditcard">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditCreditCard"/>
                <set field="cardNumberMinDisplay" value="min"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditPaymentMethod.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userIsKnown" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/editcreditcard.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="editeftaccount">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditEFTAccount"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditPaymentMethod.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userIsKnown" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/editeftaccount.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="editgiftcard">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditGiftCard"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditPaymentMethod.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userIsKnown" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/editgiftcard.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="changepassword">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleChangePassword"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/ChangePassword.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <or>
                                    <if-true field="userHasAccount" />
                                    <if-true field="hasVerifyHash" />
                                </or>
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/changepassword.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="editperson">
        <section>
            <actions>
                <!--<set field="titleProperty" value="PageTitleEditPerson"/>-->
                <set field="titleProperty" value="PartyEditPersonalInformation"/>
                <get-related-one value-field="userLogin" relation-name="Person" to-value-field="person"/>
                <set field="donePage" from-field="parameters.DONE_PAGE" default-value="viewprofile"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditPerson.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userIsKnown" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/editperson.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="giftcardbalance">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleGiftCardBalance"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/GiftCardBalance.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/giftcardbalance.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="giftcardlink">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleGiftCardLink"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/GiftCardLink.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/giftcardlink.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="customersurvey">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleProfileSurvey"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/CustomerSurvey.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/customersurvey.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="contactus">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="titleProperty" value="PageTitleLogin"/>
                <set field="pageHeader" value="${uiLabelMap.CommonContactUs}"/>
                <set field="activeMainMenuItem" value="contactus"/>
                <set field="submitRequest" value="contactsubmit"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/newmsg.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="messagelist">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleMessageList"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <include-screen name="messagelist-include"/>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="messagelist-include">
        <section>
            <actions>
                <entity-condition entity-name="CommunicationEvent" list="receivedCommunicationEvents">
                    <condition-expr field-name="partyIdTo" operator="equals" from-field="userLogin.partyId"/>
                    <order-by field-name="-entryDate"/>
                </entity-condition>
                <if><!-- SCIPIO: rewrote condition -->
                    <condition><if-compare field="parameters.showSent" operator="equals" value="true"/></condition>
                    <then>
                        <entity-condition entity-name="CommunicationEvent" list="sentCommunicationEvents">
                            <condition-expr field-name="partyIdFrom" operator="equals" from-field="userLogin.partyId"/>
                            <order-by field-name="-entryDate"/>
                        </entity-condition>
                    </then>
                </if>
            </actions>
            <widgets>
                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/messagelist.ftl"/></html></platform-specific>
            </widgets>
        </section>
    </screen>
    <screen name="messagedetail">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleMessageDetail"/>
                <entity-one entity-name="CommunicationEvent" value-field="communicationEvent" auto-field-map="true"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/messagedetail.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="messagecreate">
        <section>
            <actions>
                <property-map resource="ShopUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="EcommerceUiLabels" map-name="uiLabelMap" global="true"/>
                
                <set field="titleProperty" value="PageTitleNewMessage"/>
                <set field="pageHeader" value="${uiLabelMap.PageTitleNewMessage}"/>
                <set field="showMessageLinks" value="true"/>

                <set field="submitRequest" value="sendmessage"/>
                <entity-one entity-name="CommunicationEvent" value-field="communicationEvent" auto-field-map="true"/>
                <set field="partyIdTo" from-field="communicationEvent.partyIdFrom"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/newmsg.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="digitalproductlist">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleDigitalProductList"/>

                <entity-and entity-name="SupplierProduct" list="supplierProductList">
                    <field-map field-name="partyId" from-field="userLogin.partyId"/>
                </entity-and>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <section>
                                    <condition><if-compare field="productStore.enableDigProdUpload" operator="equals" value="Y"/></condition>
                                    <widgets>
                                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/digitalproductlist.ftl"/></html></platform-specific>
                                    </widgets>
                                    <fail-widgets>
                                        <container><label style="head2" text="${uiLabelMap.EcommerceSorryDigitalProductUploadNotEnabled}"></label></container>
                                    </fail-widgets>
                                </section>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                        
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="digitalproductedit">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleDigitalProductEdit"/>

                <set field="parameters.minimumOrderQuantity" value="1" type="BigDecimal"/>
                <entity-one entity-name="SupplierProduct" value-field="supplierProduct" auto-field-map="false">
                    <field-map field-name="partyId" from-field="userLogin.partyId"/><!-- get from userLogin for security reasons -->
                    <field-map field-name="productId" from-field="parameters.productId"/>
                    <field-map field-name="currencyUomId" from-field="parameters.currencyUomId"/>
                    <field-map field-name="minimumOrderQuantity" from-field="parameters.minimumOrderQuantity"/>
                    <field-map field-name="availableFromDate" from-field="parameters.availableFromDate"/>
                </entity-one>
                <entity-one entity-name="Product" value-field="product"/>

                <!-- should just be one, but don't have all pk fields so will just get first from list -->
                <entity-and entity-name="ProductPrice" list="productPriceList">
                    <field-map field-name="productId" from-field="parameters.productId"/>
                    <field-map field-name="productPriceTypeId" value="DEFAULT_PRICE"/>
                    <field-map field-name="productPricePurposeId" value="PURCHASE"/>
                    <field-map field-name="productStoreGroupId" value="_NA_"/>
                </entity-and>

                <entity-condition entity-name="ProductContentAndInfo" list="productContentAndInfoList" filter-by-date="true">
                    <condition-list combine="and">
                        <condition-expr field-name="productId" from-field="parameters.productId"/>
                        <condition-expr field-name="productContentTypeId" value="DIGITAL_DOWNLOAD"/>
                    </condition-list>
                    <order-by field-name="contentId"/>
                </entity-condition>
                <entity-and entity-name="ContentAndRole" list="ownerContentAndRoleList">
                    <field-map field-name="partyId" from-field="userLogin.partyId"/>
                    <field-map field-name="roleTypeId" value="OWNER"/>
                    <order-by field-name="contentId"/>
                </entity-and>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <section>
                                    <condition><if-compare field="productStore.enableDigProdUpload" operator="equals" value="Y"/></condition>
                                    <widgets>
                                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/digitalproductedit.ftl"/></html></platform-specific>
                                    </widgets>
                                    <fail-widgets>
                                        <container><label style="common-msg-info-important" text="${uiLabelMap.EcommerceSorryDigitalProductUploadNotEnabled}"></label></container>
                                    </fail-widgets>
                                </section>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <!-- simple screens for FinAccount summary -->
    <screen name="FinAccountList-include">
        <section>
            <actions>
                <entity-condition entity-name="FinAccount" list="ownedFinAccountList" filter-by-date="true">
                    <condition-list combine="and">
                        <condition-expr field-name="ownerPartyId" operator="equals" from-field="userLogin.partyId"/>
                        <condition-expr field-name="organizationPartyId" operator="equals" from-field="productStore.payToPartyId"/>
                    </condition-list>
                    <order-by field-name="-fromDate"/>
                </entity-condition>
            </actions>
            <widgets>
                <section>
                    <condition><not><if-empty field="ownedFinAccountList"/></not></condition>
                    <widgets>
                        <screenlet id="fin-account-list" title="${uiLabelMap.EcommerceMyAccount}">
                            <iterate-section entry="ownedFinAccount" list="ownedFinAccountList">
                                <section>
                                    <actions>
                                        <entity-condition entity-name="FinAccountTrans" list="ownedFinAccountTransList">
                                            <condition-expr field-name="finAccountId" from-field="ownedFinAccount.finAccountId"/>
                                            <order-by field-name="transactionDate"/>
                                        </entity-condition>
                                        <entity-condition entity-name="FinAccountAuth" list="ownedFinAccountAuthList" filter-by-date="true">
                                            <condition-expr field-name="finAccountId" from-field="ownedFinAccount.finAccountId"/>
                                            <order-by field-name="authorizationDate"/>
                                        </entity-condition>
                                        <entity-one entity-name="StatusItem" value-field="finAccountStatusItem">
                                            <field-map field-name="statusId" from-field="ownedFinAccount.statusId"/>
                                        </entity-one>
                                        <entity-one entity-name="Uom" value-field="accountCurrencyUom" auto-field-map="false" use-cache="true">
                                            <field-map field-name="uomId" from-field="ownedFinAccount.currencyUomId"/>
                                        </entity-one>
                                    </actions>
                                    <widgets>
                                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/FinAccountDetail.ftl"/></html></platform-specific>
                                    </widgets>
                                </section>
                            </iterate-section>
                        </screenlet>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="SerializedInventorySummary">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>

                <entity-condition entity-name="InventoryItem" list="inventoryItemList">
                    <condition-list>
                        <condition-expr field-name="inventoryItemTypeId" operator="equals" value="SERIALIZED_INV_ITEM"/>
                        <condition-expr field-name="ownerPartyId" operator="equals" from-field="userLogin.partyId"/>
                    </condition-list>
                    <order-by field-name="-createdStamp"/>
                </entity-condition>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="inventoryItemList"/>
                        </not>
                    </condition>
                    <widgets>
                        <platform-specific>
                            <html>
                                <html-template location="component://shop/webapp/shop/customer/SerializedInventorySummary.ftl"/>
                            </html>
                        </platform-specific>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>

    <screen name="SubscriptionSummary">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>

                <entity-condition entity-name="Subscription" list="subscriptionList" filter-by-date="true">
                    <condition-list>
                        <condition-expr field-name="partyId" operator="equals" from-field="userLogin.partyId"/>
                    </condition-list>
                    <order-by field-name="-fromDate"/>
                </entity-condition>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not>
                            <if-empty field="subscriptionList"/>
                        </not>
                    </condition>
                    <widgets>
                        <platform-specific>
                            <html>
                                <html-template location="component://shop/webapp/shop/customer/SubscriptionSummary.ftl"/>
                            </html>
                        </platform-specific>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>
    <screen name="newcustomer">
        <section>
            <actions>
                <!--<set field="titleProperty" value="PageTitleNewCustomer"/>-->
                <set field="titleProperty" value="EcommerceRegister"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/NewCustomer.groovy"/>

                <set field="dependentForm" value="newuserform"/>
                <set field="paramKey" value="countryGeoId"/>
                <set field="mainId" value="countryGeoId"/>
                <set field="dependentId" value="stateProvinceGeoId"/>
                <set field="requestName" value="getAssociatedStateList"/>
                <set field="responseName" value="stateList"/>
                <set field="dependentKeyName" value="geoId"/>
                <set field="descName" value="geoName"/>
                <set field="selectedDependentOption" default-value="_previous_"/>
                
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific>
                            <html>
                                <html-template location="component://common/webcommon/includes/setDependentDropdownValuesJs.ftl"/>
                                <html-template location="component://shop/webapp/shop/customer/newcustomer.ftl"/>
                            </html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="viewprofile">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleViewProfile"/>

                <set field="partyId" from-field="userLogin.partyId"/>
                <entity-one entity-name="Party" value-field="party"/>
                <entity-one entity-name="Person" value-field="person"/>
                <entity-one entity-name="PartyGroup" value-field="partyGroup"/>

                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/ViewProfile.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/viewprofile.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <!-- To use new pages uncomment following screens i.e. newcustomer and viewprofile and comment existing newcustomer and viewprofile screens above -->

    <!--screen name="newcustomer">
        <section>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="SecurityextUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="titleProperty" value="PageTitleNewCustomer"/>
                <set field="layoutSettings.javaScripts[]" value="/shop/images/profile.js" global="true"/>
                <set field="layoutSettings.javaScripts[]" value="/ordermgr-js/geoAutoCompleter.js" global="true"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/profile/NewCustomer.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="viewprofile">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleViewProfile"/>
                <set field="partyId" from-field="userLogin.partyId"/>
                <entity-one entity-name="Party" value-field="party"/>
                <entity-one entity-name="Person" value-field="person"/>
                <entity-one entity-name="PartyGroup" value-field="partyGroup"/>

                <set field="layoutSettings.javaScripts[]" value="/shop/images/profile.js" global="true"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditShippingAddress.groovy"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditBillingAddress.groovy"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/profile/ViewProfile.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen-->


    <screen name="EditProfile">
        <section>
            <actions>
                <property-map resource="MarketingUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="titleProperty" value="EcommerceEditProfile"/>
                <set field="layoutSettings.javaScripts[]" value="/shop/images/profile.js" global="true"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditShippingAddress.groovy"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditEmailAndTelecomNumber.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/profile/EditProfile.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="ManageAddress">
        <section>
            <actions>
                <set field="titleProperty" value="EcommerceManageAddresses"/>
                <set field="partyId" from-field="userLogin.partyId"/>

                <set field="layoutSettings.javaScripts[]" value="/shop/images/profile.js" global="true"/>
                <set field="layoutSettings.javaScripts[]" value="/ordermgr-js/geoAutoCompleter.js" global="true"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditShippingAddress.groovy"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/EditBillingAddress.groovy"/>
                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/ViewProfile.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-true field="userHasAccount" />
                            </condition>
                            <widgets>
                                <platform-specific><html><html-template location="component://shop/webapp/shop/customer/profile/ManageAddress.ftl"/></html></platform-specific>
                            </widgets>
                            <fail-widgets>
                                <label style="common-msg-error-perm" text="${uiLabelMap.ShopViewPermissionError}"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="AnonContactus">
        <section>
            <actions>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="rightbarScreenName" value="rightbar"/>
                <set field="MainColumnStyle" value="rightonly"/>

                <set field="titleProperty" value="PageTitleLogin"/>
                <set field="pageHeader" value="${uiLabelMap.CommonContactUs}"/>
                <set field="activeMainMenuItem" value="contactus"/>
                <set field="submitRequest" value="contactsubmit"/>
                
                <!-- SCIPIO: If logged-in, get the current user email -->
                <script lang="groovy"><![CDATA[
                    import org.ofbiz.base.util.*;
                    userLogin = context.userLogin;
                    if (userLogin?.partyId) {
                        try {
                            servRes = runService("getPartyEmail", [partyId:userLogin.partyId, userLogin:userLogin]);
                            context.partyEmailAddress = servRes.emailAddress;
                        } catch(Exception e) {
                            Debug.logError(e, "AnonContactusScreen.groovy");
                        }
                    }
                ]]></script>
            </actions>
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/AnonContactus.ftl"/></html></platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="showProductReviews">
        <section>
            <actions>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>

                <script location="component://shop/webapp/shop/WEB-INF/actions/customer/CustomerReviews.groovy"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                      <not>
                        <if-empty field="reviews"/>
                      </not>
                    </condition>
                    <widgets>
                        <platform-specific><html><html-template location="component://shop/webapp/shop/customer/viewreviews.ftl"/></html></platform-specific>
                    </widgets>
              </section>
            </widgets>
        </section>
    </screen>

    <!-- SCIPIO: Duplicated from: component://marketing/widget/ContactListScreens.xml#OptOutResponse -->
    <screen name="OptOutResponse">
        <section>
            <actions>
                <service service-name="optOutOfListFromCommEvent" result-map="optOutResult"/>                
                <entity-one entity-name="ContactList" value-field="contactList">
                    <field-map field-name="contactListId" from-field="optOutResult.contactListId"/>                    
                </entity-one>
                <set field="contactListId" from-field="contactList.contactListId"/>
                <set field="screenName" from-field="contactList.optOutScreen" default-value="component://shop/widget/CustomerScreens.xml#DefaultOptOutScreen"/>
            </actions>
            <widgets>
                <include-screen name="${screenName}" share-scope="true"/>                
            </widgets>
        </section>
    </screen>
    
    <!-- SCIPIO: Duplicated from: component://marketing/widget/ContactListScreens.xml#DefaultOptOutScreen -->
    <screen name="DefaultOptOutScreen">
        <section>            
            <widgets>
                <decorator-screen name="CommonShopAppDecorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <screenlet title="Opt-Out Results">
                            <container>
                                <label text="You have been successfully removed from the ${contactList.contactListName} mailing list!"/>                                            
                            </container>                                        
                        </screenlet>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>