<?xml version="1.0" encoding="UTF-8"?>
<!--
    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.
-->

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

    <screen name="CommonFixedAssetMaintDecorator">
        <section>
            <actions>
                <set field="headerItem" value="ListFixedAssetMaints"/>
                <set field="tabButtonItem" value="ListFixedAssetMaints"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFixedAssetDecorator" location="${parameters.fixedAssetDecoratorLocation}">
                    <decorator-section name="pre-body">
                        <section>
                            <condition><not><if-empty field="maintHistSeqId"/></not></condition>
                            <widgets>
                                <include-menu name="FixedAssetMaintTabBar" location="component://assetmaint/widget/AssetmaintMenus.xml"/>
                            </widgets>
                        </section>
                    </decorator-section>
                    <decorator-section name="body">
                        <decorator-section-include name="body"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="FindFixedAssetMaints">
        <section>
            <actions>
                <set field="headerItem" value="fixedAssetMaints"/>
                <set field="titleProperty" value="PageTitleFindFixedAssetMaints"/>
            </actions>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <if-service-permission service-name="fixedAssetPermissionCheck" main-action="VIEW"/>
                            </condition>
                            <widgets>
                                <decorator-screen name="FindScreenDecorator" location="component://common/widget/CommonScreens.xml">
                                    <decorator-section name="menu-bar">
                                        <section>
                                            <condition>
                                                <if-service-permission service-name="fixedAssetPermissionCheck" main-action="CREATE"/>
                                            </condition>
                                            <widgets>
                                                <container style="button-bar">
                                                    <link target="EditFixedAssetMaint" text="${uiLabelMap.AccountingNewFixedAssetMaint}" style="buttontext create"/>
                                                </container>
                                            </widgets>
                                        </section>
                                    </decorator-section>
                                    <decorator-section name="search-options">
                                        <include-form name="FindFixedAssetMaint" location="component://assetmaint/widget/forms/FixedAssetForms.xml"/>
                                    </decorator-section>
                                    <decorator-section name="search-results">
                                        <include-form name="ListFixedAssetMaints" location="component://assetmaint/widget/forms/FixedAssetForms.xml"/>
                                    </decorator-section>
                                </decorator-screen>
                            </widgets>
                            <fail-widgets>
                                <label style="h3">${uiLabelMap.AssetMaintViewPermissionError}</label>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditFixedAssetMaint">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleEditFixedAssetMaintenance"/>
                <script location="component://assetmaint/webapp/assetmaint/WEB-INF/actions/assetmaint/EditMaint.groovy"/>
                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
                <set field="maintHistSeqId" from-field="parameters.maintHistSeqId"/>
                <entity-one entity-name="FixedAsset" value-field="fixedAsset"/>
                <entity-one entity-name="FixedAssetMaint" value-field="fixedAssetMaint"/>
                <set field="workEffortId" from-field="fixedAssetMaint.scheduleWorkEffortId"/>
                <entity-one entity-name="WorkEffort" value-field="workEffort"/>
                <get-related-one value-field="workEffort" relation-name="WorkEffortType" to-value-field="workEffortType"/>
                <get-related-one value-field="workEffort" relation-name="CurrentStatusItem" to-value-field="currentStatusItem"/>
                <get-related-one value-field="workEffort" relation-name="WorkEffortPurposeType" to-value-field="workEffortPurposeType"/>
                <get-related-one value-field="fixedAsset" relation-name="LocatedAtFacility" to-value-field="facility"/>
                <entity-and entity-name="WorkEffortPartyAssignView" list="relatedPartyAssigns">
                    <field-map field-name="workEffortId"/>
                </entity-and>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap"/>
                <set field="title" value="${uiLabelMap.AccountingFixedAssetMaint}: ${fixedAsset.fixedAssetName}"/>
            </actions>
            <widgets>
                <section>
                    <condition><if-empty field="maintHistSeqId"/></condition>
                    <actions><set field="titleProperty" value="AccountingAddFixedAssetMaintenance"/></actions>
                    <widgets/>
                </section>
                <decorator-screen name="CommonFixedAssetMaintDecorator">
                    <decorator-section name="body">
                        <section>
                            <condition><not><if-empty field="maintHistSeqId"/></not></condition>
                            <widgets>
                                <container style="button-bar">
                                    <link target="EditFixedAssetMaint" text="${uiLabelMap.AccountingNewFixedAssetMaint}" style="buttontext create">
                                        <parameter param-name="fixedAssetId"/>
                                    </link>
                                    <link target="printFixedAssetMaint.pdf" target-window="_blank" text="${uiLabelMap.CommonPrint}" style="buttontext">
                                        <parameter param-name="fixedAssetId"/>
                                        <parameter param-name="maintHistSeqId"/>
                                    </link>
                                </container>
                            </widgets>
                        </section>
                        <include-form name="EditFixedAssetMaint" location="component://assetmaint/widget/forms/FixedAssetForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditWorkEfforts">
        <section>
            <actions>
                <property-map resource="WorkEffortUiLabels" map-name="uiLabelMap"/>
                <set field="titleProperty" value="PageTitleEditWorkEffort"/>
                <set field="tabButtonItemFixedAssetMaint" value="EditWorkEfforts"/>
                <script location="component://assetmaint/webapp/assetmaint/WEB-INF/actions/workeffort/EditWorkEfforts.groovy"/>
                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFixedAssetMaintDecorator">
                    <decorator-section name="body">
                        <section>
                            <condition>
                                <not><if-empty field="parameters.workEffortIdFrom"/></not>
                            </condition>
                            <widgets>
                                <container style="button-bar">
                                    <link target="EditWorkEfforts" text="${uiLabelMap.AssetMaintParentWorkEffort}" style="buttontext">
                                        <parameter param-name="workEffortId" from-field="parameters.workEffortIdFrom"/>
                                    </link>
                                </container>
                            </widgets>
                        </section>
                        <section>
                            <condition>
                                <if-empty field="workEffort"/>
                            </condition>
                            <widgets>
                                <include-form name="EditWorkEffort" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                            </widgets>
                            <fail-widgets>
                                <include-form name="EditWorkEffort" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                                <container style="h2">
                                    <label text="${uiLabelMap.PageTitleListWorkEffortPartyAssigns}"/>
                                </container>
                                <section>
                                    <condition>
                                        <if-compare field="parameters.mode" operator="equals" value="addAssignment"/>
                                    </condition>
                                    <widgets>
                                        <screenlet id="add-party-assignment" title="${uiLabelMap.PageTitleAddWorkEffortPartyAssign}" collapsible="true">
                                            <include-form name="EditWorkEffortPartyAssign" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                                        </screenlet>
                                    </widgets>
                                    <fail-widgets>
                                        <container style="button-bar">
                                            <link target="EditWorkEfforts" style="buttontext create"  text="${uiLabelMap.CommonNew}">
                                                <parameter param-name="fixedAssetId" from-field="fixedAssetMaint.fixedAssetId"/>
                                                <parameter param-name="maintHistSeqId" from-field="fixedAssetMaint.maintHistSeqId"/>
                                                <parameter param-name="workEffortId"/>
                                                <parameter param-name="mode" value="addAssignment"/>
                                            </link>
                                        </container>
                                    </fail-widgets>
                                </section>
                                <include-form name="ListWorkEffortPartyAssigns" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                                <container style="h2">
                                    <label text="${uiLabelMap.PageTitleTreeWorkEfforts}"/>
                                </container>
                                <section>
                                    <condition>
                                        <if-compare field="parameters.mode" operator="equals" value="addChildTask"/>
                                    </condition>
                                    <widgets>
                                        <screenlet id="add-workeffort-task" title="${uiLabelMap.WorkEffortAddTask}" collapsible="true">
                                            <include-form name="AddWorkEffortChild" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                                        </screenlet>
                                    </widgets>
                                    <fail-widgets>
                                        <container style="button-bar">
                                            <link target="EditWorkEfforts" style="buttontext create" text="${uiLabelMap.CommonNew}">
                                            <parameter param-name="fixedAssetId" from-field="fixedAssetMaint.fixedAssetId"/>
                                            <parameter param-name="maintHistSeqId" from-field="fixedAssetMaint.maintHistSeqId"/>
                                              <parameter param-name="workEffortId"/>
                                               <parameter param-name="mode" value="addChildTask"/>
                                        </link>
                                        </container>
                                    </fail-widgets>
                                </section>
                                 <include-form name="ListWorkEffortChildren" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                            </fail-widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditWorkEffortTimeEntries">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleListWorkEffortTimeEntries"/>
                <set field="tabButtonItemFixedAssetMaint" value="EditWorkEffortTimeEntries"/>
                <set field="workEffortId" from-field="parameters.workEffortId"/>
                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
                <set field="maintHistSeqId" from-field="parameters.maintHistSeqId"/>
                <entity-one entity-name="FixedAsset" value-field="fixedAsset"/>
                <entity-one entity-name="FixedAssetMaint" value-field="fixedAssetMaint"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFixedAssetMaintDecorator">
                    <decorator-section name="body">
                        <screenlet id="add-time-entry" title="${uiLabelMap.PageTitleAddWorkEffortTimeEntry}" collapsible="true">
                            <include-form name="AddWorkEffortTimeEntry" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                        </screenlet>
                        <include-form name="ListWorkEffortTimeEntries" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditWorkEffortNotes">
        <section>
            <actions>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="titleProperty" value="PageTitleListWorkEffortNotes"/>
                <set field="tabButtonItemFixedAssetMaint" value="EditWorkEffortNotes"/>
                <set field="workEffortId" from-field="parameters.workEffortId"/>
                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
                <set field="maintHistSeqId" from-field="parameters.maintHistSeqId"/>
                <entity-one entity-name="FixedAsset" value-field="fixedAsset"/>
                <entity-one entity-name="FixedAssetMaint" value-field="fixedAssetMaint"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonFixedAssetMaintDecorator">
                    <decorator-section name="body">
                        <screenlet id="add-workeffort-note" title="${uiLabelMap.PageTitleAddWorkEffortNotes}" collapsible="true">
                            <include-form name="AddWorkEffortNote" location="component://assetmaint/widget/forms/WorkEffortForms.xml"/>
                        </screenlet>
                        <include-form name="ListWorkEffortNotes" location="component://workeffort/widget/WorkEffortForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="EditItemIssuances">
        <section>
            <actions>
                <set field="titleProperty" value="PageTitleListItemIssuance"/>
                <set field="tabButtonItemFixedAssetMaint" value="EditItemIssuances"/>
                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
                <set field="maintHistSeqId" from-field="parameters.maintHistSeqId"/>
                <entity-one entity-name="FixedAsset" value-field="fixedAsset"/>
                <entity-one entity-name="FixedAssetMaint" value-field="fixedAssetMaint"/>
                <entity-condition list="itemIssuanceList" entity-name="ProductInventoryItemAndItemIssuance">
                    <condition-expr field-name="quantity" operator="greater" value="0"/>
                </entity-condition>
            </actions>
            <widgets>
                <decorator-screen name="CommonFixedAssetMaintDecorator">
                    <decorator-section name="body">
                        <screenlet id="add-item-issuance" title="${uiLabelMap.PageTitleAddItemIssuance}" collapsible="true">
                            <include-form name="AddItemIssuance" location="component://assetmaint/widget/forms/FixedAssetForms.xml"/>
                        </screenlet>
                        <include-form name="ListItemIssuance" location="component://assetmaint/widget/forms/FixedAssetForms.xml"/>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>

    <screen name="PrintFixedAssetMaint">
        <section>
            <actions>
                <set field="title" value="Order"/>
                <property-map resource="AssetMaintUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="OrderUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="AccountingUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="ProductUiLabels" map-name="uiLabelMap" global="true"/>
                <property-map resource="CommonUiLabels" map-name="uiLabelMap" global="true"/>
                <set field="layoutSettings.documentTitle" from-field="uiLabelMap.FixedAssetMaintWorkEffortName"/>

                <set field="fixedAssetId" from-field="parameters.fixedAssetId"/>
                <set field="maintHistSeqId" from-field="parameters.maintHistSeqId"/>
                <entity-one entity-name="FixedAsset" value-field="fixedAsset"/>
                <entity-one entity-name="FixedAssetMaint" value-field="fixedAssetMaint"/>
                <entity-condition list="itemIssuanceList" entity-name="ProductInventoryItemAndItemIssuance">
                    <condition-expr field-name="quantity" operator="greater" value="0"/>
                </entity-condition>
                <set field="workEffortId" from-field="fixedAssetMaint.scheduleWorkEffortId"/>
                <entity-condition list="notes" entity-name="WorkEffortNoteAndData">
                    <condition-expr field-name="workEffortId" from-field="workEffortId"/>
                    <order-by field-name="noteId"/>
                </entity-condition>
                <script location="component://assetmaint/webapp/assetmaint/WEB-INF/actions/assetmaint/PrintFixedAssetMaint.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="GlobalFoDecorator" location="component://common/widget/CommonScreens.xml">
                    <decorator-section name="body">
                        <platform-specific>
                            <xsl-fo><html-template location="component://assetmaint/webapp/assetmaint/assetmaint/printFixedAssetMaint.fo.ftl"/></xsl-fo>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
