feat: implement global settings management with database defaults and admin UI configuration

This commit is contained in:
Ümit Tunç
2026-04-28 22:16:10 +03:00
parent 6c0987b90e
commit d57e83cb76
6 changed files with 74 additions and 31 deletions
@@ -13,7 +13,6 @@ return new class extends Migration {
{
$settings = [
'project_name' => 'Citrus CMS',
'project_name_ru' => '',
'project_number' => '',
'company_code' => '',
'row_count' => '20',
@@ -24,6 +23,7 @@ return new class extends Migration {
'header_color' => 'bg-primary-dark',
'DevExpress_Theme' => 'dx.material.orange.light.compact.css',
'pdf_template_path' => 'default',
'languages' => json_encode(['en', 'tr']),
];
foreach ($settings as $key => $value) {
@@ -39,6 +39,27 @@ return new class extends Migration {
]);
}
}
$translations = [
['icerik' => 'en', 'ceviri' => 'English', 'dil' => 'en'],
['icerik' => 'tr', 'ceviri' => 'Türkçe', 'dil' => 'en'],
['icerik' => 'en', 'ceviri' => 'English', 'dil' => 'tr'],
['icerik' => 'tr', 'ceviri' => 'Türkçe', 'dil' => 'tr'],
];
foreach ($translations as $trans) {
$exists = DB::table('translate')
->where('icerik', $trans['icerik'])
->where('dil', $trans['dil'])
->exists();
if (!$exists) {
DB::table('translate')->insert(array_merge($trans, [
'created_at' => now(),
'updated_at' => now(),
]));
}
}
}
/**
@@ -60,6 +81,7 @@ return new class extends Migration {
'DevExpress_Theme',
'pdf_template_path',
'handover_control_count',
'languages',
];
DB::table('settings')->whereIn('title', $keys)->delete();