diff --git a/app/Http/Controllers/GitReposController.php b/app/Http/Controllers/GitReposController.php new file mode 100644 index 0000000..be1a112 --- /dev/null +++ b/app/Http/Controllers/GitReposController.php @@ -0,0 +1,97 @@ +validated(); + $git_repo = new GitRepos(); + $git_repo->fill($datas); + $git_repo->save(); + + return redirect()->route('git-repos.edit', ['git_repo' => $git_repo])->with('status', __('Dépôt Git créé.')); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + abort('404'); + } + + /** + * Show the form for editing the specified resource. + * + * @param GitRepos $git_repo + * @return \Illuminate\Http\Response + */ + public function edit(GitRepos $git_repo) + { + return view('git-repos.edit', compact('git_repo')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\GitReposUpdateRequest $request + * @param GitRepos $git_repo + * @return \Illuminate\Http\Response + */ + public function update(GitReposUpdateRequest $request, GitRepos $git_repo) + { + $datas = $request->validated(); + $git_repo->fill($datas); + $git_repo->save(); + + return redirect()->route('git-repos.edit', ['git_repo' => $git_repo])->with('status', __('Dépôt Git mis à jour.')); + } + + /** + * Remove the specified resource from storage. + * + * @param GitRepos $git_repo + * @return \Illuminate\Http\Response + */ + public function destroy(GitRepos $git_repo) + { + $git_repo->delete(); + return redirect()->route('git-repos.index')->with('status', __('Dépôt Git supprimé.')); + } +} diff --git a/app/Http/Controllers/ProjectsController.php b/app/Http/Controllers/ProjectsController.php index 16b5a91..d949f66 100644 --- a/app/Http/Controllers/ProjectsController.php +++ b/app/Http/Controllers/ProjectsController.php @@ -121,9 +121,6 @@ class ProjectsController extends Controller $php = $request->php; $type = $request->type; $https = $request->https; - $git_repo = $request->git_repo; - $git_user = $request->git_user; - $git_pwd = $request->git_pwd; $prod_url = $request->prod_url; $dev_url = $request->dev_url; $prod_certificats = $request->prod_certificats; @@ -168,9 +165,6 @@ class ProjectsController extends Controller $project->php = $php; $project->type = $type; $project->https = $https; - $project->git_repo = $git_repo; - $project->git_user = $git_user; - $project->git_pwd = $git_pwd; $project->prod_url = $prod_url; $project->dev_url = $dev_url; $project->prod_certificats = $prod_certificats; diff --git a/app/Http/Requests/GitReposStoreRequest.php b/app/Http/Requests/GitReposStoreRequest.php new file mode 100644 index 0000000..ffdc6b3 --- /dev/null +++ b/app/Http/Requests/GitReposStoreRequest.php @@ -0,0 +1,46 @@ + [ + 'string', + 'required', + Rule::unique('git_repos', 'name'), + ], + 'login' => [ + Rule::requiredIf(function () { + return !is_null($this->password); + }) + ], + 'password' => [ + Rule::requiredIf(function () { + return !is_null($this->login); + }) + ], + ]; + } +} diff --git a/app/Http/Requests/GitReposUpdateRequest.php b/app/Http/Requests/GitReposUpdateRequest.php new file mode 100644 index 0000000..c3bc6d9 --- /dev/null +++ b/app/Http/Requests/GitReposUpdateRequest.php @@ -0,0 +1,46 @@ + [ + 'string', + 'required', + Rule::unique('git_repos', 'name')->ignore($this->git_repo->id), + ], + 'login' => [ + Rule::requiredIf(function () { + return !is_null($this->password); + }) + ], + 'password' => [ + Rule::requiredIf(function () { + return !is_null($this->login); + }) + ], + ]; + } +} diff --git a/app/Models/GitRepos.php b/app/Models/GitRepos.php new file mode 100644 index 0000000..2e664bc --- /dev/null +++ b/app/Models/GitRepos.php @@ -0,0 +1,10 @@ +bigIncrements('id'); + $table->string('name')->unique(); + $table->string('login')->nullable(); + $table->string('password')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('git_repos'); + } +} diff --git a/resources/views/git-repos/create.blade.php b/resources/views/git-repos/create.blade.php new file mode 100644 index 0000000..e6199ce --- /dev/null +++ b/resources/views/git-repos/create.blade.php @@ -0,0 +1,66 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __("Ajout d'un dépôt Git") }}
+ +
+ @if (session('status')) + + @endif + @if (session('error')) + + @endif + @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif +
+ @csrf +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/git-repos/edit.blade.php b/resources/views/git-repos/edit.blade.php new file mode 100644 index 0000000..42b61bf --- /dev/null +++ b/resources/views/git-repos/edit.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Détails du dépôt Git') }} +
+ @csrf + @method('DELETE') + +
+
+ +
+ @if (session('status')) + + @endif + @if (session('error')) + + @endif + @if ($errors->any()) +
+
    + @foreach ($errors->all() as $error) +
  • {{ $error }}
  • + @endforeach +
+
+ @endif +
+ @csrf + @method('PUT') +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+
+ +
+
+
+
+
+
+
+
+@endsection diff --git a/resources/views/git-repos/index.blade.php b/resources/views/git-repos/index.blade.php new file mode 100644 index 0000000..f0f4284 --- /dev/null +++ b/resources/views/git-repos/index.blade.php @@ -0,0 +1,37 @@ +@extends('layouts.app') + +@section('content') +
+
+
+
+
{{ __('Gestion des dépôts Git') }} {{ __('Ajouter') }}
+ +
+ @if (session('status')) + + @endif + + + + + + + + + @foreach($repos as $repo) + + + + + @endforeach + +
{{ __('Nom') }}
{{$repo->name}}{{ __('Détails') }}
+
+
+
+
+
+@endsection diff --git a/resources/views/home.blade.php b/resources/views/home.blade.php index 0845e74..0ee4c2b 100644 --- a/resources/views/home.blade.php +++ b/resources/views/home.blade.php @@ -47,6 +47,10 @@
Réseau LDC + +
+ Dépôts Git +
diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index b4d0cb0..2fed723 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -55,6 +55,7 @@ Noms de domaine Adresses email Réseau LDC + Dépôts GIT