blob: 52c656209e604627bbd52999d4f3cc33c109ffa5 [file] [log] [blame]
<?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.
-->
<simple-methods xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://ofbiz.apache.org/Simple-Method" xsi:schemaLocation="http://ofbiz.apache.org/Simple-Method http://ofbiz.apache.org/dtds/simple-methods.xsd">
<!-- ============== Basic Permission Checking ============= -->
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions -->
<simple-method method-name="basePermissionCheck" short-description="Accounting component base permission logic">
<set field="primaryPermission" value="ACCOUNTING"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions
OR if user has one of the base ACCOUNTING_ROLE CRUD+ADMIN permissions -->
<simple-method method-name="basePlusRolePermissionCheck" short-description="Accounting component base permission logic">
<set field="primaryPermission" value="ACCOUNTING"/>
<set field="altPermission" value="ACCOUNTING_ROLE"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
</simple-method>
<!-- ============== Task-specific Permission Checking ============= -->
<!-- Returns hasPermission=true if user has one of the ACCTG_PREF CRUD+ADMIN permissions -->
<simple-method method-name="preferencePermissionCheck" short-description="Accounting preferences permission logic">
<set field="primaryPermission" value="ACCTG_PREF"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the ACCTG_FX CRUD+ADMIN permissions -->
<simple-method method-name="acctgFxPermissionCheck" short-description="Foreign exchange permission logic">
<set field="primaryPermission" value="ACCTG_FX"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
<if-compare field="hasPermission" operator="not-equals" value="true">
<!-- Check for deprecated permission -->
<if-has-permission permission="ACCTG_FX_ENTRY">
<set field="hasPermission" type="Boolean" value="true"/>
<field-to-result field="hasPermission"/>
<log level="warning" message="Deprecated permission ACCTG_FX_ENTRY in use"/>
<else>
<property-to-field resource="CommonUiLabels" property="CommonGenericPermissionError" field="failMessage"/>
<set field="hasPermission" type="Boolean" value="false"/>
<field-to-result field="hasPermission"/>
<field-to-result field="failMessage"/>
</else>
</if-has-permission>
</if-compare>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions
OR if user has one of the base ACCOUNTING_ROLE CRUD+ADMIN permissions -->
<!-- TODO: Make this more user-role-specific. Users working with suppliers should only access
supplier agreements, users working with customers should only access customer
agreements, etc. -->
<simple-method method-name="acctgAgreementPermissionCheck" short-description="Accounting agreement permission logic">
<call-simple-method method-name="basePlusRolePermissionCheck"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the ACCOUNTING_COMM CRUD+ADMIN permissions -->
<simple-method method-name="commissionPermissionCheck" short-description="Accounting commissions permission logic">
<set field="primaryPermission" value="ACCOUNTING_COMM"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions -->
<simple-method method-name="acctgCostPermissionCheck" short-description="Accounting cost permission logic">
<call-simple-method method-name="basePermissionCheck"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions -->
<simple-method method-name="acctgFinAcctPermissionCheck" short-description="Accounting financial account permission logic">
<call-simple-method method-name="basePermissionCheck"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions
OR if user has one of the base ACCOUNTING_ROLE CRUD+ADMIN permissions -->
<!-- TODO: Make this more user-role-specific. Users working with suppliers should only access
purchase invoices, users working with customers should only access sales-related
invoices, etc. -->
<simple-method method-name="acctgInvoicePermissionCheck" short-description="Accounting invoice permission logic">
<call-simple-method method-name="basePlusRolePermissionCheck"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the ACCTG_ATX CRUD+ADMIN permissions -->
<simple-method method-name="acctgTransactionPermissionCheck" short-description="Accounting transaction permission logic">
<set field="primaryPermission" value="ACCTG_ATX"/>
<call-simple-method method-name="genericBasePermissionCheck" xml-resource="component://common/minilang/permission/CommonPermissionServices.xml"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING CRUD+ADMIN permissions -->
<simple-method method-name="acctgBillingAcctCheck" short-description="Accounting billing account permission logic">
<call-simple-method method-name="basePermissionCheck"/>
</simple-method>
<!-- Returns hasPermission=true if user has one of the base ACCOUNTING/ACCOUNTING_ROLE CRUD+ADMIN permissions -->
<simple-method method-name="acctgPaymentPermissionCheck" short-description="Accounting Permission logic">
<call-simple-method method-name="basePlusRolePermissionCheck"/>
</simple-method>
</simple-methods>