Make it possible to provide the purchase price also as a total price (closes #390)

This commit is contained in:
Bernd Bestel 2019-09-27 13:50:16 +02:00
parent 9527305311
commit 765f908966
No known key found for this signature in database
GPG Key ID: 71BD34C0D4891300
4 changed files with 31 additions and 2 deletions

View File

@ -5,6 +5,7 @@
- After product actions (consume/purchase/etc.) on the stock overview page on a sub product, now also the parent product (row) is refreshed
- It's now possible to accumulate min. stock amounts on parent product level (new option per product, means the sub product will never be "missing" then, only the parent product)
- When adding a product to the shopping list from the new context/more menu from the stock overview page and if the product is already on the shopping list, the amount of that entry will be updated acccordingly instead of adding a new (double) shopping list item
- On the purchase page there is now an option to select that the price is the total price (for the whole amount) - below the price field, defaults to "Unit price" (as it was until now), when set to "Total price", the entered price will be divided by the amount before posting
### Recipe improvements/fixes
- Fixed a problem regarding quantity unit conversion handling for recipe ingredients of products with no unit relations, but only a different purchase/stock quantity unit

View File

@ -1528,3 +1528,12 @@ msgstr ""
msgid "Are you sure to remove this conversion?"
msgstr ""
msgid "Unit price"
msgstr ""
msgid "Total price"
msgstr ""
msgid "in %s and based on the purchase quantity unit"
msgstr ""

View File

@ -14,6 +14,16 @@
if (!jsonForm.price.toString().isEmpty())
{
price = parseFloat(jsonForm.price).toFixed(2);
if ($("input[name='price-type']:checked").val() == "total-price")
{
price = price / amount;
}
}
if (!Grocy.FeatureFlags.GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
{
price = 0;
}
var jsonData = {};

View File

@ -57,10 +57,19 @@
'min' => 0,
'step' => 0.0001,
'value' => '',
'hint' => $__t('in %s per purchase quantity unit', GROCY_CURRENCY),
'hint' => $__t('in %s and based on the purchase quantity unit', GROCY_CURRENCY),
'invalidFeedback' => $__t('The price cannot be lower than %s', '0'),
'isRequired' => false
'isRequired' => false,
'additionalGroupCssClasses' => 'mb-1'
))
<div class="form-check form-check-inline mb-3">
<input class="form-check-input" type="radio" name="price-type" id="price-type-unit-price" value="unit-price" checked>
<label class="form-check-label" for="price-type-unit-price">{{ $__t('Unit price') }}</label>
</div>
<div class="form-check form-check-inline mb-3">
<input class="form-check-input" type="radio" name="price-type" id="price-type-total-price" value="total-price">
<label class="form-check-label" for="price-type-total-price">{{ $__t('Total price') }}</label>
</div>
@else
<input type="hidden" name="price" id="price" value="0">
@endif