diff --git a/GrocyDemoDataGenerator.php b/GrocyDemoDataGenerator.php
index cb9fb702..eaf66973 100644
--- a/GrocyDemoDataGenerator.php
+++ b/GrocyDemoDataGenerator.php
@@ -53,6 +53,7 @@ class GrocyDemoDataGenerator
GrocyLogicStock::AddProduct(13, 5, date('Y-m-d', strtotime('-2 days')), GrocyLogicStock::TRANSACTION_TYPE_PURCHASE);
GrocyLogicStock::AddProduct(14, 5, date('Y-m-d', strtotime('+2 days')), GrocyLogicStock::TRANSACTION_TYPE_PURCHASE);
GrocyLogicStock::AddProduct(15, 5, date('Y-m-d', strtotime('-2 days')), GrocyLogicStock::TRANSACTION_TYPE_PURCHASE);
+ GrocyLogicStock::AddMissingProductsToShoppingList();
}
}
}
diff --git a/version.txt b/version.txt
index 7f207341..1cc5f657 100644
--- a/version.txt
+++ b/version.txt
@@ -1 +1 @@
-1.0.1
\ No newline at end of file
+1.1.0
\ No newline at end of file
diff --git a/views/consumption.js b/views/consumption.js
index 7c6b0269..25a2dbbf 100644
--- a/views/consumption.js
+++ b/views/consumption.js
@@ -57,6 +57,7 @@ $('#product_id').on('change', function(e)
$('#selected-product-last-used-timeago').text($.timeago(productDetails.last_used || ''));
$('#amount').attr('max', productDetails.stock_amount);
$('#consumption-form').validator('update');
+ $('#amount_qu_unit').text(productDetails.quantity_unit_stock.name);
Grocy.EmptyElementWhenMatches('#selected-product-last-purchased-timeago', 'NaN years ago');
Grocy.EmptyElementWhenMatches('#selected-product-last-used-timeago', 'NaN years ago');
diff --git a/views/consumption.php b/views/consumption.php
index 0953c638..c65c55c7 100644
--- a/views/consumption.php
+++ b/views/consumption.php
@@ -16,7 +16,7 @@
@@ -30,6 +30,7 @@
+
diff --git a/views/inventory.php b/views/inventory.php
index 0998b98b..64b0360b 100644
--- a/views/inventory.php
+++ b/views/inventory.php
@@ -37,6 +37,7 @@
+
diff --git a/views/purchase.js b/views/purchase.js
index 85691ff1..e7577bee 100644
--- a/views/purchase.js
+++ b/views/purchase.js
@@ -82,7 +82,7 @@ $('#product_id').on('change', function(e)
$('#selected-product-last-purchased-timeago').text($.timeago(productDetails.last_purchased || ''));
$('#selected-product-last-used').text((productDetails.last_used || 'never').substring(0, 10));
$('#selected-product-last-used-timeago').text($.timeago(productDetails.last_used || ''));
- $('#new_amount_qu_unit').text(productDetails.quantity_unit_stock.name);
+ $('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
if (productDetails.product.default_best_before_days.toString() !== '0')
{
diff --git a/views/purchase.php b/views/purchase.php
index 791384f2..6a30ae29 100644
--- a/views/purchase.php
+++ b/views/purchase.php
@@ -28,7 +28,7 @@
@@ -36,6 +36,7 @@
+
diff --git a/views/shoppinglistform.js b/views/shoppinglistform.js
index 0e662952..6faeeaf3 100644
--- a/views/shoppinglistform.js
+++ b/views/shoppinglistform.js
@@ -30,6 +30,71 @@
}
});
+$('#product_id').on('change', function(e)
+{
+ var productId = $(e.target).val();
+
+ if (productId)
+ {
+ Grocy.FetchJson('/api/stock/get-product-details/' + productId,
+ function (productDetails)
+ {
+ $('#selected-product-name').text(productDetails.product.name);
+ $('#selected-product-stock-amount').text(productDetails.stock_amount || '0');
+ $('#selected-product-stock-qu-name').text(productDetails.quantity_unit_stock.name);
+ $('#selected-product-stock-qu-name2').text(productDetails.quantity_unit_stock.name);
+ $('#selected-product-last-purchased').text((productDetails.last_purchased || 'never').substring(0, 10));
+ $('#selected-product-last-purchased-timeago').text($.timeago(productDetails.last_purchased || ''));
+ $('#selected-product-last-used').text((productDetails.last_used || 'never').substring(0, 10));
+ $('#selected-product-last-used-timeago').text($.timeago(productDetails.last_used || ''));
+ $('#amount_qu_unit').text(productDetails.quantity_unit_purchase.name);
+
+ Grocy.EmptyElementWhenMatches('#selected-product-last-purchased-timeago', 'NaN years ago');
+ Grocy.EmptyElementWhenMatches('#selected-product-last-used-timeago', 'NaN years ago');
+
+ if ($('#product_id').hasClass('suppress-next-custom-validate-event'))
+ {
+ $('#product_id').removeClass('suppress-next-custom-validate-event');
+ }
+ else
+ {
+ Grocy.FetchJson('/api/get-objects/shopping_list',
+ function (currentShoppingListItems)
+ {
+ if (currentShoppingListItems.filter(function (e) { return e.product_id === productId; }).length > 0)
+ {
+ $('#product_id').val('');
+ $('#product_id_text_input').val('');
+ $('#product_id_text_input').addClass('has-error');
+ $('#product_id_text_input').parent('.input-group').addClass('has-error');
+ $('#product_id_text_input').closest('.form-group').addClass('has-error');
+ $('#product-error').text('This product is already on the shopping list.');
+ $('#product-error').show();
+ $('#product_id_text_input').focus();
+ }
+ else
+ {
+ $('#product_id_text_input').removeClass('has-error');
+ $('#product_id_text_input').parent('.input-group').removeClass('has-error');
+ $('#product_id_text_input').closest('.form-group').removeClass('has-error');
+ $('#product-error').hide();
+ }
+ },
+ function(xhr)
+ {
+ console.error(xhr);
+ }
+ );
+ }
+ },
+ function(xhr)
+ {
+ console.error(xhr);
+ }
+ );
+ }
+});
+
$(function()
{
$('.combobox').combobox({
@@ -40,28 +105,23 @@ $(function()
{
var input = $('#product_id_text_input').val().toString();
var possibleOptionElement = $("#product_id option[data-additional-searchdata*='" + input + "']").first();
-
- if (possibleOptionElement.length > 0)
- {
+
+ if (possibleOptionElement.length > 0 && possibleOptionElement.text().length > 0) {
$('#product_id').val(possibleOptionElement.val());
$('#product_id').data('combobox').refresh();
$('#product_id').trigger('change');
}
});
+
+ $('#product_id_text_input').focus();
+ $('#product_id_text_input').trigger('change');
- if (Grocy.EditMode === 'create')
+ if (Grocy.EditMode === 'edit')
{
- $('#product_id').val('');
- $('#product_id_text_input').focus();
- $('#product_id_text_input').val('');
- $('#product_id_text_input').trigger('change');
- }
- else
- {
- $('#product_id').data('combobox').refresh();
+ $('#product_id').addClass('suppress-next-custom-validate-event');
$('#product_id').trigger('change');
}
-
+
$('#shoppinglist-form').validator();
$('#shoppinglist-form').validator('validate');
diff --git a/views/shoppinglistform.php b/views/shoppinglistform.php
index 43995f36..f67335c3 100644
--- a/views/shoppinglistform.php
+++ b/views/shoppinglistform.php
@@ -1,4 +1,4 @@
-
+
@@ -15,14 +15,14 @@
@@ -32,3 +32,14 @@
+
+
+
Product overview
+
Stock quantity unit:
+
+
+ Stock amount:
+ Last purchased:
+ Last used:
+
+