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

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

    <!-- ECAs used to extend service permission checking -->
    <eca service="fixedAssetPermissionCheck" event="return" run-on-failure="true">
        <condition field-name="hasPermission" operator="equals" value="false" type="Boolean"/>
        <action service="assetMaintPermissionCheck" mode="sync" result-to-result="true"/>
    </eca>

    <eca service="facilityGenericPermission" event="return" run-on-failure="true">
        <condition field-name="hasPermission" operator="equals" value="false" type="Boolean"/>
        <action service="assetMaintPermissionCheck" mode="sync" result-to-result="true"/>
    </eca>

    <eca service="workEffortGenericPermission" event="return" run-on-failure="true">
        <condition field-name="hasPermission" operator="equals" value="false" type="Boolean"/>
        <action service="assetMaintPermissionCheck" mode="sync" result-to-result="true"/>
    </eca>

    <eca service="catalogPermissionCheck" event="return" run-on-failure="true">
        <condition field-name="hasPermission" operator="equals" value="false" type="Boolean"/>
        <action service="assetMaintPermissionCheck" mode="sync" result-to-result="true"/>
    </eca>

    <eca service="partyBasePermissionCheck" event="return" run-on-failure="true">
        <condition field-name="hasPermission" operator="equals" value="false" type="Boolean"/>
        <action service="assetMaintPermissionCheck" mode="sync" result-to-result="true"/>
    </eca>

</service-eca>
