From 0a0c47205fce920988c2f97c7528eb1568e76e88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sybren=20A=2E=20St=C3=BCvel?= Date: Thu, 25 Jan 2018 12:25:32 +0100 Subject: [PATCH] Use Jinja2 inheritance to render settings pages. This gives us more flexibility than using {% include %}. --- src/templates/users/settings/_sidebar.pug | 10 ---- src/templates/users/settings/base.pug | 29 ++++++++++ src/templates/users/settings/page.pug | 1 + src/templates/users/settings/profile.pug | 66 ++++++++++------------- 4 files changed, 59 insertions(+), 47 deletions(-) delete mode 100644 src/templates/users/settings/_sidebar.pug create mode 100644 src/templates/users/settings/base.pug create mode 100644 src/templates/users/settings/page.pug diff --git a/src/templates/users/settings/_sidebar.pug b/src/templates/users/settings/_sidebar.pug deleted file mode 100644 index d9519be0..00000000 --- a/src/templates/users/settings/_sidebar.pug +++ /dev/null @@ -1,10 +0,0 @@ -#settings-sidebar - .settings-header - .settings-title Settings - .settings-content - ul - a(class="{% if title == 'profile' %}active{% endif %}", - href="{{ url_for('settings.profile') }}") - li - i.pi-vcard - | Profile diff --git a/src/templates/users/settings/base.pug b/src/templates/users/settings/base.pug new file mode 100644 index 00000000..83bfd0c5 --- /dev/null +++ b/src/templates/users/settings/base.pug @@ -0,0 +1,29 @@ +| {% extends 'layout.html' %} +//- Don't extend this base file directly. Instead, extend page.html so that Pillar extensions +//- can provide overrides. +| {% block body %} +.container + #settings + #settings-sidebar + | {% block settings_sidebar %} + .settings-header + .settings-title Settings + .settings-content + ul + | {% block settings_sidebar_menu %} + a(class="{% if title == 'profile' %}active{% endif %}", + href="{{ url_for('settings.profile') }}") + li + i.pi-vcard + | Profile + | {% endblock settings_sidebar_menu %} + | {% endblock %} + + #settings-container + .settings-header + .settings-title {% block settings_page_title %}{{ _("Title not set") }}{% endblock %} + + .settings-content + | {% block settings_page_content %}No content set, update your template.{% endblock %} + +| {% endblock %} diff --git a/src/templates/users/settings/page.pug b/src/templates/users/settings/page.pug new file mode 100644 index 00000000..a52b4776 --- /dev/null +++ b/src/templates/users/settings/page.pug @@ -0,0 +1 @@ +| {% extends 'users/settings/base.html' %} diff --git a/src/templates/users/settings/profile.pug b/src/templates/users/settings/profile.pug index f2d93c29..ce9c5627 100644 --- a/src/templates/users/settings/profile.pug +++ b/src/templates/users/settings/profile.pug @@ -1,42 +1,34 @@ -| {% extends 'layout.html' %} -| {% block body %} -.container - #settings - | {% include 'users/settings/_sidebar.html'%} - #settings-container - .settings-header - .settings-title {{ _("Profile") }} +| {% extends 'users/settings/page.html' %} +| {% block settings_page_title %}{{ _("Profile") }}{% endblock %} +| {% block settings_page_content %} +.settings-form + form#settings-form(method='POST', action="{{url_for('settings.profile')}}") + .left + .form-group + | {{ form.username.label }} + | {{ form.username(size=20, class='form-control') }} + | {% if form.username.errors %} + | {% for error in form.username.errors %}{{ error|e }}{% endfor %} + | {% endif %} - .settings-content - .settings-form - form#settings-form(method='POST', action="{{url_for('settings.profile')}}") - .left - .form-group - | {{ form.username.label }} - | {{ form.username(size=20, class='form-control') }} - | {% if form.username.errors %} - | {% for error in form.username.errors %}{{ error|e }}{% endfor %} - | {% endif %} + .form-group + label {{ _("Full name") }} + p {{ current_user.full_name }} + .form-group + label {{ _("E-mail") }} + p {{ current_user.email }} - .form-group - label {{ _("Full name") }} - p {{ current_user.full_name }} - .form-group - label {{ _("E-mail") }} - p {{ current_user.email }} + .form-group + | {{ _("Change your full name, email, and password at") }} #[a(href="https://www.blender.org/id/settings/profile",target='_blank') Blender ID]. - .form-group - | {{ _("Change your full name, email, and password at") }} #[a(href="https://www.blender.org/id/settings/profile",target='_blank') Blender ID]. - - .right - .settings-avatar - a(href="https://gravatar.com/") - img(src="{{ current_user.gravatar }}") - span {{ _("Change Gravatar") }} - - .buttons - button.btn.btn-default.button-submit(type='submit') - i.pi-check - | {{ _("Save Changes") }} + .right + .settings-avatar + a(href="https://gravatar.com/") + img(src="{{ current_user.gravatar }}") + span {{ _("Change Gravatar") }} + .buttons + button.btn.btn-default.button-submit(type='submit') + i.pi-check + | {{ _("Save Changes") }} | {% endblock %}