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 @@
- - - +
@@ -22,7 +35,7 @@ {{ __('Title') }} @forelse ($top_auks as $top_auk) - - + +
- {{ __('Number') }} + {{ __('Path') }} {{ __('Actions') }} @@ -30,8 +43,8 @@
{{ $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 }}

+ + + + + + {{-- --}} + + @forelse ($auks as $auk) + + + + + {{-- --}} + + + + @empty + + + + @endforelse +
+ {{ __('AUK Name') }} + + {{ __('AUK path') }} + + {{ __('Image dir') }} + + {{ __('Actions') }} +
{{ $auk['auk_name'] }}{{ $auk['auk_path'] }}{{ $auk['image_dir'] }} 
No Documents! +
+ @if (count($auks)) + +
+ @csrf + @for($i = 0; $i < count($auks); $i++) + + + + @endfor +
+ + +
+
+ @endif +
+
+
+
+
+
diff --git a/routes/web.php b/routes/web.php index 4d8d200..0dd871d 100644 --- a/routes/web.php +++ b/routes/web.php @@ -41,5 +41,6 @@ Route::resource('/mmc', MMCController::class)->middleware(['auth'])->only(['inde Route::get('/mmc/scan', [MMCController::class, 'scan'])->middleware(['auth'])->name('mmc.scan'); Route::resource('/documents', DocumentController::class)->except('show')->middleware(['auth']); Route::resource('/auks', AUKController::class)->except('show')->middleware(['auth']); +Route::get('/auks/scan', [AUKController::class, 'scan'])->middleware(['auth'])->name('auks.scan'); require __DIR__ . '/auth.php';