diff --git a/app/Antibody.php b/app/Antibody.php index 79571cc5b42dd2676b6948d2e52e2b4a71535769..63a331e4c3cfae057c2c4745c0734e0eab0f5e58 100755 --- a/app/Antibody.php +++ b/app/Antibody.php @@ -30,12 +30,11 @@ class Antibody extends Model return $this->belongsTo('App\Availability'); } /** - * Relationship to select the availability of the antibody. + * Relationship to select the lab member who ordered the antibody. */ public function orderedby() { return $this->belongsTo('App\User'); } - } diff --git a/app/Product.php b/app/Product.php new file mode 100644 index 0000000000000000000000000000000000000000..1867ddafc9a4932097b0f08195843c90eaf7d138 --- /dev/null +++ b/app/Product.php @@ -0,0 +1,28 @@ +<?php + +namespace App; + +use Illuminate\Database\Eloquent\Factories\HasFactory; +use Illuminate\Database\Eloquent\Model; + +class Product extends Model +{ + /** + * Relationship to get the supplier that provided the product. + */ + public function supplier() + { + return $this->belongsTo('App\Supplier'); + } + + /** + * Relationship to select the lab member who ordered the product. + */ + public function orderedby() + { + return $this->belongsTo('App\User'); + } + + + +} diff --git a/database/migrations/2025_02_13_143054_create_products_table.php b/database/migrations/2025_02_13_143054_create_products_table.php new file mode 100644 index 0000000000000000000000000000000000000000..2366d4df671d6b5ed1c8cfba0edb96436e0f8861 --- /dev/null +++ b/database/migrations/2025_02_13_143054_create_products_table.php @@ -0,0 +1,47 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +return new class extends Migration +{ + /** + * Run the migrations. + */ + public function up(): void + { + Schema::create('products', function (Blueprint $table) { + $table->bigincrements('id'); + + $table->string('name', 100)->nullable($value = false); + $table->string('type', 100)->nullable($value = true); + $table->string('supplier', 100)->nullable($value = false); + $table->string('supplierproductid', 50)->nullable($value = false); + $table->string('producer', 100)->nullable($value = true); + $table->string('producerproductid', 50)->nullable($value = true); + $table->string('weblink', 200)->nullable($value = true); + $table->float('price', '2')->nullable($value = true); + $table->date('lastorderdate')->nullable($value=false); + $table->string('orderedby', 255)->nullable($value = true); + $table->string('contactforquote', 100)->nullable($value = true); + $table->string('codenacre', 15)->nullable($value = true); + $table->longtext('comments')->nullable($value = true); + + // path to media files that we may want to upload + $table->longtext('files')->nullable($value = true); + + $table->timestamp('created_at')->useCurrent(); + $table->timestamp('updated_at')->useCurrent(); + + }); + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + Schema::dropIfExists('products'); + } +}; diff --git a/database/migrations/2025_02_13_170212_modify_price_column_of_products_table.php b/database/migrations/2025_02_13_170212_modify_price_column_of_products_table.php new file mode 100644 index 0000000000000000000000000000000000000000..c7ddd2386bc4cde99b0a1ce76a81bd6ada645cc2 --- /dev/null +++ b/database/migrations/2025_02_13_170212_modify_price_column_of_products_table.php @@ -0,0 +1,32 @@ +<?php + +use Illuminate\Database\Migrations\Migration; +use Illuminate\Database\Schema\Blueprint; +use Illuminate\Support\Facades\Schema; + +return new class extends Migration +{ + /** + * Run the migrations. + */ + public function up(): void + { + // + Schema::table('products', function (Blueprint $table) { + $table->string('price', 25)-> change(); + }); + + } + + /** + * Reverse the migrations. + */ + public function down(): void + { + // + Schema::table('products', function (Blueprint $table) { + $table->float('price', '2')-> change(); + }); + + } +}; diff --git a/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php index 42e3dcab6600967f9a83c33060233a4f5bd906c5..06a98d18662c92d308cf46d23acc9ba4105a33c8 100755 --- a/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedDataRowsTableSeeder.php @@ -4643,6 +4643,278 @@ class FunctionalityTrackingByIseedDataRowsTableSeeder extends Seeder 'details' => '{}', 'order' => 4, ), + 289 => + array ( + 'id' => 383, + 'data_type_id' => 60, + 'field' => 'id', + 'type' => 'text', + 'display_name' => 'Id', + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => '{}', + 'order' => 1, + ), + 290 => + array ( + 'id' => 384, + 'data_type_id' => 60, + 'field' => 'name', + 'type' => 'text', + 'display_name' => 'Name (required)', + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 2, + ), + 291 => + array ( + 'id' => 385, + 'data_type_id' => 60, + 'field' => 'type', + 'type' => 'select_dropdown', + 'display_name' => 'Type', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{"default":"Reagent","options":{"Reagent":"reagent","Equipment":"equipment","Disposable tool":"disposabletool","Sustainable tool":"sustainabletool","Other":"other"}}', + 'order' => 3, + ), + 292 => + array ( + 'id' => 386, + 'data_type_id' => 60, + 'field' => 'supplier', + 'type' => 'select_dropdown', + 'display_name' => 'Supplier (required)', + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{"relationship":{"key":"name","label":"name"}}', + 'order' => 4, + ), + 293 => + array ( + 'id' => 387, + 'data_type_id' => 60, + 'field' => 'supplierproductid', + 'type' => 'text', + 'display_name' => 'Supplier\'s reference (required)', + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 5, + ), + 294 => + array ( + 'id' => 388, + 'data_type_id' => 60, + 'field' => 'producer', + 'type' => 'text', + 'display_name' => 'Producer', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 6, + ), + 295 => + array ( + 'id' => 389, + 'data_type_id' => 60, + 'field' => 'producerproductid', + 'type' => 'text', + 'display_name' => 'Producer\'s reference', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 7, + ), + 296 => + array ( + 'id' => 390, + 'data_type_id' => 60, + 'field' => 'weblink', + 'type' => 'text', + 'display_name' => 'Weblink', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 8, + ), + 297 => + array ( + 'id' => 391, + 'data_type_id' => 60, + 'field' => 'price', + 'type' => 'text', + 'display_name' => 'Price (as text)', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 9, + ), + 298 => + array ( + 'id' => 392, + 'data_type_id' => 60, + 'field' => 'lastorderdate', + 'type' => 'date', + 'display_name' => 'Last order date (required)', + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 10, + ), + 299 => + array ( + 'id' => 393, + 'data_type_id' => 60, + 'field' => 'orderedby', + 'type' => 'select_dropdown', + 'display_name' => 'Ordered By', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{"relationship":{"key":"name","label":"name"}}', + 'order' => 11, + ), + 300 => + array ( + 'id' => 394, + 'data_type_id' => 60, + 'field' => 'contactforquote', + 'type' => 'text', + 'display_name' => 'Contact for quote', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 12, + ), + 301 => + array ( + 'id' => 395, + 'data_type_id' => 60, + 'field' => 'codenacre', + 'type' => 'text', + 'display_name' => 'Code Nacre', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 13, + ), + 302 => + array ( + 'id' => 396, + 'data_type_id' => 60, + 'field' => 'comments', + 'type' => 'text_area', + 'display_name' => 'Comments', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + 'delete' => 1, + 'details' => '{}', + 'order' => 14, + ), + 303 => + array ( + 'id' => 397, + 'data_type_id' => 60, + 'field' => 'files', + 'type' => 'media_picker', + 'display_name' => 'Files', + 'required' => 0, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 1, + '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}', + 'order' => 15, + ), + 304 => + array ( + 'id' => 398, + 'data_type_id' => 60, + 'field' => 'created_at', + 'type' => 'timestamp', + 'display_name' => 'Created At', + 'required' => 1, + 'browse' => 1, + 'read' => 1, + 'edit' => 1, + 'add' => 0, + 'delete' => 1, + 'details' => '{}', + 'order' => 16, + ), + 305 => + array ( + 'id' => 399, + 'data_type_id' => 60, + 'field' => 'updated_at', + 'type' => 'timestamp', + 'display_name' => 'Updated At', + 'required' => 1, + 'browse' => 0, + 'read' => 0, + 'edit' => 0, + 'add' => 0, + 'delete' => 0, + 'details' => '{}', + 'order' => 17, + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php index 921e2f1afbd2714adfd4629e799042d4629b85a5..e797c6be43117e314d4c34af2d286f7ed85385cb 100755 --- a/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedDataTypesTableSeeder.php @@ -631,6 +631,24 @@ class FunctionalityTrackingByIseedDataTypesTableSeeder extends Seeder 'created_at' => '2024-05-29 15:41:52', 'updated_at' => '2024-05-29 15:41:52', ), + 34 => + array ( + 'id' => 60, + 'name' => 'products', + 'slug' => 'products', + 'display_name_singular' => 'Product', + 'display_name_plural' => 'Products', + 'icon' => NULL, + 'model_name' => 'App\\Product', + 'policy_name' => NULL, + 'controller' => NULL, + 'description' => NULL, + 'generate_permissions' => 1, + 'server_side' => 0, + 'details' => '{"order_column":null,"order_display_column":null,"order_direction":"asc","default_search_key":null,"scope":null}', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 17:23:31', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php index 83311dca5eb3c160d8a1e0f603422c14b58008c5..4e55039b623983a5d57b755ac47c745b7062ba39 100755 --- a/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedMenuItemsTableSeeder.php @@ -31,7 +31,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 13, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:14:00', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.media.index', 'parameters' => NULL, ), @@ -47,7 +47,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 10, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:13:58', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.users.index', 'parameters' => 'null', ), @@ -63,7 +63,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 9, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:13:58', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.roles.index', 'parameters' => 'null', ), @@ -79,7 +79,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 12, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:13:59', + 'updated_at' => '2025-02-14 08:19:19', 'route' => NULL, 'parameters' => NULL, ), @@ -143,7 +143,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 11, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:13:59', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.bread.index', 'parameters' => NULL, ), @@ -159,7 +159,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 14, 'created_at' => '2020-01-30 08:14:02', - 'updated_at' => '2022-06-21 12:14:00', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.settings.index', 'parameters' => NULL, ), @@ -749,9 +749,9 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'icon_class' => NULL, 'color' => '#fffb00', 'parent_id' => 17, - 'order' => 5, + 'order' => 6, 'created_at' => '2021-05-19 07:42:11', - 'updated_at' => '2021-12-14 14:00:34', + 'updated_at' => '2025-02-14 08:19:25', 'route' => 'voyager.wellplates.index', 'parameters' => 'null', ), @@ -815,7 +815,7 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 8, 'created_at' => '2022-06-21 07:49:09', - 'updated_at' => '2022-06-21 12:10:30', + 'updated_at' => '2025-02-14 08:19:19', 'route' => NULL, 'parameters' => '', ), @@ -943,10 +943,26 @@ class FunctionalityTrackingByIseedMenuItemsTableSeeder extends Seeder 'parent_id' => NULL, 'order' => 15, 'created_at' => '2024-05-29 15:41:52', - 'updated_at' => '2024-05-29 15:41:52', + 'updated_at' => '2025-02-14 08:19:19', 'route' => 'voyager.purifs.index', 'parameters' => NULL, ), + 58 => + array ( + 'id' => 92, + 'menu_id' => 1, + 'title' => 'Products', + 'url' => '', + 'target' => '_self', + 'icon_class' => NULL, + 'color' => '#f9f06b', + 'parent_id' => 17, + 'order' => 5, + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-14 08:19:25', + 'route' => 'voyager.products.index', + 'parameters' => 'null', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php index c75172fe593c2280eb8bcc8fc352779cb6824a73..de78ea2e07aa3b4936873b7d7fa086965fe49b91 100755 --- a/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedPermissionRoleTableSeeder.php @@ -155,3782 +155,3857 @@ class FunctionalityTrackingByIseedPermissionRoleTableSeeder extends Seeder 'role_id' => 47, ), 27 => + array ( + 'permission_id' => 1, + 'role_id' => 48, + ), + 28 => array ( 'permission_id' => 2, 'role_id' => 1, ), - 28 => + 29 => array ( 'permission_id' => 2, 'role_id' => 39, ), - 29 => + 30 => array ( 'permission_id' => 3, 'role_id' => 1, ), - 30 => + 31 => array ( 'permission_id' => 4, 'role_id' => 1, ), - 31 => + 32 => array ( 'permission_id' => 4, 'role_id' => 28, ), - 32 => + 33 => array ( 'permission_id' => 4, 'role_id' => 29, ), - 33 => + 34 => array ( 'permission_id' => 4, 'role_id' => 31, ), - 34 => + 35 => array ( 'permission_id' => 4, 'role_id' => 32, ), - 35 => + 36 => array ( 'permission_id' => 4, 'role_id' => 33, ), - 36 => + 37 => array ( 'permission_id' => 4, 'role_id' => 34, ), - 37 => + 38 => array ( 'permission_id' => 4, 'role_id' => 35, ), - 38 => + 39 => array ( 'permission_id' => 4, 'role_id' => 37, ), - 39 => + 40 => array ( 'permission_id' => 4, 'role_id' => 39, ), - 40 => + 41 => array ( 'permission_id' => 4, 'role_id' => 40, ), - 41 => + 42 => array ( 'permission_id' => 4, 'role_id' => 41, ), - 42 => + 43 => array ( 'permission_id' => 5, 'role_id' => 1, ), - 43 => + 44 => array ( 'permission_id' => 5, 'role_id' => 39, ), - 44 => + 45 => array ( 'permission_id' => 5, 'role_id' => 40, ), - 45 => + 46 => array ( 'permission_id' => 5, 'role_id' => 41, ), - 46 => + 47 => array ( 'permission_id' => 6, 'role_id' => 1, ), - 47 => + 48 => array ( 'permission_id' => 6, 'role_id' => 39, ), - 48 => + 49 => array ( 'permission_id' => 6, 'role_id' => 40, ), - 49 => + 50 => array ( 'permission_id' => 6, 'role_id' => 41, ), - 50 => + 51 => + array ( + 'permission_id' => 6, + 'role_id' => 48, + ), + 52 => array ( 'permission_id' => 7, 'role_id' => 1, ), - 51 => + 53 => array ( 'permission_id' => 7, 'role_id' => 39, ), - 52 => + 54 => array ( 'permission_id' => 7, 'role_id' => 40, ), - 53 => + 55 => array ( 'permission_id' => 7, 'role_id' => 41, ), - 54 => + 56 => array ( 'permission_id' => 8, 'role_id' => 1, ), - 55 => + 57 => array ( 'permission_id' => 8, 'role_id' => 39, ), - 56 => + 58 => array ( 'permission_id' => 8, 'role_id' => 40, ), - 57 => + 59 => array ( 'permission_id' => 9, 'role_id' => 1, ), - 58 => + 60 => array ( 'permission_id' => 9, 'role_id' => 39, ), - 59 => + 61 => array ( 'permission_id' => 9, 'role_id' => 40, ), - 60 => + 62 => array ( 'permission_id' => 10, 'role_id' => 1, ), - 61 => + 63 => array ( 'permission_id' => 10, 'role_id' => 39, ), - 62 => + 64 => array ( 'permission_id' => 10, 'role_id' => 40, ), - 63 => + 65 => array ( 'permission_id' => 11, 'role_id' => 1, ), - 64 => + 66 => array ( 'permission_id' => 11, 'role_id' => 39, ), - 65 => + 67 => array ( 'permission_id' => 11, 'role_id' => 40, ), - 66 => + 68 => array ( 'permission_id' => 11, 'role_id' => 41, ), - 67 => + 69 => array ( 'permission_id' => 12, 'role_id' => 1, ), - 68 => + 70 => array ( 'permission_id' => 12, 'role_id' => 39, ), - 69 => + 71 => array ( 'permission_id' => 12, 'role_id' => 40, ), - 70 => + 72 => array ( 'permission_id' => 12, 'role_id' => 41, ), - 71 => + 73 => array ( 'permission_id' => 13, 'role_id' => 1, ), - 72 => + 74 => array ( 'permission_id' => 13, 'role_id' => 39, ), - 73 => + 75 => array ( 'permission_id' => 13, 'role_id' => 40, ), - 74 => + 76 => array ( 'permission_id' => 13, 'role_id' => 41, ), - 75 => + 77 => array ( 'permission_id' => 14, 'role_id' => 1, ), - 76 => + 78 => array ( 'permission_id' => 14, 'role_id' => 39, ), - 77 => + 79 => array ( 'permission_id' => 14, 'role_id' => 40, ), - 78 => + 80 => array ( 'permission_id' => 15, 'role_id' => 1, ), - 79 => + 81 => array ( 'permission_id' => 15, 'role_id' => 39, ), - 80 => + 82 => array ( 'permission_id' => 15, 'role_id' => 40, ), - 81 => + 83 => array ( 'permission_id' => 16, 'role_id' => 1, ), - 82 => + 84 => array ( 'permission_id' => 16, 'role_id' => 27, ), - 83 => + 85 => array ( 'permission_id' => 16, 'role_id' => 39, ), - 84 => + 86 => array ( 'permission_id' => 16, 'role_id' => 40, ), - 85 => + 87 => array ( 'permission_id' => 16, 'role_id' => 41, ), - 86 => + 88 => array ( 'permission_id' => 17, 'role_id' => 1, ), - 87 => + 89 => array ( 'permission_id' => 17, 'role_id' => 39, ), - 88 => + 90 => array ( 'permission_id' => 17, 'role_id' => 40, ), - 89 => + 91 => array ( 'permission_id' => 17, 'role_id' => 41, ), - 90 => + 92 => array ( 'permission_id' => 18, 'role_id' => 1, ), - 91 => + 93 => array ( 'permission_id' => 18, 'role_id' => 39, ), - 92 => + 94 => array ( 'permission_id' => 18, 'role_id' => 40, ), - 93 => + 95 => array ( 'permission_id' => 18, 'role_id' => 41, ), - 94 => + 96 => array ( 'permission_id' => 19, 'role_id' => 1, ), - 95 => + 97 => array ( 'permission_id' => 19, 'role_id' => 39, ), - 96 => + 98 => array ( 'permission_id' => 19, 'role_id' => 40, ), - 97 => + 99 => array ( 'permission_id' => 19, 'role_id' => 41, ), - 98 => + 100 => array ( 'permission_id' => 20, 'role_id' => 1, ), - 99 => + 101 => array ( 'permission_id' => 20, 'role_id' => 39, ), - 100 => + 102 => array ( 'permission_id' => 20, 'role_id' => 40, ), - 101 => + 103 => array ( 'permission_id' => 20, 'role_id' => 41, ), - 102 => + 104 => array ( 'permission_id' => 21, 'role_id' => 1, ), - 103 => + 105 => array ( 'permission_id' => 21, 'role_id' => 39, ), - 104 => + 106 => array ( 'permission_id' => 21, 'role_id' => 40, ), - 105 => + 107 => array ( 'permission_id' => 22, 'role_id' => 1, ), - 106 => + 108 => array ( 'permission_id' => 22, 'role_id' => 39, ), - 107 => + 109 => array ( 'permission_id' => 22, 'role_id' => 40, ), - 108 => + 110 => array ( 'permission_id' => 23, 'role_id' => 1, ), - 109 => + 111 => array ( 'permission_id' => 23, 'role_id' => 39, ), - 110 => + 112 => array ( 'permission_id' => 23, 'role_id' => 40, ), - 111 => + 113 => array ( 'permission_id' => 24, 'role_id' => 1, ), - 112 => + 114 => array ( 'permission_id' => 24, 'role_id' => 39, ), - 113 => + 115 => array ( 'permission_id' => 24, 'role_id' => 40, ), - 114 => + 116 => array ( 'permission_id' => 25, 'role_id' => 1, ), - 115 => + 117 => array ( 'permission_id' => 25, 'role_id' => 39, ), - 116 => + 118 => array ( 'permission_id' => 25, 'role_id' => 40, ), - 117 => + 119 => array ( 'permission_id' => 26, 'role_id' => 1, ), - 118 => + 120 => array ( 'permission_id' => 26, 'role_id' => 39, ), - 119 => + 121 => array ( 'permission_id' => 26, 'role_id' => 40, ), - 120 => + 122 => array ( 'permission_id' => 26, 'role_id' => 41, ), - 121 => + 123 => array ( 'permission_id' => 37, 'role_id' => 1, ), - 122 => + 124 => array ( 'permission_id' => 37, 'role_id' => 27, ), - 123 => + 125 => array ( 'permission_id' => 37, 'role_id' => 39, ), - 124 => + 126 => array ( 'permission_id' => 37, 'role_id' => 40, ), - 125 => + 127 => array ( 'permission_id' => 37, 'role_id' => 41, ), - 126 => + 128 => array ( 'permission_id' => 38, 'role_id' => 1, ), - 127 => + 129 => array ( 'permission_id' => 38, 'role_id' => 27, ), - 128 => + 130 => array ( 'permission_id' => 38, 'role_id' => 39, ), - 129 => + 131 => array ( 'permission_id' => 38, 'role_id' => 40, ), - 130 => + 132 => array ( 'permission_id' => 38, 'role_id' => 41, ), - 131 => + 133 => array ( 'permission_id' => 39, 'role_id' => 1, ), - 132 => + 134 => array ( 'permission_id' => 39, 'role_id' => 39, ), - 133 => + 135 => array ( 'permission_id' => 39, 'role_id' => 40, ), - 134 => + 136 => array ( 'permission_id' => 39, 'role_id' => 41, ), - 135 => + 137 => array ( 'permission_id' => 40, 'role_id' => 1, ), - 136 => + 138 => array ( 'permission_id' => 40, 'role_id' => 39, ), - 137 => + 139 => array ( 'permission_id' => 40, 'role_id' => 40, ), - 138 => + 140 => array ( 'permission_id' => 40, 'role_id' => 41, ), - 139 => + 141 => array ( 'permission_id' => 41, 'role_id' => 1, ), - 140 => + 142 => array ( 'permission_id' => 41, 'role_id' => 39, ), - 141 => + 143 => array ( 'permission_id' => 41, 'role_id' => 40, ), - 142 => + 144 => array ( 'permission_id' => 41, 'role_id' => 41, ), - 143 => + 145 => array ( 'permission_id' => 42, 'role_id' => 1, ), - 144 => + 146 => array ( 'permission_id' => 42, 'role_id' => 21, ), - 145 => + 147 => array ( 'permission_id' => 42, 'role_id' => 27, ), - 146 => + 148 => array ( 'permission_id' => 42, 'role_id' => 32, ), - 147 => + 149 => array ( 'permission_id' => 42, 'role_id' => 39, ), - 148 => + 150 => array ( 'permission_id' => 42, 'role_id' => 40, ), - 149 => + 151 => array ( 'permission_id' => 42, 'role_id' => 41, ), - 150 => + 152 => array ( - 'permission_id' => 43, - 'role_id' => 1, + 'permission_id' => 42, + 'role_id' => 48, ), - 151 => + 153 => + array ( + 'permission_id' => 43, + 'role_id' => 1, + ), + 154 => array ( 'permission_id' => 43, 'role_id' => 21, ), - 152 => + 155 => array ( 'permission_id' => 43, 'role_id' => 27, ), - 153 => + 156 => array ( 'permission_id' => 43, 'role_id' => 32, ), - 154 => + 157 => array ( 'permission_id' => 43, 'role_id' => 39, ), - 155 => + 158 => array ( 'permission_id' => 43, 'role_id' => 40, ), - 156 => + 159 => array ( 'permission_id' => 43, 'role_id' => 41, ), - 157 => + 160 => array ( 'permission_id' => 44, 'role_id' => 1, ), - 158 => + 161 => array ( 'permission_id' => 44, 'role_id' => 32, ), - 159 => + 162 => array ( 'permission_id' => 44, 'role_id' => 39, ), - 160 => + 163 => array ( 'permission_id' => 44, 'role_id' => 40, ), - 161 => + 164 => array ( 'permission_id' => 44, 'role_id' => 41, ), - 162 => + 165 => array ( 'permission_id' => 45, 'role_id' => 1, ), - 163 => + 166 => array ( 'permission_id' => 45, 'role_id' => 21, ), - 164 => + 167 => array ( 'permission_id' => 45, 'role_id' => 32, ), - 165 => + 168 => array ( 'permission_id' => 45, 'role_id' => 39, ), - 166 => + 169 => array ( 'permission_id' => 45, 'role_id' => 40, ), - 167 => + 170 => array ( 'permission_id' => 45, 'role_id' => 41, ), - 168 => + 171 => array ( 'permission_id' => 46, 'role_id' => 1, ), - 169 => + 172 => array ( 'permission_id' => 46, 'role_id' => 32, ), - 170 => + 173 => array ( 'permission_id' => 46, 'role_id' => 39, ), - 171 => + 174 => array ( 'permission_id' => 46, 'role_id' => 40, ), - 172 => + 175 => array ( 'permission_id' => 46, 'role_id' => 41, ), - 173 => + 176 => array ( 'permission_id' => 47, 'role_id' => 1, ), - 174 => + 177 => array ( 'permission_id' => 47, 'role_id' => 27, ), - 175 => + 178 => array ( 'permission_id' => 47, 'role_id' => 39, ), - 176 => + 179 => array ( 'permission_id' => 47, 'role_id' => 40, ), - 177 => + 180 => array ( 'permission_id' => 47, 'role_id' => 41, ), - 178 => + 181 => + array ( + 'permission_id' => 47, + 'role_id' => 48, + ), + 182 => array ( 'permission_id' => 48, 'role_id' => 1, ), - 179 => + 183 => array ( 'permission_id' => 48, 'role_id' => 27, ), - 180 => + 184 => array ( 'permission_id' => 48, 'role_id' => 39, ), - 181 => + 185 => array ( 'permission_id' => 48, 'role_id' => 40, ), - 182 => + 186 => array ( 'permission_id' => 48, 'role_id' => 41, ), - 183 => + 187 => array ( 'permission_id' => 49, 'role_id' => 1, ), - 184 => + 188 => array ( 'permission_id' => 49, 'role_id' => 39, ), - 185 => + 189 => array ( 'permission_id' => 49, 'role_id' => 40, ), - 186 => + 190 => array ( 'permission_id' => 49, 'role_id' => 41, ), - 187 => + 191 => array ( 'permission_id' => 50, 'role_id' => 1, ), - 188 => + 192 => array ( 'permission_id' => 50, 'role_id' => 39, ), - 189 => + 193 => array ( 'permission_id' => 50, 'role_id' => 40, ), - 190 => + 194 => array ( 'permission_id' => 50, 'role_id' => 41, ), - 191 => + 195 => array ( 'permission_id' => 51, 'role_id' => 1, ), - 192 => + 196 => array ( 'permission_id' => 51, 'role_id' => 39, ), - 193 => + 197 => array ( 'permission_id' => 51, 'role_id' => 40, ), - 194 => + 198 => array ( 'permission_id' => 51, 'role_id' => 41, ), - 195 => + 199 => array ( 'permission_id' => 52, 'role_id' => 1, ), - 196 => + 200 => array ( 'permission_id' => 52, 'role_id' => 16, ), - 197 => + 201 => array ( 'permission_id' => 52, 'role_id' => 27, ), - 198 => + 202 => array ( 'permission_id' => 52, 'role_id' => 35, ), - 199 => + 203 => array ( 'permission_id' => 52, 'role_id' => 39, ), - 200 => + 204 => array ( 'permission_id' => 52, 'role_id' => 40, ), - 201 => + 205 => array ( 'permission_id' => 52, 'role_id' => 41, ), - 202 => + 206 => array ( 'permission_id' => 53, 'role_id' => 1, ), - 203 => + 207 => array ( 'permission_id' => 53, 'role_id' => 16, ), - 204 => + 208 => array ( 'permission_id' => 53, 'role_id' => 27, ), - 205 => + 209 => array ( 'permission_id' => 53, 'role_id' => 35, ), - 206 => + 210 => array ( 'permission_id' => 53, 'role_id' => 39, ), - 207 => + 211 => array ( 'permission_id' => 53, 'role_id' => 40, ), - 208 => + 212 => array ( 'permission_id' => 53, 'role_id' => 41, ), - 209 => + 213 => array ( 'permission_id' => 54, 'role_id' => 1, ), - 210 => + 214 => array ( 'permission_id' => 54, 'role_id' => 35, ), - 211 => + 215 => array ( 'permission_id' => 54, 'role_id' => 39, ), - 212 => + 216 => array ( 'permission_id' => 54, 'role_id' => 40, ), - 213 => + 217 => array ( 'permission_id' => 54, 'role_id' => 41, ), - 214 => + 218 => array ( 'permission_id' => 55, 'role_id' => 1, ), - 215 => + 219 => array ( 'permission_id' => 55, 'role_id' => 16, ), - 216 => + 220 => array ( 'permission_id' => 55, 'role_id' => 35, ), - 217 => + 221 => array ( 'permission_id' => 55, 'role_id' => 39, ), - 218 => + 222 => array ( 'permission_id' => 55, 'role_id' => 40, ), - 219 => + 223 => array ( 'permission_id' => 55, 'role_id' => 41, ), - 220 => + 224 => array ( 'permission_id' => 56, 'role_id' => 1, ), - 221 => + 225 => array ( 'permission_id' => 56, 'role_id' => 35, ), - 222 => + 226 => array ( 'permission_id' => 56, 'role_id' => 39, ), - 223 => + 227 => array ( 'permission_id' => 56, 'role_id' => 40, ), - 224 => + 228 => array ( 'permission_id' => 56, 'role_id' => 41, ), - 225 => + 229 => array ( 'permission_id' => 72, 'role_id' => 1, ), - 226 => + 230 => array ( 'permission_id' => 72, 'role_id' => 13, ), - 227 => + 231 => array ( 'permission_id' => 72, 'role_id' => 27, ), - 228 => + 232 => array ( 'permission_id' => 72, 'role_id' => 28, ), - 229 => + 233 => array ( 'permission_id' => 72, 'role_id' => 39, ), - 230 => + 234 => array ( 'permission_id' => 72, 'role_id' => 40, ), - 231 => + 235 => array ( 'permission_id' => 72, 'role_id' => 41, ), - 232 => + 236 => array ( 'permission_id' => 73, 'role_id' => 1, ), - 233 => + 237 => array ( 'permission_id' => 73, 'role_id' => 13, ), - 234 => + 238 => array ( 'permission_id' => 73, 'role_id' => 27, ), - 235 => + 239 => array ( 'permission_id' => 73, 'role_id' => 28, ), - 236 => + 240 => array ( 'permission_id' => 73, 'role_id' => 39, ), - 237 => + 241 => array ( 'permission_id' => 73, 'role_id' => 40, ), - 238 => + 242 => array ( 'permission_id' => 73, 'role_id' => 41, ), - 239 => + 243 => array ( 'permission_id' => 74, 'role_id' => 1, ), - 240 => + 244 => array ( 'permission_id' => 74, 'role_id' => 28, ), - 241 => + 245 => array ( 'permission_id' => 74, 'role_id' => 39, ), - 242 => + 246 => array ( 'permission_id' => 74, 'role_id' => 40, ), - 243 => + 247 => array ( 'permission_id' => 74, 'role_id' => 41, ), - 244 => + 248 => array ( 'permission_id' => 75, 'role_id' => 1, ), - 245 => + 249 => array ( 'permission_id' => 75, 'role_id' => 13, ), - 246 => + 250 => array ( 'permission_id' => 75, 'role_id' => 28, ), - 247 => + 251 => array ( 'permission_id' => 75, 'role_id' => 39, ), - 248 => + 252 => array ( 'permission_id' => 75, 'role_id' => 40, ), - 249 => + 253 => array ( 'permission_id' => 75, 'role_id' => 41, ), - 250 => + 254 => array ( 'permission_id' => 76, 'role_id' => 1, ), - 251 => + 255 => array ( 'permission_id' => 76, 'role_id' => 28, ), - 252 => + 256 => array ( 'permission_id' => 76, 'role_id' => 39, ), - 253 => + 257 => array ( 'permission_id' => 76, 'role_id' => 40, ), - 254 => + 258 => array ( 'permission_id' => 76, 'role_id' => 41, ), - 255 => + 259 => array ( 'permission_id' => 82, 'role_id' => 1, ), - 256 => + 260 => array ( 'permission_id' => 82, 'role_id' => 27, ), - 257 => + 261 => array ( 'permission_id' => 82, 'role_id' => 39, ), - 258 => + 262 => array ( 'permission_id' => 82, 'role_id' => 40, ), - 259 => + 263 => array ( 'permission_id' => 82, 'role_id' => 41, ), - 260 => + 264 => array ( 'permission_id' => 83, 'role_id' => 1, ), - 261 => + 265 => array ( 'permission_id' => 83, 'role_id' => 27, ), - 262 => + 266 => array ( 'permission_id' => 83, 'role_id' => 39, ), - 263 => + 267 => array ( 'permission_id' => 83, 'role_id' => 40, ), - 264 => + 268 => array ( 'permission_id' => 83, 'role_id' => 41, ), - 265 => + 269 => array ( 'permission_id' => 84, 'role_id' => 1, ), - 266 => + 270 => array ( 'permission_id' => 84, 'role_id' => 39, ), - 267 => + 271 => array ( 'permission_id' => 84, 'role_id' => 40, ), - 268 => + 272 => array ( 'permission_id' => 84, 'role_id' => 41, ), - 269 => + 273 => array ( 'permission_id' => 85, 'role_id' => 1, ), - 270 => + 274 => array ( 'permission_id' => 85, 'role_id' => 39, ), - 271 => + 275 => array ( 'permission_id' => 85, 'role_id' => 40, ), - 272 => + 276 => array ( 'permission_id' => 85, 'role_id' => 41, ), - 273 => + 277 => array ( 'permission_id' => 86, 'role_id' => 1, ), - 274 => + 278 => array ( 'permission_id' => 86, 'role_id' => 39, ), - 275 => + 279 => array ( 'permission_id' => 86, 'role_id' => 40, ), - 276 => + 280 => array ( 'permission_id' => 86, 'role_id' => 41, ), - 277 => + 281 => array ( 'permission_id' => 87, 'role_id' => 1, ), - 278 => + 282 => array ( 'permission_id' => 87, 'role_id' => 20, ), - 279 => + 283 => array ( 'permission_id' => 87, 'role_id' => 27, ), - 280 => + 284 => array ( 'permission_id' => 87, 'role_id' => 33, ), - 281 => + 285 => array ( 'permission_id' => 87, 'role_id' => 39, ), - 282 => + 286 => array ( 'permission_id' => 87, 'role_id' => 40, ), - 283 => + 287 => array ( 'permission_id' => 87, 'role_id' => 41, ), - 284 => + 288 => array ( 'permission_id' => 88, 'role_id' => 1, ), - 285 => + 289 => array ( 'permission_id' => 88, 'role_id' => 20, ), - 286 => + 290 => array ( 'permission_id' => 88, 'role_id' => 27, ), - 287 => + 291 => array ( 'permission_id' => 88, 'role_id' => 33, ), - 288 => + 292 => array ( 'permission_id' => 88, 'role_id' => 39, ), - 289 => + 293 => array ( 'permission_id' => 88, 'role_id' => 40, ), - 290 => + 294 => array ( 'permission_id' => 88, 'role_id' => 41, ), - 291 => + 295 => array ( 'permission_id' => 89, 'role_id' => 1, ), - 292 => + 296 => array ( 'permission_id' => 89, 'role_id' => 33, ), - 293 => + 297 => array ( 'permission_id' => 89, 'role_id' => 39, ), - 294 => + 298 => array ( 'permission_id' => 89, 'role_id' => 40, ), - 295 => + 299 => array ( 'permission_id' => 89, 'role_id' => 41, ), - 296 => + 300 => array ( 'permission_id' => 90, 'role_id' => 1, ), - 297 => + 301 => array ( 'permission_id' => 90, 'role_id' => 20, ), - 298 => + 302 => array ( 'permission_id' => 90, 'role_id' => 33, ), - 299 => + 303 => array ( 'permission_id' => 90, 'role_id' => 39, ), - 300 => + 304 => array ( 'permission_id' => 90, 'role_id' => 40, ), - 301 => + 305 => array ( 'permission_id' => 90, 'role_id' => 41, ), - 302 => + 306 => array ( 'permission_id' => 91, 'role_id' => 1, ), - 303 => + 307 => array ( 'permission_id' => 91, 'role_id' => 33, ), - 304 => + 308 => array ( 'permission_id' => 91, 'role_id' => 39, ), - 305 => + 309 => array ( 'permission_id' => 91, 'role_id' => 40, ), - 306 => + 310 => array ( 'permission_id' => 91, 'role_id' => 41, ), - 307 => + 311 => array ( 'permission_id' => 92, 'role_id' => 1, ), - 308 => + 312 => array ( 'permission_id' => 92, 'role_id' => 25, ), - 309 => + 313 => array ( 'permission_id' => 92, 'role_id' => 27, ), - 310 => + 314 => array ( 'permission_id' => 92, 'role_id' => 29, ), - 311 => + 315 => array ( 'permission_id' => 92, 'role_id' => 39, ), - 312 => + 316 => array ( 'permission_id' => 92, 'role_id' => 40, ), - 313 => + 317 => array ( 'permission_id' => 92, 'role_id' => 41, ), - 314 => + 318 => array ( 'permission_id' => 93, 'role_id' => 1, ), - 315 => + 319 => array ( 'permission_id' => 93, 'role_id' => 25, ), - 316 => + 320 => array ( 'permission_id' => 93, 'role_id' => 27, ), - 317 => + 321 => array ( 'permission_id' => 93, 'role_id' => 29, ), - 318 => + 322 => array ( 'permission_id' => 93, 'role_id' => 39, ), - 319 => + 323 => array ( 'permission_id' => 93, 'role_id' => 40, ), - 320 => + 324 => array ( 'permission_id' => 93, 'role_id' => 41, ), - 321 => + 325 => array ( 'permission_id' => 94, 'role_id' => 1, ), - 322 => + 326 => array ( 'permission_id' => 94, 'role_id' => 29, ), - 323 => + 327 => array ( 'permission_id' => 94, 'role_id' => 39, ), - 324 => + 328 => array ( 'permission_id' => 94, 'role_id' => 40, ), - 325 => + 329 => array ( 'permission_id' => 94, 'role_id' => 41, ), - 326 => + 330 => array ( 'permission_id' => 95, 'role_id' => 1, ), - 327 => + 331 => array ( 'permission_id' => 95, 'role_id' => 25, ), - 328 => + 332 => array ( 'permission_id' => 95, 'role_id' => 29, ), - 329 => + 333 => array ( 'permission_id' => 95, 'role_id' => 39, ), - 330 => + 334 => array ( 'permission_id' => 95, 'role_id' => 40, ), - 331 => + 335 => array ( 'permission_id' => 95, 'role_id' => 41, ), - 332 => + 336 => array ( 'permission_id' => 96, 'role_id' => 1, ), - 333 => + 337 => array ( 'permission_id' => 96, 'role_id' => 29, ), - 334 => + 338 => array ( 'permission_id' => 96, 'role_id' => 39, ), - 335 => + 339 => array ( 'permission_id' => 96, 'role_id' => 40, ), - 336 => + 340 => array ( 'permission_id' => 96, 'role_id' => 41, ), - 337 => + 341 => array ( 'permission_id' => 97, 'role_id' => 1, ), - 338 => + 342 => array ( 'permission_id' => 97, 'role_id' => 27, ), - 339 => + 343 => array ( 'permission_id' => 97, 'role_id' => 39, ), - 340 => + 344 => array ( 'permission_id' => 97, 'role_id' => 40, ), - 341 => + 345 => array ( 'permission_id' => 97, 'role_id' => 41, ), - 342 => + 346 => array ( 'permission_id' => 97, 'role_id' => 46, ), - 343 => + 347 => array ( 'permission_id' => 97, 'role_id' => 47, ), - 344 => + 348 => array ( 'permission_id' => 98, 'role_id' => 1, ), - 345 => + 349 => array ( 'permission_id' => 98, 'role_id' => 27, ), - 346 => + 350 => array ( 'permission_id' => 98, 'role_id' => 39, ), - 347 => + 351 => array ( 'permission_id' => 98, 'role_id' => 40, ), - 348 => + 352 => array ( 'permission_id' => 98, 'role_id' => 41, ), - 349 => + 353 => array ( 'permission_id' => 98, 'role_id' => 46, ), - 350 => + 354 => array ( 'permission_id' => 98, 'role_id' => 47, ), - 351 => + 355 => array ( 'permission_id' => 99, 'role_id' => 1, ), - 352 => + 356 => array ( 'permission_id' => 99, 'role_id' => 39, ), - 353 => + 357 => array ( 'permission_id' => 99, 'role_id' => 40, ), - 354 => + 358 => array ( 'permission_id' => 99, 'role_id' => 41, ), - 355 => + 359 => array ( 'permission_id' => 99, 'role_id' => 47, ), - 356 => + 360 => array ( 'permission_id' => 100, 'role_id' => 1, ), - 357 => + 361 => array ( 'permission_id' => 100, 'role_id' => 39, ), - 358 => + 362 => array ( 'permission_id' => 100, 'role_id' => 40, ), - 359 => + 363 => array ( 'permission_id' => 100, 'role_id' => 41, ), - 360 => + 364 => array ( 'permission_id' => 100, 'role_id' => 46, ), - 361 => + 365 => array ( 'permission_id' => 100, 'role_id' => 47, ), - 362 => + 366 => array ( 'permission_id' => 101, 'role_id' => 1, ), - 363 => + 367 => array ( 'permission_id' => 101, 'role_id' => 39, ), - 364 => + 368 => array ( 'permission_id' => 101, 'role_id' => 40, ), - 365 => + 369 => array ( 'permission_id' => 101, 'role_id' => 41, ), - 366 => + 370 => array ( 'permission_id' => 101, 'role_id' => 47, ), - 367 => + 371 => array ( 'permission_id' => 102, 'role_id' => 1, ), - 368 => + 372 => array ( 'permission_id' => 102, 'role_id' => 27, ), - 369 => + 373 => array ( 'permission_id' => 102, 'role_id' => 39, ), - 370 => + 374 => array ( 'permission_id' => 102, 'role_id' => 40, ), - 371 => + 375 => array ( 'permission_id' => 102, 'role_id' => 41, ), - 372 => + 376 => array ( 'permission_id' => 102, 'role_id' => 44, ), - 373 => + 377 => array ( 'permission_id' => 102, 'role_id' => 45, ), - 374 => + 378 => array ( 'permission_id' => 103, 'role_id' => 1, ), - 375 => + 379 => array ( 'permission_id' => 103, 'role_id' => 27, ), - 376 => + 380 => array ( 'permission_id' => 103, 'role_id' => 39, ), - 377 => + 381 => array ( 'permission_id' => 103, 'role_id' => 40, ), - 378 => + 382 => array ( 'permission_id' => 103, 'role_id' => 41, ), - 379 => + 383 => array ( 'permission_id' => 103, 'role_id' => 44, ), - 380 => + 384 => array ( 'permission_id' => 103, 'role_id' => 45, ), - 381 => + 385 => array ( 'permission_id' => 104, 'role_id' => 1, ), - 382 => + 386 => array ( 'permission_id' => 104, 'role_id' => 39, ), - 383 => + 387 => array ( 'permission_id' => 104, 'role_id' => 40, ), - 384 => + 388 => array ( 'permission_id' => 104, 'role_id' => 41, ), - 385 => + 389 => array ( 'permission_id' => 104, 'role_id' => 45, ), - 386 => + 390 => array ( 'permission_id' => 105, 'role_id' => 1, ), - 387 => + 391 => array ( 'permission_id' => 105, 'role_id' => 39, ), - 388 => + 392 => array ( 'permission_id' => 105, 'role_id' => 40, ), - 389 => + 393 => array ( 'permission_id' => 105, 'role_id' => 41, ), - 390 => + 394 => array ( 'permission_id' => 105, 'role_id' => 44, ), - 391 => + 395 => array ( 'permission_id' => 105, 'role_id' => 45, ), - 392 => + 396 => array ( 'permission_id' => 106, 'role_id' => 1, ), - 393 => + 397 => array ( 'permission_id' => 106, 'role_id' => 39, ), - 394 => + 398 => array ( 'permission_id' => 106, 'role_id' => 40, ), - 395 => + 399 => array ( 'permission_id' => 106, 'role_id' => 41, ), - 396 => + 400 => array ( 'permission_id' => 106, 'role_id' => 45, ), - 397 => + 401 => array ( 'permission_id' => 107, 'role_id' => 1, ), - 398 => + 402 => array ( 'permission_id' => 107, 'role_id' => 15, ), - 399 => + 403 => array ( 'permission_id' => 107, 'role_id' => 27, ), - 400 => + 404 => array ( 'permission_id' => 107, 'role_id' => 34, ), - 401 => + 405 => array ( 'permission_id' => 107, 'role_id' => 39, ), - 402 => + 406 => array ( 'permission_id' => 107, 'role_id' => 40, ), - 403 => + 407 => array ( 'permission_id' => 107, 'role_id' => 41, ), - 404 => + 408 => array ( 'permission_id' => 108, 'role_id' => 1, ), - 405 => + 409 => array ( 'permission_id' => 108, 'role_id' => 15, ), - 406 => + 410 => array ( 'permission_id' => 108, 'role_id' => 27, ), - 407 => + 411 => array ( 'permission_id' => 108, 'role_id' => 34, ), - 408 => + 412 => array ( 'permission_id' => 108, 'role_id' => 39, ), - 409 => + 413 => array ( 'permission_id' => 108, 'role_id' => 40, ), - 410 => + 414 => array ( 'permission_id' => 108, 'role_id' => 41, ), - 411 => + 415 => array ( 'permission_id' => 109, 'role_id' => 1, ), - 412 => + 416 => array ( 'permission_id' => 109, 'role_id' => 34, ), - 413 => + 417 => array ( 'permission_id' => 109, 'role_id' => 39, ), - 414 => + 418 => array ( 'permission_id' => 109, 'role_id' => 40, ), - 415 => + 419 => array ( 'permission_id' => 109, 'role_id' => 41, ), - 416 => + 420 => array ( 'permission_id' => 110, 'role_id' => 1, ), - 417 => + 421 => array ( 'permission_id' => 110, 'role_id' => 15, ), - 418 => + 422 => array ( 'permission_id' => 110, 'role_id' => 34, ), - 419 => + 423 => array ( 'permission_id' => 110, 'role_id' => 39, ), - 420 => + 424 => array ( 'permission_id' => 110, 'role_id' => 40, ), - 421 => + 425 => array ( 'permission_id' => 110, 'role_id' => 41, ), - 422 => + 426 => array ( 'permission_id' => 111, 'role_id' => 1, ), - 423 => + 427 => array ( 'permission_id' => 111, 'role_id' => 34, ), - 424 => + 428 => array ( 'permission_id' => 111, 'role_id' => 39, ), - 425 => + 429 => array ( 'permission_id' => 111, 'role_id' => 40, ), - 426 => + 430 => array ( 'permission_id' => 111, 'role_id' => 41, ), - 427 => + 431 => array ( 'permission_id' => 112, 'role_id' => 1, ), - 428 => + 432 => array ( 'permission_id' => 112, 'role_id' => 27, ), - 429 => + 433 => array ( 'permission_id' => 112, 'role_id' => 33, ), - 430 => + 434 => array ( 'permission_id' => 112, 'role_id' => 39, ), - 431 => + 435 => array ( 'permission_id' => 112, 'role_id' => 40, ), - 432 => + 436 => array ( 'permission_id' => 112, 'role_id' => 41, ), - 433 => + 437 => array ( 'permission_id' => 112, 'role_id' => 42, ), - 434 => + 438 => array ( 'permission_id' => 112, 'role_id' => 43, ), - 435 => + 439 => array ( 'permission_id' => 113, 'role_id' => 1, ), - 436 => + 440 => array ( 'permission_id' => 113, 'role_id' => 27, ), - 437 => + 441 => array ( 'permission_id' => 113, 'role_id' => 33, ), - 438 => + 442 => array ( 'permission_id' => 113, 'role_id' => 39, ), - 439 => + 443 => array ( 'permission_id' => 113, 'role_id' => 40, ), - 440 => + 444 => array ( 'permission_id' => 113, 'role_id' => 41, ), - 441 => + 445 => array ( 'permission_id' => 113, 'role_id' => 42, ), - 442 => + 446 => array ( 'permission_id' => 113, 'role_id' => 43, ), - 443 => + 447 => array ( 'permission_id' => 114, 'role_id' => 1, ), - 444 => + 448 => array ( 'permission_id' => 114, 'role_id' => 33, ), - 445 => + 449 => array ( 'permission_id' => 114, 'role_id' => 39, ), - 446 => + 450 => array ( 'permission_id' => 114, 'role_id' => 40, ), - 447 => + 451 => array ( 'permission_id' => 114, 'role_id' => 41, ), - 448 => + 452 => array ( 'permission_id' => 114, 'role_id' => 43, ), - 449 => + 453 => array ( 'permission_id' => 115, 'role_id' => 1, ), - 450 => + 454 => array ( 'permission_id' => 115, 'role_id' => 33, ), - 451 => + 455 => array ( 'permission_id' => 115, 'role_id' => 39, ), - 452 => + 456 => array ( 'permission_id' => 115, 'role_id' => 40, ), - 453 => + 457 => array ( 'permission_id' => 115, 'role_id' => 41, ), - 454 => + 458 => array ( 'permission_id' => 115, 'role_id' => 42, ), - 455 => + 459 => array ( 'permission_id' => 115, 'role_id' => 43, ), - 456 => + 460 => array ( 'permission_id' => 116, 'role_id' => 1, ), - 457 => + 461 => array ( 'permission_id' => 116, 'role_id' => 33, ), - 458 => + 462 => array ( 'permission_id' => 116, 'role_id' => 39, ), - 459 => + 463 => array ( 'permission_id' => 116, 'role_id' => 40, ), - 460 => + 464 => array ( 'permission_id' => 116, 'role_id' => 41, ), - 461 => + 465 => array ( 'permission_id' => 116, 'role_id' => 43, ), - 462 => + 466 => array ( 'permission_id' => 122, 'role_id' => 1, ), - 463 => + 467 => array ( 'permission_id' => 122, 'role_id' => 24, ), - 464 => + 468 => array ( 'permission_id' => 122, 'role_id' => 27, ), - 465 => + 469 => array ( 'permission_id' => 122, 'role_id' => 31, ), - 466 => + 470 => array ( 'permission_id' => 122, 'role_id' => 39, ), - 467 => + 471 => array ( 'permission_id' => 122, 'role_id' => 40, ), - 468 => + 472 => array ( 'permission_id' => 122, 'role_id' => 41, ), - 469 => + 473 => array ( 'permission_id' => 123, 'role_id' => 1, ), - 470 => + 474 => array ( 'permission_id' => 123, 'role_id' => 24, ), - 471 => + 475 => array ( 'permission_id' => 123, 'role_id' => 27, ), - 472 => + 476 => array ( 'permission_id' => 123, 'role_id' => 31, ), - 473 => + 477 => array ( 'permission_id' => 123, 'role_id' => 39, ), - 474 => + 478 => array ( 'permission_id' => 123, 'role_id' => 40, ), - 475 => + 479 => array ( 'permission_id' => 123, 'role_id' => 41, ), - 476 => + 480 => array ( 'permission_id' => 124, 'role_id' => 1, ), - 477 => + 481 => array ( 'permission_id' => 124, 'role_id' => 31, ), - 478 => + 482 => array ( 'permission_id' => 124, 'role_id' => 39, ), - 479 => + 483 => array ( 'permission_id' => 124, 'role_id' => 40, ), - 480 => + 484 => array ( 'permission_id' => 124, 'role_id' => 41, ), - 481 => + 485 => array ( 'permission_id' => 125, 'role_id' => 1, ), - 482 => + 486 => array ( 'permission_id' => 125, 'role_id' => 24, ), - 483 => + 487 => array ( 'permission_id' => 125, 'role_id' => 31, ), - 484 => + 488 => array ( 'permission_id' => 125, 'role_id' => 39, ), - 485 => + 489 => array ( 'permission_id' => 125, 'role_id' => 40, ), - 486 => + 490 => array ( 'permission_id' => 125, 'role_id' => 41, ), - 487 => + 491 => array ( 'permission_id' => 126, 'role_id' => 1, ), - 488 => + 492 => array ( 'permission_id' => 126, 'role_id' => 31, ), - 489 => + 493 => array ( 'permission_id' => 126, 'role_id' => 39, ), - 490 => + 494 => array ( 'permission_id' => 126, 'role_id' => 40, ), - 491 => + 495 => array ( 'permission_id' => 126, 'role_id' => 41, ), - 492 => + 496 => array ( 'permission_id' => 127, 'role_id' => 1, ), - 493 => + 497 => array ( 'permission_id' => 127, 'role_id' => 39, ), - 494 => + 498 => array ( 'permission_id' => 127, 'role_id' => 40, ), - 495 => + 499 => array ( 'permission_id' => 127, 'role_id' => 41, ), - 496 => + )); + \DB::table('permission_role')->insert(array ( + 0 => array ( 'permission_id' => 128, 'role_id' => 1, ), - 497 => + 1 => array ( 'permission_id' => 128, 'role_id' => 39, ), - 498 => + 2 => array ( 'permission_id' => 128, 'role_id' => 40, ), - 499 => + 3 => array ( 'permission_id' => 128, 'role_id' => 41, ), - )); - \DB::table('permission_role')->insert(array ( - 0 => + 4 => array ( 'permission_id' => 129, 'role_id' => 1, ), - 1 => + 5 => array ( 'permission_id' => 129, 'role_id' => 39, ), - 2 => + 6 => array ( 'permission_id' => 129, 'role_id' => 40, ), - 3 => + 7 => array ( 'permission_id' => 129, 'role_id' => 41, ), - 4 => + 8 => array ( 'permission_id' => 130, 'role_id' => 1, ), - 5 => + 9 => array ( 'permission_id' => 130, 'role_id' => 39, ), - 6 => + 10 => array ( 'permission_id' => 130, 'role_id' => 40, ), - 7 => + 11 => array ( 'permission_id' => 130, 'role_id' => 41, ), - 8 => + 12 => array ( 'permission_id' => 131, 'role_id' => 1, ), - 9 => + 13 => array ( 'permission_id' => 131, 'role_id' => 39, ), - 10 => + 14 => array ( 'permission_id' => 131, 'role_id' => 40, ), - 11 => + 15 => array ( 'permission_id' => 131, 'role_id' => 41, ), - 12 => + 16 => array ( 'permission_id' => 132, 'role_id' => 1, ), - 13 => + 17 => array ( 'permission_id' => 132, 'role_id' => 39, ), - 14 => + 18 => array ( 'permission_id' => 132, 'role_id' => 40, ), - 15 => + 19 => array ( 'permission_id' => 132, 'role_id' => 41, ), - 16 => + 20 => array ( 'permission_id' => 133, 'role_id' => 1, ), - 17 => + 21 => array ( 'permission_id' => 133, 'role_id' => 39, ), - 18 => + 22 => array ( 'permission_id' => 133, 'role_id' => 40, ), - 19 => + 23 => array ( 'permission_id' => 133, 'role_id' => 41, ), - 20 => + 24 => array ( 'permission_id' => 134, 'role_id' => 1, ), - 21 => + 25 => array ( 'permission_id' => 134, 'role_id' => 39, ), - 22 => + 26 => array ( 'permission_id' => 134, 'role_id' => 40, ), - 23 => + 27 => array ( 'permission_id' => 134, 'role_id' => 41, ), - 24 => + 28 => array ( 'permission_id' => 135, 'role_id' => 1, ), - 25 => + 29 => array ( 'permission_id' => 135, 'role_id' => 39, ), - 26 => + 30 => array ( 'permission_id' => 135, 'role_id' => 40, ), - 27 => + 31 => array ( 'permission_id' => 135, 'role_id' => 41, ), - 28 => + 32 => array ( 'permission_id' => 136, 'role_id' => 1, ), - 29 => + 33 => array ( 'permission_id' => 136, 'role_id' => 39, ), - 30 => + 34 => array ( 'permission_id' => 136, 'role_id' => 40, ), - 31 => + 35 => array ( 'permission_id' => 136, 'role_id' => 41, ), - 32 => + 36 => array ( 'permission_id' => 137, 'role_id' => 1, ), - 33 => + 37 => array ( 'permission_id' => 137, 'role_id' => 39, ), - 34 => + 38 => array ( 'permission_id' => 137, 'role_id' => 40, ), - 35 => + 39 => array ( 'permission_id' => 137, 'role_id' => 41, ), - 36 => + 40 => array ( 'permission_id' => 138, 'role_id' => 1, ), - 37 => + 41 => array ( 'permission_id' => 138, 'role_id' => 39, ), - 38 => + 42 => array ( 'permission_id' => 138, 'role_id' => 40, ), - 39 => + 43 => array ( 'permission_id' => 138, 'role_id' => 41, ), - 40 => + 44 => array ( 'permission_id' => 139, 'role_id' => 1, ), - 41 => + 45 => array ( 'permission_id' => 139, 'role_id' => 39, ), - 42 => + 46 => array ( 'permission_id' => 139, 'role_id' => 40, ), - 43 => + 47 => array ( 'permission_id' => 139, 'role_id' => 41, ), - 44 => + 48 => array ( 'permission_id' => 140, 'role_id' => 1, ), - 45 => + 49 => array ( 'permission_id' => 140, 'role_id' => 39, ), - 46 => + 50 => array ( 'permission_id' => 140, 'role_id' => 40, ), - 47 => + 51 => array ( 'permission_id' => 140, 'role_id' => 41, ), - 48 => + 52 => array ( 'permission_id' => 141, 'role_id' => 1, ), - 49 => + 53 => array ( 'permission_id' => 141, 'role_id' => 39, ), - 50 => + 54 => array ( 'permission_id' => 141, 'role_id' => 40, ), - 51 => + 55 => array ( 'permission_id' => 141, 'role_id' => 41, ), - 52 => + 56 => array ( 'permission_id' => 142, 'role_id' => 1, ), - 53 => + 57 => array ( 'permission_id' => 142, 'role_id' => 39, ), - 54 => + 58 => array ( 'permission_id' => 142, 'role_id' => 40, ), - 55 => + 59 => array ( 'permission_id' => 142, 'role_id' => 41, ), - 56 => + 60 => array ( 'permission_id' => 143, 'role_id' => 1, ), - 57 => + 61 => array ( 'permission_id' => 143, 'role_id' => 39, ), - 58 => + 62 => array ( 'permission_id' => 143, 'role_id' => 40, ), - 59 => + 63 => array ( 'permission_id' => 143, 'role_id' => 41, ), - 60 => + 64 => array ( 'permission_id' => 144, 'role_id' => 1, ), - 61 => + 65 => array ( 'permission_id' => 144, 'role_id' => 39, ), - 62 => + 66 => array ( 'permission_id' => 144, 'role_id' => 40, ), - 63 => + 67 => array ( 'permission_id' => 144, 'role_id' => 41, ), - 64 => + 68 => array ( 'permission_id' => 145, 'role_id' => 1, ), - 65 => + 69 => array ( 'permission_id' => 145, 'role_id' => 39, ), - 66 => + 70 => array ( 'permission_id' => 145, 'role_id' => 40, ), - 67 => + 71 => array ( 'permission_id' => 145, 'role_id' => 41, ), - 68 => + 72 => array ( 'permission_id' => 146, 'role_id' => 1, ), - 69 => + 73 => array ( 'permission_id' => 146, 'role_id' => 39, ), - 70 => + 74 => array ( 'permission_id' => 146, 'role_id' => 40, ), - 71 => + 75 => array ( 'permission_id' => 146, 'role_id' => 41, ), - 72 => + 76 => array ( 'permission_id' => 147, 'role_id' => 1, ), - 73 => + 77 => array ( 'permission_id' => 147, 'role_id' => 39, ), - 74 => + 78 => array ( 'permission_id' => 147, 'role_id' => 40, ), - 75 => + 79 => array ( 'permission_id' => 147, 'role_id' => 41, ), - 76 => + 80 => array ( 'permission_id' => 148, 'role_id' => 1, ), - 77 => + 81 => array ( 'permission_id' => 148, 'role_id' => 39, ), - 78 => + 82 => array ( 'permission_id' => 148, 'role_id' => 40, ), - 79 => + 83 => array ( 'permission_id' => 148, 'role_id' => 41, ), - 80 => + 84 => array ( 'permission_id' => 149, 'role_id' => 1, ), - 81 => + 85 => array ( 'permission_id' => 149, 'role_id' => 39, ), - 82 => + 86 => array ( 'permission_id' => 149, 'role_id' => 40, ), - 83 => + 87 => array ( 'permission_id' => 149, 'role_id' => 41, ), - 84 => + 88 => array ( 'permission_id' => 150, 'role_id' => 1, ), - 85 => + 89 => array ( 'permission_id' => 150, 'role_id' => 39, ), - 86 => + 90 => array ( 'permission_id' => 150, 'role_id' => 40, ), - 87 => + 91 => array ( 'permission_id' => 150, 'role_id' => 41, ), - 88 => + 92 => array ( 'permission_id' => 151, 'role_id' => 1, ), - 89 => + 93 => array ( 'permission_id' => 151, 'role_id' => 39, ), - 90 => + 94 => array ( 'permission_id' => 151, 'role_id' => 40, ), - 91 => + 95 => array ( 'permission_id' => 151, 'role_id' => 41, ), - 92 => + 96 => array ( 'permission_id' => 157, 'role_id' => 1, ), - 93 => + 97 => array ( 'permission_id' => 157, 'role_id' => 27, ), - 94 => + 98 => array ( 'permission_id' => 157, 'role_id' => 39, ), - 95 => + 99 => array ( 'permission_id' => 157, 'role_id' => 40, ), - 96 => + 100 => array ( 'permission_id' => 157, 'role_id' => 41, ), - 97 => + 101 => array ( 'permission_id' => 158, 'role_id' => 1, ), - 98 => + 102 => array ( 'permission_id' => 158, 'role_id' => 27, ), - 99 => + 103 => array ( 'permission_id' => 158, 'role_id' => 39, ), - 100 => + 104 => array ( 'permission_id' => 158, 'role_id' => 40, ), - 101 => + 105 => array ( 'permission_id' => 158, 'role_id' => 41, ), - 102 => + 106 => array ( 'permission_id' => 159, 'role_id' => 1, ), - 103 => + 107 => array ( 'permission_id' => 159, 'role_id' => 39, ), - 104 => + 108 => array ( 'permission_id' => 159, 'role_id' => 40, ), - 105 => + 109 => array ( 'permission_id' => 159, 'role_id' => 41, ), - 106 => + 110 => array ( 'permission_id' => 160, 'role_id' => 1, ), - 107 => + 111 => array ( 'permission_id' => 160, 'role_id' => 39, ), - 108 => + 112 => array ( 'permission_id' => 160, 'role_id' => 40, ), - 109 => + 113 => array ( 'permission_id' => 160, 'role_id' => 41, ), - 110 => + 114 => array ( 'permission_id' => 161, 'role_id' => 1, ), - 111 => + 115 => array ( 'permission_id' => 161, 'role_id' => 39, ), - 112 => + 116 => array ( 'permission_id' => 161, 'role_id' => 40, ), - 113 => + 117 => array ( 'permission_id' => 161, 'role_id' => 41, ), - 114 => + 118 => array ( 'permission_id' => 162, 'role_id' => 1, ), - 115 => + 119 => array ( 'permission_id' => 162, 'role_id' => 27, ), - 116 => + 120 => array ( 'permission_id' => 162, 'role_id' => 39, ), - 117 => + 121 => array ( 'permission_id' => 162, 'role_id' => 40, ), - 118 => + 122 => array ( 'permission_id' => 162, 'role_id' => 41, ), - 119 => + 123 => array ( 'permission_id' => 163, 'role_id' => 1, ), - 120 => + 124 => array ( 'permission_id' => 163, 'role_id' => 27, ), - 121 => + 125 => array ( 'permission_id' => 163, 'role_id' => 39, ), - 122 => + 126 => array ( 'permission_id' => 163, 'role_id' => 40, ), - 123 => + 127 => array ( 'permission_id' => 163, 'role_id' => 41, ), - 124 => + 128 => array ( 'permission_id' => 164, 'role_id' => 1, ), - 125 => + 129 => array ( 'permission_id' => 164, 'role_id' => 39, ), - 126 => + 130 => array ( 'permission_id' => 164, 'role_id' => 40, ), - 127 => + 131 => array ( 'permission_id' => 164, 'role_id' => 41, ), - 128 => + 132 => array ( 'permission_id' => 165, 'role_id' => 1, ), - 129 => + 133 => array ( 'permission_id' => 165, 'role_id' => 39, ), - 130 => + 134 => array ( 'permission_id' => 165, 'role_id' => 40, ), - 131 => + 135 => array ( 'permission_id' => 165, 'role_id' => 41, ), - 132 => + 136 => array ( 'permission_id' => 166, 'role_id' => 1, ), - 133 => + 137 => array ( 'permission_id' => 166, 'role_id' => 39, ), - 134 => + 138 => array ( 'permission_id' => 166, 'role_id' => 40, ), - 135 => + 139 => array ( 'permission_id' => 166, 'role_id' => 41, ), - 136 => + 140 => array ( 'permission_id' => 167, 'role_id' => 1, ), - 137 => + 141 => array ( 'permission_id' => 167, 'role_id' => 27, ), - 138 => + 142 => array ( 'permission_id' => 167, 'role_id' => 39, ), - 139 => + 143 => array ( 'permission_id' => 167, 'role_id' => 40, ), - 140 => + 144 => array ( 'permission_id' => 167, 'role_id' => 41, ), - 141 => + 145 => array ( 'permission_id' => 168, 'role_id' => 1, ), - 142 => + 146 => array ( 'permission_id' => 168, 'role_id' => 27, ), - 143 => + 147 => array ( 'permission_id' => 168, 'role_id' => 39, ), - 144 => + 148 => array ( 'permission_id' => 168, 'role_id' => 40, ), - 145 => + 149 => array ( 'permission_id' => 168, 'role_id' => 41, ), - 146 => + 150 => array ( 'permission_id' => 169, 'role_id' => 1, ), - 147 => + 151 => array ( 'permission_id' => 169, 'role_id' => 39, ), - 148 => + 152 => array ( 'permission_id' => 169, 'role_id' => 40, ), - 149 => + 153 => array ( 'permission_id' => 169, 'role_id' => 41, ), - 150 => + 154 => array ( 'permission_id' => 170, 'role_id' => 1, ), - 151 => + 155 => array ( 'permission_id' => 170, 'role_id' => 39, ), - 152 => + 156 => array ( 'permission_id' => 170, 'role_id' => 40, ), - 153 => + 157 => array ( 'permission_id' => 170, 'role_id' => 41, ), - 154 => + 158 => array ( 'permission_id' => 171, 'role_id' => 1, ), - 155 => + 159 => array ( 'permission_id' => 171, 'role_id' => 39, ), - 156 => + 160 => array ( 'permission_id' => 171, 'role_id' => 40, ), - 157 => + 161 => array ( 'permission_id' => 171, 'role_id' => 41, ), - 158 => + 162 => array ( 'permission_id' => 172, 'role_id' => 1, ), - 159 => + 163 => array ( 'permission_id' => 172, 'role_id' => 27, ), - 160 => + 164 => array ( 'permission_id' => 172, 'role_id' => 39, ), - 161 => + 165 => array ( 'permission_id' => 172, 'role_id' => 40, ), - 162 => + 166 => array ( 'permission_id' => 172, 'role_id' => 41, ), - 163 => + 167 => array ( 'permission_id' => 173, 'role_id' => 1, ), - 164 => + 168 => array ( 'permission_id' => 173, 'role_id' => 27, ), - 165 => + 169 => array ( 'permission_id' => 173, 'role_id' => 39, ), - 166 => + 170 => array ( 'permission_id' => 173, 'role_id' => 40, ), - 167 => + 171 => array ( 'permission_id' => 173, 'role_id' => 41, ), - 168 => + 172 => array ( 'permission_id' => 174, 'role_id' => 1, ), - 169 => + 173 => array ( 'permission_id' => 174, 'role_id' => 39, ), - 170 => + 174 => array ( 'permission_id' => 174, 'role_id' => 40, ), - 171 => + 175 => array ( 'permission_id' => 174, 'role_id' => 41, ), - 172 => + 176 => array ( 'permission_id' => 175, 'role_id' => 1, ), - 173 => + 177 => array ( 'permission_id' => 175, 'role_id' => 39, ), - 174 => + 178 => array ( 'permission_id' => 175, 'role_id' => 40, ), - 175 => + 179 => array ( 'permission_id' => 175, 'role_id' => 41, ), - 176 => + 180 => array ( 'permission_id' => 176, 'role_id' => 1, ), - 177 => + 181 => array ( 'permission_id' => 176, 'role_id' => 39, ), - 178 => + 182 => array ( 'permission_id' => 176, 'role_id' => 40, ), - 179 => + 183 => array ( 'permission_id' => 176, 'role_id' => 41, ), - 180 => + 184 => array ( 'permission_id' => 182, 'role_id' => 1, ), - 181 => + 185 => array ( 'permission_id' => 182, 'role_id' => 27, ), - 182 => + 186 => array ( 'permission_id' => 182, 'role_id' => 37, ), - 183 => + 187 => array ( 'permission_id' => 182, 'role_id' => 38, ), - 184 => + 188 => array ( 'permission_id' => 182, 'role_id' => 39, ), - 185 => + 189 => array ( 'permission_id' => 182, 'role_id' => 40, ), - 186 => + 190 => array ( 'permission_id' => 182, 'role_id' => 41, ), - 187 => + 191 => array ( 'permission_id' => 183, 'role_id' => 1, ), - 188 => + 192 => array ( 'permission_id' => 183, 'role_id' => 27, ), - 189 => + 193 => array ( 'permission_id' => 183, 'role_id' => 37, ), - 190 => + 194 => array ( 'permission_id' => 183, 'role_id' => 38, ), - 191 => + 195 => array ( 'permission_id' => 183, 'role_id' => 39, ), - 192 => + 196 => array ( 'permission_id' => 183, 'role_id' => 40, ), - 193 => + 197 => array ( 'permission_id' => 183, 'role_id' => 41, ), - 194 => + 198 => array ( 'permission_id' => 184, 'role_id' => 1, ), - 195 => + 199 => array ( 'permission_id' => 184, 'role_id' => 37, ), - 196 => + 200 => array ( 'permission_id' => 184, 'role_id' => 39, ), - 197 => + 201 => array ( 'permission_id' => 184, 'role_id' => 40, ), - 198 => + 202 => array ( 'permission_id' => 184, 'role_id' => 41, ), - 199 => + 203 => array ( 'permission_id' => 185, 'role_id' => 1, ), - 200 => + 204 => array ( 'permission_id' => 185, 'role_id' => 37, ), - 201 => + 205 => array ( 'permission_id' => 185, 'role_id' => 38, ), - 202 => + 206 => array ( 'permission_id' => 185, 'role_id' => 39, ), - 203 => + 207 => array ( 'permission_id' => 185, 'role_id' => 40, ), - 204 => + 208 => array ( 'permission_id' => 185, 'role_id' => 41, ), - 205 => + 209 => array ( 'permission_id' => 186, 'role_id' => 1, ), - 206 => + 210 => array ( 'permission_id' => 186, 'role_id' => 37, ), - 207 => + 211 => array ( 'permission_id' => 186, 'role_id' => 39, ), - 208 => + 212 => array ( 'permission_id' => 186, 'role_id' => 40, ), - 209 => + 213 => array ( 'permission_id' => 186, 'role_id' => 41, ), - 210 => + 214 => array ( 'permission_id' => 187, 'role_id' => 1, ), - 211 => + 215 => array ( 'permission_id' => 187, 'role_id' => 27, ), - 212 => + 216 => array ( 'permission_id' => 187, 'role_id' => 39, ), - 213 => + 217 => array ( 'permission_id' => 187, 'role_id' => 40, ), - 214 => + 218 => array ( 'permission_id' => 187, 'role_id' => 41, ), - 215 => + 219 => array ( 'permission_id' => 188, 'role_id' => 1, ), - 216 => + 220 => array ( 'permission_id' => 188, 'role_id' => 27, ), - 217 => + 221 => array ( 'permission_id' => 188, 'role_id' => 39, ), - 218 => + 222 => array ( 'permission_id' => 188, 'role_id' => 40, ), - 219 => + 223 => array ( 'permission_id' => 188, 'role_id' => 41, ), - 220 => + 224 => array ( 'permission_id' => 189, 'role_id' => 1, ), - 221 => + 225 => array ( 'permission_id' => 189, 'role_id' => 39, ), - 222 => + 226 => array ( 'permission_id' => 189, 'role_id' => 40, ), - 223 => + 227 => array ( 'permission_id' => 189, 'role_id' => 41, ), - 224 => + 228 => array ( 'permission_id' => 190, 'role_id' => 1, ), - 225 => + 229 => array ( 'permission_id' => 190, 'role_id' => 39, ), - 226 => + 230 => array ( 'permission_id' => 190, 'role_id' => 40, ), - 227 => + 231 => array ( 'permission_id' => 190, 'role_id' => 41, ), - 228 => + 232 => array ( 'permission_id' => 191, 'role_id' => 1, ), - 229 => + 233 => array ( 'permission_id' => 191, 'role_id' => 39, ), - 230 => + 234 => array ( 'permission_id' => 191, 'role_id' => 40, ), - 231 => + 235 => array ( 'permission_id' => 191, 'role_id' => 41, ), - 232 => + 236 => array ( 'permission_id' => 192, 'role_id' => 1, ), - 233 => + 237 => array ( 'permission_id' => 193, 'role_id' => 1, ), - 234 => + 238 => array ( 'permission_id' => 194, 'role_id' => 1, ), - 235 => + 239 => array ( 'permission_id' => 195, 'role_id' => 1, ), - 236 => + 240 => array ( 'permission_id' => 196, 'role_id' => 1, ), - 237 => + 241 => array ( 'permission_id' => 197, 'role_id' => 1, ), - 238 => + 242 => array ( 'permission_id' => 198, 'role_id' => 1, ), - 239 => + 243 => array ( 'permission_id' => 199, 'role_id' => 1, ), - 240 => + 244 => array ( 'permission_id' => 200, 'role_id' => 1, ), - 241 => + 245 => array ( 'permission_id' => 201, 'role_id' => 1, ), - 242 => + 246 => array ( 'permission_id' => 202, 'role_id' => 1, ), - 243 => + 247 => array ( 'permission_id' => 203, 'role_id' => 1, ), - 244 => + 248 => array ( 'permission_id' => 204, 'role_id' => 1, ), - 245 => + 249 => array ( 'permission_id' => 205, 'role_id' => 1, ), - 246 => + 250 => array ( 'permission_id' => 206, 'role_id' => 1, ), - 247 => + 251 => array ( 'permission_id' => 207, 'role_id' => 1, ), - 248 => + 252 => array ( 'permission_id' => 208, 'role_id' => 1, ), - 249 => + 253 => array ( 'permission_id' => 209, 'role_id' => 1, ), - 250 => + 254 => array ( 'permission_id' => 210, 'role_id' => 1, ), - 251 => + 255 => array ( 'permission_id' => 211, 'role_id' => 1, ), - 252 => + 256 => array ( 'permission_id' => 212, 'role_id' => 1, ), - 253 => + 257 => array ( 'permission_id' => 213, 'role_id' => 1, ), - 254 => + 258 => array ( 'permission_id' => 214, 'role_id' => 1, ), - 255 => + 259 => array ( 'permission_id' => 215, 'role_id' => 1, ), - 256 => + 260 => array ( 'permission_id' => 216, 'role_id' => 1, ), - 257 => + 261 => array ( 'permission_id' => 217, 'role_id' => 1, ), - 258 => + 262 => array ( 'permission_id' => 218, 'role_id' => 1, ), - 259 => + 263 => array ( 'permission_id' => 219, 'role_id' => 1, ), - 260 => + 264 => array ( 'permission_id' => 220, 'role_id' => 1, ), - 261 => + 265 => array ( 'permission_id' => 221, 'role_id' => 1, ), - 262 => + 266 => array ( 'permission_id' => 222, 'role_id' => 1, ), - 263 => + 267 => array ( 'permission_id' => 223, 'role_id' => 1, ), - 264 => + 268 => array ( 'permission_id' => 224, 'role_id' => 1, ), - 265 => + 269 => array ( 'permission_id' => 225, 'role_id' => 1, ), - 266 => + 270 => array ( 'permission_id' => 226, 'role_id' => 1, ), - 267 => + 271 => array ( 'permission_id' => 227, 'role_id' => 1, ), - 268 => + 272 => array ( 'permission_id' => 228, 'role_id' => 1, ), - 269 => + 273 => array ( 'permission_id' => 229, 'role_id' => 1, ), - 270 => + 274 => array ( 'permission_id' => 230, 'role_id' => 1, ), - 271 => + 275 => array ( 'permission_id' => 231, 'role_id' => 1, ), - 272 => + 276 => array ( 'permission_id' => 232, 'role_id' => 1, ), - 273 => + 277 => array ( 'permission_id' => 233, 'role_id' => 1, ), - 274 => + 278 => array ( 'permission_id' => 234, 'role_id' => 1, ), - 275 => + 279 => array ( 'permission_id' => 235, 'role_id' => 1, ), - 276 => + 280 => array ( 'permission_id' => 236, 'role_id' => 1, ), - 277 => + 281 => array ( 'permission_id' => 237, 'role_id' => 1, ), - 278 => + 282 => array ( 'permission_id' => 238, 'role_id' => 1, ), - 279 => + 283 => array ( 'permission_id' => 239, 'role_id' => 1, ), - 280 => + 284 => array ( 'permission_id' => 240, 'role_id' => 1, ), - 281 => + 285 => array ( 'permission_id' => 241, 'role_id' => 1, ), + 286 => + array ( + 'permission_id' => 242, + 'role_id' => 1, + ), + 287 => + array ( + 'permission_id' => 242, + 'role_id' => 27, + ), + 288 => + array ( + 'permission_id' => 242, + 'role_id' => 48, + ), + 289 => + array ( + 'permission_id' => 243, + 'role_id' => 1, + ), + 290 => + array ( + 'permission_id' => 243, + 'role_id' => 48, + ), + 291 => + array ( + 'permission_id' => 244, + 'role_id' => 1, + ), + 292 => + array ( + 'permission_id' => 244, + 'role_id' => 48, + ), + 293 => + array ( + 'permission_id' => 245, + 'role_id' => 1, + ), + 294 => + array ( + 'permission_id' => 245, + 'role_id' => 48, + ), + 295 => + array ( + 'permission_id' => 246, + 'role_id' => 1, + ), + 296 => + array ( + 'permission_id' => 246, + 'role_id' => 48, + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php index 283c381b47c2b227e6c9b330e1aa120a3f50b699..54b4360cd3e1c71ceeb56450e35a50d1d70a4c40 100755 --- a/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedPermissionsTableSeeder.php @@ -1587,6 +1587,46 @@ class FunctionalityTrackingByIseedPermissionsTableSeeder extends Seeder 'created_at' => '2024-05-29 15:41:52', 'updated_at' => '2024-05-29 15:41:52', ), + 196 => + array ( + 'id' => 242, + 'key' => 'browse_products', + 'table_name' => 'products', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 16:31:08', + ), + 197 => + array ( + 'id' => 243, + 'key' => 'read_products', + 'table_name' => 'products', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 16:31:08', + ), + 198 => + array ( + 'id' => 244, + 'key' => 'edit_products', + 'table_name' => 'products', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 16:31:08', + ), + 199 => + array ( + 'id' => 245, + 'key' => 'add_products', + 'table_name' => 'products', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 16:31:08', + ), + 200 => + array ( + 'id' => 246, + 'key' => 'delete_products', + 'table_name' => 'products', + 'created_at' => '2025-02-13 16:31:08', + 'updated_at' => '2025-02-13 16:31:08', + ), )); diff --git a/database/seeders/FunctionalityTrackingByIseedRolesTableSeeder.php b/database/seeders/FunctionalityTrackingByIseedRolesTableSeeder.php index c1f2fb8f85d597d2c63e019773f98af68245ce73..b978ac30df852af792c26f4d60b12aba37103850 100755 --- a/database/seeders/FunctionalityTrackingByIseedRolesTableSeeder.php +++ b/database/seeders/FunctionalityTrackingByIseedRolesTableSeeder.php @@ -243,6 +243,14 @@ class FunctionalityTrackingByIseedRolesTableSeeder extends Seeder 'created_at' => '2021-07-06 09:43:40', 'updated_at' => '2021-07-06 09:43:40', ), + 28 => + array ( + 'id' => 48, + 'name' => 'productediter', + 'display_name' => 'Product Editer', + 'created_at' => '2025-02-14 08:24:43', + 'updated_at' => '2025-02-14 08:24:43', + ), )); diff --git a/doc/admin/README.md b/doc/admin/README.md index 725a57e9b30ab7dfb0f196ab1096efafdbccb3b3..1bf6c54a47a40751e405dbd5892ff8925f8a4e8a 100755 --- a/doc/admin/README.md +++ b/doc/admin/README.md @@ -25,6 +25,7 @@ * [5.6 Notebooks](#Notebooks) * [5.7 Pipets](#Pipets) * [5.8 Wellplates](#Wellplates) + * [5.9 Products](#Products) **[6. Features tables](#Featurestables)** * [6.1 Dna features](#Dnafeatures) @@ -280,6 +281,32 @@ xxx *[Back to Contents](#Contents)* +### Products <a name="Products"></a> + +In MyLabStocks, a `Product` is anything that was purchased by the lab and that is not referenced in the dedicated tables strains, oligos, plasmids, antibodies, cell lines, pipets, etc. For example, a chemical reagent, a microtubes or a biochemical kit are all "Products". + +| Field name | Type | What you enter in this field | +| ---------- | ---- | ---------------------------- | +| Id | Integer | A unique integer | +| Name | Character string | Product's name (free text) | +| Type | Character string | The type of product (dropdown menu defined in the BREAD) | +| Supplier | Character string | The name of the company who sold you the product (linked to table Suppliers) | +| Supplier's reference | Character string | The product ID as referenced by the supplier | +| Producer | Character string | The name of the company who produced the product (may differ from the Supplier) (free text) | +| Producer's reference | Character string | The product ID as referenced by the producer | +| Web link | Character string | A web page describing the product | +| Price | Character string | The price you paid last time | +| Last order date | Date | Date of last ordering | +| Ordered by | Character string | The lab member who placed the last order | +| Contact for quote | Character string | Any information on the commercial contact from the supplier (name, email ...)| +| Code Nacre | Character string | For Academic French labs: the nomenclature NACRE code to indicate to your administration when placing the order | +| Files | media | Any media you want upload regarding the product (e.g. a quote, a manual...) | +| Comments | Character string | Free text giving comments on the product | +| Created At | Timestamp | Timestamp of the record creation in the database | +| Created At | Timestamp | Timestamp of the record update in the database | + +*[Back to Contents](#Contents)* + ## Features tables <a name="Featurestables"></a> Stock features are the items listed in green in the main menu: