From 1333a89ea25cb0f67e512fdf7451fb92a3b71cfc Mon Sep 17 00:00:00 2001 From: Gael Yvert <Gael.Yvert@ens-lyon.fr> Date: Fri, 11 Jun 2021 14:07:42 +0200 Subject: [PATCH] projects table added, with BREAD and menu, and update viewer's role to see it (issue #66) --- app/Project.php | 11 ++ ...021_06_11_114143_create_projects_table.php | 38 ++++++ ...lityTrackingByIseedDataRowsTableSeeder.php | 128 ++++++++++++++++++ ...ityTrackingByIseedDataTypesTableSeeder.php | 18 +++ ...ityTrackingByIseedMenuItemsTableSeeder.php | 26 +++- ...ackingByIseedPermissionRoleTableSeeder.php | 123 +++++++++++------ ...yTrackingByIseedPermissionsTableSeeder.php | 40 ++++++ 7 files changed, 340 insertions(+), 44 deletions(-) create mode 100644 app/Project.php create mode 100644 database/migrations/2021_06_11_114143_create_projects_table.php diff --git a/app/Project.php b/app/Project.php new file mode 100644 index 0000000..89d7a13 --- /dev/null +++ b/app/Project.php @@ -0,0 +1,11 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Project extends Model +{ + use HasFactory; +} diff --git a/database/migrations/2021_06_11_114143_create_projects_table.php b/database/migrations/2021_06_11_114143_create_projects_table.php new file mode 100644 index 0000000..23fda28 --- /dev/null +++ b/database/migrations/2021_06_11_114143_create_projects_table.php @@ -0,0 +1,38 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +class CreateProjectsTable extends Migration +{ + /** + * Run the migrations. + * + * @return void + */ + public function up() + { + Schema::create('projects', function (Blueprint $table) { + $table->bigIncrements('id'); + $table->string('name', 100)->nullable($value = false); + $table->string('leader', 100)->nullable($value = true); + $table->longtext('files')->nullable($value = true); + $table->text('status')->nullable($value = false); + + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('projects'); + } +} diff --git a/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php index 6f805b8..47e5e5d 100755 --- a/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php @@ -3459,6 +3459,134 @@ class FunctionalityTrackingByIseedDataRowsTableSeeder extends Seeder 'required' => 1, 'type' => 'checkbox', ), + 215 => + array ( + 'add' => 0, + 'browse' => 0, + 'data_type_id' => 46, + 'delete' => 0, + 'details' => '{}', + 'display_name' => 'Id', + 'edit' => 1, + 'field' => 'id', + 'id' => 303, + 'order' => 1, + 'read' => 1, + 'required' => 1, + 'type' => 'text', + ), + 216 => + array ( + 'add' => 1, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{}', + 'display_name' => 'Name', + 'edit' => 1, + 'field' => 'name', + 'id' => 304, + 'order' => 2, + 'read' => 1, + 'required' => 1, + 'type' => 'text', + ), + 217 => + array ( + 'add' => 1, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{}', + 'display_name' => 'Leader', + 'edit' => 1, + 'field' => 'leader', + 'id' => 305, + 'order' => 3, + 'read' => 1, + 'required' => 0, + 'type' => 'text', + ), + 218 => + array ( + 'add' => 1, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{"max":10,"min":0,"expanded":false,"show_folders":true,"show_toolbar":true,"allow_upload":true,"allow_move":false,"allow_delete":false,"allow_create_folder":true,"allow_rename":false,"allow_crop":false,"allowed":[],"hide_thumbnails":false}', + 'display_name' => 'Files', + 'edit' => 1, + 'field' => 'files', + 'id' => 306, + 'order' => 5, + 'read' => 1, + 'required' => 0, + 'type' => 'media_picker', + ), + 219 => + array ( + 'add' => 1, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{"default":"ongoing","options":{"ongoing":"ongoing","closed":"closed","abandoned":"abandoned","not yet started":"not yet started"}}', + 'display_name' => 'Status', + 'edit' => 1, + 'field' => 'status', + 'id' => 307, + 'order' => 6, + 'read' => 1, + 'required' => 1, + 'type' => 'select_dropdown', + ), + 220 => + array ( + 'add' => 0, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{}', + 'display_name' => 'Created At', + 'edit' => 1, + 'field' => 'created_at', + 'id' => 308, + 'order' => 7, + 'read' => 1, + 'required' => 1, + 'type' => 'timestamp', + ), + 221 => + array ( + 'add' => 0, + 'browse' => 0, + 'data_type_id' => 46, + 'delete' => 0, + 'details' => '{}', + 'display_name' => 'Updated At', + 'edit' => 0, + 'field' => 'updated_at', + 'id' => 309, + 'order' => 8, + 'read' => 0, + 'required' => 1, + 'type' => 'timestamp', + ), + 222 => + array ( + 'add' => 1, + 'browse' => 1, + 'data_type_id' => 46, + 'delete' => 1, + 'details' => '{"model":"App\\\\User","table":"users","type":"belongsTo","column":"leader","key":"id","label":"name","pivot_table":"antibodies","pivot":"0","taggable":"0"}', + 'display_name' => 'Leader', + 'edit' => 1, + 'field' => 'project_belongsto_user_relationship', + 'id' => 310, + 'order' => 4, + 'read' => 1, + 'required' => 0, + 'type' => 'relationship', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php index 9e496da..39cfcb5 100755 --- a/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php @@ -415,6 +415,24 @@ class FunctionalityTrackingByIseedDataTypesTableSeeder extends Seeder 'slug' => 'wellplates', 'updated_at' => '2021-06-11 08:17:04', ), + 22 => + array ( + 'controller' => NULL, + 'created_at' => '2021-06-11 11:53:14', + 'description' => NULL, + 'details' => '{"order_column":null,"order_display_column":null,"order_direction":"asc","default_search_key":null,"scope":null}', + 'display_name_plural' => 'Projects', + 'display_name_singular' => 'Project', + 'generate_permissions' => 1, + 'icon' => NULL, + 'id' => 46, + 'model_name' => 'App\\Project', + 'name' => 'projects', + 'policy_name' => NULL, + 'server_side' => 0, + 'slug' => 'projects', + 'updated_at' => '2021-06-11 12:01:57', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php index ec5e647..8cf5458 100755 --- a/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php @@ -32,7 +32,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'route' => 'voyager.media.index', 'target' => '_self', 'title' => 'Media', - 'updated_at' => '2021-06-11 08:21:55', + 'updated_at' => '2021-06-11 12:01:01', 'url' => '', ), 1 => @@ -48,7 +48,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'route' => 'voyager.users.index', 'target' => '_self', 'title' => 'Users', - 'updated_at' => '2021-06-11 08:21:55', + 'updated_at' => '2021-06-11 12:01:01', 'url' => '', ), 2 => @@ -80,7 +80,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'route' => NULL, 'target' => '_self', 'title' => 'Tools', - 'updated_at' => '2021-06-11 08:21:55', + 'updated_at' => '2021-06-11 12:01:01', 'url' => '', ), 4 => @@ -144,7 +144,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'route' => 'voyager.bread.index', 'target' => '_self', 'title' => 'BREAD', - 'updated_at' => '2021-06-11 08:21:55', + 'updated_at' => '2021-06-11 12:01:01', 'url' => '', ), 8 => @@ -160,7 +160,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'route' => 'voyager.settings.index', 'target' => '_self', 'title' => 'Settings', - 'updated_at' => '2021-06-11 08:21:56', + 'updated_at' => '2021-06-11 12:01:01', 'url' => '', ), 9 => @@ -851,6 +851,22 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'updated_at' => '2021-05-28 14:27:02', 'url' => '', ), + 52 => + array ( + 'color' => '#0df705', + 'created_at' => '2021-06-11 11:53:15', + 'icon_class' => 'voyager-lab', + 'id' => 77, + 'menu_id' => 1, + 'order' => 9, + 'parameters' => 'null', + 'parent_id' => 18, + 'route' => 'voyager.projects.index', + 'target' => '_self', + 'title' => 'Projects', + 'updated_at' => '2021-06-11 12:01:01', + 'url' => '', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php index 6f72a82..6e4e0b7 100755 --- a/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php @@ -1145,205 +1145,250 @@ class FunctionalityTrackingByIseedPermissionRoleTableSeeder extends Seeder 'role_id' => 1, ), 225 => + array ( + 'permission_id' => 157, + 'role_id' => 27, + ), + 226 => array ( 'permission_id' => 158, 'role_id' => 1, ), - 226 => + 227 => + array ( + 'permission_id' => 158, + 'role_id' => 27, + ), + 228 => array ( 'permission_id' => 159, 'role_id' => 1, ), - 227 => + 229 => array ( 'permission_id' => 160, 'role_id' => 1, ), - 228 => + 230 => array ( 'permission_id' => 161, 'role_id' => 1, ), - 229 => + 231 => array ( 'permission_id' => 162, 'role_id' => 1, ), - 230 => + 232 => array ( 'permission_id' => 162, 'role_id' => 27, ), - 231 => + 233 => array ( 'permission_id' => 163, 'role_id' => 1, ), - 232 => + 234 => array ( 'permission_id' => 163, 'role_id' => 27, ), - 233 => + 235 => array ( 'permission_id' => 164, 'role_id' => 1, ), - 234 => + 236 => array ( 'permission_id' => 165, 'role_id' => 1, ), - 235 => + 237 => array ( 'permission_id' => 166, 'role_id' => 1, ), - 236 => + 238 => array ( 'permission_id' => 167, 'role_id' => 1, ), - 237 => + 239 => array ( 'permission_id' => 167, 'role_id' => 27, ), - 238 => + 240 => array ( 'permission_id' => 168, 'role_id' => 1, ), - 239 => + 241 => array ( 'permission_id' => 168, 'role_id' => 27, ), - 240 => + 242 => array ( 'permission_id' => 169, 'role_id' => 1, ), - 241 => + 243 => array ( 'permission_id' => 170, 'role_id' => 1, ), - 242 => + 244 => array ( 'permission_id' => 171, 'role_id' => 1, ), - 243 => + 245 => array ( 'permission_id' => 172, 'role_id' => 1, ), - 244 => + 246 => array ( 'permission_id' => 172, 'role_id' => 27, ), - 245 => + 247 => array ( 'permission_id' => 173, 'role_id' => 1, ), - 246 => + 248 => array ( 'permission_id' => 173, 'role_id' => 27, ), - 247 => + 249 => array ( 'permission_id' => 174, 'role_id' => 1, ), - 248 => + 250 => array ( 'permission_id' => 175, 'role_id' => 1, ), - 249 => + 251 => array ( 'permission_id' => 176, 'role_id' => 1, ), - 250 => + 252 => array ( 'permission_id' => 182, 'role_id' => 1, ), - 251 => + 253 => array ( 'permission_id' => 182, 'role_id' => 27, ), - 252 => + 254 => array ( 'permission_id' => 182, 'role_id' => 37, ), - 253 => + 255 => array ( 'permission_id' => 182, 'role_id' => 38, ), - 254 => + 256 => array ( 'permission_id' => 183, 'role_id' => 1, ), - 255 => + 257 => array ( 'permission_id' => 183, 'role_id' => 27, ), - 256 => + 258 => array ( 'permission_id' => 183, 'role_id' => 37, ), - 257 => + 259 => array ( 'permission_id' => 183, 'role_id' => 38, ), - 258 => + 260 => array ( 'permission_id' => 184, 'role_id' => 1, ), - 259 => + 261 => array ( 'permission_id' => 184, 'role_id' => 37, ), - 260 => + 262 => array ( 'permission_id' => 185, 'role_id' => 1, ), - 261 => + 263 => array ( 'permission_id' => 185, 'role_id' => 37, ), - 262 => + 264 => array ( 'permission_id' => 185, 'role_id' => 38, ), - 263 => + 265 => array ( 'permission_id' => 186, 'role_id' => 1, ), - 264 => + 266 => array ( 'permission_id' => 186, 'role_id' => 37, ), + 267 => + array ( + 'permission_id' => 187, + 'role_id' => 1, + ), + 268 => + array ( + 'permission_id' => 187, + 'role_id' => 27, + ), + 269 => + array ( + 'permission_id' => 188, + 'role_id' => 1, + ), + 270 => + array ( + 'permission_id' => 188, + 'role_id' => 27, + ), + 271 => + array ( + 'permission_id' => 189, + 'role_id' => 1, + ), + 272 => + array ( + 'permission_id' => 190, + 'role_id' => 1, + ), + 273 => + array ( + 'permission_id' => 191, + 'role_id' => 1, + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php index 124d6e1..d6dd4bd 100755 --- a/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php @@ -1147,6 +1147,46 @@ class FunctionalityTrackingByIseedPermissionsTableSeeder extends Seeder 'table_name' => 'wellplates', 'updated_at' => '2021-05-19 07:42:11', ), + 141 => + array ( + 'created_at' => '2021-06-11 11:53:14', + 'id' => 187, + 'key' => 'browse_projects', + 'table_name' => 'projects', + 'updated_at' => '2021-06-11 11:53:14', + ), + 142 => + array ( + 'created_at' => '2021-06-11 11:53:14', + 'id' => 188, + 'key' => 'read_projects', + 'table_name' => 'projects', + 'updated_at' => '2021-06-11 11:53:14', + ), + 143 => + array ( + 'created_at' => '2021-06-11 11:53:14', + 'id' => 189, + 'key' => 'edit_projects', + 'table_name' => 'projects', + 'updated_at' => '2021-06-11 11:53:14', + ), + 144 => + array ( + 'created_at' => '2021-06-11 11:53:14', + 'id' => 190, + 'key' => 'add_projects', + 'table_name' => 'projects', + 'updated_at' => '2021-06-11 11:53:14', + ), + 145 => + array ( + 'created_at' => '2021-06-11 11:53:14', + 'id' => 191, + 'key' => 'delete_projects', + 'table_name' => 'projects', + 'updated_at' => '2021-06-11 11:53:14', + ), )); -- GitLab