> ## Documentation Index
> Fetch the complete documentation index at: https://thrackle.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# AppAdministratorOrOwnerOnly

[Git Source](https://github.com/forte-service-company-ltd/forte-rules-engine/blob/6b9ac124d2cb0fe47a8b5c261a1dd458067f45ea/src/protocol/economic/AppAdministratorOrOwnerOnly.sol)

**Inherits:**
Ownable, [RBACModifiersCommonImports](/v1/reference/client/token/handler/common/RBACModifiersCommonImports.sol/abstract.RBACModifiersCommonImports)

**Author:**
@ShaneDuncan602, @oscarsernarosero, @TJ-Everett

This contract performs permission controls where admin or owner permissions are required.

*Allows for proper permissioning parent/child contract relationships so that owner and app admins may have permission.*

## Functions

### appAdministratorOrOwnerOnly

*Modifier ensures function caller is a Application Administrators or the parent contract*

```solidity
modifier appAdministratorOrOwnerOnly(address _permissionModuleAppManagerAddress);
```

### \_appAdministratorOrOwnerOnly

```solidity
function _appAdministratorOrOwnerOnly(address _permissionModuleAppManagerAddress) private view;
```

### transferPermissionOwnership

*Transfers ownership of the contract to a new account (`newOwner`).*

```solidity
function transferPermissionOwnership(address newOwner, address appManagerAddress) internal;
```

**Parameters**

| Name                | Type      | Description                                                                              |
| ------------------- | --------- | ---------------------------------------------------------------------------------------- |
| `newOwner`          | `address` | The address to receive ownership                                                         |
| `appManagerAddress` | `address` | address of the app manager for permission check Can only be called by the current owner. |
