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 1e423659f6b88228c64a8976bd18568f3509a3bd..84d8e2885385fe614c80976eed22b0f6641b70c3 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationController.java @@ -5,21 +5,15 @@ import de.deadlocker8.budgetmaster.controller.BaseController; import de.deadlocker8.budgetmaster.settings.SettingsService; import de.deadlocker8.budgetmaster.utils.Mappings; import de.deadlocker8.budgetmaster.utils.Strings; -import de.deadlocker8.budgetmaster.utils.WebRequestUtils; -import de.deadlocker8.budgetmaster.utils.notification.Notification; -import de.deadlocker8.budgetmaster.utils.notification.NotificationType; -import de.thecodelabs.utils.util.Localization; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.validation.BindingResult; import org.springframework.validation.FieldError; import org.springframework.web.bind.annotation.*; -import org.springframework.web.context.request.WebRequest; import javax.servlet.http.HttpServletRequest; import javax.validation.Valid; -import java.io.IOException; @Controller @@ -36,6 +30,7 @@ public class MigrationController extends BaseController private static class ReturnValues { public static final String MIGRATION_SETTINGS = "migration/migration"; + public static final String REDIRECT_STATUS = "redirect:migration/status"; public static final String STATUS = "migration/status"; public static final String STATUS_FRAGMENT = "migration/statusFragment"; } @@ -67,8 +62,7 @@ public class MigrationController extends BaseController } @PostMapping - public String post(WebRequest request, - Model model, + public String post(Model model, @ModelAttribute("MigrationSettings") @Valid MigrationSettings migrationSettings, BindingResult bindingResult, @RequestParam(value = "verificationPassword") String verificationPassword) { @@ -97,7 +91,7 @@ public class MigrationController extends BaseController .build(); migrationService.startMigration(migrationArguments); - return ReturnValues.STATUS; + return ReturnValues.REDIRECT_STATUS; } @GetMapping("/status") diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationStatus.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationStatus.java index 61e49a05bb461b2a1761ca899fc93074eba112a9..87ece294d90ebe14565741bbf3335e33e9184ce7 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationStatus.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/migration/MigrationStatus.java @@ -2,16 +2,25 @@ package de.deadlocker8.budgetmaster.migration; public enum MigrationStatus { - NOT_RUNNING("migration.status.not.running"), - RUNNING("migration.status.running"), - SUCCESS("migration.status.success"), - ERROR("migration.status.error"); + NOT_RUNNING("fas fa-ban", "migration.status.not.running", "text-blue"), + RUNNING("fas fa-gears", "migration.status.running", "text-blue"), + SUCCESS("fas fa-check", "migration.status.success", "text-green"), + ERROR("fas fa-exclamation-triangle", "migration.status.error", "red-text"); // red-text is better readable than text-red + private final String icon; private final String localizationKey; + private final String textColor; - MigrationStatus(String localizationKey) + MigrationStatus(String icon, String localizationKey, String textColor) { + this.icon = icon; this.localizationKey = localizationKey; + this.textColor = textColor; + } + + public String getIcon() + { + return icon; } public String getLocalizationKey() @@ -19,11 +28,19 @@ public enum MigrationStatus return localizationKey; } + + public String getTextColor() + { + return textColor; + } + @Override public String toString() { return "MigrationStatus{" + - "localizationKey='" + localizationKey + '\'' + + "icon='" + icon + '\'' + + ", localizationKey='" + localizationKey + '\'' + + ", textColor='" + textColor + '\'' + "} " + super.toString(); } } diff --git a/BudgetMasterServer/src/main/resources/static/css/style.css b/BudgetMasterServer/src/main/resources/static/css/style.css index 02eeaabce8abc00ede6e4de0a79ee9275143f63b..3c82c70847ce13a5d8bc53b2efd3ddee85d4d0b5 100644 --- a/BudgetMasterServer/src/main/resources/static/css/style.css +++ b/BudgetMasterServer/src/main/resources/static/css/style.css @@ -538,6 +538,18 @@ input[type="radio"]:checked + span::after, [type="radio"].with-gap:checked + spa margin-top: 3rem; } +.migration-status { + display: flex; + flex-direction: row; + justify-content: center; + align-items: center; +} + +.migration-status-icon { + padding-right: 1rem; + font-size: 2rem; +} + .invisible { opacity: 0; } diff --git a/BudgetMasterServer/src/main/resources/static/js/migration.js b/BudgetMasterServer/src/main/resources/static/js/migration.js index fc1b6d02b397411333213d218a1f2b4a95370f42..1f053df3b04bd93db60ee5fcdf706227d38fa7a4 100644 --- a/BudgetMasterServer/src/main/resources/static/js/migration.js +++ b/BudgetMasterServer/src/main/resources/static/js/migration.js @@ -5,8 +5,6 @@ $(document).ready(function() function getMigrationStatus() { - console.log("ja") - $.ajax({ type: 'GET', url: $('#migration-status').attr('data-url'), diff --git a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl index 83e8da527437683589b1774e63873486eb16341d..9d676d04ed2d632ce6a4d8a20aa28a54db1883b2 100644 --- a/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl +++ b/BudgetMasterServer/src/main/resources/templates/migration/statusFragment.ftl @@ -4,7 +4,7 @@ <div class="row"> <div class="col s12 m12 l8 offset-l2"> - <div class="headline-small">${locale.getString(status.getLocalizationKey())}</div> + <div class="headline-small migration-status"><i class="${status.getIcon()} ${status.getTextColor()} migration-status-icon"></i> ${locale.getString(status.getLocalizationKey())}</div> </div> </div>