django-river because it supports flexibility to manage
workflow components on the fly meaning that the changes can be applied
without a code change or a deployment.
River Admin is extending this
capability and providing a user friendly, easy to use screens to do that on top
django-river. One of these screens is managing the authorization
rules of the transitions.
How to Navigate¶
In order to see this page, your user has to have
In order to go to that screen you can either be navigated from the home screen by clicking the “Edit Workflow Rules” button;
Or from the editing workflow page by clicking “Edit Workflow Rules” button;
Add Authorization Rule¶
River Admin provides a graphical interface that illustrates states
and transitions in the workflow which you have already seen while
creating the workflow. Same component exists here but with more capability.
That extra capability you have here is to be able to click transitions which
are illustrated with arrows between the states. Later you will see another
component on the right side of the screen where you can manage the
authorization rules for the transition.
After the authorization rule is created successfully;
The authorization rule we have just created means that
in order the transition to happen a user within
Delivery Person user group should approve it.
Multiple user groups can also be selected in one authorization
rules as it is already supported by
django-river and that
would mean that anyone who is in those groups can approve the
Delete Authorization Rule¶
Chain of Authorization Rules¶
This is one of the cool feature of
Multiple authorization rules can be chained togeter with a
prioritization mechanism. With this a first authorization rule
should be satisfied before the second one can kick in.
This should not be mixed up with having multiple groups in one authorization rule. Because with multiple groups anytime any user in any of the specified group is authorized to approve the transition.
What is created in the image above is a chain of authorization rules
for the transition. It means that a users within
group should first approve it before it is on the user’s approval who
are in the
Delivery Manager group.
The prioritization order matters here.
One of the most convinient improvement with
River Admin on top of
django-river is changing the order of the chain by just a drag