function stockjournalView(Grocy, scope = null) { var $scope = $; var top = scope != null ? $(scope) : $(document); if (scope != null) { $scope = $(scope).find; } var stockJournalTable = $scope('#stock-journal-table').DataTable({ 'paginate': true, 'order': [[3, 'desc']], 'columnDefs': [ { 'orderable': false, 'targets': 0 }, { 'searchable': false, "targets": 0 } ].concat($.fn.dataTable.defaults.columnDefs) }); $scope('#stock-journal-table tbody').removeClass("d-none"); Grocy.FrontendHelpers.InitDataTable(stockJournalTable); Grocy.FrontendHelpers.MakeFilterForColumn("#product-filter", 1, stockJournalTable); Grocy.FrontendHelpers.MakeFilterForColumn("#transaction-type-filter", 4, stockJournalTable); Grocy.FrontendHelpers.MakeFilterForColumn("#location-filter", 5, stockJournalTable); Grocy.FrontendHelpers.MakeFilterForColumn("#user-filter", 6, stockJournalTable); if (typeof GetUriParam("product") !== "undefined") { $scope("#product-filter").val(GetUriParam("product")); $scope("#product-filter").trigger("change"); } top.on('click', '.undo-stock-booking-button', function(e) { e.preventDefault(); var bookingId = $scope(e.currentTarget).attr('data-booking-id'); var correlationId = $scope("#stock-booking-" + bookingId + "-row").attr("data-correlation-id"); var correspondingBookingsRoot = $scope("#stock-booking-" + bookingId + "-row"); if (!correlationId.isEmpty()) { correspondingBookingsRoot = $scope(".stock-booking-correlation-" + correlationId); } Grocy.Api.Post('stock/bookings/' + bookingId.toString() + '/undo', {}, function(result) { correspondingBookingsRoot.addClass("text-muted"); correspondingBookingsRoot.find("span.name-anchor").addClass("text-strike-through").after("
" + __t("Undone on") + " " + moment().format("YYYY-MM-DD HH:mm:ss") + " "); correspondingBookingsRoot.find(".undo-stock-booking-button").addClass("disabled"); RefreshContextualTimeago("#stock-booking-" + bookingId + "-row"); toastr.success(__t("Booking successfully undone")); }, function(xhr) { console.error(xhr); toastr.error(__t(JSON.parse(xhr.response).error_message)); } ); }); }