mirror of
https://github.com/grocy/grocy.git
synced 2025-08-11 16:34:24 +00:00
Prevent deletion of products with current stock (closes #81)
This commit is contained in:
parent
ae58606d04
commit
6090ac621e
@ -265,6 +265,8 @@ return array(
|
|||||||
'The current picture will be deleted when you save the product' => 'Das aktuelle Bild wird beim Speichern des Produkts gelöscht',
|
'The current picture will be deleted when you save the product' => 'Das aktuelle Bild wird beim Speichern des Produkts gelöscht',
|
||||||
'Select file' => 'Datei auswählen',
|
'Select file' => 'Datei auswählen',
|
||||||
'Image of product #1' => 'Bild des Produkts #1',
|
'Image of product #1' => 'Bild des Produkts #1',
|
||||||
|
'This product cannot be deleted because it is in stock, please remove the stock amount first.' => 'Dieses Produkt kann nicht gelöscht werden, da es auf Lager ist, bitte zuerst den Bestand entfernen.',
|
||||||
|
'Delete not possible' => 'Löschen nicht möglich',
|
||||||
|
|
||||||
//Constants
|
//Constants
|
||||||
'manually' => 'Manuell',
|
'manually' => 'Manuell',
|
||||||
|
@ -35,6 +35,13 @@ $(document).on('click', '.product-delete-button', function (e)
|
|||||||
var objectName = $(e.currentTarget).attr('data-product-name');
|
var objectName = $(e.currentTarget).attr('data-product-name');
|
||||||
var objectId = $(e.currentTarget).attr('data-product-id');
|
var objectId = $(e.currentTarget).attr('data-product-id');
|
||||||
|
|
||||||
|
Grocy.Api.Get('stock/get-product-details/' + objectId,
|
||||||
|
function(productDetails)
|
||||||
|
{
|
||||||
|
var stockAmount = productDetails.stock_amount || '0';
|
||||||
|
|
||||||
|
if (stockAmount.toString() == "0")
|
||||||
|
{
|
||||||
bootbox.confirm({
|
bootbox.confirm({
|
||||||
message: L('Are you sure to delete product "#1"?', objectName),
|
message: L('Are you sure to delete product "#1"?', objectName),
|
||||||
buttons: {
|
buttons: {
|
||||||
@ -47,16 +54,16 @@ $(document).on('click', '.product-delete-button', function (e)
|
|||||||
className: 'btn-danger'
|
className: 'btn-danger'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
callback: function(result)
|
callback: function (result)
|
||||||
{
|
{
|
||||||
if (result === true)
|
if (result === true)
|
||||||
{
|
{
|
||||||
Grocy.Api.Get('delete-object/products/' + objectId,
|
Grocy.Api.Get('delete-object/products/' + objectId,
|
||||||
function(result)
|
function (result)
|
||||||
{
|
{
|
||||||
window.location.href = U('/products');
|
window.location.href = U('/products');
|
||||||
},
|
},
|
||||||
function(xhr)
|
function (xhr)
|
||||||
{
|
{
|
||||||
console.error(xhr);
|
console.error(xhr);
|
||||||
}
|
}
|
||||||
@ -64,4 +71,18 @@ $(document).on('click', '.product-delete-button', function (e)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
bootbox.alert({
|
||||||
|
title: L('Delete not possible'),
|
||||||
|
message: L('This product cannot be deleted because it is in stock, please remove the stock amount first.') + '<br><br>' + L('Stock amount') + ': ' + stockAmount + ' ' + Pluralize(stockAmount, productDetails.quantity_unit_stock.name, productDetails.quantity_unit_stock.name_plural)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
},
|
||||||
|
function(xhr)
|
||||||
|
{
|
||||||
|
console.error(xhr);
|
||||||
|
}
|
||||||
|
);
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user