<?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"
        xmlns="http://ofbiz.apache.org/Widget-Screen" xsi:schemaLocation="http://ofbiz.apache.org/Widget-Screen http://ofbiz.apache.org/dtds/widget-screen.xsd">

    <screen name="SystemInfoNotes">
        <section>
            <actions>
                <property-map resource="CommonExtUiLabels" map-name="uiLabelMap" global="true"/>
                <service service-name="getSystemInfoNotes" result-map="resultMap"/>
                <set field="systemInfoNotes" from-field="resultMap.systemInfoNotes"/>
            </actions>
            <widgets>
                <screenlet
                    title="${uiLabelMap.CommonExtSystemInfoNoteForUser} ${userLogin.partyId}"
                    navigation-menu-name="SystemInfoNotes">
                <section>
                    <condition>
                        <not>
                            <if-empty field="parameters.createPublicMsg"/>
                        </not>
                    </condition>
                    <widgets>
                        <include-form name="CreateSystemInfoNote"
                            location="component://commonext/widget/SystemInfoForms.xml"/>
                    </widgets>
                </section>
                    <include-menu name="SystemInfoNotes"
                        location="component://commonext/widget/SystemInfoMenus.xml"/>
                    <include-form name="SystemInfoNotes"
                        location="component://commonext/widget/SystemInfoForms.xml"/>
                </screenlet>
            </widgets>
        </section>
    </screen>
    
    <screen name="SystemInfoStatus">
        <section>
            <actions>
                <property-map resource="CommonExtUiLabels" map-name="uiLabelMap" global="true"/>
                <service service-name="getSystemInfoStatus" result-map="resultMap"/>
                <set field="systemInfoStatus" from-field="resultMap.systemInfoStatus"/>
            </actions>
            <widgets>
                <section>
                    <condition>
                        <not><if-empty field="systemInfoStatus"/></not>
                    </condition>
                    <widgets>
                        <screenlet title="${uiLabelMap.CommonExtSystemInfoStatusForUser} ${userLogin.partyId}">
                            <include-form name="SystemInfoStatus" location="component://commonext/widget/SystemInfoForms.xml"/>
                        </screenlet>
                    </widgets>
                </section>
            </widgets>
        </section>
    </screen>
    
</screens>
