- add config option `require_email_http_header` that enforces the presence of the email http header
- Implement previously unimplemented function `currently_user_has_permissions`.
- Implement new function `user_has_permissions`
- Remove functions `user_has_permission` and `current_user_has_permission` (they are now implemented in `mara_page.acl`)
- Remove deprecated dependency_links
- Bump minimum `mara-page` version to 1.4.0
- In `current_user_has_permissions`: When requested for a parent resource, return `True` when permissions for one of the child resources exist
**required changes**
- In dev environments, add this to `local_setup.py`:
python
import mara_acl.config
Disable http header based authentication
patch(mara_acl.config.require_email_http_header)(lambda: False)
- Overwrite the default `mara_page.acl` functions like this:
python
activate ACL
monkey_patch.patch(mara_page.acl.current_user_email)(mara_acl.users.current_user_email)
monkey_patch.patch(mara_page.acl.current_user_has_permissions)(mara_acl.permissions.current_user_has_permissions)
monkey_patch.patch(mara_page.acl.user_has_permissions)(mara_acl.permissions.user_has_permissions)
- If not already the case, add these two dependencies to your project requirements.txt:
-e git+gitgithub.com:mara/mara-db.git3.2.1egg=mara-db
-e git+gitgithub.com:mara/mara-page.git1.4.0egg=mara-page