{% import 'macros/form.html' as form %}
{% set is_saml_user = h.saml_is_saml_user(g.user) %}

<form id="user-edit-form" class="dataset-form" method="post" action="{{ action }}" enctype="multipart/form-data">
    {{ form.errors(error_summary) }}

    <fieldset>
        <legend>{{ _('Change details') }}</legend>
        {{ form.input('name', label=_('Username'), id='field-username', value=data.name, error=errors.name, classes=['control-medium'], attrs={'readonly': '', 'class': 'form-control'}) }}

        {{ form.input('fullname', label=_('Full name'), id='field-fullname', value=data.fullname, error=errors.fullname, placeholder=_('eg. Joe Bloggs'), classes=['control-medium']) }}

        {{ form.input('email', label=_('Email'), id='field-email', type='email', value=data.email, error=errors.email, placeholder=_('eg. joe@example.com'), classes=['control-medium'], is_required=true) }}

        {{ form.markdown('about', label=_('About'), id='field-about', value=data.about, error=errors.about, placeholder=_('A little information about yourself')) }}

        {% if show_email_notifications %}
            {% call form.checkbox('activity_streams_email_notifications', label=_('Subscribe to notification emails'), id='field-activity-streams-email-notifications', value=True, checked=g.userobj.activity_streams_email_notifications) %}
                {% set helper_text = _("You will receive notification emails from {site_title}, e.g. when you have new activities on your dashboard."|string) %}
                {{ form.info(helper_text.format(site_title=g.site_title), classes=['info-help-tight']) }}
            {% endcall %}
        {% endif %}

        {% set is_upload = data.image_url and not data.image_url.startswith('http') %}
        {% set is_url = data.image_url and data.image_url.startswith('http') %}

        {{ form.image_upload(data, errors, is_upload_enabled=h.uploads_enabled(), is_url=is_url, is_upload=is_upload, upload_label=_('Profile picture'), url_label=_('Profile picture URL') ) }}

    </fieldset>

    <fieldset{% if is_saml_user %} hidden{% endif %}>
        <legend>{{ _('Change password') }}</legend>
        {{ form.input('old_password',
            type='password',
            label=_('Sysadmin Password') if is_sysadmin else _('Old Password'),
            id='field-password-old',
            value=data.oldpassword,
            error=errors.oldpassword,
            classes=['control-medium'],
            attrs={'autocomplete': 'off', 'class': 'form-control'}
        ) }}

        {{ form.input('password1', type='password', label=_('Password'), id='field-password', value=data.password1, error=errors.password1, classes=['control-medium'], attrs={'autocomplete': 'off', 'class': 'form-control'} ) }}

        {{ form.input('password2', type='password', label=_('Confirm Password'), id='field-password-confirm', value=data.password2, error=errors.password2, classes=['control-medium'], attrs={'autocomplete': 'off', 'class': 'form-control'}) }}
    </fieldset>

    <div class="form-actions">
        {% block delete_button %}
            {% if h.check_access('user_delete', {'id': data.id})  %}
                <a class="btn btn-danger pull-left" href="{% url_for 'user_delete', id=data.id %}" data-module="confirm-action" data-module-content="{{ _('Are you sure you want to delete this User?') }}">{% block delete_button_text %}{{ _('Delete') }}{% endblock %}</a>
            {% endif %}
        {% endblock %}
        {% block generate_button %}
            {% if h.check_access('user_generate_apikey', {'id': data.id})  %}
                <a class="btn btn-warning" href="{% url_for 'user.generate_apikey', id=data.id %}" data-module="confirm-action" data-module-content="{{ _('Are you sure you want to regenerate the API key?') }}">{% block generate_button_text %}{{ _('Regenerate API Key') }}{% endblock %}</a>
            {% endif %}
        {% endblock %}
        {{ form.required_message() }}
        <button class="btn btn-primary" type="submit" name="save">{{ _('Update Profile') }}</button>
    </div>
</form>
