installer.html 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. {% extends 'layout/layout.html' %}
  2. {% block html_base_css %}installer nologin{% endblock %}
  3. {% block html_title %}{{ customTitle(t('installer.setup')) }}{% endblock %}
  4. {#
  5. # Remove default contents
  6. #}
  7. {% block html_head_loading_legacy %}
  8. {% endblock %}
  9. {% block html_head_loading_app %}
  10. {% endblock %}
  11. {% block layout_head_nav %}
  12. {% endblock %}
  13. {% block sidebar %}
  14. {% endblock %}
  15. {% block html_additional_headers %}
  16. {% parent %}
  17. <script src="{{ webpack_asset('js/installer.js') }}" defer></script>
  18. {% endblock %}
  19. {% block layout_main %}
  20. <div class="main container-fluid">
  21. <div class="row">
  22. <div class="login-header col-sm-offset-4 col-sm-4">
  23. <div class="logo">{% include 'widget/logo.html' %}</div>
  24. <h1>GROWI</h1>
  25. <div class="login-form-errors">
  26. {% if req.form.errors.length > 0 %}
  27. <div class="alert alert-danger">
  28. <ul>
  29. {% for error in req.form.errors %}
  30. <li>{{ error }}</li>
  31. {% endfor %}
  32. </ul>
  33. </div>
  34. {% endif %}
  35. </div>
  36. </div>
  37. <div class="login-dialog p-t-10 p-b-10 col-sm-offset-4 col-sm-4" id="login-dialog">
  38. <p class="alert alert-success">
  39. <strong>{{ t('installer.create_initial_account') }}</strong><br>
  40. <small>{{ t('installer.initial_account_will_be_administrator_automatically') }}</small>
  41. </p>
  42. <p class="alert alert-warning p-b-10 p-t-10">
  43. <small>{{ t('installer.current_language') }}: {{ appGlobalLang() }}</small>
  44. </p>
  45. <div id='installer-form'
  46. data-user-name="{{ req.body.registerForm.username }}"
  47. data-name="{{ googleName|default(req.body.registerForm.name) }}"
  48. data-email="{{ googleEmail|default(req.body.registerForm.email) }}"
  49. data-csrf="{{ csrf() }}">
  50. </div>
  51. </div>
  52. </div>{# /.row #}
  53. </div>{# /.main #}
  54. <script>
  55. $(function() {
  56. $('#register-form input[name="registerForm[username]"]').change(function(e) {
  57. var username = $(this).val();
  58. $('#login-dialog').removeClass('has-error');
  59. $('#input-group-username').removeClass('has-error');
  60. $('#help-block-username').html("");
  61. $.getJSON('/_api/check_username', {username: username}, function(json) {
  62. if (!json.valid) {
  63. $('#help-block-username').html(
  64. '<i class="icon-fw icon-ban"></i>{{ t("installer.unavaliable_user_id") }}'
  65. );
  66. $('#login-dialog').addClass('has-error');
  67. $('#input-group-username').addClass('has-error');
  68. }
  69. });
  70. });
  71. });
  72. </script>
  73. {% endblock %}