-{% extends "../base.html" %}
+{% extends "modal.html" %}
-{% block title %}{{ user }} - {{ _("Edit User") }}{% end block %}
+{% block title %}{{ _("Edit %s") % user }}{% endblock %}
-{% block container %}
- <nav aria-label="{{ _("You are here:") }}" role="navigation">
- <ul class="breadcrumbs">
- <li>
- <a href="/">{{ _("Home") }}</a>
- </li>
+{% block breadcrumbs %}
+ <nav class="breadcrumb" aria-label="breadcrumbs">
+ <ul>
<li>
<a href="/users">{{ _("Users") }}</a>
</li>
+
<li>
<a href="/users/{{ user.name }}">{{ user }}</a>
</li>
- <li>
- <span class="show-for-sr">{{ _("Current") }}: </span> {{ _("Edit") }}
+
+ <li class="is-active">
+ <a href="#" aria-current="page">{{ _("Edit") }}</a>
</li>
</ul>
</nav>
+{% endblock %}
+
+{% block modal_title %}
+ <h4 class="title is-4">{{ _("Edit %s") % user }}</h4>
+{% endblock %}
- <div class="grid-x grid-padding-x">
- <div class="cell large-6 float-center">
- <form method="POST" action="">
- <div class="callout">
- {% raw xsrf_form_html() %}
+{% block modal %}
+ <form method="POST" action="">
+ {{ xsrf_form_html() | safe }}
- {# XXX TODO there is nothing to do here right now #}
- </div>
+ {# Bugzilla API Key #}
+ <div class="field">
+ <label class="label">{{ _("Bugzilla API Key") }}</label>
+
+ <div class="control">
+ <input class="input" type="text" name="bugzilla-api-key">
+ </div>
+ </div>
- <button class="success button expanded" type="submit">{{ _("Save") }}</button>
+ <div class="field is-grouped">
+ <div class="control">
+ <button class="button is-success is-link" type="submit">
+ {{ _("Save") }}
+ </button>
+ </div>
- <a class="small danger button expanded" href="/users/{{ user.name }}/delete">
+ <div class="control">
+ <a class="button is-danger is-outlined is-link" href="/users/{{ user.name }}/delete">
{{ _("Delete") }}
</a>
- </form>
+ </div>
</div>
- </div>
-{% end block %}
+ </form>
+{% endblock %}
class EditHandler(base.BaseHandler):
@base.authenticated
- def get(self, name):
- user = self.backend.users.get_by_name(name)
+ async def get(self, name):
+ user = await self.backend.users.get_by_name(name)
if not user:
raise tornado.web.HTTPError(404, "Could not find user %s" % name)
if not user.has_perm(self.current_user):
raise tornado.web.HTTPError(403)
- self.render("users/edit.html", user=user)
+ await self.render("users/edit.html", user=user)
@base.authenticated
async def post(self, name):
- user = self.backend.users.get_by_name(name)
+ user = await self.backend.users.get_by_name(name)
if not user:
raise tornado.web.HTTPError(404, "Could not find user %s" % name)
if not user.has_perm(self.current_user):
raise tornado.web.HTTPError(403)
- with self.db.transaction():
+ async with await self.db.transaction():
# Connect to Bugzilla
bugzilla_api_key = self.get_argument("bugzilla_api_key", None)
if bugzilla_api_key: