diff --git a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java index 2668621bb91f488237d2287a410be65ba6468a80..b3c68ce7cfe3a6bb3d666bfd0c699f431a3597c6 100644 --- a/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java +++ b/src/main/java/de/deadlocker8/budgetmaster/transactions/TransactionController.java @@ -86,9 +86,9 @@ public class TransactionController extends BaseController DateTime date = dateService.getDateTimeFromCookie(cookieDate); prepareModelTransactions(filterHelpers.getFilterConfiguration(request), model, date); - model.addAttribute("currentTransaction", transactionService.getRepository().getOne(ID)); + model.addAttribute("transactionToDelete", transactionService.getRepository().getOne(ID)); - return "transactions/transactions"; + return "transactions/deleteTransactionModal"; } private void prepareModelTransactions(FilterConfiguration filterConfiguration, Model model, DateTime date) diff --git a/src/main/resources/static/js/transactions.js b/src/main/resources/static/js/transactions.js index 8c0c7d27489e02b720b1b60e98e61a74949a9271..9a4bc75c8bb102a4f793005d8009609c5eb94c19 100644 --- a/src/main/resources/static/js/transactions.js +++ b/src/main/resources/static/js/transactions.js @@ -1,7 +1,5 @@ $(document).ready(function() { - $('#modalConfirmDelete').modal('open'); - // open filter modal if corresponding anchor is in url (originating from hotkeys.js) if(window.location.href.endsWith('#modalFilter')) { @@ -260,6 +258,11 @@ $(document).ready(function() scrollTop: $(highlightedLarge).offset().top }, 500); } + + $('.button-request-delete-transaction').click(function() + { + fetchAndShowModalContent(this.dataset.url, '#deleteModalContainerOnDemand', '#modalConfirmDelete', function(){}); + }); }); function isHidden(el) diff --git a/src/main/resources/templates/transactions/deleteTransactionModal.ftl b/src/main/resources/templates/transactions/deleteTransactionModal.ftl new file mode 100644 index 0000000000000000000000000000000000000000..847e92f2eff19c92012b9058bd47abfe1e3280c0 --- /dev/null +++ b/src/main/resources/templates/transactions/deleteTransactionModal.ftl @@ -0,0 +1,11 @@ +<#global locale = static["de.thecodelabs.utils.util.Localization"]> +<#import "/spring.ftl" as s> +<#import "../helpers/header.ftl" as header> + +<@header.modalConfirmDelete title=locale.getString("info.title.transaction.delete") confirmUrl='/transactions' itemId=transactionToDelete.getID() confirmButtonTextKey='delete'> + <#if transactionToDelete.isRepeating()> + <p>${locale.getString("info.text.transaction.repeating.delete", transactionToDelete.name)}</p> + <#else> + <p>${locale.getString("info.text.transaction.delete", transactionToDelete.name)}</p> + </#if> +</@header.modalConfirmDelete> \ No newline at end of file diff --git a/src/main/resources/templates/transactions/transactions.ftl b/src/main/resources/templates/transactions/transactions.ftl index 75eaec1aad13c6938bb96f34c0d6bac710ff14a6..28a841526993ddb3e77934d81f6abccf3425a31f 100644 --- a/src/main/resources/templates/transactions/transactions.ftl +++ b/src/main/resources/templates/transactions/transactions.ftl @@ -91,15 +91,7 @@ </@header.content> </div> - <#if currentTransaction??> - <@header.modalConfirmDelete title=locale.getString("info.title.transaction.delete") confirmUrl='/transactions' cancelUrlBase='/transactions' itemId=currentTransaction.getID() confirmButtonTextKey='delete'> - <#if currentTransaction.isRepeating()> - <p>${locale.getString("info.text.transaction.repeating.delete", currentTransaction.name)}</p> - <#else> - <p>${locale.getString("info.text.transaction.delete", currentTransaction.name)}</p> - </#if> - </@header.modalConfirmDelete> - </#if> + <div id="deleteModalContainerOnDemand"></div> <@filterMacros.filterModal filterConfiguration/> </main> diff --git a/src/main/resources/templates/transactions/transactionsMacros.ftl b/src/main/resources/templates/transactions/transactionsMacros.ftl index e61dafcf7a1b4c914abb35f464fa753146099787..70c6acb1e0f9fb1ba5c288b6ea5c6ec92cfd54ee 100644 --- a/src/main/resources/templates/transactions/transactionsMacros.ftl +++ b/src/main/resources/templates/transactions/transactionsMacros.ftl @@ -49,7 +49,7 @@ <div class="col s8 l2 xl1 right-align transaction-buttons no-wrap"> <#if transaction.isEditable()> <@header.buttonFlat url='/transactions/' + transaction.ID?c + '/edit' icon='edit' localizationKey='' classes="no-padding text-default"/> - <@header.buttonFlat url='/transactions/' + transaction.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default"/> + <@header.buttonFlat url='/transactions/' + transaction.ID?c + '/requestDelete' icon='delete' localizationKey='' classes="no-padding text-default button-request-delete-transaction" isDataUrl=true/> </#if> </div> </#macro>