Skip to content

Commit

Permalink
#724 - cancel redirects back to import and mark row as pending
Browse files Browse the repository at this point in the history
  • Loading branch information
deadlocker8 committed Jan 15, 2023
1 parent 72061d7 commit e3d1416
Show file tree
Hide file tree
Showing 3 changed files with 19 additions and 5 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
import de.deadlocker8.budgetmaster.services.DateService;
import de.deadlocker8.budgetmaster.services.HelpersService;
import de.deadlocker8.budgetmaster.settings.SettingsService;
import de.deadlocker8.budgetmaster.transactions.csvimport.CsvTransaction;
import de.deadlocker8.budgetmaster.transactions.csvimport.CsvTransactionStatus;
import de.deadlocker8.budgetmaster.utils.Mappings;
import de.deadlocker8.budgetmaster.utils.ResourceNotFoundException;
import de.deadlocker8.budgetmaster.utils.WebRequestUtils;
Expand Down Expand Up @@ -263,8 +265,12 @@ private String handleRedirect(HttpServletRequest servletRequest, WebRequest requ
}

// redirect back to csv import if import is active
if(request.getAttribute(TransactionImportController.RequestAttributeNames.CSV_TRANSACTIONS, RequestAttributes.SCOPE_SESSION) != null)
final Object currentCsvTransaction = request.getAttribute(TransactionImportController.RequestAttributeNames.CURRENT_CSV_TRANSACTION, RequestAttributes.SCOPE_SESSION);
if(currentCsvTransaction != null)
{
final CsvTransaction csvTransaction = (CsvTransaction) currentCsvTransaction;
csvTransaction.setStatus(CsvTransactionStatus.IMPORTED);
request.removeAttribute(TransactionImportController.RequestAttributeNames.CURRENT_CSV_TRANSACTION, RequestAttributes.SCOPE_SESSION);
return ReturnValues.REDIRECT_IMPORT;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ private static class ModelAttributes

private static class ReturnValues
{
public static final String TRANSACTION_IMPORT = "TRANSACTIONS/transactionImport";
public static final String TRANSACTION_IMPORT = "transactions/transactionImport";
public static final String REDIRECT_IMPORT = "redirect:/transactionImport";
public static final String REDIRECT_CANCEL = "redirect:/transactionImport/cancel";
public static final String NEW_TRANSACTION_NORMAL = "transactions/newTransactionNormal";
Expand All @@ -56,7 +56,7 @@ private RequestAttributeNames()
public static final String CSV_TRANSACTIONS = "csvTransactions";
public static final String ERROR_UPLOAD = "errorUpload";
public static final String ERRORS_COLUMN_SETTINGS = "errorsColumnSettings";

public static final String CURRENT_CSV_TRANSACTION = "currentCsvTransaction";
}

private final TransactionService transactionService;
Expand All @@ -78,6 +78,8 @@ public TransactionImportController(TransactionService transactionService, Helper
@GetMapping
public String transactionImport(WebRequest request, Model model)
{
request.removeAttribute(RequestAttributeNames.CURRENT_CSV_TRANSACTION, RequestAttributes.SCOPE_SESSION);

if(request.getAttribute(RequestAttributeNames.CSV_IMPORT, RequestAttributes.SCOPE_SESSION) == null)
{
model.addAttribute(RequestAttributeNames.CSV_IMPORT, new CsvImport(null, ";", StandardCharsets.UTF_8.name(), 0));
Expand Down Expand Up @@ -239,7 +241,7 @@ public String newTransaction(WebRequest request,
}

final CsvTransaction csvTransaction = transactionOptional.get();
csvTransaction.setStatus(CsvTransactionStatus.IMPORTED);
request.setAttribute(RequestAttributeNames.CURRENT_CSV_TRANSACTION, csvTransaction, RequestAttributes.SCOPE_SESSION);

final Transaction newTransaction = createTransactionFromCsvTransaction(csvTransaction);

Expand Down Expand Up @@ -297,6 +299,7 @@ private void removeAllAttributes(WebRequest request)
request.removeAttribute(RequestAttributeNames.CSV_TRANSACTIONS, RequestAttributes.SCOPE_SESSION);
request.removeAttribute(RequestAttributeNames.ERROR_UPLOAD, RequestAttributes.SCOPE_SESSION);
request.removeAttribute(RequestAttributeNames.ERRORS_COLUMN_SETTINGS, RequestAttributes.SCOPE_SESSION);
request.removeAttribute(RequestAttributeNames.CURRENT_CSV_TRANSACTION, RequestAttributes.SCOPE_SESSION);
}

private Optional<CsvTransaction> getTransactionByIndex(WebRequest request, Integer index)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -349,7 +349,12 @@
</#macro>
<#macro buttonCancel cancelURL>
<@header.buttonLink url=cancelURL icon='clear' localizationKey='cancel' id='button-cancel-save-transaction' color='red'/>
<#assign url=cancelURL/>
<#if currentCsvTransaction??>
<#assign url='/transactionImport'/>
</#if>
<@header.buttonLink url=url icon='clear' localizationKey='cancel' id='button-cancel-save-transaction' color='red'/>
</#macro>
<#macro buttonSave allowEmptyAmount>
Expand Down

0 comments on commit e3d1416

Please sign in to comment.