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

<!--
To use these screens add these entries to the controller.xml file:

<request-map uri="tasklist"><security https="true" auth="true"/><response name="success" type="view" value="ordertasklist"/></request-map>

<!- - Order Manager Task List Requests - ->
<request-map uri="acceptassignment">
    <security https="true" auth="true"/>
    <event type="java" path="org.apache.ofbiz.order.task.TaskEvents" invoke="acceptRoleAssignment"/>
    <response name="success" type="view" value="orderview"/>
    <response name="error" type="view" value="ordertasklist"/>
</request-map>
<request-map uri="delegateassignment">
    <security https="true" auth="true"/>
    <event type="java" path="org.apache.ofbiz.order.task.TaskEvents" invoke="delegateAndAcceptAssignment"/>
    <response name="success" type="view" value="orderview"/>
    <response name="error" type="view" value="ordertasklist"/>
</request-map>
<request-map uri="completeassignment">
    <security https="true" auth="true"/>
    <event type="java" path="org.apache.ofbiz.order.task.TaskEvents" invoke="completeAssignment"/>
    <response name="success" type="view" value="ordertasklist"/>
    <response name="error" type="view" value="ordertasklist"/>
</request-map>
<request-map uri="holdorder">
    <security https="true" auth="true"/>
    <event type="service" path="" invoke="wfSuspendActivity"/>
    <response name="success" type="view" value="ordertasklist"/>
    <response name="error" type="view" value="ordertasklist"/>
</request-map>
<request-map uri="releasehold">
    <security https="true" auth="true"/>
    <event type="service" path="" invoke="wfResumeActivity"/>
    <response name="success" type="view" value="ordertasklist"/>
    <response name="error" type="view" value="ordertasklist"/>
</request-map>


<view-map name="ordertasklist" type="screen" page="component://order/widget/ordermgr/OrderTaskScreens.xml#OrderTaskList"/>

==================
Also add this back to AppHeader.ftl:

<li<#if selected = "tasklist"> class="selected"</#if>><a href="<@ofbizUrl>tasklist</@ofbizUrl>">${uiLabelMap.OrderOrderTasks}</a></li>

-->

<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="CommonOrderTaskDecorator">
        <section>
            <widgets>
                <decorator-screen name="main-decorator" location="${parameters.mainDecoratorLocation}">
                    <decorator-section name="body">
                        <section>
                            <widgets>
                                <decorator-section-include name="body"/>
                            </widgets>
                        </section>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
    <screen name="OrderTaskList">
        <section>
            <actions>
                <set field="titleProperty" value="OrderOrderTasks"/>
                <set field="headerItem" value="tasklist"/>
                <script location="component://order/groovyScripts/task/OrderTaskList.groovy"/>
            </actions>
            <widgets>
                <decorator-screen name="CommonOrderTaskDecorator">
                    <decorator-section name="body">
                        <platform-specific>
                            <html><html-template location="component://order/template/task/OrderTaskList.ftl"/></html>
                        </platform-specific>
                    </decorator-section>
                </decorator-screen>
            </widgets>
        </section>
    </screen>
</screens>
