mirror of
https://github.com/grocy/grocy.git
synced 2025-04-28 17:23:56 +00:00
- Only refresh contextual number/datetime info/formatting where needed (closes #513) - Also refresh correlated stock journal entries on undo (closes #471) - Prefill "New amount" with the current stock amount on the inventory page (closes #434) - Ensure that the location_id of the stock and stock_log tables is never empty after migration 95 (references #421) - Load initial values of the /stockedit form server side to improve loading performance (references #421) - Use more or less the same input ordering as on the purchase page for the /stockedit page (references #421) - Also display the "Compact view" button on the shopping list page when FEATURE_FLAG_SHOPPINGLIST_MULTIPLE_LISTS is disabled (references #453) - Ensure that the currently active sidebar menu item is visible - Optimized sidebar menu item grouping/spacing - Properly order the API documentation route groups and put the "by-barcode" routes into a separate group - Updated dependencies - Pulled translations from Transifex - Prepared changelog for next release
108 lines
3.6 KiB
PHP
108 lines
3.6 KiB
PHP
@extends('layout.default')
|
|
|
|
@section('title', $__t('Edit stock entry'))
|
|
@section('activeNav', 'stockedit')
|
|
@section('viewJsName', 'stockedit')
|
|
|
|
@section('content')
|
|
<script>
|
|
Grocy.EditObjectId = {{ $stockEntry->id }};
|
|
Grocy.EditObjectProductId = {{ $stockEntry->product_id }};
|
|
</script>
|
|
|
|
<div class="row">
|
|
<div class="col-xs-12 col-md-6 col-xl-4 pb-3">
|
|
<h1>@yield('title')</h1>
|
|
|
|
<form id="stockedit-form" novalidate>
|
|
@php
|
|
$product = FindObjectInArrayByPropertyValue($products, 'id', $stockEntry->product_id);
|
|
@endphp
|
|
|
|
@php
|
|
$additionalGroupCssClasses = '';
|
|
if (!GROCY_FEATURE_FLAG_STOCK_BEST_BEFORE_DATE_TRACKING)
|
|
{
|
|
$additionalGroupCssClasses = 'd-none';
|
|
}
|
|
@endphp
|
|
@include('components.datetimepicker', array(
|
|
'id' => 'best_before_date',
|
|
'initialValue' => $stockEntry->best_before_date,
|
|
'label' => 'Best before',
|
|
'format' => 'YYYY-MM-DD',
|
|
'initWithNow' => false,
|
|
'limitEndToNow' => false,
|
|
'limitStartToNow' => false,
|
|
'invalidFeedback' => $__t('A best before date is required'),
|
|
'nextInputSelector' => '#best_before_date',
|
|
'additionalGroupCssClasses' => 'date-only-datetimepicker',
|
|
'shortcutValue' => '2999-12-31',
|
|
'shortcutLabel' => 'Never expires',
|
|
'earlierThanInfoLimit' => date('Y-m-d'),
|
|
'earlierThanInfoText' => $__t('The given date is earlier than today, are you sure?'),
|
|
'additionalGroupCssClasses' => $additionalGroupCssClasses
|
|
))
|
|
@php $additionalGroupCssClasses = ''; @endphp
|
|
|
|
@include('components.numberpicker', array(
|
|
'id' => 'amount',
|
|
'value' => $stockEntry->amount,
|
|
'label' => 'Amount',
|
|
'hintId' => 'amount_qu_unit',
|
|
'invalidFeedback' => $__t('The amount cannot be lower than %s', '0'),
|
|
'additionalAttributes' => 'data-not-equal="-1"',
|
|
'additionalHtmlElements' => '<div id="stockedit-change-info" class="form-text text-muted small d-none"></div>',
|
|
'additionalHtmlContextHelp' => '<div id="tare-weight-handling-info" class="text-small text-info font-italic d-none">' . $__t('Tare weight handling enabled - please weigh the whole container, the amount to be posted will be automatically calculcated') . '</div>'
|
|
))
|
|
|
|
@if(GROCY_FEATURE_FLAG_STOCK_PRICE_TRACKING)
|
|
@include('components.numberpicker', array(
|
|
'id' => 'price',
|
|
'value' => $stockEntry->price,
|
|
'label' => 'Price',
|
|
'min' => 0,
|
|
'step' => 0.01,
|
|
'hint' => $__t('in %s per purchase quantity unit', GROCY_CURRENCY),
|
|
'invalidFeedback' => $__t('The price cannot be lower than %s', '0'),
|
|
'isRequired' => false
|
|
))
|
|
@else
|
|
<input type="hidden" name="price" id="price" value="0">
|
|
@endif
|
|
|
|
@if(GROCY_FEATURE_FLAG_STOCK_LOCATION_TRACKING)
|
|
@include('components.locationpicker', array(
|
|
'locations' => $locations,
|
|
'prefillById' => $stockEntry->location_id
|
|
))
|
|
@else
|
|
<input type="hidden" name="location_id" id="location_id" value="1">
|
|
@endif
|
|
|
|
@include('components.datetimepicker2', array(
|
|
'id' => 'purchase_date',
|
|
'initialValue' => $stockEntry->purchased_date,
|
|
'label' => 'Purchased date',
|
|
'format' => 'YYYY-MM-DD',
|
|
'initWithNow' => false,
|
|
'limitEndToNow' => false,
|
|
'limitStartToNow' => false,
|
|
'invalidFeedback' => $__t('A purchased date is required'),
|
|
'nextInputSelector' => '#save-stockedit-button',
|
|
'additionalGroupCssClasses' => 'date-only-datetimepicker'
|
|
))
|
|
|
|
<div class="checkbox">
|
|
<label for="open">
|
|
<input @if($stockEntry->open == 1) checked @endif type="checkbox" id="open" name="open"> {{ $__t('Opened') }}
|
|
</label>
|
|
</div>
|
|
|
|
<button id="save-stockedit-button" class="btn btn-success">{{ $__t('OK') }}</button>
|
|
|
|
</form>
|
|
</div>
|
|
</div>
|
|
@stop
|