<?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.
-->

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

    <form name="SystemInfoNotes" type="list" list-name="systemInfoNotes" 
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="noteDateTime" title="${uiLabelMap.CommonExtDateInfoCreated}"><display type="date-time"/></field>
        <field name="noteInfo" title="${uiLabelMap.CommonExtSystemInfoNote}"><hyperlink target="${moreInfoUrl}${groovy: if (moreInfoItemName &amp;&amp;moreInfoItemId)&quot;?&quot; + moreInfoItemName + &quot;=&quot; + moreInfoItemId + &quot;&amp;id=&quot; + moreInfoItemId;}" target-type="inter-app" description="${noteInfo}"></hyperlink></field>
        <field name="deleteLink" title="${uiLabelMap.CommonEmptyHeader}" widget-style="buttontext" >
            <hyperlink target="deleteSystemInfoNote" description="${uiLabelMap.CommonDelete}">
                <parameter param-name="noteId"/>
                <parameter param-name="portalPageId" from-field="parameters.portalPageId"/>
            </hyperlink>
        </field>
    </form>
    
    <form name="EditSysInfoPortletParams" extends="CommonPortletEdit" extends-resource="component://common/widget/PortletEditForms.xml">
        <field name="dummy" title="BLOCK the following notifications:"><display/></field>
        <field name="allNotifications"><check/></field>
        <field name="email"><check/></field>
        <field name="internalNotes"><check/></field>
        <field name="telephoneForwards"><check/></field>
        <field name="taskAssignment"><check/></field>
        <field name="updateButton"><submit/></field>
    </form>

    <form name="SystemInfoStatus" type="list" list-name="systemInfoStatus"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <field name="noteDateTime" title="${uiLabelMap.CommonExtDateLastChanged}"><display type="date-time"/></field>
        <field name="noteInfo" title="${uiLabelMap.CommonExtSystemInfoStatus}"><hyperlink target="${moreInfoUrl}" target-type="inter-app" description="${noteInfo}"></hyperlink></field>
    </form>
    
    <form name="CreateSystemInfoNote" type="single" target="createSystemInfoNote">
        <field name="noteParty"><text/></field>
        <field name="moreInfoUrl"><text size="50"/></field>
        <field name="noteInfo"><text size="50"/></field>
        <field name="createButton"><submit/></field>
    </form>
</forms>
