- if (document.getElementById("update_packages").checked == 1) {
- request_dict.update_packages = 1
- }
- server_request(request_dict, "update-request", update_request_callback)
-}
-
-function update_request_callback(response_object) {
- if (response_object.status === 500) {
- // python crashed
- update_error("internal server error, please try again later")
- console.log("update server issue")
- } else if (response_object.status === 502) {
- // python part offline
- update_error("internal server error, please try again later")
- console.log("update server issue")
- } else if (response_object.status === 503) {
- // handle overload
- update_error("server overloaded, retry in 5 minutes")
- console.log("server overloaded")
- setTimeout(update_request, 300000)
- } else if (response_object.status === 201) {
- update_info("imagebuilder not ready, please wait")
- console.log("setting up imagebuilder")
- setTimeout(update_request, 5000)
- } else if (response_object.status === 204) {
- // no updates
- update_info("no updates available")
- } else if (response_object.status === 400) {
- // bad request
- console.log(response_object.responseText)
- response_object_content = JSON.parse(response_object.responseText)
- update_error(response_object_content.error)
- } else if (response_object.status === 200) {
- // new release/updates
- response_object_content = JSON.parse(response_object.responseText)
- document.getElementById("edit_button").style.display = "block";
- document.getElementById("update_button").disabled = false;
- update_request_200(response_object_content)
- }
-}
-
-function back_online() {
- ubus_request("session", "login", {}, back_online_callback)
-}
-
-function back_online_callback(response_object) {
- if (response_object.status != 200) {
- setTimeout(back_online, 5000)
- } else {
- update_info("upgrade successfull!")
- document.getElementById("update_button").value = "reload page";
- document.getElementById("update_button").onclick = function() { location.reload(); }
- }
-
-}
-
-function update_request_200(response_content) {
- info_output = ""
- if(response_content.version != undefined) {
- info_output += "<h3>new update available</h3>"
- info_output += data.release.version + " to " + response_content.version
- latest_version = response_content.version;
- }
- if(response_content.updates != undefined) {
- info_output += "<h3>package updates available</h3>"
- for (update in response_content.updates) {
- info_output += "<b>" + update + "</b>: " + response_content.updates[update][1] + " to " + response_content.updates[update][0] + "</br>"
- }
- }
- data.packages = response_content.packages
- update_info(info_output)
- document.getElementById("update_button").value = "request image";
- document.getElementById("update_packages_container").style.display = "none";
- document.getElementById("update_button").onclick = image_request;