94 lines
3.4 KiB
PHP
94 lines
3.4 KiB
PHP
<?php
|
|
|
|
namespace Database\Seeders;
|
|
|
|
use App\Models\Setting;
|
|
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
|
|
use Illuminate\Database\Seeder;
|
|
|
|
class SettingsSeeder extends Seeder
|
|
{
|
|
/**
|
|
* Run the database seeder.
|
|
*/
|
|
public function run(): void
|
|
{
|
|
$settings = [
|
|
// Bestandsverwaltung
|
|
[
|
|
'key' => 'inventory_enabled',
|
|
'value' => '1',
|
|
'type' => 'boolean',
|
|
'group' => 'inventory',
|
|
'label' => 'Bestandsverwaltung aktivieren',
|
|
'description' => 'Aktiviert die Verwaltung von Produktmengen in den Slots. Wenn deaktiviert, werden nur Produktinformationen ohne Bestandsangaben angezeigt.'
|
|
],
|
|
[
|
|
'key' => 'low_stock_threshold',
|
|
'value' => '5',
|
|
'type' => 'integer',
|
|
'group' => 'inventory',
|
|
'label' => 'Warnschwelle für niedrigen Bestand',
|
|
'description' => 'Anzahl der Produkte, ab der ein Slot als "niedrig" markiert wird.'
|
|
],
|
|
[
|
|
'key' => 'show_stock_in_public',
|
|
'value' => '1',
|
|
'type' => 'boolean',
|
|
'group' => 'display',
|
|
'label' => 'Bestand öffentlich anzeigen',
|
|
'description' => 'Zeigt die verfügbare Anzahl von Produkten in der öffentlichen Ansicht an.'
|
|
],
|
|
[
|
|
'key' => 'show_out_of_stock',
|
|
'value' => '1',
|
|
'type' => 'boolean',
|
|
'group' => 'display',
|
|
'label' => 'Ausverkaufte Produkte anzeigen',
|
|
'description' => 'Zeigt Produkte auch dann an, wenn sie nicht mehr verfügbar sind (mit entsprechender Kennzeichnung).'
|
|
],
|
|
// Allgemeine Einstellungen
|
|
[
|
|
'key' => 'site_name',
|
|
'value' => 'LMIV Snackautomat',
|
|
'type' => 'string',
|
|
'group' => 'general',
|
|
'label' => 'Website-Name',
|
|
'description' => 'Name der Website, der im Titel und in der Navigation angezeigt wird.'
|
|
],
|
|
[
|
|
'key' => 'contact_email',
|
|
'value' => 'admin@snackautomat.local',
|
|
'type' => 'string',
|
|
'group' => 'general',
|
|
'label' => 'Kontakt E-Mail',
|
|
'description' => 'E-Mail-Adresse für Supportanfragen und Kontaktformular.'
|
|
],
|
|
// LMIV-Einstellungen
|
|
[
|
|
'key' => 'show_allergens_warning',
|
|
'value' => '1',
|
|
'type' => 'boolean',
|
|
'group' => 'lmiv',
|
|
'label' => 'Allergen-Warnung anzeigen',
|
|
'description' => 'Zeigt einen deutlichen Hinweis auf Allergene in der Produktansicht.'
|
|
],
|
|
[
|
|
'key' => 'require_nutrition_info',
|
|
'value' => '0',
|
|
'type' => 'boolean',
|
|
'group' => 'lmiv',
|
|
'label' => 'Nährwertangaben verpflichtend',
|
|
'description' => 'Macht die Eingabe von Nährwertangaben bei Produkten zur Pflicht.'
|
|
]
|
|
];
|
|
|
|
foreach ($settings as $setting) {
|
|
Setting::updateOrCreate(
|
|
['key' => $setting['key']],
|
|
$setting
|
|
);
|
|
}
|
|
}
|
|
}
|