diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java index 84d8e2885385fe614c80976eed22b0f6641b70c3..63dab73690dff78f0926abc6b0977231e23a6636 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java @@ -95,8 +95,9 @@ public class MigrationController extends BaseController } @GetMapping("/status") - public String status() + public String status(Model model) { + model.addAttribute(ModelAttributes.STATUS, migrationService.getMigrationStatus()); return ReturnValues.STATUS; } diff --git a/BudgetMasterServer/src/main/resources/static/js/migration.js b/BudgetMasterServer/src/main/resources/static/js/migration.js index 1f053df3b04bd93db60ee5fcdf706227d38fa7a4..dc8c9c876858a07fc9aa080040623939a8716992 100644 --- a/BudgetMasterServer/src/main/resources/static/js/migration.js +++ b/BudgetMasterServer/src/main/resources/static/js/migration.js @@ -5,6 +5,33 @@ $(document).ready(function() function getMigrationStatus() { + if(typeof migrationStatus === 'undefined') + { + document.getElementById('progress-spinner').style.display = 'none'; + } + else + { + switch(migrationStatus) + { + case 'NOT_RUNNING': + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = 'none'; + break; + case 'SUCCESS': + document.getElementById('button-migration-home').style.display = ''; + document.getElementById('progress-spinner').style.display = 'none'; + break; + case 'RUNNING': + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = ''; + break; + default: + document.getElementById('button-migration-home').style.display = 'none'; + document.getElementById('progress-spinner').style.display = 'none'; + return; + } + } + $.ajax({ type: 'GET', url: $('#migration-status').attr('data-url'), diff --git a/BudgetMasterServer/src/main/resources/templates/migration/status.ftl b/BudgetMasterServer/src/main/resources/templates/migration/status.ftl index 5943e03b24b7250c7a3e9088a5825d6679d73645..f45365e3676060be6a0bd175bb475b8a6a9da1d5 100644 --- a/BudgetMasterServer/src/main/resources/templates/migration/status.ftl +++ b/BudgetMasterServer/src/main/resources/templates/migration/status.ftl @@ -21,7 +21,7 @@ <div class="container center-align"> <div class="row"> <div class="col s12 m12 l8 offset-l2"> - <div class="preloader-wrapper small active"> + <div class="preloader-wrapper small active" id="progress-spinner"> <div class="spinner-layer spinner-blue-only"> <div class="circle-clipper left"> <div class="circle"></div> @@ -38,10 +38,20 @@ </div> <div id="migration-status" data-url="<@s.url '/migration/getStatus'/>"></div> + + <div class="row" id="button-migration-home"> + <div class="col s12 m12 l8 offset-l2"> + <@header.buttonLink url='/' icon='home' localizationKey='menu.home'/> + </div> + </div> </div> </div> </main> + <script> + migrationStatus = "${status.name()}"; + </script> + <!-- Scripts--> <#import "../helpers/scripts.ftl" as scripts> <@scripts.scripts/> diff --git a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl index 9d676d04ed2d632ce6a4d8a20aa28a54db1883b2..8a379152ad46eb4e4350fa9a84598308970d8e6c 100644 --- a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl +++ b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl @@ -11,4 +11,8 @@ <div class="row"> <div class="col s12 m12 l8 offset-l2"> </div> -</div> \ No newline at end of file +</div> + +<script> + migrationStatus = "${status.name()}"; +</script> \ No newline at end of file