canaille-globuzma/canaille/templates/profile_edit.html
2023-03-16 18:45:35 +01:00

189 lines
8 KiB
HTML

{% extends theme('base.html') %}
{% import 'macro/fomanticui.html' as sui %}
{% block title %}
{% if not edited_user %}
{% trans %}User creation{% endtrans %}
{% elif user.uid == edited_user.uid %}
{% trans %}My profile{% endtrans %}
{% else %}
{% trans %}User profile edition{% endtrans %}
{% endif %}
{% endblock %}
{% block script %}
<script src="/static/js/confirm.js"></script>
<script src="/static/js/profile.js"></script>
{% endblock %}
{% block submenu %}
<nav class="ui bottom attached two item borderless menu">
<a class="active item" href="{{ url_for('account.profile_edition', username=edited_user.uid[0]) }}">
<i class="id card icon"></i>
{% trans %}Personal information{% endtrans %}
</a>
<a class="item" href="{{ url_for('account.profile_settings', username=edited_user.uid[0]) }}">
<i class="tools icon"></i>
{% trans %}Account information{% endtrans %}
</a>
</nav>
{% endblock %}
{% macro render_field(field, noindicator=false) %}
{% set lock_indicator = field.render_kw and ("readonly" in field.render_kw or "disabled" in field.render_kw) %}
{% if not edited_user %}
{{ sui.render_field(field, **kwargs) }}
{% elif edited_user.uid == user.uid or lock_indicator or noindicator %}
{{ sui.render_field(field, **kwargs) }}
{% elif field.name in edited_user.write %}
{{ sui.render_field(field, **kwargs) }}
{% elif field.name in edited_user.read %}
{{ sui.render_field(field, indicator_icon="eye", indicator_text=_("This user cannot edit this field"), **kwargs) }}
{% else %}
{{ sui.render_field(field, indicator_icon="eye slash", indicator_text=_("This user cannot see this field"), **kwargs) }}
{% endif %}
{% endmacro %}
{% block content %}
<div class="ui clearing segment">
<h2 class="ui center aligned header">
<div class="content">
{% if user.uid == edited_user.uid %}
{% trans %}My profile{% endtrans %}
{% else %}
{% trans %}User profile edition{% endtrans %}
{% endif %}
</div>
<div class="sub header">
{% if user.uid == edited_user.uid %}
{% trans %}Edit your personal information{% endtrans %}
{% else %}
{% trans %}Edit information about a user{% endtrans %}
{% endif %}
</div>
</h2>
<form method="POST"
id="{{ form.__class__.__name__|lower }}"
action="{{ request.url }}"
role="form"
enctype="multipart/form-data"
class="ui form info{% if user.can_manage_users and edited_user and not edited_user.has_password() %} warning{% endif %} profile-form"
>
{#{ render_field(form.csrf_token) }#}
{% if "jpegPhoto" in form %}
<div class="ui grid">
<div class="three wide column">
{% block photo_field scoped %}
{{ render_field(form.jpegPhoto, display=false, class="photo-field") }}
{{ render_field(form.jpegPhoto_delete, display=false, class="photo-delete-button") }}
{% set photo = edited_user.jpegPhoto and edited_user.jpegPhoto[0] %}
<label
class="ui small bordered image photo-content"
for="{{ form.jpegPhoto.id }}"
title="{{ _("Click to upload a photo") }}"
{% if not photo %}style="display: none;"{% endif %}>
<a class="ui right corner label photo-delete-icon" title="{{ _("Delete the photo") }}">
<i class="times icon"></i>
</a>
<img src="{% if photo %}{{ url_for("account.photo", uid=edited_user.uid[0], field="jpegPhoto") }}{% endif %}" alt="User photo">
</label>
<label
class="ui centered photo-placeholder"
for="{{ form.jpegPhoto.id }}"
title="{{ _("Click to upload a photo") }}"
{% if photo %}style="display: none;"{% endif %}>
<i class="massive centered portrait icon"></i>
</label>
</div>
{% endblock %}
<div class="thirteen wide column">
{% endif %}
{% if "givenName" in form or "sn" in form %}
<div class="equal width fields">
{% if "givenName" in form %}
{% block given_name_field scoped %}{{ render_field(form.givenName) }}{% endblock %}
{% endif %}
{% if "sn" in form %}
{% block sn_field scoped %}{{ render_field(form.sn) }}{% endblock %}
{% endif %}
</div>
{% endif %}
{% if "displayName" in form %}
{% block display_name_field scoped %}{{ render_field(form.displayName) }}{% endblock %}
{% endif %}
{% if "jpegPhoto" in form %}</div></div>{% endif %}
{% if "mail" in form %}
{% block mail_field scoped %}{{ render_field(form.mail) }}{% endblock %}
{% endif %}
{% if "telephoneNumber" in form %}
{% block telephone_number_field scoped %}{{ render_field(form.telephoneNumber) }}{% endblock %}
{% endif %}
{% if "postalAddress" in form %}
{% block postal_address_field scoped %}{{ render_field(form.postalAddress) }}{% endblock %}
{% endif %}
{% if "street" in form %}
{% block street_field scoped %}{{ render_field(form.street) }}{% endblock %}
{% endif %}
<div class="equal width fields">
{% if "postalCode" in form %}
{% block postal_code_field scoped %}{{ render_field(form.postalCode) }}{% endblock %}
{% endif %}
{% if "l" in form %}
{% block locality_field scoped %}{{ render_field(form.l) }}{% endblock %}
{% endif %}
{% if "st" in form %}
{% block region_field scoped %}{{ render_field(form.st) }}{% endblock %}
{% endif %}
</div>
<div class="equal width fields">
{% if "departmentNumber" in form %}
{% block department_number_field scoped %}{{ render_field(form.departmentNumber) }}{% endblock %}
{% endif %}
{% if "employeeNumber" in form %}
{% block employee_number_field scoped %}{{ render_field(form.employeeNumber) }}{% endblock %}
{% endif %}
{% if "title" in form %}
{% block title_field scoped %}{{ render_field(form.title) }}{% endblock %}
{% endif %}
</div>
{% if "labeledURI" in form %}
{% block labeled_uri_field scoped %}{{ render_field(form.labeledURI) }}{% endblock %}
{% endif %}
{% if "preferredLanguage" in form %}
{% block preferred_language_field scoped %}{{ render_field(form.preferredLanguage) }}{% endblock %}
{% endif %}
<div class="ui right aligned container">
<div class="ui stackable buttons">
<button type="submit" class="ui right floated primary button" name="action" value="edit" id="edit">
{{ _("Submit") }}
</button>
</div>
</div>
</form>
</div>
{% endblock %}