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..b18c67dd 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_117') + 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 }} @@ -153,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 @@ -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 {{ $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/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/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 + +
| # | Nom | Categorie | +Quantité Total | +Quantité Disponible | Description | Action | @@ -26,6 +31,8 @@{{$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')
+
+
+@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 @@
+
+
+ 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 + +
+
+
+ |
|---|