diff --git a/public/viewjs/components/productpicker.js b/public/viewjs/components/productpicker.js index 7b6ef6a6..97899450 100644 --- a/public/viewjs/components/productpicker.js +++ b/public/viewjs/components/productpicker.js @@ -23,7 +23,7 @@ Grocy.Components.ProductPicker.SetValue = function(value) Grocy.Components.ProductPicker.InProductAddWorkflow = function() { - return typeof GetUriParam('createdproduct') !== "undefined"; + return typeof GetUriParam('createdproduct') !== "undefined" || typeof GetUriParam('product') !== "undefined"; } Grocy.Components.ProductPicker.InProductModifyWorkflow = function() @@ -74,6 +74,17 @@ if (typeof prefillProduct !== "undefined") } } +var prefillProductId = GetUriParam("product"); +if (typeof prefillProductId !== "undefined") +{ + $('#product_id').val(prefillProductId); + $('#product_id').data('combobox').refresh(); + $('#product_id').trigger('change'); + + var nextInputElement = $(Grocy.Components.ProductPicker.GetPicker().parent().data('next-input-selector').toString()); + nextInputElement.focus(); +} + var addBarcode = GetUriParam('addbarcodetoselection'); if (addBarcode !== undefined) { diff --git a/public/viewjs/purchase.js b/public/viewjs/purchase.js index 4b101c41..07d85685 100644 --- a/public/viewjs/purchase.js +++ b/public/viewjs/purchase.js @@ -46,6 +46,10 @@ { window.location.href = U('/purchase'); } + else if (GetUriParam("flow") === "shoppinglistitemtostock") + { + window.location.href = U('/shoppinglist?flow=shoppinglistitemtostock&listitemid=' + GetUriParam("listitemid")); + } else { $('#amount').val(0); @@ -172,6 +176,12 @@ $('#amount').on('change', function (e) Grocy.FrontendHelpers.ValidateForm('purchase-form'); }); +if (GetUriParam("flow") === "shoppinglistitemtostock") +{ + $('#amount').val(GetUriParam("amount")); + $('#save-purchase-button').html(L("OK") + " & " + L("Back to shopping list")); +} + function UndoStockBooking(bookingId) { Grocy.Api.Get('stock/undo-booking/' + bookingId.toString(), diff --git a/public/viewjs/shoppinglist.js b/public/viewjs/shoppinglist.js index 2d60739c..ecf8c6e9 100644 --- a/public/viewjs/shoppinglist.js +++ b/public/viewjs/shoppinglist.js @@ -126,3 +126,9 @@ $(document).on('click', '#clear-shopping-list', function(e) } }); }); + +if (GetUriParam("flow") === "shoppinglistitemtostock") +{ + var listItem = GetUriParam("listitemid"); + $(".shoppinglist-delete-button[data-shoppinglist-id='" + listItem + "']").click(); +} diff --git a/views/shoppinglist.blade.php b/views/shoppinglist.blade.php index 72e6486a..c2b59e72 100644 --- a/views/shoppinglist.blade.php +++ b/views/shoppinglist.blade.php @@ -69,6 +69,9 @@ + + + @if(!empty($listItem->product_id)) {{ FindObjectInArrayByPropertyValue($products, 'id', $listItem->product_id)->name }}
@endif{!! nl2br($listItem->note) !!}