diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 17150b56..2b1db8df 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -53,6 +53,22 @@ deploy_736: only: - master +deploy_227: + 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_227 --commit="$CI_COMMIT_SHA" + environment: + name: CCMRC227 + url: http://227.exvps.ca + only: + - master + deploy_dev: stage: deploy script: diff --git a/Envoy.blade.php b/Envoy.blade.php index 11f02981..58ea9678 100644 --- a/Envoy.blade.php +++ b/Envoy.blade.php @@ -15,6 +15,10 @@ $releases_dir_dev = '/var/www/c-cms/dev/releases'; $app_dir_dev = '/var/www/c-cms/dev'; $new_release_dir_dev = $releases_dir_dev .'/'. $release; + + $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; @endsetup @story('deploy_697') @@ -35,6 +39,12 @@ update_symlinks_dev @endstory +@story('deploy_227') + clone_repository_227 + run_composer_227 + update_symlinks_227 +@endstory + @task('clone_repository_697') echo 'Cloning repository' [ -d {{ $releases_dir_697 }} ] || mkdir {{ $releases_dir_697 }} @@ -138,4 +148,39 @@ php artisan migrate php artisan db:seed --class=ConfigsTableSeeder +@endtask + +@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 }} +cd {{ $new_release_dir_227 }} +git reset --hard {{ $commit }} +@endtask + +@task('run_composer_227') +echo "Starting deployment ({{ $release }})" +cd {{ $new_release_dir_227 }} +composer install --prefer-dist --no-scripts -q -o +@endtask + +@task('update_symlinks_227') +echo "Linking storage directory" +rm -rf {{ $new_release_dir_227 }}/storage +ln -nfs {{ $app_dir_227 }}/storage {{ $new_release_dir_227 }}/storage + +echo 'Linking .env file' +ln -nfs {{ $app_dir_227 }}/.env {{ $new_release_dir_227 }}/.env + +echo 'Linking current release' +ln -nfs {{ $new_release_dir_227 }} {{ $app_dir_227 }}/current + +echo 'Setting permission' +chmod -R 777 {{ $app_dir_227 }}/current/bootstrap/ + +echo 'Migrate DB' +cd {{ $app_dir_227 }}/current/ +php artisan migrate +php artisan db:seed --class=ConfigsTableSeeder + @endtask \ No newline at end of file diff --git a/app/Http/Controllers/ItemCategoryController.php b/app/Http/Controllers/ItemCategoryController.php new file mode 100644 index 00000000..72cd6ae8 --- /dev/null +++ b/app/Http/Controllers/ItemCategoryController.php @@ -0,0 +1,85 @@ + \App\ItemCategory::all()]); } /** @@ -33,17 +33,20 @@ class ItemController extends Controller * @param \Illuminate\Http\Request $request * @return \Illuminate\Http\Response */ - public function store(Request $request) + public function store() { $item = new Item; $item->name = request('name'); $item->desc = request('desc'); - $item->quantiy = request('qt'); + $item->quantity = request('quantity'); + $item->official_number = request('official_number'); + $item->metadata = ['size' => request('metadata-size')]; + $item->category_id = request('category_id'); $item->save(); - return redirect('/admin/inventory'); + return redirect('/admin/inventory')->with('success','Item sauvegardé avec succès'); } /** @@ -67,7 +70,7 @@ class ItemController extends Controller { $item = Item::find($id); - return view('admin.item.edit',['item' => $item]); + return view('admin.item.edit',['item' => $item,'categories' => \App\ItemCategory::all()]); } /** @@ -83,11 +86,14 @@ class ItemController extends Controller $item->name = request('name'); $item->desc = request('desc'); - $item->quantity = request('qt'); + $item->quantity = request('quantity'); + $item->official_number = request('official_number'); + $item->metadata = ['size' => request('metadata-size')]; + $item->category_id = request('category_id'); $item->save(); - return redirect('/admin/inventory'); + return redirect('/admin/inventory')->with('success','Item sauvegardé avec succès'); } /** diff --git a/app/Http/Controllers/UserController.php b/app/Http/Controllers/UserController.php index c43c5185..8c5512fd 100644 --- a/app/Http/Controllers/UserController.php +++ b/app/Http/Controllers/UserController.php @@ -113,9 +113,9 @@ class UserController extends Controller * @param int $id * @return \Illuminate\Http\Response */ - public function update(Request $request) + public function update($id) { - $user = User::where('email', request('email'))->first(); + $user = User::find($id); $user->firstname = request('firstname'); $user->lastname = request('lastname'); diff --git a/app/Item.php b/app/Item.php index de83e594..8637119e 100644 --- a/app/Item.php +++ b/app/Item.php @@ -18,8 +18,17 @@ class Item extends Model return $col_items; } + protected $casts = [ + 'metadata' => 'array', + ]; + public function bookings() { return $this->hasMany('App\Booking'); } + + public function category() + { + return \App\ItemCategory::find($this->category_id); + } } diff --git a/app/ItemCategory.php b/app/ItemCategory.php new file mode 100644 index 00000000..b656ea4d --- /dev/null +++ b/app/ItemCategory.php @@ -0,0 +1,13 @@ +hasMany('App\Item','category_id'); + } +} diff --git a/database/migrations/2018_09_07_104706_create_items_table.php b/database/migrations/2018_09_07_104706_create_items_table.php index 1e5c5ef3..e76f42cf 100644 --- a/database/migrations/2018_09_07_104706_create_items_table.php +++ b/database/migrations/2018_09_07_104706_create_items_table.php @@ -15,9 +15,12 @@ class CreateItemsTable extends Migration { Schema::create('items', function (Blueprint $table) { $table->increments('id'); + $table->integer('category_id'); $table->integer('quantity'); $table->string('name'); + $table->string('official_number'); $table->string('desc'); + $table->text('metadata'); $table->timestamps(); }); } diff --git a/database/migrations/2019_07_20_095729_create_pictures_table.php b/database/migrations/2019_07_20_095729_create_pictures_table.php index 7fc25b13..afe60fdb 100644 --- a/database/migrations/2019_07_20_095729_create_pictures_table.php +++ b/database/migrations/2019_07_20_095729_create_pictures_table.php @@ -15,7 +15,7 @@ class CreatePicturesTable extends Migration { Schema::create('pictures', function (Blueprint $table) { $table->increments('id'); - $table->string('url'); + $table->text('url'); $table->string('title'); $table->text('desc'); $table->integer('pictureable_id'); diff --git a/database/migrations/2019_08_27_074255_create_item_categories_table.php b/database/migrations/2019_08_27_074255_create_item_categories_table.php new file mode 100644 index 00000000..9d516b36 --- /dev/null +++ b/database/migrations/2019_08_27_074255_create_item_categories_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->string('name'); + $table->text('desc'); + $table->boolean('is_training'); + $table->boolean('is_op_appro'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('item_categories'); + } +} diff --git a/resources/views/admin/inventory/add.blade.php b/resources/views/admin/inventory/add.blade.php new file mode 100644 index 00000000..95e09843 --- /dev/null +++ b/resources/views/admin/inventory/add.blade.php @@ -0,0 +1,86 @@ +@extends('layouts.admin.main') + +@section('content') +
+
+
+

Ajouter un item à l'inventaire

+
+
+
+ + @csrf +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+ +
+
+
+
+
+
+@endsection + + +@section('custom_scripts') + +@endsection diff --git a/resources/views/admin/inventory/index.blade.php b/resources/views/admin/inventory/index.blade.php index 263706fa..d0a74f31 100644 --- a/resources/views/admin/inventory/index.blade.php +++ b/resources/views/admin/inventory/index.blade.php @@ -13,19 +13,26 @@ - + + - + @foreach ($items as $item) - + - - + + + @endforeach @@ -58,13 +65,16 @@ @endsection @section('custom_scripts') - + @endsection diff --git a/resources/views/admin/item/edit.blade.php b/resources/views/admin/item/edit.blade.php index 161f1601..ddac0c9d 100644 --- a/resources/views/admin/item/edit.blade.php +++ b/resources/views/admin/item/edit.blade.php @@ -1,73 +1,87 @@ @extends('layouts.admin.main') @section('content') -
-
-
- Ajouter un item dans l'inventaire -
-
-
- @csrf -
-
-
- - - Nom +
+
+
+

Ajouter un item à l'inventaire

+
+
+ + + @csrf +
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+
+ + +
+
+
+ +
+ +
+
+
+
-
-
-
-
- - - Quantité disponible -
-
-
-
-
-
- - - Description de l'item -
-
-
-
-
- -
-
- + +
-
@endsection -@section('breadcrumb') - -@endsection @section('custom_scripts') - + @endsection diff --git a/resources/views/admin/user/edit.blade.php b/resources/views/admin/user/edit.blade.php index 444763f7..7ba19dbb 100644 --- a/resources/views/admin/user/edit.blade.php +++ b/resources/views/admin/user/edit.blade.php @@ -8,7 +8,7 @@
Quantité# NomCategorie DescriptionAction
{{$item->quantity}}{{$item->official_number}} {{$item->name}}{{$item->desc}}  Modifier{{$item->category()->name}}{!! $item->desc !!} +
+   Modifier + +
+