external-accounts.html 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. {% extends '../layout/2column.html' %}
  2. {% block html_title %}{{ t('Password Settings') }} · {{ path }}{% endblock %}
  3. {% block content_head %}
  4. <div class="header-wrap">
  5. <header id="page-header">
  6. <h1 class="title" id="">{{ t('User Settings') }}</h1>
  7. </header>
  8. </div>
  9. {% endblock %}
  10. {% block content_main %}
  11. <div class="content-main">
  12. <ul class="nav nav-tabs">
  13. <li><a href="/me"><i class="fa fa-gears"></i> {{ t('User Information') }}</a></li>
  14. <li class="active"><a href="/me/external-accounts"><i class="fa fa-user-plus"></i> {{ t('External Accounts') }}</a></li>
  15. <li><a href="/me/password"><i class="fa fa-key"></i> {{ t('Password Settings') }}</a></li>
  16. <li><a href="/me/apiToken"><i class="fa fa-rocket"></i> {{ t('API Settings') }}</a></li>
  17. </ul>
  18. <div class="tab-content">
  19. {% set message = req.flash('successMessage') %}
  20. {% if message.length %}
  21. <div class="alert alert-success">
  22. {{ message }}
  23. </div>
  24. {% endif %}
  25. {% if req.form.errors.length > 0 %}
  26. <div class="alert alert-danger">
  27. <ul>
  28. {% for error in req.form.errors %}
  29. <li>{{ error }}</li>
  30. {% endfor %}
  31. </ul>
  32. </div>
  33. {% endif %}
  34. <legend>{{ t('External Accounts') }}</legend>
  35. <table class="table table-hover table-striped table-bordered table-user-list">
  36. <thead>
  37. <tr>
  38. <th width="120px">Authentication Provider</th>
  39. <th><code>accountId</code></th>
  40. <th width="200px">{{ t('Created') }}</th>
  41. <th width="150px">{{ t('Admin') }}</th>
  42. </tr>
  43. </thead>
  44. <tbody>
  45. {% for account in externalAccounts %}
  46. <tr>
  47. <td>{{ account.providerType }}</td>
  48. <td>
  49. <strong>{{ account.accountId }}</strong>
  50. </td>
  51. <td>{{ account.createdAt|date('Y-m-d', account.createdAt.getTimezoneOffset()) }}</td>
  52. <td>
  53. <div class="btn-group">
  54. <form action="/me/external-accounts/disassociate" method="post">
  55. <input type="hidden" name="_csrf" value="{{ csrf() }}">
  56. <button type="submit" class="btn btn-sm btn-danger">
  57. <i class="fa fa-unlink"></i>
  58. {{ t('Diassociate') }}
  59. </button>
  60. </form>
  61. </div>{# end of .btn-group #}
  62. </td>
  63. </tr>
  64. {% endfor %}
  65. </tbody>
  66. </table>
  67. <div id="form-box">
  68. <form action="/me/password" method="post" class="form-horizontal" role="form">
  69. <fieldset>
  70. <legend>{{ t('External Accounts') }}</legend>
  71. <div class="form-group {% if not user.password %}has-error{% endif %}">
  72. <label for="mePassword[newPassword]" class="col-xs-3 control-label">{{ t('New password') }}</label>
  73. <div class="col-xs-6">
  74. <input class="form-control" type="password" name="mePassword[newPassword]" required>
  75. </div>
  76. </div>
  77. <div class="form-group">
  78. <label for="mePassword[newPasswordConfirm]" class="col-xs-3 control-label">{{ t('Re-enter new password') }}</label>
  79. <div class="col-xs-6">
  80. <input class="form-control col-xs-4" type="password" name="mePassword[newPasswordConfirm]" required>
  81. <p class="help-block">{{ t('page_register.form_help.password') }}</p>
  82. </div>
  83. </div>
  84. <div class="form-group">
  85. <div class="col-xs-offset-2 col-xs-10">
  86. <button type="submit" class="btn btn-primary">{{ t('Update') }}</button>
  87. </div>
  88. </div>
  89. </fieldset>
  90. </form>
  91. </div>
  92. </div>
  93. </div>
  94. {% endblock content_main %}
  95. {% block content_footer %}
  96. {% endblock %}
  97. {% block footer %}
  98. {% endblock %}