phonograph/phono-server/templates/workspaces_single/permissions_editor.html

95 lines
2.4 KiB
HTML
Raw Normal View History

2025-12-18 12:55:01 -08:00
<div class="permissions-list">
{% for perm in current_perms.clone() %}
{{ perm | safe }}
{% endfor %}
<button
class="button button--secondary button--small"
popovertarget="permissions-editor-{{ target }}"
popovertargetaction="toggle"
type="button"
>
Edit
</button>
</div>
2025-12-16 09:59:30 -08:00
<dialog
2025-12-18 12:55:01 -08:00
class="dialog padded padded--lg"
2025-12-16 09:59:30 -08:00
id="permissions-editor-{{ target }}"
popover="auto"
>
<form action="{{ update_endpoint }}" method="post">
<table class="table">
<thead>
<tr>
<th scope="col">Table</th>
<th scope="col">Reader</th>
<th scope="col">Writer</th>
{% if include_owner %}
<th scope="col">Owner</th>
{% endif %}
</tr>
</thead>
<tbody>
{% for rel in all_rels %}
<tr>
<td>{{ rel.relname }}</td>
<td style="text-align: center;">
<input
type="checkbox"
name="{{ rel.oid.0 }}"
value="reader"
{%- if current_perms.contains(&(
RelPermissionKind::Reader,
rel.relname.clone(),
rel.oid,
).into()) %}
checked="true"
{%- endif %}
>
</td>
<td style="text-align: center;">
<input
type="checkbox"
name="{{ rel.oid.0 }}"
value="writer"
{%- if current_perms.contains(&(
RelPermissionKind::Writer,
rel.relname.clone(),
rel.oid,
).into()) %}
checked="true"
{%- endif %}
>
</td>
{% if include_owner %}
<td style="text-align: center;">
<input
type="checkbox"
name="{{ rel.oid.0 }}"
value="owner"
{%- if current_perms.contains(&(
RelPermissionKind::Owner,
rel.relname.clone(),
rel.oid,
).into()) %}
checked="true"
{%- endif %}
>
</td>
{% endif %}
</tr>
{% endfor %}
</tbody>
</table>
{% for (k, v) in hidden_inputs %}
<input type="hidden" name="{{ k }}" value="{{ v }}">
{% endfor %}
<button
2025-12-18 12:55:01 -08:00
class="button button--primary"
2025-12-16 09:59:30 -08:00
style="margin-top: 16px;"
type="submit"
>
Save
</button>
</form>
</dialog>