{% extends "layouts/dashboard.html" %} {% block title %}Role permissions — IILMP{% endblock %} {% block breadcrumbs %} {% endblock %} {% block content %}
{% include "components/page_header_text.html" with eyebrow="Access control" title="Role permissions" subtitle="Each row is a Django auth group mapped to an IILMP role." size="lg" with_glyph=False %}
New role New permission Back to users
{% include "components/rims_page_intro.html" with eyebrow="Access control" heading="Treat role edits as operational policy, not personal preference." description="Editing a group changes what every user in that role can see and do across IILMP — including users who joined the role months ago. Changes apply on each user's next request." %}
{% if groups %}

{{ groups|length }} role{{ groups|length|pluralize }}

{% endif %}
{% for g in groups %} {% empty %} {% endfor %}
Role Permissions
{{ g.name }} {% with count=g.permissions.count %} {% if count > 0 %} {{ count }} {% else %} 0 {% endif %} {% endwith %} Edit permissions

No role groups in the database.

Without groups, roles cannot be assigned consistently. Seed the standard IILMP groups, then return here to tune fine-grained permissions.

docker compose run --rm web python manage.py seed_roles
{% if custom_groups %}

{{ custom_groups|length }} role{{ custom_groups|length|pluralize }}

{% include "components/icon.html" with name="info" css="callout__icon" stroke_width="2" %} Not selectable in a user's Role field — assign these via a user's "Additional roles" field instead.

{% for g in custom_groups %} {% endfor %}
Role Permissions
{{ g.name }} {% with count=g.permissions.count %} {% if count > 0 %} {{ count }} {% else %} 0 {% endif %} {% endwith %} Edit permissions
{% endif %} {% endblock %}