# Plugin AgreeS

## About

The plugin allows to control process' switches between two statuses with an agreement procedure, performed by executors from a special agreement group.

During an agreement procedure email notifications are sent ot all the involved process executors.

## Setup

| You can see (queue Plugin Agree) the plugin operation in Demo System.

Make sure the plugin is enabled in configuration.

### Process Type

For every process type, where you need the agreement procedure enabled, add the following block in properties configuration.

    agree:status.from=<statusFromId>
    agree:status.to=<statusToId>
    agree:executor.group=<groupId>
    # by default is 0
    #agree:executor.role=<roleId>
    # how many executors has to agree, 0 - all of them, default - 1
    #agree:executor.required.qty=1

Where:

- <statusFromId> - process status ID starting an agreement procedure;

- <statusToId> - process status ID finishing an agreement procedure;

- <groupId> - agreement user group ID;

- <roleId> - execution role ID for the group.

## Usage

After a process with configured type has switched to the starting status, the plugin adds there the configured agreement group with all the users from it as process executors.

Depending of the process type properties configuration, only one or all of them have to switch the process to the finishing status. This transition is allowed only for executors from the agreement group.

Or in case of objections write to the process notes. That can be later responded by the process executors, so all the discussion is kept in the process messages.

After moving a process to the agreement finishing status by one of the agreement executors, it has been removed from the process executors, as no move involved person in it. If only one agreed person is needed or no more agreement executors are left in the process, the process status will stay as the finished.

In case of all agreement persons required and some of those still presented as the process executors, the process status has switched back to the agreement start, to allow rest of agreement executors do their agreements as well.