- Lagerort-Stammdaten Raum/Regal/Fach (storage_rooms/shelves/slots) mit CRUD auf Einstellungen -> Allgemein (SettingCrudController-Kinder, ein gemeinsamer StoreStorageSegmentRequest, generische Partials setting-list-card/-segment-form) - Ingredient: alt_name (Handelsname), Lagerort-FKs + storageLabel(), scopeUsedInActiveRecipes() - INCI-Formular: Lieferanten-Repeater mit Shop-URL je Lieferant (leer = Mail), Alternativname, drei Lagerort-Dropdowns - INCI-Liste: Filter "nur aktive (in Rezeptur aktiver Produkte)" + Spalte Alternativer Name - Rohstoffbestand-Detail: Bestellweg pro INCI-Lieferant (Pivot-URL statt order_method-Fallback), Kopf zeigt Alternativname + Lagerort - Hinweise-Doku fortgeschrieben inkl. Chargen-Format-Entscheid ttmmjj (AP-24) Tests: StorageSettingsTest, IngredientActiveRecipeFilterTest, IngredientOrderFieldsTest (Repeater-Format), RawMaterialStockTest erweitert (volle Suite 170 gruen, 613 Assertions) Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
43 lines
2.1 KiB
PHP
43 lines
2.1 KiB
PHP
{{-- Gemeinsames Formular der Lagerort-Bausteine (AP-21): $title, $routePrefix, $placeholder, $model --}}
|
|
<div class="card">
|
|
<h6 class="card-header">{{ $model->exists ? __(':title bearbeiten', ['title' => $title]) : __(':title anlegen', ['title' => $title]) }}</h6>
|
|
<div class="card-body">
|
|
<form method="post" action="{{ $model->exists ? route($routePrefix.'.update', $model) : route($routePrefix.'.store') }}">
|
|
@csrf
|
|
@if($model->exists)
|
|
@method('PUT')
|
|
@endif
|
|
|
|
<div class="form-group">
|
|
<label for="label">{{ __('Bezeichnung') }}</label>
|
|
<input type="text" name="label" id="label" maxlength="100"
|
|
class="form-control @error('label') is-invalid @enderror"
|
|
value="{{ old('label', $model->label) }}" placeholder="{{ $placeholder }}" required>
|
|
@error('label')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label for="pos">{{ __('Sortierung') }}</label>
|
|
<input type="number" name="pos" id="pos" min="0" max="255"
|
|
class="form-control @error('pos') is-invalid @enderror"
|
|
value="{{ old('pos', $model->pos) }}">
|
|
@error('pos')
|
|
<div class="invalid-feedback">{{ $message }}</div>
|
|
@enderror
|
|
</div>
|
|
|
|
<div class="form-group">
|
|
<label class="custom-control custom-checkbox">
|
|
<input type="checkbox" name="active" value="1" class="custom-control-input"
|
|
@checked(old('active', $model->active))>
|
|
<span class="custom-control-label">{{ __('Aktiv') }}</span>
|
|
</label>
|
|
</div>
|
|
|
|
<button type="submit" class="btn btn-primary">{{ __('Speichern') }}</button>
|
|
<a href="{{ route('admin.inventory.general') }}" class="btn btn-outline-secondary">{{ __('Zurück') }}</a>
|
|
</form>
|
|
</div>
|
|
</div>
|