From 13ed334ea1073931701e6e7e8390a3274a7c43b5 Mon Sep 17 00:00:00 2001 From: Mathieu Lagace Date: Wed, 28 Aug 2019 10:02:25 -0400 Subject: [PATCH 1/4] Deployement 117 --- .gitlab-ci.yml | 16 +++++ Envoy.blade.php | 45 ++++++++++++ app/Http/Controllers/ConfigController.php | 22 ++++++ app/Http/Controllers/EventController.php | 11 +++ .../views/admin/configs/general.blade.php | 2 + resources/views/admin/configs/perso.blade.php | 69 +++++++++++++++++++ .../views/layouts/admin/sidebar.blade.php | 6 ++ routes/web.php | 2 + 8 files changed, 173 insertions(+) create mode 100644 resources/views/admin/configs/perso.blade.php diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 2b1db8df..fd67162b 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -69,6 +69,22 @@ deploy_227: only: - master +deploy_117: + stage: deploy + script: + - 'which ssh-agent || ( apt-get update -y && apt-get install openssh-client -y )' + - eval $(ssh-agent -s) + - ssh-add <(echo "$SSH_PRIVATE_KEY") + - mkdir -p ~/.ssh + - '[[ -f /.dockerenv ]] && echo -e "Host *\n\tStrictHostKeyChecking no\n\n" > ~/.ssh/config' + + - ~/.composer/vendor/bin/envoy run deploy_117 --commit="$CI_COMMIT_SHA" + environment: + name: CCMRC117 + url: http://117.exvps.ca + only: + - master + deploy_dev: stage: deploy script: diff --git a/Envoy.blade.php b/Envoy.blade.php index 58ea9678..68e1a5ec 100644 --- a/Envoy.blade.php +++ b/Envoy.blade.php @@ -19,6 +19,10 @@ $releases_dir_227 = '/var/www/c-cms/ccmrc227/releases'; $app_dir_227 = '/var/www/c-cms/ccmrc227'; $new_release_dir_227 = $releases_dir_227 .'/'. $release; + + $releases_dir_117 = '/var/www/c-cms/ccmrc117/releases'; + $app_dir_117 = '/var/www/c-cms/ccmrc117'; + $new_release_dir_117 = $releases_dir_117 .'/'. $release; @endsetup @story('deploy_697') @@ -45,6 +49,12 @@ update_symlinks_227 @endstory +@story('deploy_177') + clone_repository_117 + run_composer_117 + update_symlinks_117 +@endstory + @task('clone_repository_697') echo 'Cloning repository' [ -d {{ $releases_dir_697 }} ] || mkdir {{ $releases_dir_697 }} @@ -183,4 +193,39 @@ cd {{ $app_dir_227 }}/current/ php artisan migrate php artisan db:seed --class=ConfigsTableSeeder +@endtask + +@task('clone_repository_117') +echo 'Cloning repository' +[ -d {{ $releases_dir_117 }} ] || mkdir {{ $releases_dir_117 }} +git clone --depth 1 --single-branch -b dev {{ $repository }} {{ $new_release_dir_117 }} +cd {{ $new_release_dir_117 }} +git reset --hard {{ $commit }} +@endtask + +@task('run_composer_117') +echo "Starting deployment ({{ $release }})" +cd {{ $new_release_dir_117 }} +composer install --prefer-dist --no-scripts -q -o +@endtask + +@task('update_symlinks_117') +echo "Linking storage directory" +rm -rf {{ $new_release_dir_117 }}/storage +ln -nfs {{ $app_dir_117 }}/storage {{ $new_release_dir_117 }}/storage + +echo 'Linking .env file' +ln -nfs {{ $app_dir_117 }}/.env {{ $new_release_dir_117 }}/.env + +echo 'Linking current release' +ln -nfs {{ $new_release_dir_117 }} {{ $app_dir_117 }}/current + +echo 'Setting permission' +chmod -R 777 {{ $app_dir_117 }}/current/bootstrap/ + +echo 'Migrate DB' +cd {{ $app_dir_117 }}/current/ +php artisan migrate +php artisan db:seed --class=ConfigsTableSeeder + @endtask \ No newline at end of file diff --git a/app/Http/Controllers/ConfigController.php b/app/Http/Controllers/ConfigController.php index f94e20be..ecd0453e 100644 --- a/app/Http/Controllers/ConfigController.php +++ b/app/Http/Controllers/ConfigController.php @@ -17,6 +17,28 @@ class ConfigController extends Controller return view ('admin.configs.general',['configs' => Config::all()]); } + public function customisation() + { + return view ('admin.configs.perso',['configs' => Config::all()]); + } + + public function customisationUpdate() + { + $configs = [ + 'public_index_img_url' + ]; + + foreach ($configs as $config) { + $c = \App\Config::all()->where('name',$config)->first(); + $c->data = [request($config)]; + $c->save(); + } + + \App\Log::saveLog('Modification de la configuration du site'); + + return redirect('/admin/config/customisation')->with('success','Modification sauvegarder avec succès !'); + } + /** * Show the form for creating a new resource. * diff --git a/app/Http/Controllers/EventController.php b/app/Http/Controllers/EventController.php index 2a91f4fd..24cb1df2 100644 --- a/app/Http/Controllers/EventController.php +++ b/app/Http/Controllers/EventController.php @@ -139,6 +139,17 @@ class EventController extends Controller $course = new \App\Course(); + foreach ($event->courses as $c) + { + if ($c->periode == $p) + { + if ($c->level == $l) + { + $course = $c; + } + } + } + $users = \App\User::all(); $instructor = 1; diff --git a/resources/views/admin/configs/general.blade.php b/resources/views/admin/configs/general.blade.php index a62efe58..8dde4395 100644 --- a/resources/views/admin/configs/general.blade.php +++ b/resources/views/admin/configs/general.blade.php @@ -100,6 +100,8 @@ Email du CC. Laisser vide si aucun + +
diff --git a/routes/web.php b/routes/web.php index f6c9bed6..a3da046e 100644 --- a/routes/web.php +++ b/routes/web.php @@ -80,6 +80,8 @@ Route::middleware(['auth','admin'])->group(function () { Route::post('/admin/config/activity/edit/{id}' , 'ComplementaryActivityController@update'); Route::post('/admin/config/general/edit','ConfigController@update'); Route::get('/admin/config/' , 'ConfigController@index'); + Route::get('/admin/config/customisation','ConfigController@customisation'); + Route::post('/admin/config/customisation','ConfigController@customisationUpdate'); /** Public page */ Route::get('/admin/public/edit/{config}', 'PublicController@edit'); From 28c2f0a13dfaadde954d860ac226832503701bac Mon Sep 17 00:00:00 2001 From: Mathieu Lagace Date: Wed, 28 Aug 2019 10:13:30 -0400 Subject: [PATCH 2/4] Update CI/CD --- Envoy.blade.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Envoy.blade.php b/Envoy.blade.php index 68e1a5ec..1cefd537 100644 --- a/Envoy.blade.php +++ b/Envoy.blade.php @@ -49,7 +49,7 @@ update_symlinks_227 @endstory -@story('deploy_177') +@story('deploy_117') clone_repository_117 run_composer_117 update_symlinks_117 From caf44ba58ab88a2cae9eab1cc48d7362bd1daf87 Mon Sep 17 00:00:00 2001 From: Mathieu Lagace Date: Wed, 28 Aug 2019 10:27:17 -0400 Subject: [PATCH 3/4] Update CI/CD --- Envoy.blade.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Envoy.blade.php b/Envoy.blade.php index 1cefd537..b18c67dd 100644 --- a/Envoy.blade.php +++ b/Envoy.blade.php @@ -163,7 +163,7 @@ @task('clone_repository_227') echo 'Cloning repository' [ -d {{ $releases_dir_227 }} ] || mkdir {{ $releases_dir_227 }} -git clone --depth 1 --single-branch -b dev {{ $repository }} {{ $new_release_dir_227 }} +git clone --depth 1 {{ $repository }} {{ $new_release_dir_227 }} cd {{ $new_release_dir_227 }} git reset --hard {{ $commit }} @endtask @@ -198,7 +198,7 @@ php artisan db:seed --class=ConfigsTableSeeder @task('clone_repository_117') echo 'Cloning repository' [ -d {{ $releases_dir_117 }} ] || mkdir {{ $releases_dir_117 }} -git clone --depth 1 --single-branch -b dev {{ $repository }} {{ $new_release_dir_117 }} +git clone --depth 1 {{ $repository }} {{ $new_release_dir_117 }} cd {{ $new_release_dir_117 }} git reset --hard {{ $commit }} @endtask From d01bf2fca72c87802c78c00375731aa729be2ce6 Mon Sep 17 00:00:00 2001 From: Mathieu Lagace Date: Wed, 28 Aug 2019 12:57:51 -0400 Subject: [PATCH 4/4] Add ItemCategory form --- app/Http/Controllers/InventoryController.php | 5 + .../Controllers/ItemCategoryController.php | 69 +++++++++-- app/Item.php | 18 +++ .../views/admin/inventory/index.blade.php | 9 +- .../admin/inventory/management.blade.php | 42 +++++++ resources/views/admin/item/add.blade.php | 88 +++++++------- .../views/admin/itemcategory/add.blade.php | 64 ++++++++++ .../views/admin/itemcategory/edit.blade.php | 64 ++++++++++ .../views/admin/itemcategory/index.blade.php | 113 ++++++++++++++++++ .../views/layouts/admin/sidebar.blade.php | 10 +- routes/api.php | 3 + routes/web.php | 16 ++- 12 files changed, 437 insertions(+), 64 deletions(-) create mode 100644 resources/views/admin/inventory/management.blade.php create mode 100644 resources/views/admin/itemcategory/add.blade.php create mode 100644 resources/views/admin/itemcategory/edit.blade.php create mode 100644 resources/views/admin/itemcategory/index.blade.php diff --git a/app/Http/Controllers/InventoryController.php b/app/Http/Controllers/InventoryController.php index 589c79c0..6d8f348a 100644 --- a/app/Http/Controllers/InventoryController.php +++ b/app/Http/Controllers/InventoryController.php @@ -29,6 +29,11 @@ class InventoryController extends Controller { // } + + public function management() + { + return view('admin.inventory.management'); + } public function booking() { diff --git a/app/Http/Controllers/ItemCategoryController.php b/app/Http/Controllers/ItemCategoryController.php index 72cd6ae8..29d7daaa 100644 --- a/app/Http/Controllers/ItemCategoryController.php +++ b/app/Http/Controllers/ItemCategoryController.php @@ -2,6 +2,7 @@ namespace App\Http\Controllers; +use App\Item; use App\ItemCategory; use Illuminate\Http\Request; @@ -14,7 +15,7 @@ class ItemCategoryController extends Controller */ public function index() { - // + return view('admin.itemcategory.index',['categories' => ItemCategory::all()]); } /** @@ -24,7 +25,7 @@ class ItemCategoryController extends Controller */ public function create() { - // + return view('admin.itemcategory.add'); } /** @@ -33,9 +34,32 @@ class ItemCategoryController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function store(Request $request) + public function store() { - // + $c = new ItemCategory(); + + $c->name = \request('name'); + $c->desc = \request('desc'); + if (\request('is_training') == 1) + { + $c->is_training = 1; + } + else + { + $c->is_training = 0; + } + if (\request('is_op_appro') == 1) + { + $c->is_op_appro = 1; + } + else + { + $c->is_op_appro = 0; + } + + $c->save(); + + return redirect('/admin/inventory/management/category/')->with('success','Catégorie ajouté avec succès'); } /** @@ -55,9 +79,9 @@ class ItemCategoryController extends Controller * @param \App\ItemCategory $itemCategory * @return \Illuminate\Http\Response */ - public function edit(ItemCategory $itemCategory) + public function edit($id) { - // + return view('admin.itemcategory.edit',['category' => ItemCategory::find($id)]); } /** @@ -67,9 +91,32 @@ class ItemCategoryController extends Controller * @param \App\ItemCategory $itemCategory * @return \Illuminate\Http\Response */ - public function update(Request $request, ItemCategory $itemCategory) + public function update($id) { - // + $c = ItemCategory::find($id); + + $c->name = \request('name'); + $c->desc = \request('desc'); + if (\request('is_training') == 1) + { + $c->is_training = 1; + } + else + { + $c->is_training = 0; + } + if (\request('is_op_appro') == 1) + { + $c->is_op_appro = 1; + } + else + { + $c->is_op_appro = 0; + } + + $c->save(); + + return redirect('/admin/inventory/management/category/')->with('success','Catégorie modifié avec succès'); } /** @@ -78,8 +125,10 @@ class ItemCategoryController extends Controller * @param \App\ItemCategory $itemCategory * @return \Illuminate\Http\Response */ - public function destroy(ItemCategory $itemCategory) + public function destroy($id) { - // + $c = ItemCategory::find($id); + + $c->delete(); } } diff --git a/app/Item.php b/app/Item.php index 8637119e..00041aa0 100644 --- a/app/Item.php +++ b/app/Item.php @@ -31,4 +31,22 @@ class Item extends Model { return \App\ItemCategory::find($this->category_id); } + + public function available() + { + + return $this->quantity - $this->booked(); + } + + public function booked() + { + $nbBooked = 0; + + foreach ($this->bookings() as $b) + { + $nbBooked = $nbBooked + $b->amount; + } + + return $nbBooked; + } } diff --git a/resources/views/admin/inventory/index.blade.php b/resources/views/admin/inventory/index.blade.php index d0a74f31..b89ec947 100644 --- a/resources/views/admin/inventory/index.blade.php +++ b/resources/views/admin/inventory/index.blade.php @@ -8,7 +8,10 @@
- Ajouter un item a l'inventaire +
@@ -16,6 +19,8 @@ + + @@ -26,6 +31,8 @@ + +
# Nom CategorieQuantité TotalQuantité Disponible Description Action
{{$item->official_number}} {{$item->name}} {{$item->category()->name}}{{$item->quantity}}{{$item->available()}} {!! $item->desc !!}
diff --git a/resources/views/admin/inventory/management.blade.php b/resources/views/admin/inventory/management.blade.php new file mode 100644 index 00000000..2c60fa9b --- /dev/null +++ b/resources/views/admin/inventory/management.blade.php @@ -0,0 +1,42 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+ Gestion de l'inventaire + +
+
+
+
+
+
+

Catégorie

+

Gestion des catégories de l'inventaire

+
+
+
+
+

+ Les catégories permettent de diviser l'inventaire et de définir les permissions d'accès aux items +

+
+ +
+
+
+
+
+
+
+
+@endsection + +@section('custom_scripts') + +@endsection diff --git a/resources/views/admin/item/add.blade.php b/resources/views/admin/item/add.blade.php index 95e09843..a4b045d2 100644 --- a/resources/views/admin/item/add.blade.php +++ b/resources/views/admin/item/add.blade.php @@ -9,52 +9,52 @@
- @csrf -
-
-
- - + @csrf +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
-
- - -
-
-
- -
- -
-
-
- -
-
diff --git a/resources/views/admin/itemcategory/add.blade.php b/resources/views/admin/itemcategory/add.blade.php new file mode 100644 index 00000000..e4aba9cc --- /dev/null +++ b/resources/views/admin/itemcategory/add.blade.php @@ -0,0 +1,64 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+ Ajouter une catégorie + +
+
+
+ @csrf +
+
+
+ + +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+@endsection + +@section('custom_scripts') + +@endsection diff --git a/resources/views/admin/itemcategory/edit.blade.php b/resources/views/admin/itemcategory/edit.blade.php new file mode 100644 index 00000000..a73e7513 --- /dev/null +++ b/resources/views/admin/itemcategory/edit.blade.php @@ -0,0 +1,64 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+ Modifier une catégorie + +
+
+
+ @csrf +
+
+
+ + +
+
+
+
+ +
+
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+@endsection + +@section('custom_scripts') + +@endsection diff --git a/resources/views/admin/itemcategory/index.blade.php b/resources/views/admin/itemcategory/index.blade.php new file mode 100644 index 00000000..cb6f1f4d --- /dev/null +++ b/resources/views/admin/itemcategory/index.blade.php @@ -0,0 +1,113 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+ Gestion de l'inventaire + +
+
+
+ +
+ + + + + + + + + + + + + @foreach ($categories as $category) + + + + + + + + + @endforeach + + +
IDNomDescriptionDisponible pour l'instructionRéservé a l'officer d'approvisionnementAction
{{$category->id}}{{$category->name}}{!! $category->desc !!} + @if($category->is_training == 1) + + @else + + @endif + + @if($category->is_op_appro == 1) + + @else + + @endif + +
+   Modifier + +
+
+
+
+
+
+
+@endsection + +@section('custom_scripts') + + +@endsection diff --git a/resources/views/layouts/admin/sidebar.blade.php b/resources/views/layouts/admin/sidebar.blade.php index b9461abe..906773aa 100644 --- a/resources/views/layouts/admin/sidebar.blade.php +++ b/resources/views/layouts/admin/sidebar.blade.php @@ -81,13 +81,13 @@