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') +
| {{ __('Nom') }} | ++ |
|---|---|
| {{$repo->name}} | +{{ __('Détails') }} | +