63 lines
2.0 KiB
PHP
63 lines
2.0 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Models\ProgramAppends;
|
|
use App\Models\Programs;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Routing\Controller as BaseController;
|
|
|
|
class ProgramAppendConstructController extends BaseController
|
|
{
|
|
public function index(Request $request, Programs $program) {
|
|
return view("program.construct.append.index", [
|
|
"program" => $program,
|
|
"appends" => $program->appends,
|
|
]);
|
|
}
|
|
|
|
public function add(Request $request, Programs $program) {
|
|
$append = new ProgramAppends();
|
|
if (sizeof($program->appends) === 0) {
|
|
$append->is_original = 1;
|
|
}
|
|
return view("program.construct.append.create", [
|
|
"program" => $program,
|
|
"append" => $append
|
|
]);
|
|
}
|
|
|
|
public function create(Request $request, Programs $program) {
|
|
$request->validate([
|
|
"name" => ["required_without:is_original"],
|
|
"from" => ["required"],
|
|
"price" => ["required", "numeric"],
|
|
]);
|
|
$createPayload = $request->only(["name", "from", "price", "append"]);
|
|
$append = $program->appends()->create($createPayload);
|
|
$append->is_original = $request->post("is_original", 0);
|
|
$append->save();
|
|
return redirect(route("program.construct.append.list", [
|
|
"program"=>$program->id,
|
|
]));
|
|
}
|
|
|
|
public function edit(Request $request, ProgramAppends $append) {
|
|
return view("program.construct.append.create", [
|
|
"program" => $append->program,
|
|
"append" => $append
|
|
]);
|
|
}
|
|
|
|
public function submit(Request $request, ProgramAppends $append) {
|
|
$submitPayload = $request->only(["name", "from", "price", "append"]);
|
|
$append->update($submitPayload);
|
|
$append->is_original = $request->post("is_original", 0);
|
|
$append->save();
|
|
return redirect(route("program.construct.append.list", [
|
|
"program"=>$append->program->id,
|
|
]));
|
|
}
|
|
|
|
}
|