summaryrefslogtreecommitdiff
path: root/addons/hw_posbox_homepage/views/configure_wizard.html
diff options
context:
space:
mode:
Diffstat (limited to 'addons/hw_posbox_homepage/views/configure_wizard.html')
-rw-r--r--addons/hw_posbox_homepage/views/configure_wizard.html180
1 files changed, 180 insertions, 0 deletions
diff --git a/addons/hw_posbox_homepage/views/configure_wizard.html b/addons/hw_posbox_homepage/views/configure_wizard.html
new file mode 100644
index 00000000..d492a500
--- /dev/null
+++ b/addons/hw_posbox_homepage/views/configure_wizard.html
@@ -0,0 +1,180 @@
+{% extends "layout.html" %}
+{% from "loading.html" import loading_block_ui %}
+{% block head %}
+ <script>
+ $(document).ready(function () {
+ function changePage(key) {
+ $('.progressbar li[data-key=' + key + ']').prevAll().addClass('completed');
+ $('.progressbar li[data-key=' + key + ']').nextAll().removeClass('active completed');
+ $('.progressbar li[data-key=' + key + ']').addClass('active').removeClass('completed');
+ $('.config-steps.active').removeClass('active').addClass('o_hide');
+ $('.config-steps[data-key=' + key + ']').removeClass('o_hide').addClass('active');
+ }
+ $('.next-btn').on('click', function (ev) {
+ changePage($(ev.target).data('key'));
+ });
+ $('#config-form').submit(function(e){
+ e.preventDefault();
+ $('.loading-block').removeClass('o_hide');
+ $.ajax({
+ url: '/step_configure',
+ type: 'post',
+ data: $('#config-form').serialize(),
+ }).done(function (url) {
+ $('.loading-block').addClass('o_hide');
+ changePage('done');
+ if(url) {
+ if ($('#iotname')[0].defaultValue == $('#iotname')[0].value){
+ var cpt = 30;
+ }else{
+ var cpt = 100;
+ }
+ setInterval(function(){
+ if(cpt === 0){
+ window.location = url
+ } else {
+ $('.redirect-message').html('You will be redirected to <a href="'+ url +'">' + url + '</a> in <b>' + cpt + '</b> seconds');
+ --cpt;
+ }
+ } , 1000);
+ }
+ }).fail(function () {
+ $('.error-message').text('Error in submitting data');
+ $('.loading-block').addClass('o_hide');
+ });
+ });
+ });
+ </script>
+ <style>
+ .config-steps .title {
+ font-weight: bold;
+ margin-bottom: 10px;
+ }
+ .progressbar {
+ counter-reset: step;
+ z-index: 1;
+ position: relative;
+ display: inline-block;
+ width: 100%;
+ padding: 0;
+ }
+ .progressbar li{
+ list-style-type: none;
+ float: left;
+ width: 33.33%;
+ position:relative;
+ text-align: center;
+ font-size: 0.8rem;
+ }
+ .progressbar li:before {
+ content:counter(step);
+ counter-increment: step;
+ height:30px;
+ width:30px;
+ line-height: 30px;
+ border: 2px solid #ddd;
+ display:block;
+ text-align: center;
+ margin: 0 auto 6px auto;
+ border-radius: 50%;
+ background-color: white;
+ color: #ddd;
+ font-size: 1rem;
+ }
+ .progressbar li:after {
+ content:'';
+ position: absolute;
+ width:100%;
+ height:2px;
+ background-color: #ddd;
+ top: 15px;
+ left: -50%;
+ z-index: -1;
+ }
+ .progressbar li:first-child:after {
+ content:none;
+ }
+ .progressbar li.active, .progressbar li.completed {
+ color:#875A7B;
+ }
+ .progressbar li:last-child:before {
+ content: '✔';
+ }
+ .progressbar li.active:before {
+ border-color:#875A7B;
+ background-color:#875A7B;
+ color: #fff;
+ }
+ .progressbar li.completed:before{
+ border-color:#875A7B;
+ background-color: #fff;
+ color: #875A7B;
+ }
+ .progressbar li.active + li:after{
+ background-color:#875A7B;
+ }
+ .footer-buttons {
+ display: inline-block;
+ width: 100%;
+ margin-top: 20px;
+ }
+ </style>
+{% endblock %}
+{% block content %}
+ <h2 class="text-center">Configure IoT Box</h2>
+ <ul class="progressbar">
+ <li class="active" data-key="server">Connect to Odoo</li>
+ <li data-key="wifi">Connect to Internet</li>
+ <li data-key="done">Done</li>
+ </ul>
+ <form id="config-form" style="margin-top: 20px;" action='/step_configure' method='POST'>
+ <div>
+ <div class="config-steps active" data-key="server">
+ <table align="center">
+ <tr>
+ <td>IoT Box Name</td>
+ <td><input type="text" id="iotname" name="iotname" value="{{ hostname }}"></td>
+ </tr>
+ <tr>
+ <td>Server token</td>
+ <td><input type="text" name="token" value="{{ server }}" placeholder="Paste your copied token here"></td>
+ </tr>
+ </table>
+ <div class="text-center font-small" style="margin: 10px auto;">
+ Server token is not mandatory for the community version.
+ </div>
+ <div class="footer-buttons">
+ <a class="btn next-btn" style="float: right" data-key="wifi">Next</a>
+ </div>
+ </div>
+ <div class="config-steps wifi-step o_hide" data-key="wifi">
+ <table align="center">
+ <tr>
+ <td>Wifi Network</td>
+ <td>
+ <select name="essid">
+ {% for id in ssid -%}
+ <option value="{{ id }}">{{ id }}</option>
+ {%- endfor %}
+ </select>
+ </td>
+ </tr>
+ <tr>
+ <td>Password</td>
+ <td><input type="password" name="password" placeholder="Optional"/></td>
+ </tr>
+ <input type="hidden" name="persistent" value="True"/>
+ </table>
+ <div class="footer-buttons">
+ <a class="btn next-btn" data-key="server">Previous</a>
+ <input class="btn" style="float: right" type="submit" value="Connect"/>
+ </div>
+ </div>
+ <div class="config-steps o_hide" data-key="done">
+ <h3 class="text-center" style="margin: 0;">✔ Nice! Your configuration is done.</h3>
+ <p class="text-center redirect-message" />
+ </div>
+ </div>
+ {{ loading_block_ui(loading_message) }}
+ </form>
+{% endblock %}