diff --git a/app/Http/Controllers/AUKController.php b/app/Http/Controllers/AUKController.php index 3903175..cc6926b 100644 --- a/app/Http/Controllers/AUKController.php +++ b/app/Http/Controllers/AUKController.php @@ -18,7 +18,7 @@ class AUKController extends Controller { $project_id = $request->session()->get('project_id'); $project = Project::find($project_id); - $top_auks = $project->auks()->where('parent_id',0)->get(); + $top_auks = $project->auks()->where('parent_id', 0)->get(); return view('auks.list', ['project' => $project, 'top_auks' => $top_auks]); } @@ -32,7 +32,7 @@ class AUKController extends Controller { $project_id = $request->session()->get('project_id'); $project = Project::find($project_id); - $top_auks = $project->auks()->where('parent_id',0)->get(); + $top_auks = $project->auks()->where('parent_id', 0)->get(); return view('auks.create', ['project' => $project, 'top_auks' => $top_auks]); } @@ -80,11 +80,11 @@ class AUKController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function edit(Request $request,$id) + public function edit(Request $request, $id) { $project_id = $request->session()->get('project_id'); $project = Project::find($project_id); - $top_auks = $project->auks()->where('parent_id',0)->get(); + $top_auks = $project->auks()->where('parent_id', 0)->get(); $auk = AUK::find($id); return view('auks.edit', ['project' => $project, 'top_auks' => $top_auks, 'auk' => $auk]); } @@ -126,4 +126,72 @@ class AUKController extends Controller AUK::findOrFail($id)->delete(); return redirect()->route('auks.index'); } + + /** + * Show form to to load AUKs from file system + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function scan(Request $request) + { + $project_id = $request->session()->get('project_id'); + $project = Project::find($project_id); + + + $auks = array(); + $MMC_PATH = $project->mmc_path; + + $mmc_dir = scandir($MMC_PATH); + + foreach ($mmc_dir as $entry) { + $course_path = $MMC_PATH . '/' . $entry; + if (is_dir($course_path)) { + if (intval($entry) > 0 && intval($entry) < 99) { + $tmp_array = array(); + $tmp_array['auk_name'] = "АУК " . $entry; + $tmp_array['auk_path'] = $entry; + $tmp_array['image_dir'] = ""; + $mmc_course_dir = scandir($course_path); + foreach ($mmc_course_dir as $course_entry) { + if (strcasecmp($course_entry, 'images') == 0) { + $course_image_path = $course_path . '/' . $course_entry; + if (is_dir($course_image_path)) { + $tmp_array['image_dir'] = $course_entry; + } + } + } + array_push($auks,$tmp_array); + } + } + } + return view('auks.scan', ['project' => $project, 'auks' => $auks]); + } + + /** + * Load AUKs from file system + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function load(Request $request) + { + $project_id = $request->session()->get('project_id'); + $request->validate([ + 'name' => ['required', 'string', 'max:255'], + 'number' => ['required', 'integer'], + 'parent_id' => ['required', 'integer'], + ]); + + // $user = + AUK::create([ + 'project_id' => $project_id, + 'name' => $request->name, + 'number' => $request->number, + 'parent_id' => $request->parent_id, + ]); + + return redirect(route('auks.index')); + } + } diff --git a/app/Http/Controllers/MMCController.php b/app/Http/Controllers/MMCController.php index bdf6d8f..a10ae59 100644 --- a/app/Http/Controllers/MMCController.php +++ b/app/Http/Controllers/MMCController.php @@ -183,6 +183,6 @@ class MMCController extends Controller } } - return view('mmc.scan', ['project' => $project,'MMC' => $MMC]); + return view('mmc.scan', ['project' => $project, 'MMC' => $MMC]); } } diff --git a/database/migrations/2022_07_04_145512_create_auks_table.php b/database/migrations/2022_07_04_145512_create_auks_table.php index 8c05c51..4cbb974 100644 --- a/database/migrations/2022_07_04_145512_create_auks_table.php +++ b/database/migrations/2022_07_04_145512_create_auks_table.php @@ -16,8 +16,9 @@ class CreateAUKsTable extends Migration Schema::create('auks', function (Blueprint $table) { $table->id(); $table->integer('project_id')->unsigned(); - $table->string('name'); - $table->integer('number'); + $table->string('auk_name'); + $table->string('auk_path'); + $table->string('image_dir'); $table->integer('parent_id')->unsigned()->nullable(); $table->timestamps(); $table->softDeletes(); diff --git a/public/css/app.css b/public/css/app.css index a3c6b03..20d3df4 100644 --- a/public/css/app.css +++ b/public/css/app.css @@ -1084,6 +1084,9 @@ select { .pr-4 { padding-right: 1rem; } +.pb-4 { + padding-bottom: 1rem; +} .text-center { text-align: center; } diff --git a/resources/views/auks/list.blade.php b/resources/views/auks/list.blade.php index f8bc9bb..c55dc9a 100644 --- a/resources/views/auks/list.blade.php +++ b/resources/views/auks/list.blade.php @@ -9,11 +9,24 @@
| - {{ __('Number') }} + {{ __('Path') }} | {{ __('Actions') }} @@ -30,8 +43,8 @@ @forelse ($top_auks as $top_auk) | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| {{ $top_auk->name }} | -{{ $top_auk->number }} | +{{ $top_auk->auk_name }} | +{{ $top_auk->auk_path }} |
@include('auks.actions', ['auk' => $top_auk])
diff --git a/resources/views/auks/scan.blade.php b/resources/views/auks/scan.blade.php
new file mode 100644
index 0000000..91136a5
--- /dev/null
+++ b/resources/views/auks/scan.blade.php
@@ -0,0 +1,74 @@
+ + {{ $project->name }}: {{ __('Scan AUK') }} ++
+
+
+
+
+
+
+
+
+
+ AUK List in + {{ $project->mmc_path }}+
| |||||||||||