fixing mistakes

shift-build-2464
Nadim Salloum 2021-08-02 11:52:09 +02:00
parent 25197d432e
commit 0bc78164f7
7 changed files with 40 additions and 28 deletions

View File

@ -304,6 +304,18 @@ class CarController extends Controller
public function store(Request $request)
{
$car = $this->createCar($request);
session()->flash('flash.banner', 'Auto erstellt.');
return Redirect::route('cars.show', $car);
}
private function createCar($request): Car
{
$request->merge([
'vin' => mb_strtoupper($request->get('vin')),
]);
$request->validate($this->getValidationRules());
$request->merge([
@ -311,22 +323,12 @@ class CarController extends Controller
'last_check_date' => Carbon::parse($request->get('last_check_date'))->format('Y-m-d'),
]);
$car = Car::create($request->all());
session()->flash('flash.banner', 'Auto erstellt.');
return Redirect::route('cars.show', $car);
return Car::create($request->all());
}
public function storeForContract(Request $request)
{
$request->validate($this->getValidationRules());
$request->merge([
'initial_date' => Carbon::parse($request->get('initial_date'))->format('Y-m-d'),
'last_check_date' => Carbon::parse($request->get('last_check_date'))->format('Y-m-d'),
]);
$car = Car::create($request->all());
$car = $this->createCar($request);
return response()->json([
'id' => $car->id,
@ -344,10 +346,10 @@ class CarController extends Controller
private function getValidationRules()
{
return [
'stammnummer' => ['required', 'unique:cars', 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'],
'vin' => ['required', 'unique:cars', 'string', 'size:17'],
'stammnummer' => ['required', 'unique:cars,stammnummer,NULL,id,deleted_at,NULL', 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'],
'vin' => ['required', 'unique:cars,vin,NULL,id,deleted_at,NULL', 'string', 'size:17'],
'initial_date' => ['required', 'date_format:"d.m.Y"'],
'last_check_date' => ['date_format:"d.m.Y"'],
'last_check_date' => ['nullable', 'date_format:"d.m.Y"'],
'colour' => ['nullable', 'max:75'],
'car_model_id' => ['required', 'exists:App\Models\CarModel,id'],
'kilometers' => ['required', 'max:75'],
@ -434,11 +436,22 @@ class CarController extends Controller
public function update(Request $request, Car $car)
{
$this->updateCar($request, $car);
session()->flash('flash.banner', 'Auto geändert.');
return Redirect::route('cars.show', $car);
}
private function updateCar(Request $request, Car $car): bool
{
$request->merge([
'vin' => mb_strtoupper($request->get('vin')),
]);
$request->validate([
'stammnummer' => ['required', 'unique:cars,stammnummer,' . $car->id, 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'],
'vin' => ['required', 'unique:cars,vin,' . $car->id, 'string', 'size:17'],
'stammnummer' => ['required', 'unique:cars,stammnummer,' . $car->id . ',id,deleted_at,NULL', 'string', 'size:11', 'regex:/[0-9]{3}[.][0-9]{3}[.][0-9]{3}/i'],
'vin' => ['required', 'unique:cars,vin,' . $car->id . ',id,deleted_at,NULL', 'string', 'size:17'],
'initial_date' => ['required', 'date_format:"d.m.Y"'],
'last_check_date' => ['date_format:"d.m.Y"'],
'last_check_date' => ['nullable', 'date_format:"d.m.Y"'],
'colour' => ['nullable', 'max:75'],
'car_model_id' => ['required', 'exists:App\Models\CarModel,id'],
'kilometers' => ['required', 'max:75'],
@ -451,10 +464,7 @@ class CarController extends Controller
'last_check_date' => Carbon::parse($request->get('last_check_date'))->format('Y-m-d'),
]);
$car->update($request->all());
session()->flash('flash.banner', 'Auto geändert.');
return Redirect::route('cars.show', $car);
return $car->update($request->all());
}
public function destroy(Car $car)

View File

@ -271,7 +271,7 @@ class ContactController extends Controller
'address' => ['nullable', 'max:150'],
'zip' => ['nullable', 'max:6'],
'city' => ['nullable', 'max:75'],
'country' => ['nullable', 'max:2'],
'country' => ['nullable', 'max:3'],
'company' => ['nullable', 'max:75'],
'notes' => ['nullable'],
];

View File

@ -149,7 +149,7 @@ class ContractController extends Controller
$request->validate([
'type' => ['required', 'string', Rule::in(ContractType::getValues())],
'date' => ['required', 'date_format:"d.m.Y"'],
'delivery_date' => ['date_format:"d.m.Y"'],
'delivery_date' => ['nullable', 'date_format:"d.m.Y"'],
'price' => ['required', 'integer'],
'car_id' => ['required', 'exists:App\Models\Car,id'],
'contact_id' => ['required', 'exists:App\Models\Contact,id'],
@ -216,7 +216,7 @@ class ContractController extends Controller
$request->validate([
'date' => ['required', 'date_format:"d.m.Y"'],
'delivery_date' => ['date_format:"d.m.Y"'],
'delivery_date' => ['nullable', 'date_format:"d.m.Y"'],
'price' => ['required', 'integer'],
'insurance_type' => ['nullable', 'string', Rule::in(InsuranceType::getValues())],
'notes' => ['nullable'],

View File

@ -21,7 +21,7 @@ class CreateContactsTable extends Migration
$table->string('address', 150)->nullable();
$table->string('zip', 6)->nullable();
$table->string('city', 75)->nullable();
$table->string('country', 2)->nullable();
$table->string('country', 3)->nullable();
$table->string('company', 75)->nullable();
$table->string('email', 75)->nullable();
$table->text('notes')->nullable();

View File

@ -15,7 +15,7 @@ class CreateCarsTable extends Migration
{
Schema::create('cars', function (Blueprint $table) {
$table->id();
$table->string('stammnummer', 11)->unique();
$table->string('stammnummer', 11);
$table->string('vin', 17);
$table->string('colour')->nullable();
$table->text('notes')->nullable();

View File

@ -282,7 +282,7 @@ class DatabaseSeeder extends Seeder
],
],
7 => [
'brand' => 'Škoda',
'brand' => 'Skoda',
'models' => [
0 => 'Favorit',
1 => 'Felicia',

View File

@ -162,7 +162,9 @@ return [
'vin' => 'Chassisnummer',
'initial_date' => 'Inverkehrssetzung',
'last_check_date' => 'Letzte Prüfung',
'car_model_id' => 'Automodell',
'kilometers' => 'Kilometerstand',
'price' => 'Preis',
'delivery_date' => 'Lieferdatum',
],
];