login_user.html 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. {% extends "base.html" %}
  2. {% set active_page = "logged-in-user" %}
  3. {% block title %} Please log in {% endblock %}
  4. {% from "security/_macros.html" import render_field_with_errors, render_field %}
  5. {% block divs %}
  6. <div class="container-fluid">
  7. <div class="row" style="text-align: center; padding-bottom: 30px;">
  8. <div class="col-md-12">
  9. {% block platform_title %}
  10. <h1>The FlexMeasures Platform</h1>
  11. {% endblock platform_title %}
  12. {% include "security/_messages.html" %}
  13. </div>
  14. </div>
  15. <div class="row">
  16. <div class="col-lg-4">
  17. <div class="card">
  18. <div class="login-form">
  19. <h1>{{ _fsdomain('Login') }}</h1>
  20. <form action="{{ url_for_security('login') }}" method="POST" name="login_user_form">
  21. {{ login_user_form.hidden_tag() }}
  22. {{ render_field_with_errors(login_user_form.email) }}
  23. {{ render_field_with_errors(login_user_form.password) }}
  24. {{ render_field_with_errors(login_user_form.remember) }}
  25. {{ render_field(login_user_form.submit) }}
  26. </form>
  27. <form action="/reset" method="get">
  28. <button class="btn btn-sm btn-responsive btn-link" type="submit">Forgot password?</button>
  29. </form>
  30. {% if FLEXMEASURES_MODE == "demo" and FLEXMEASURES_PUBLIC_DEMO_CREDENTIALS %}
  31. <div class="alert alert-info col-md-8">
  32. <h2>Interested in a demo?</h2>
  33. <p>
  34. Simply log in as our demo user.
  35. <ul>
  36. <li>Email: {{ FLEXMEASURES_PUBLIC_DEMO_CREDENTIALS[0] }}</li>
  37. <li>Password: {{ FLEXMEASURES_PUBLIC_DEMO_CREDENTIALS[1] }}</li>
  38. </ul>
  39. </p>
  40. </div>
  41. {% endif %}
  42. </div>
  43. </div>
  44. </div>
  45. <div class="col-lg-4">
  46. <div class="card">
  47. {% block teaser %}
  48. <div class="carousel-container">
  49. <div id="myCarousel" class="carousel slide" data-bs-ride="carousel">
  50. <!-- Indicators -->
  51. <div class="carousel-indicators">
  52. <button type="button" data-bs-target="#myCarousel" data-bs-slide-to="0" class="active" aria-current="true" aria-label="Slide 1"></button>
  53. <button type="button" data-bs-target="#myCarousel" data-bs-slide-to="1" aria-label="Slide 2"></button>
  54. <button type="button" data-bs-target="#myCarousel" data-bs-slide-to="2" aria-label="Slide 3"></button>
  55. </div>
  56. <!-- Wrapper for slides -->
  57. <div class="carousel-inner">
  58. <div class="carousel-item active">
  59. <img src="ui/static/images/flexmeasures-preview.jpg"
  60. alt="The FlexMeasures platform on a laptop."
  61. title="FlexMeasures provides in-depth analytics of flexibility in your portfolio."
  62. >
  63. <div class="carousel-caption">
  64. In-depth analytics of flexibility in your portfolio.
  65. </div>
  66. </div>
  67. <div class="carousel-item">
  68. <img src="ui/static/images/tj-k-349056-unsplash.jpg"
  69. alt="A landscape with wind farms."
  70. title="FlexMeasures helps to forecast costs and revenues with precision."
  71. >
  72. <div class="carousel-caption">
  73. Costs and revenues forecast with precision.
  74. </div>
  75. </div>
  76. <div class="carousel-item">
  77. <img src="ui/static/images/chase-lewis-506404-unsplash.jpg"
  78. alt="A tesla charging station."
  79. title="FlexMeasures provides charging strategies that help balance the grid."
  80. >
  81. <div class="carousel-caption">
  82. Charging strategies that help balance the grid.
  83. </div>
  84. </div>
  85. </div>
  86. <!-- Left and right controls -->
  87. <button class="carousel-control-prev" type="button" data-bs-target="#myCarousel" data-bs-slide="prev">
  88. <span class="carousel-control-prev-icon" aria-hidden="true"></span>
  89. <span class="visually-hidden">Previous</span>
  90. </button>
  91. <button class="carousel-control-next" type="button" data-bs-target="#myCarousel" data-bs-slide="next">
  92. <span class="carousel-control-next-icon" aria-hidden="true"></span>
  93. <span class="visually-hidden">Next</span>
  94. </button>
  95. </div>
  96. </div>
  97. {% endblock teaser %}
  98. </div>
  99. </div>
  100. <div class="col-lg-4"></div>
  101. </div>
  102. </div>
  103. {% endblock divs %}