Abrechnungsgrüne nun immer erforderlich
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
<?php
|
||||
|
||||
use Illuminate\Database\Migrations\Migration;
|
||||
use Illuminate\Database\Schema\Blueprint;
|
||||
use Illuminate\Support\Facades\DB;
|
||||
use Illuminate\Support\Facades\Schema;
|
||||
|
||||
/**
|
||||
* Das Beispiel, das im Feld „Was wurde eingekauft" steht, solange es leer ist.
|
||||
*
|
||||
* Die Angabe ist seit der EüR Pflicht zu jeder Abrechnung, und von ihr lebt dort die Zweck-Spalte. Ein
|
||||
* allgemeines „z. B. Material" hilft beim Ausfüllen nicht weiter -- was ein brauchbarer Zweck ist, hängt
|
||||
* an der Ausgabenart. Der Text gehört deshalb an den Typ und nicht in den Quelltext des Formulars: So
|
||||
* lässt er sich ohne Deployment nachschärfen, und ein später ergänzter Typ bringt sein Beispiel mit.
|
||||
*
|
||||
* Bleibt die Spalte leer, zeigt das Formular seinen eigenen allgemeinen Text -- ein Typ ohne Beispiel
|
||||
* soll das Feld nicht ohne Hilfestellung lassen.
|
||||
*/
|
||||
return new class extends Migration {
|
||||
/**
|
||||
* Die Ausgangstexte. Bewusst konkret: Sie sollen zeigen, wie genau eine Angabe gemeint ist.
|
||||
*/
|
||||
private const array EXAMPLES = [
|
||||
'travelling' => 'z. B. Bahnfahrt Halle–Leipzig',
|
||||
'program' => 'z. B. Bastelmaterial für den Workshop',
|
||||
'accommodation' => 'z. B. zwei Nächte Jugendherberge',
|
||||
'catering' => 'z. B. Wocheneinkauf für das Frühstück',
|
||||
'logistic' => 'z. B. Miete für den Transporter',
|
||||
'technical' => 'z. B. Verlängerungskabel und Mehrfachstecker',
|
||||
'management' => 'z. B. Porto und Kopien',
|
||||
'other' => 'z. B. Erste-Hilfe-Set',
|
||||
];
|
||||
|
||||
public function up(): void
|
||||
{
|
||||
Schema::table('invoice_types', function (Blueprint $table) {
|
||||
$table->string('purchase_example')->nullable()->after('name');
|
||||
});
|
||||
|
||||
foreach (self::EXAMPLES as $slug => $example) {
|
||||
DB::table('invoice_types')
|
||||
->where('slug', $slug)
|
||||
->update(['purchase_example' => $example]);
|
||||
}
|
||||
}
|
||||
|
||||
public function down(): void
|
||||
{
|
||||
Schema::table('invoice_types', function (Blueprint $table) {
|
||||
$table->dropColumn('purchase_example');
|
||||
});
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user