diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java index 2e14ae09f7d46bc06058e22b1058bebc5d1c553a..1df27b2c37fb81fada0072c59634115ffd8c3738 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/settings/SettingsController.java @@ -86,7 +86,7 @@ public class SettingsController extends BaseController private static class RequestAttributeNames { - public static final String DATABASE = "database"; + public static final String DATABASE_TO_IMPORT = "databaseToImport"; public static final String IMPORT_TEMPLATE_GROUPS = "importTemplatesGroups"; public static final String IMPORT_TEMPLATES = "importTemplates"; public static final String IMPORT_CHARTS = "importCharts"; @@ -123,7 +123,7 @@ public class SettingsController extends BaseController public String settings(WebRequest request, Model model) { prepareBasicModel(model, settingsService.getSettings()); - request.removeAttribute(RequestAttributeNames.DATABASE, RequestAttributes.SCOPE_SESSION); + request.removeAttribute(RequestAttributeNames.DATABASE_TO_IMPORT, RequestAttributes.SCOPE_SESSION); request.removeAttribute(RequestAttributeNames.IMPORT_TEMPLATE_GROUPS, RequestAttributes.SCOPE_SESSION); request.removeAttribute(RequestAttributeNames.IMPORT_TEMPLATES, RequestAttributes.SCOPE_SESSION); request.removeAttribute(RequestAttributeNames.IMPORT_CHARTS, RequestAttributes.SCOPE_SESSION); @@ -375,7 +375,7 @@ public class SettingsController extends BaseController DatabaseParser importer = new DatabaseParser(jsonString); InternalDatabase database = importer.parseDatabaseFromJSON(); - request.setAttribute(RequestAttributeNames.DATABASE, database, RequestAttributes.SCOPE_SESSION); + request.setAttribute(RequestAttributeNames.DATABASE_TO_IMPORT, database, RequestAttributes.SCOPE_SESSION); return ReturnValues.REDIRECT_IMPORT_DATABASE_STEP_1; } catch(Exception e) @@ -391,7 +391,7 @@ public class SettingsController extends BaseController @GetMapping("/database/import/step1") public String importStepOne(WebRequest request, Model model) { - model.addAttribute(ModelAttributes.DATABASE, request.getAttribute(RequestAttributeNames.DATABASE, RequestAttributes.SCOPE_SESSION)); + model.addAttribute(ModelAttributes.DATABASE, request.getAttribute(RequestAttributeNames.DATABASE_TO_IMPORT, RequestAttributes.SCOPE_SESSION)); return ReturnValues.IMPORT_DATABASE_STEP_1; } @@ -401,8 +401,8 @@ public class SettingsController extends BaseController @RequestParam(value = "TEMPLATE_GROUP", required = false) boolean importTemplateGroups, @RequestParam(value = "CHART", required = false) boolean importCharts) { - final InternalDatabase database = (InternalDatabase) request.getAttribute(RequestAttributeNames.DATABASE, RequestAttributes.SCOPE_SESSION); - request.removeAttribute(RequestAttributeNames.DATABASE, RequestAttributes.SCOPE_SESSION); + final InternalDatabase database = (InternalDatabase) request.getAttribute(RequestAttributeNames.DATABASE_TO_IMPORT, RequestAttributes.SCOPE_SESSION); + request.removeAttribute(RequestAttributeNames.DATABASE_TO_IMPORT, RequestAttributes.SCOPE_SESSION); prepareBasicModel(model, settingsService.getSettings()); diff --git a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java index f868c4ed1bb6da55e37698259f3dead8e89218d9..2644ca87eabbb3c7718544808556d35470e2578b 100644 --- a/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java +++ b/BudgetMasterServer/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionImportController.java @@ -79,11 +79,11 @@ public class TransactionImportController extends BaseController { request.removeAttribute(RequestAttributeNames.CURRENT_CSV_TRANSACTION, RequestAttributes.SCOPE_SESSION); - // copy session attributes to model, otherwise they are not available in freemarker - fillModelAttributeFromRequestSessionOrDefault(model, RequestAttributeNames.CSV_IMPORT, request, new CsvImport(null, ";", StandardCharsets.UTF_8.name(), 0)); - fillModelAttributeFromRequestSession(model, RequestAttributeNames.CSV_ROWS, request); - fillModelAttributeFromRequestSession(model, RequestAttributeNames.CSV_TRANSACTIONS, request); - fillModelAttributeFromRequestSession(model, RequestAttributeNames.ERRORS_COLUMN_SETTINGS, request); + final Object attribute = request.getAttribute(RequestAttributeNames.CSV_IMPORT, RequestAttributes.SCOPE_SESSION); + if(attribute == null) + { + model.addAttribute(RequestAttributeNames.CSV_IMPORT, new CsvImport(null, ";", StandardCharsets.UTF_8.name(), 0)); + } final Object bindingResult = request.getAttribute(RequestAttributeNames.ERROR_UPLOAD, RequestAttributes.SCOPE_SESSION); if(bindingResult != null) @@ -98,28 +98,6 @@ public class TransactionImportController extends BaseController return ReturnValues.TRANSACTION_IMPORT; } - private void fillModelAttributeFromRequestSessionOrDefault(Model model, String attributeName, WebRequest request, Object defaultValue) - { - final Object attribute = request.getAttribute(attributeName, RequestAttributes.SCOPE_SESSION); - if(attribute == null) - { - model.addAttribute(attributeName, defaultValue); - } - else - { - model.addAttribute(attributeName, attribute); - } - } - - private void fillModelAttributeFromRequestSession(Model model, String attributeName, WebRequest request) - { - final Object attribute = request.getAttribute(attributeName, RequestAttributes.SCOPE_SESSION); - if(attribute != null) - { - model.addAttribute(attributeName, attribute); - } - } - @PostMapping("/upload") public String upload(WebRequest request, @ModelAttribute("CsvImport") CsvImport csvImport, diff --git a/BudgetMasterServer/src/main/resources/application.properties b/BudgetMasterServer/src/main/resources/application.properties index d0e3999027995e755d43e9730d3b47709c01a34e..c34aaf1050d485e556ca6cf13f5adad1558c4331 100644 --- a/BudgetMasterServer/src/main/resources/application.properties +++ b/BudgetMasterServer/src/main/resources/application.properties @@ -15,6 +15,8 @@ logging.level.de.deadlocker8=DEBUG spring.freemarker.template-loader-path= classpath:/templates spring.freemarker.suffix=.ftl +spring.freemarker.expose-session-attributes=true + versionizer.service.cron=0 0 12 * * * app.name=@project.artifactId@