summaryrefslogtreecommitdiff
path: root/addons/hw_posbox_homepage/views/upgrade_page.html
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/hw_posbox_homepage/views/upgrade_page.html
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/hw_posbox_homepage/views/upgrade_page.html')
-rw-r--r--addons/hw_posbox_homepage/views/upgrade_page.html95
1 files changed, 95 insertions, 0 deletions
diff --git a/addons/hw_posbox_homepage/views/upgrade_page.html b/addons/hw_posbox_homepage/views/upgrade_page.html
new file mode 100644
index 00000000..81fe2c3b
--- /dev/null
+++ b/addons/hw_posbox_homepage/views/upgrade_page.html
@@ -0,0 +1,95 @@
+{% extends "layout.html" %}
+{% from "loading.html" import loading_block_ui %}
+{% block head %}
+ <script type="text/javascript" src="/web/static/lib/jquery/jquery.js"></script>
+ <script>
+ $(function() {
+ var updating = false;
+ $('#upgrade').click(function() {
+ if (!updating) {
+ updating = true;
+ $('.loading-block').removeClass('o_hide');
+ $.ajax({
+ url:'/hw_proxy/perform_upgrade/'
+ }).done(function() {
+ $('.message-title').text('Upgrade successful');
+ var cpt = 25;
+ setInterval(function() {
+ --cpt;
+ if (cpt === 0) {location.reload();}
+ $('.message-status').text('Restarting the IoTBox. Available in ' + cpt);
+ } , 1000);
+ }).fail(function() {
+ $('.error-message').text('Upgrade Failed');
+ });
+ }
+ });
+ $('#flash').click(async function() {
+ if (confirm('Are you sure you want to flash your IoT Box?\nThe box will be unavailable for ~30 min\nDo not turn off the box or close this page during the flash.\nThis page will reaload when your box is ready.')) {
+ $('.loading-block').removeClass('o_hide');
+ $('.message-title').text('IoTBox perform a self flashing it take a lot of time (~30min).');
+ $('.message-status').text('Prepare space for IoTBox.');
+ try {
+ await $.ajax({url: '/hw_proxy/perform_flashing_create_partition/'}).promise();
+ $('.message-status').text('Prepare new boot partition.');
+ await $.ajax({url: '/hw_proxy/perform_flashing_download_raspios/'}).promise();
+ $('.message-status').text('Download file for new boot partition.');
+ await $.ajax({url: '/hw_proxy/perform_flashing_copy_raspios/'}).promise();
+ $('.message-status').text('Prepare to restart and installation of the new version of the IoT Box.');
+ setTimeout(function() {
+ $('.message-status').text('The auto flash is almost finished - the page will be automatically reloaded');
+ setInterval(function() {
+ $.ajax({
+ url: '/hw_proxy/get_version',
+ timeout: 4000,
+ }).done(function(version) {
+ if (version == {{ flashToVersion }}) {
+ window.location = '/';
+ }
+ });
+ } , 2000);
+ }, 240000);
+ }
+ catch(error) {
+ $('.loading-block').addClass('o_hide');
+ $('.error-message').text(error.responseText);
+ }
+ }
+ });
+ });
+ </script>
+ <style>
+ .commit-details {
+ background: #f1f1f1;
+ padding: 10px 10px 0 10px;
+ border-radius: 5px;
+ }
+ </style>
+{% endblock %}
+{% block content %}
+ <h2 class="text-center">IoT Box Software Upgrade</h2>
+ <p>
+ This tool will help you perform an upgrade of the IoTBox's software over the internet.
+ However the preferred method to upgrade the IoTBox is to flash the sd-card with
+ the <a href='https://nightly.odoo.com/master/iotbox/iotbox-latest.zip'>latest image</a>. The upgrade
+ procedure is explained into to the
+ <a href='https://www.odoo.com/documentation/14.0/applications/productivity/iot.html'>IoTBox manual</a>
+ </p>
+ <p>
+ To upgrade the IoTBox, click on the upgrade button. The upgrade will take a few minutes. <b>Do not reboot</b> the IoTBox during the upgrade.
+ </p>
+ <div class="commit-details">
+ <div style="padding-bottom: 5px; font-weight: bold;">
+ Latest patch:
+ </div>
+ <pre style="margin: 0;padding: 15px 0; overflow: auto;">{{ commit|safe }}</pre>
+ </div>
+ <div class="text-center" style="margin: 15px auto;">
+ {% if flashToVersion %}
+ <a class="btn" href='#' id='flash'>Upgrade to {{ flashToVersion }}</a>
+ {% else %}
+ <a class="btn" href='#' id='upgrade'>Upgrade</a>
+ {% endif %}
+ </div>
+ {{ loading_block_ui(loading_message) }}
+{% endblock %}