more automated upgrades

This commit is contained in:
Ariel Rin
2023-10-27 22:19:28 +10:00
parent ffb526ab0c
commit 906c589f14
28 changed files with 96 additions and 133 deletions

View File

@@ -6,10 +6,9 @@ In the past, access to services was dictated by a list of settings in `settings.
Instead of granting access to services by the previous rigid structure, access to services is now granted by the built in Django permissions system. This means that service access can be more granular, allowing only certain states, certain groups, for instance Corp CEOs, or even individual user access to each enabled service.
```{eval-rst}
.. important::
:::{important}
If you grant access to an individual user, they will have access to that service regardless of whether or not they are a member.
```
:::
Each service has an access permission defined, named like `Can access the <service name> service`.
@@ -19,10 +18,9 @@ A user can be granted the same permission from multiple sources. e.g. they may h
## Removing access
```{eval-rst}
.. danger::
:::{danger}
Access removal is processed immediately after removing a permission from a user or group. If you remove access from a large group, such as Member, it will immediately remove all users from that service.
```
:::
When you remove a service permission from a user, a signal is triggered which will activate an immediate permission check. For users this will trigger an access check for all services. For groups, due to the potential extra load, only the services whose permissions have changed will be verified, and only the users in that group.