2023-06-28 13:42:35 +00:00
|
|
|
{% import 'macro/form.html' as fui %}
|
|
|
|
{% macro render_field(field, user=none, edited_user=none, noindicator=false) %}
|
|
|
|
{% set lock_indicator = field.render_kw and ("readonly" in field.render_kw or "disabled" in field.render_kw) %}
|
2023-06-30 14:20:36 +00:00
|
|
|
|
2023-06-28 13:42:35 +00:00
|
|
|
{% if not edited_user or not user %}
|
2023-06-30 14:20:36 +00:00
|
|
|
{{ fui.render_field(
|
|
|
|
field,
|
|
|
|
user=user,
|
|
|
|
render_func=render_field,
|
|
|
|
**kwargs
|
|
|
|
) }}
|
2023-06-28 13:42:35 +00:00
|
|
|
{% elif edited_user.user_name == user.user_name or lock_indicator or noindicator %}
|
2023-06-30 14:20:36 +00:00
|
|
|
{{ fui.render_field(
|
|
|
|
field,
|
|
|
|
user=user,
|
|
|
|
render_func=render_field,
|
|
|
|
**kwargs
|
|
|
|
) }}
|
2023-06-28 13:42:35 +00:00
|
|
|
{% elif field.name in edited_user.write %}
|
2023-06-30 14:20:36 +00:00
|
|
|
{{ fui.render_field(
|
|
|
|
field,
|
|
|
|
user=user,
|
|
|
|
render_func=render_field,
|
|
|
|
**kwargs
|
|
|
|
) }}
|
2023-06-28 13:42:35 +00:00
|
|
|
{% elif field.name in edited_user.read %}
|
2023-06-30 14:20:36 +00:00
|
|
|
{{ fui.render_field(
|
|
|
|
field,
|
|
|
|
user=user,
|
2023-06-28 13:42:35 +00:00
|
|
|
indicator_icon="eye",
|
|
|
|
indicator_text=_("This user cannot edit this field"),
|
2023-06-30 14:20:36 +00:00
|
|
|
render_func=render_field,
|
2023-06-28 13:42:35 +00:00
|
|
|
**kwargs
|
|
|
|
) }}
|
|
|
|
{% else %}
|
2023-06-30 14:20:36 +00:00
|
|
|
{{ fui.render_field(
|
|
|
|
field,
|
|
|
|
user=user,
|
2023-06-28 13:42:35 +00:00
|
|
|
indicator_icon="eye slash",
|
|
|
|
indicator_text=_("This user cannot see this field"),
|
2023-06-30 14:20:36 +00:00
|
|
|
render_func=render_field,
|
2023-06-28 13:42:35 +00:00
|
|
|
**kwargs
|
|
|
|
) }}
|
|
|
|
{% endif %}
|
|
|
|
{% endmacro %}
|