ilscipio/scipio-erp

View on GitHub
framework/webtools/widget/ServiceForms.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.
-->

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

    <form name="scheduleJob" type="single" target="setServiceParameters"
        header-row-style="header-row"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="JOB_NAME" title="${uiLabelMap.WebtoolsJob}"><text/></field>
        <field name="SERVICE_NAME" title="${uiLabelMap.WebtoolsService}"><text/></field>
        <field name="POOL_NAME" title="${uiLabelMap.WebtoolsPool}"><text/></field>
        <!-- SCIPIO: 2018-02: start time desperately needed a tooltip -->
        <field name="SERVICE_TIME" title="${uiLabelMap.CommonStartDateTime}" tooltip="+${uiLabelMap.WebtoolsLeaveEmptyToRunJobImmediately}"><date-time/></field>
        <field name="SERVICE_END_TIME" title="${uiLabelMap.CommonEndDateTime}"><date-time/></field>
        <field name="SERVICE_FREQUENCY" title="${uiLabelMap.WebtoolsFrequency}">
            <drop-down>
                <option key="" description="${uiLabelMap.CommonNone}"/>
                <option key="4" description="${uiLabelMap.CommonDaily}"/>
                <option key="5" description="${uiLabelMap.CommonWeekly}"/>
                <option key="6" description="${uiLabelMap.CommonMonthly}"/>
                <option key="7" description="${uiLabelMap.CommonYearly}"/>
                <option key="3" description="${uiLabelMap.CommonHourly}"/>
                <option key="2" description="${uiLabelMap.CommonMinutely}"/>
                <option key="1" description="${uiLabelMap.CommonSecondly}"/>
            </drop-down>
        </field>
        <field name="SERVICE_INTERVAL" title="${uiLabelMap.WebtoolsInterval}" tooltip="${uiLabelMap.WebtoolsForUseWithFrequency}"><text/></field>
        <field name="SERVICE_COUNT" title="${uiLabelMap.WebtoolsCount}" tooltip="${uiLabelMap.WebtoolsNumberOfTimeTheJobWillRun}"><text default-value="1"/></field>
        <field name="SERVICE_MAXRETRY" title="${uiLabelMap.WebtoolsMaxRetry}" tooltip="${uiLabelMap.WebtoolsNumberOfJobRetry}"><text default-value="0"/></field>
        <field name="SERVICE_EVENTID" title="${uiLabelMap['StatusType.description.EVENT_STATUS']}">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" description="${description} (${enumId})" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="SCH_EVENT_TYPE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="SERVICE_PRIORITY" title="${uiLabelMap.CommonPriority}"><text placeholder="50"/></field><!-- SCIPIO -->
        <field name="submitAction" title="${uiLabelMap.CommonSubmit}" widget-style="${styles.link_run_sys} ${styles.action_add}"><submit button-type="button"/></field>
    </form>

    <form name="runService" type="single" target="setSyncServiceParameters"
        header-row-style="header-row" focus-field-name="SERVICE_NAME"> <!-- orig: default-table-style=-style="basic-table" -->
        <field name="SERVICE_NAME" title="${uiLabelMap.WebtoolsService}"><text/></field>
        <field name="POOL_NAME" title="${uiLabelMap.WebtoolsPool}"><text/></field>
        <!-- SCIPIO: 2018-02-16: CoreEvents.scheduleService now supports job-less async call
        <field name="_RUN_SYNC_"><hidden value="Y"/></field>-->
        <field name="_RUN_SYNC_" title="${uiLabelMap.WebtoolsMode}">
            <drop-down allow-empty="false" no-current-selected-key="Y">
                <option key="Y" description="Sync"/>
                <!-- NOTE: semantically strange "ASYNC" value for parameter named "_RUN_SYNC_" - cannot use "N" 
                    because in legacy code it would imply to use job scheduler. -->
                <option key="ASYNC" description="Async (${uiLabelMap.CommonOneTimeExecNotPersistedResultsInLog})"/>
                <!-- Not sure there is a point to this one; much more useful to use Schedule Job for persisted
                <option key="ASYNC_PERSIST" description="Async (Persisted)"/>-->
            </drop-down>
        </field>
        <field name="submitAction" title="${uiLabelMap.CommonSubmit}" widget-style="${styles.link_run_sys} ${styles.action_begin}"><submit button-type="button"/></field>
    </form>

    <form name="FindJobs" type="single" target="FindJob" default-entity-name="JobSandbox">
        <field name="noConditionFind" position="1"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="jobName" title="${uiLabelMap.WebtoolsJob}" position="1"><text-find/></field>
        <!-- SCIPIO: moved to a screen label 
        <field name="clock" position="2" title="${uiLabelMap.CommonServerHour}:"><display/></field>-->
        <field name="jobId" title="${uiLabelMap.CommonId}" position="1"><text-find/></field>
        <field name="serviceName" title="${uiLabelMap.WebtoolsServiceName}"><text-find/></field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" position="1">
            <drop-down allow-empty="true">
                <entity-options description="${description}" key-field-name="statusId" entity-name="StatusItem">
                    <entity-constraint name="statusTypeId" operator="equals" value="SERVICE_STATUS"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="eventId" title="${uiLabelMap['StatusType.description.EVENT_STATUS']}" position="1">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" description="${description} (${enumId})" key-field-name="enumId">
                    <entity-constraint name="enumTypeId" operator="equals" value="SCH_EVENT_TYPE"/>
                    <entity-order-by field-name="description"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="poolId" title="${uiLabelMap.WebtoolsPool}"><text/></field><!-- SCIPIO: 2.1.0: Added -->
        <field name="submitAction" title="${uiLabelMap.CommonFind}" widget-style="${styles.link_run_sys} ${styles.action_find}" position="1">
            <submit button-type="button"/>
        </field>
    </form>

    <form name="ListJobs" type="list" list-name="listIt" paginate-target="FindJob" default-entity-name="JobSandbox" separate-columns="true"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="jobCtx"/>
                <field-map field-name="entityName" value="JobSandbox"/>
                <field-map field-name="orderBy" from-field="parameters.sortField"/>
                <field-map field-name="viewIndex" from-field="viewIndex"/>
                <field-map field-name="viewSize" from-field="viewSize"/>
            </service>
        </actions>
        <field name="jobName" title="${uiLabelMap.WebtoolsJob}" sort-field="true"><display/></field>
        <field name="jobId" title="${uiLabelMap.CommonId}" sort-field="true" widget-style="${styles.link_nav_info_id} ${styles.action_view}">
            <hyperlink also-hidden="false" description="${jobId}" target="JobDetails">
                <parameter param-name="jobId" from-field="jobId"/>
            </hyperlink>
        </field>
        <field name="poolId" title="${uiLabelMap.WebtoolsPool}" sort-field="true"><display/></field>
        <field name="runTime" title="${uiLabelMap.WebtoolsRunTime}" sort-field="true"><display/></field>
        <field name="startDateTime" title="${uiLabelMap.CommonStartDateTime}" sort-field="true"><display/></field>
        <field name="serviceName" title="${uiLabelMap.WebtoolsService}" sort-field="true" widget-style="${styles.link_run_sys} ${styles.action_find}">
            <hyperlink also-hidden="false" description="${serviceName}" target="ServiceList">
                <parameter param-name="sel_service_name" from-field="serviceName"/>
            </hyperlink>
        </field>
        <field name="statusId" title="${uiLabelMap.CommonStatus}" sort-field="true"><display-entity entity-name="StatusItem" description="${description}"/></field>
        <field name="finishDateTime" title="${uiLabelMap.CommonEndDateTime}" sort-field="true"><display/></field>
        <field name="eventId" title="${uiLabelMap['StatusType.description.EVENT_STATUS']}" sort-field="true"><display/></field>
        <field name="priority" title="${uiLabelMap.CommonPriority}" sort-field="true"><display/></field><!-- SCIPIO -->
        <field name="cancelAction" title=" " use-when="startDateTime==null&amp;&amp;finishDateTime==null&amp;&amp;cancelDateTime==null" widget-style="${styles.link_run_sys} ${styles.action_terminate}">
            <hyperlink also-hidden="false" description="${uiLabelMap.WebtoolsCancelJob}" target="cancelJob">
                <parameter param-name="jobId"/>
            </hyperlink>
        </field>
    </form>
    <form name="JobDetails" type="single">
        <auto-fields-entity entity-name="JobSandbox" map-name="job" default-field-type="display"/>
        <field name="jobResult"><textarea read-only="true"/></field><!-- SCIPIO -->
    </form>
    <form name="JobRuntimeDataInfo" type="list" list-name="runtimeInfoList" paginate="false"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="key"><display/></field>
        <field name="value"><display/></field>
    </form>
    <form name="PoolState" type="single" default-map-name="poolState">
        <field name="keepAliveTimeInSeconds"><display/></field>
        <field name="numberOfCoreInvokerThreads"><display/></field>
        <field name="currentNumberOfInvokerThreads"><display/></field>
        <field name="numberOfActiveInvokerThreads"><display/></field>
        <field name="maxNumberOfInvokerThreads"><display/></field>
        <field name="greatestNumberOfInvokerThreads"><display/></field>
        <field name="numberOfCompletedTasks"><display/></field>
    </form>
    <form name="ListJavaThread" type="list" list-name="threads" paginate-target="threadList" separate-columns="true"
        odd-row-style="alternate-row"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="id" title="${uiLabelMap.WebtoolsThread}"><display description="${threadId} ${threadName}"/></field>
        <field name="name" title="${uiLabelMap.WebtoolsJob}"><display default-value="${uiLabelMap.CommonNone}"/></field>
        <field name="serviceName" title="${uiLabelMap.WebtoolsService}"><display default-value="${uiLabelMap.CommonNone}"/></field>
        <field name="time" title="${uiLabelMap.CommonStartDateTime}"><display/></field>
        <field name="runTime" title="${uiLabelMap.CommonTime} (ms)"><display/></field>
    </form>
    <form name="ListServices" type="list" list-name="services" paginate-target="ServiceLog" separate-columns="true"
        odd-row-style="alternate-row" header-row-style="header-row-2"> <!-- orig: default-table-style=-style="basic-table hover-bar" -->
        <field name="serviceName" title="${uiLabelMap.WebtoolsServiceName}" sort-field="true"><display/></field>
        <field name="localName" title="${uiLabelMap.WebtoolsDispatcherName}" sort-field="true"><display/></field>
        <field name="modeStr" title="${uiLabelMap.WebtoolsMode}" sort-field="true"><display default-value="${uiLabelMap.CommonNone}"/></field>
        <field name="startTime" title="${uiLabelMap.CommonStartDateTime}" sort-field="true"><display/></field>
        <field name="endTime" title="${uiLabelMap.CommonEndDateTime}" sort-field="true"><display default-value="${uiLabelMap.WebtoolsStatusRunning}"/></field>
    </form>
    <form name="FindJobManagerLock" type="single" target="FindJobManagerLock" default-entity-name="JobManagerLock">
        <field name="noConditionFind"><hidden value="Y"/><!-- if this isn't there then with all fields empty no query will be done --></field>
        <field name="instanceId">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" key-field-name="enumCode" description="${enumCode} - ${description}">
                   <entity-constraint name="enumTypeId" value="JM_OFBIZ_INSTANCE"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fromDate"><date-find/></field>
        <field name="thruDate"><date-find/></field>
        <field name="reasonEnumId" title="${uiLabelMap.CommonReason}">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" key-field-name="enumId" description="[${enumCode}] - ${description}">
                   <entity-constraint name="enumTypeId" value="JS_LOCK_REASON"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="searchButton"><submit/></field>
    </form>
    <form name="ListJobManagerLock" type="list" list-name="listIt" paginate-target="FindJobManagerLock" default-entity-name="JobManagerLock" separate-columns="true"
        odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <actions>
            <service service-name="performFind" result-map="result" result-map-list="listIt">
                <field-map field-name="inputFields" from-field="parameters"/>
                <field-map field-name="entityName" value="JobManagerLock"/>
                <field-map field-name="orderBy" from-field="parameters.sortField"/>
            </service>
        </actions>
        <row-actions>
            <set field="editable" value="${groovy: security.hasPermission('SERVICE_JM_LOCK', userLogin) }" type="Boolean"/>
            <set field="cancelable" value="${groovy: thruDate == null || thruDate.compareTo(nowTimestamp) > 0}" type="Boolean"/>
        </row-actions>
        <field name="instanceId" sort-field="true"><display/></field>
        <field name="fromDate" sort-field="true"><display/></field>
        <field name="thruDate" sort-field="true"><display/></field>
        <field name="createdDate" sort-field="true"><display/></field>
        <field name="createdByUserLogin" sort-field="true"><display/></field>
        <field name="reasonEnumId" sort-field="true" title="${uiLabelMap.CommonReason}"><display-entity entity-name="Enumeration" key-field-name="enumId" description="[${enumCode}] ${description}"/></field>
        <field name="comments"><display/></field>
        <field name="cancelButton" title=" " use-when="editable &amp;&amp; cancelable" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${uiLabelMap.CommonCancel}" target="updateJobManagerLock">
                <parameter param-name="instanceId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="thruDate" value="${nowTimestamp}"/>
            </hyperlink>
        </field>
    </form>
    <form name="AddJobManagerLock" type="single" target="createJobManagerLock" default-entity-name="JobManagerLock">
        <field name="instanceId">
            <drop-down>
                <entity-options entity-name="Enumeration" key-field-name="enumCode" description="${enumCode} - ${description}">
                   <entity-constraint name="enumTypeId" value="JM_OFBIZ_INSTANCE"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="fromDate"><date-time/></field>
        <field name="thruDate"><date-time/></field>
        <field name="reasonEnumId" title="${uiLabelMap.CommonReason}">
            <drop-down allow-empty="true">
                <entity-options entity-name="Enumeration" key-field-name="enumId" description="[${enumCode}] - ${description}">
                   <entity-constraint name="enumTypeId" value="JS_LOCK_REASON"/>
                </entity-options>
            </drop-down>
        </field>
        <field name="comments"><text/></field>
        <field name="addButton"><submit/></field>
        <on-event-update-area area-target="FindJobManagerLock" event-type="submit" area-id="window"/>
    </form>
    <grid name="JobManagerLockEnable" list-name="jobManagerLocks"
          odd-row-style="alternate-row" header-row-style="header-row-2" default-table-style="basic-table hover-bar">
        <row-actions>
            <set field="editable" value="${groovy: security.hasPermission('SERVICE_JM_LOCK', userLogin) }" type="Boolean"/>
            <set field="cancelable" value="${groovy: thruDate == null || thruDate.compareTo(nowTimestamp) > 0}" type="Boolean"/>
        </row-actions>
        <field name="instanceId"><display/></field>
        <field name="fromDate" title="${uiLabelMap.CommonFrom}" red-when="never"><display type="date-time"/></field>
        <field name="thruDate" title="${uiLabelMap.CommonThru}" red-when="never"><display type="date-time"/></field>
        <field name="createdByUserLogin" title="${uiLabelMap.CommonBy}"><display/></field>
        <field name="reasonEnumId" title="${uiLabelMap.CommonReason}"><display-entity entity-name="Enumeration" key-field-name="enumId" description="[${enumCode}] ${description}"/></field>
        <field name="cancelButton" title=" " use-when="editable &amp;&amp; cancelable" widget-style="buttontext">
            <hyperlink also-hidden="false" description="${uiLabelMap.CommonCancel}" target="updateJobManagerLock">
                <parameter param-name="instanceId"/>
                <parameter param-name="fromDate"/>
                <parameter param-name="thruDate" value="${nowTimestamp}"/>
            </hyperlink>
        </field>
    </grid>
</forms>