Ejemplo n.º 1
0
 public function run()
 {
     DB::statement('SET FOREIGN_KEY_CHECKS = 0');
     DB::table('permission_role')->truncate();
     DB::table('role_user')->truncate();
     DB::table('users')->truncate();
     DB::table('roles')->truncate();
     DB::table('permissions')->truncate();
     DB::table('permission_groups')->truncate();
     DB::statement('SET FOREIGN_KEY_CHECKS = 1');
     $faker = Faker\Factory::create();
     //User
     $admin = User::create(['email' => '*****@*****.**', 'name' => '管理员', 'password' => bcrypt('adminadmin')]);
     $test_user = User::create(['email' => '*****@*****.**', 'name' => '测试用户', 'password' => bcrypt('testtest')]);
     //Roles
     $role_admin = Role::create(['name' => 'admin', 'display_name' => '管理员']);
     $role_editor = Role::create(['name' => 'editor', 'display_name' => '编辑']);
     $role_user = Role::create(['name' => 'user', 'display_name' => '普通用户']);
     //Permission&PermissionGroup
     PermissionGroup::create(['name' => '后台']);
     PermissionGroup::create(['name' => 'RBAC', 'parent_id' => 1]);
     Permission::create(['name' => 'dashboard_view', 'display_name' => '首页', 'group_id' => 1]);
     $models = [['route_name' => 'users', 'menu_name' => '帐户', 'group_id' => 3, 'group_pid' => 2], ['route_name' => 'roles', 'menu_name' => '角色', 'group_id' => 4, 'group_pid' => 2], ['route_name' => 'permissions', 'menu_name' => '权限', 'group_id' => 5, 'group_pid' => 2], ['route_name' => 'permissiongroups', 'menu_name' => '权限分组', 'group_id' => 6, 'group_pid' => 2], ['route_name' => 'articles', 'menu_name' => '文章', 'group_id' => 7, 'group_pid' => 1], ['route_name' => 'settings', 'menu_name' => '配置', 'group_id' => 8, 'group_pid' => 1]];
     foreach ($models as $key => $model) {
         PermissionGroup::create(['name' => $model['menu_name'], 'parent_id' => $model['group_pid']]);
         Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_view', 'display_name' => $model['menu_name'] . '菜单']);
         Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_create', 'display_name' => '新建' . $model['menu_name']]);
         Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_update', 'display_name' => '修改' . $model['menu_name']]);
         Permission::create(['group_id' => $model['group_id'], 'name' => $model['route_name'] . '_delete', 'display_name' => '删除' . $model['menu_name']]);
     }
     //Roles Users
     $test_user->roles()->save($role_editor);
     //Roles Users
     // $role_admin->givePermissionTo($permission_admin_user);
 }
 /**
  * Store a newly created Permissions in storage.
  *
  * @param CreatePermissionsRequest $request
  *
  * @return Response
  */
 public function store(CreatePermissionsRequest $request)
 {
     $input = $request->all();
     $permissions = Permission::create($input);
     Flash::message('Permissions saved successfully.');
     return redirect(route('admin.permissions.index'));
 }
Ejemplo n.º 3
0
 protected function create($values)
 {
     $data = [];
     foreach ($this->structure as $i => $key) {
         $data[$key] = $values[$i];
     }
     Permission::create($data);
 }
Ejemplo n.º 4
0
 /**
  * Store a new permission from form request
  *
  * @param Request $request
  * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
  */
 public function store(Request $request)
 {
     $this->authorize('edit_users');
     $this->validate($request, ['name' => 'required|string|between:3,50', 'description' => 'string|between:0,100']);
     $permission = Permission::create($request->all());
     $permission->groups()->attach($request->input('group_list'));
     flash()->success('Permission Saved', 'The permission has been created');
     return redirect('permission');
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('permissions')->delete();
     $permissionArr = array(array('name' => 'add_user', 'display_name' => '添加用户'), array('name' => 'delete_user', 'display_name' => '删除用户'), array('name' => 'add_news', 'display_name' => '添加新闻'), array('name' => 'edit_news', 'display_name' => '编辑新闻'));
     foreach ($permissionArr as $perm) {
         $permission = \App\Models\Permission::create(['name' => $perm['name'], 'display_name' => $perm['display_name'], 'description' => '']);
         DB::insert('insert into permission_role (permission_id, role_id) values (?, ?)', [$permission->id, 1]);
     }
 }
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(PermissionRequest $request)
 {
     $input = $request->all();
     $inputn['name'] = ucfirst($request->get('name'));
     $inputn[$this->permissions] = Permission::getper($input);
     Permission::create($inputn);
     Session::flash($this->success, Lang::get('ruban.permission.created'));
     return Redirect::route('ruban.permissions.index');
 }
Ejemplo n.º 7
0
 /**
  * Store a newly created resource in storage.
  *
  * @return Response
  */
 public function store(Request $request)
 {
     $data = $request->all();
     $validator = Validator::make($data, ['name' => 'required|max:255|unique:permissions', 'display_name' => 'required|max:255']);
     if ($validator->fails()) {
         $this->throwValidationException($request, $validator);
     }
     Permission::create(['name' => $data['name'], 'cat_id' => $data['cat_id'], 'display_name' => $data['display_name'], 'description' => $data['description']]);
     $msg = array('msg' => '已成功添加');
     return json_encode($msg);
 }
Ejemplo n.º 8
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Create a few test users.
     $lastNames = [1 => 'One', 2 => 'Two', 3 => 'Three', 4 => 'Four', 5 => 'Five'];
     foreach ($lastNames as $index => $lastName) {
         $testUser = User::create(['username' => 'user' . $index, 'first_name' => 'User', 'last_name' => $lastName, 'email' => 'user' . $index . '@email.com', "password" => "Password1", "gender" => true, "auth_type" => "internal", "enabled" => true, 'department_id' => 2, "regency_id" => 2]);
     }
     /////////
     // Create a few test permissions for the flash-test pages.
     $testLevels = ['success', 'info', 'warning', 'error'];
     foreach ($testLevels as $level) {
         $permGuestOnly = Permission::create(['name' => 'test-level-' . $level, 'display_name' => 'Test level ' . $level, 'description' => 'Testing level ' . $level, 'enabled' => true]);
     }
 }
Ejemplo n.º 9
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $faker = Faker\Factory::create();
     $adminUser = User::create(['first_name' => $faker->firstName, 'last_name' => $faker->lastName, 'email' => '*****@*****.**', 'password' => bcrypt('password')]);
     $adminRole = Role::create(['name' => 'admin', 'display_name' => 'Administrator', 'description' => 'Super administrator role.']);
     $permission['manageUsersPerm'] = Permission::create(['name' => 'manage-users', 'display_name' => 'Manage Users', 'description' => 'Has ability to view, create, edit and delete users as well as assign user roles.']);
     $permission['managePermissionsPerm'] = Permission::create(['name' => 'manage-permissions', 'display_name' => 'Manage Permissions', 'description' => 'Has ability to view and edit permissions.']);
     $permission['manageRolesPerm'] = Permission::create(['name' => 'manage-roles', 'display_name' => 'Manage Roles', 'description' => 'Has ability to view, create, edit and delete roles as well as assign role permissions.']);
     $adminRole->attachPermissions($permission);
     $adminUser->attachRole($adminRole);
     for ($i = 0; $i < 100; $i++) {
         // random users
         $user = User::create(['first_name' => $faker->firstName, 'last_name' => $faker->lastName, 'email' => $faker->email, 'password' => bcrypt('pass')]);
     }
 }
 public function run()
 {
     $ownerRole = Role::create(['name' => 'owner', 'display_name' => 'owner']);
     $allPermissions = [];
     $adminRolePermission = Permission::create(['name' => 'auth.backend', 'display_name' => 'Login to backend']);
     array_push($allPermissions, $adminRolePermission->id);
     $listRolePermission = Permission::create(['name' => 'roles.index', 'display_name' => 'List Roles']);
     $createRolePermission = Permission::create(['name' => 'roles.store', 'display_name' => 'Create Roles']);
     $editRolePermission = Permission::create(['name' => 'roles.update', 'display_name' => 'Edit Roles']);
     $deleteRolePermission = Permission::create(['name' => 'roles.destroy', 'display_name' => 'Delete Roles']);
     array_push($allPermissions, $listRolePermission->id, $createRolePermission->id, $editRolePermission->id, $listRolePermission->id, $deleteRolePermission->id);
     $listUserPermission = Permission::create(['name' => 'users.index', 'display_name' => 'List Users']);
     $createUserPermission = Permission::create(['name' => 'users.store', 'display_name' => 'Create Users']);
     $editUserPermission = Permission::create(['name' => 'users.update', 'display_name' => 'Edit Users']);
     $deleteUserPermission = Permission::create(['name' => 'users.destroy', 'display_name' => 'Delete Users']);
     array_push($allPermissions, $listUserPermission->id, $createUserPermission->id, $editUserPermission->id, $listUserPermission->id, $deleteUserPermission->id);
     $listPostPermission = Permission::create(['name' => 'posts.index', 'display_name' => 'List Posts']);
     $createPostPermission = Permission::create(['name' => 'posts.store', 'display_name' => 'Create Posts']);
     $editPostPermission = Permission::create(['name' => 'posts.update', 'display_name' => 'Edit Posts']);
     $deletePostPermission = Permission::create(['name' => 'posts.destroy', 'display_name' => 'Delete Posts']);
     array_push($allPermissions, $listPostPermission->id, $createPostPermission->id, $editPostPermission->id, $listPostPermission->id, $deletePostPermission->id);
     $listPostCategoryPermission = Permission::create(['name' => 'posts.categories.index', 'display_name' => 'List Posts Categories']);
     $createPostCategoryPermission = Permission::create(['name' => 'posts.categories.store', 'display_name' => 'Create Posts Categories']);
     $editPostCategoryPermission = Permission::create(['name' => 'posts.categories.update', 'display_name' => 'Edit Posts Categories']);
     $deletePostCategoryPermission = Permission::create(['name' => 'posts.categories.destroy', 'display_name' => 'Delete Posts Categories']);
     array_push($allPermissions, $listPostCategoryPermission->id, $createPostCategoryPermission->id, $editPostCategoryPermission->id, $listPostCategoryPermission->id, $deletePostCategoryPermission->id);
     $listMediaPermission = Permission::create(['name' => 'media.index', 'display_name' => 'List Media']);
     $createMediaPermission = Permission::create(['name' => 'media.store', 'display_name' => 'Create Media']);
     $editMediaPermission = Permission::create(['name' => 'media.update', 'display_name' => 'Edit Media']);
     $deleteMediaPermission = Permission::create(['name' => 'media.destroy', 'display_name' => 'Delete Media']);
     array_push($allPermissions, $listMediaPermission->id, $createMediaPermission->id, $editMediaPermission->id, $listMediaPermission->id, $deleteMediaPermission->id);
     $listMediaCategoryPermission = Permission::create(['name' => 'media.categories.index', 'display_name' => 'List Media Categories']);
     $createMediaCategoryPermission = Permission::create(['name' => 'media.categories.store', 'display_name' => 'Create Media Categories']);
     $editMediaCategoryPermission = Permission::create(['name' => 'media.categories.update', 'display_name' => 'Edit Media Categories']);
     $deleteMediaCategoryPermission = Permission::create(['name' => 'media.categories.destroy', 'display_name' => 'Delete Media Categories']);
     array_push($allPermissions, $listMediaCategoryPermission->id, $createMediaCategoryPermission->id, $editMediaCategoryPermission->id, $listMediaCategoryPermission->id, $deleteMediaCategoryPermission->id);
     $ownerRole->perms()->sync($allPermissions);
     $user = User::create(['firstname' => 'Mark', 'email' => '*****@*****.**', 'password' => 'adminmark', 'last_login' => date('Y-m-d H:i:s')]);
     $user->attachRole($ownerRole);
 }
 /**
  * Run the migrations.
  *
  * @return void
  */
 public function up()
 {
     $admin = Role::create(['name' => 'administrator', 'label' => 'Administrator']);
     $updateApplication = Permission::create(['name' => 'update.application', 'label' => 'Update the Application']);
     $manager = Role::create(['name' => 'manager', 'label' => 'Site Manager']);
     $viewAdmin = Permission::create(['name' => 'view.admin', 'label' => 'Visit the Admin Area']);
     $manager->givePermissionTo($viewAdmin);
     //users
     $viewUsers = Permission::create(['name' => 'view.users', 'label' => 'View Users']);
     $manager->givePermissionTo($viewUsers);
     $createUsers = Permission::create(['name' => 'create.users', 'label' => 'Create Users']);
     $manager->givePermissionTo($createUsers);
     $updateUsers = Permission::create(['name' => 'update.users', 'label' => 'Update Users']);
     $manager->givePermissionTo($updateUsers);
     $deleteUsers = Permission::create(['name' => 'delete.users', 'label' => 'Delete Users']);
     $manager->givePermissionTo($deleteUsers);
     //roles
     $viewRoles = Permission::create(['name' => 'view.roles', 'label' => 'View Roles']);
     $manager->givePermissionTo($viewRoles);
     $createRoles = Permission::create(['name' => 'create.roles', 'label' => 'Create Roles']);
     $manager->givePermissionTo($createRoles);
     $updateRoles = Permission::create(['name' => 'update.roles', 'label' => 'Update Roles']);
     $manager->givePermissionTo($updateRoles);
     $deleteRoles = Permission::create(['name' => 'delete.roles', 'label' => 'Delete Roles']);
     $manager->givePermissionTo($deleteRoles);
     //settings
     $viewSettings = Permission::create(['name' => 'view.settings', 'label' => 'View Settings']);
     $manager->givePermissionTo($viewSettings);
     $updateSettings = Permission::create(['name' => 'update.settings', 'label' => 'Update Settings']);
     $manager->givePermissionTo($updateSettings);
     $viewPages = Permission::create(['name' => 'view.pages', 'label' => 'View Pages']);
     $manager->givePermissionTo($viewPages);
     $createPages = Permission::create(['name' => 'create.pages', 'label' => 'Create Pages']);
     $manager->givePermissionTo($createPages);
     $updatePages = Permission::create(['name' => 'update.pages', 'label' => 'Update Pages']);
     $manager->givePermissionTo($updatePages);
     $deletePages = Permission::create(['name' => 'delete.pages', 'label' => 'Delete Pages']);
     $manager->givePermissionTo($deletePages);
 }
Ejemplo n.º 12
0
 public function run()
 {
     Permission::truncate();
     Permission::create(['name' => 'login-web', 'permission' => 'Login to Web', 'description' => 'Allow user to log in via web.', 'is_default' => 1, 'is_readonly' => 1]);
     Permission::create(['name' => 'login-api', 'permission' => 'Login via API', 'description' => 'Allow user to log in via API.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'edit-profile-web', 'permission' => 'Edit Profile via web', 'description' => 'Allow user to edit profile via web.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'edit-profile-api', 'permission' => 'Edit Profile via API', 'description' => 'Allow user to edit profile via API.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'system-info', 'permission' => 'View System Information', 'description' => 'View system information.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'user-list', 'permission' => 'List Users', 'description' => 'List users.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'user-info', 'permission' => 'View User Info', 'description' => 'View user information.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'user-add', 'permission' => 'Add User', 'description' => 'Add user.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'user-edit', 'permission' => 'Edit User', 'description' => 'Edit user.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'user-delete', 'permission' => 'Delete User', 'description' => 'Delete user.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'role-list', 'permission' => 'List Roles', 'description' => 'List roles.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'role-info', 'permission' => 'View Role Info', 'description' => 'View role information.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'role-add', 'permission' => 'Add Role', 'description' => 'Add role.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'role-edit', 'permission' => 'Edit Role', 'description' => 'Edit role.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'role-delete', 'permission' => 'Delete Role', 'description' => 'Delete role.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'permission-list', 'permission' => 'List Permissions', 'description' => 'List permissions.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'permission-info', 'permission' => 'View Permission Info', 'description' => 'View permission information.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'permission-add', 'permission' => 'Add Permission', 'description' => 'Add permission.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'permission-edit', 'permission' => 'Edit Permission', 'description' => 'Edit permission.', 'is_default' => 0, 'is_readonly' => 1]);
     Permission::create(['name' => 'permission-delete', 'permission' => 'Delete Permission', 'description' => 'Delete permission.', 'is_default' => 0, 'is_readonly' => 1]);
 }
Ejemplo n.º 13
0
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $permission = Permission::create(['permission_name' => $request->get('permission_name'), 'permission_slug' => $request->get('permission_slug')]);
     Flash::success('The role "' . $permission->permission_name . '"" was successfully created.');
     return back();
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     ////////////////////////////////////
     // Load the routes
     Route::loadLaravelRoutes();
     // Look for and delete route named 'do-not-load' if it exist.
     // That route is used to test the Authorization middleware and should not be loaded automatically.
     $routeToDelete = Route::where('name', 'do-not-load')->get()->first();
     if ($routeToDelete) {
         Route::destroy($routeToDelete->id);
     }
     ////////////////////////////////////
     // Create basic set of permissions
     $permGuestOnly = Permission::create(['name' => 'guest-only', 'display_name' => 'Guest only access', 'description' => 'Only guest users can access these.', 'enabled' => true]);
     $permOpenToAll = Permission::create(['name' => 'open-to-all', 'display_name' => 'Open to all', 'description' => 'Everyone can access these, even unauthenticated (guest) users.', 'enabled' => true]);
     $permBasicAuthenticated = Permission::create(['name' => 'basic-authenticated', 'display_name' => 'Basic authenticated', 'description' => 'Basic permission after being authenticated.', 'enabled' => true]);
     // Create a few permissions for the admin|security section
     $permManageMenus = Permission::create(['name' => 'manage-menus', 'display_name' => 'Manage menus', 'description' => 'Allows a user to manage the site menus.', 'enabled' => true]);
     $permManageUsers = Permission::create(['name' => 'manage-users', 'display_name' => 'Manage users', 'description' => 'Allows a user to manage the site users.', 'enabled' => true]);
     $permManageRoles = Permission::create(['name' => 'manage-roles', 'display_name' => 'Manage roles', 'description' => 'Allows a user to manage the site roles.', 'enabled' => true]);
     $permManagePermissions = Permission::create(['name' => 'manage-permissions', 'display_name' => 'Manage permissions', 'description' => 'Allows a user to manage the site permissions.', 'enabled' => true]);
     $permManageRoutes = Permission::create(['name' => 'manage-routes', 'display_name' => 'Manage routes', 'description' => 'Allows a user to Manage the site routes.', 'enabled' => true]);
     // Create a few permissions for the admin|audit section
     $permAuditLogView = Permission::create(['name' => 'audit-log-view', 'display_name' => 'View audit log', 'description' => 'Allows a user to view the audit log.', 'enabled' => true]);
     $permAuditReplay = Permission::create(['name' => 'audit-log-replay', 'display_name' => 'Replay audit log item', 'description' => 'Allows a user to replay items from the audit log.', 'enabled' => true]);
     $permAuditPurge = Permission::create(['name' => 'audit-log-purge', 'display_name' => 'Purge audit log', 'description' => 'Allows a user to purge old items from the audit log.', 'enabled' => true]);
     $permAdminSettings = Permission::create(['name' => 'admin-settings', 'display_name' => 'Administer site settings', 'description' => 'Allows a user to change site settings.', 'enabled' => true]);
     ////////////////////////////////////
     // Associate open-to-all permission to some routes
     $routeBackslash = Route::where('name', 'backslash')->get()->first();
     $routeBackslash->permission()->associate($permOpenToAll);
     $routeBackslash->save();
     $routeHome = Route::where('name', 'home')->get()->first();
     $routeHome->permission()->associate($permOpenToAll);
     $routeHome->save();
     $routeFaust = Route::where('name', 'faust')->get()->first();
     $routeFaust->permission()->associate($permOpenToAll);
     $routeFaust->save();
     // Associate basic-authenticated permission to the dashboard route
     $routeDashboard = Route::where('name', 'dashboard')->get()->first();
     $routeDashboard->permission()->associate($permBasicAuthenticated);
     $routeDashboard->save();
     // Associate the audit-log permissions
     $routeAuditView = Route::where('name', 'admin.audit.index')->get()->first();
     $routeAuditView->permission()->associate($permAuditLogView);
     $routeAuditView->save();
     $routeAuditShow = Route::where('name', 'admin.audit.show')->get()->first();
     $routeAuditShow->permission()->associate($permAuditLogView);
     $routeAuditShow->save();
     $routeAuditPurge = Route::where('name', 'admin.audit.purge')->get()->first();
     $routeAuditPurge->permission()->associate($permAuditPurge);
     $routeAuditPurge->save();
     $routeAuditReplay = Route::where('name', 'admin.audit.replay')->get()->first();
     $routeAuditReplay->permission()->associate($permAuditReplay);
     $routeAuditReplay->save();
     // Associate manage-menus permissions to routes starting with 'admin.menus.'
     $manageMenusRoutes = Route::where('name', 'like', "admin.menus.%")->get()->all();
     foreach ($manageMenusRoutes as $route) {
         $route->permission()->associate($permManageMenus);
         $route->save();
     }
     // Associate manage-permission permissions to routes starting with 'admin.permissions.'
     $managePermRoutes = Route::where('name', 'like', "admin.permissions.%")->get()->all();
     foreach ($managePermRoutes as $route) {
         $route->permission()->associate($permManagePermissions);
         $route->save();
     }
     // Associate manage-roles permissions to routes starting with 'admin.roles.'
     $manageRoleRoutes = Route::where('name', 'like', "admin.roles.%")->get()->all();
     foreach ($manageRoleRoutes as $route) {
         $route->permission()->associate($permManageRoles);
         $route->save();
     }
     // Associate manage-routes permissions to routes starting with 'admin.routes.'
     $manageRouteRoutes = Route::where('name', 'like', "admin.routes.%")->get()->all();
     foreach ($manageRouteRoutes as $route) {
         $route->permission()->associate($permManageRoutes);
         $route->save();
     }
     // Associate manage-users permissions to routes starting with 'admin.users.'
     $manageUserRoutes = Route::where('name', 'like', "admin.users.%")->get()->all();
     foreach ($manageUserRoutes as $route) {
         $route->permission()->associate($permManageUsers);
         $route->save();
     }
     // Associate the admin-settings permissions
     $routeAdminSettings = Route::where('name', 'admin.settings.index')->get()->first();
     $routeAdminSettings->permission()->associate($permAdminSettings);
     $routeAdminSettings->save();
     ////////////////////////////////////
     // Create role: admins
     $roleAdmins = Role::create(["name" => "admins", "display_name" => "Administrators", "description" => "Administrators have no restrictions", "enabled" => true]);
     // Create role: users
     // Assign permission basic-authenticated
     $roleUsers = Role::create(["name" => "users", "display_name" => "Users", "description" => "All authenticated users", "enabled" => true]);
     $roleUsers->perms()->attach($permBasicAuthenticated->id);
     // Create role: menu-manager
     // Assign permission manage-menus
     $roleMenuManagers = Role::create(["name" => "menu-managers", "display_name" => "Menu managers", "description" => "Menu managers are granted all permissions to the Admin|Menus section.", "enabled" => true]);
     $roleMenuManagers->perms()->attach($permManageMenus->id);
     // Create role: user-manager
     // Assign permission manage-users
     $roleUserManagers = Role::create(["name" => "user-managers", "display_name" => "User managers", "description" => "User managers are granted all permissions to the Admin|Users section.", "enabled" => true]);
     $roleUserManagers->perms()->attach($permManageUsers->id);
     // Create role: role-manager
     // Assign permission: manage-roles
     $roleRoleManagers = Role::create(["name" => "role-managers", "display_name" => "Role managers", "description" => "Role managers are granted all permissions to the Admin|Roles section.", "enabled" => true]);
     $roleRoleManagers->perms()->attach($permManageRoles->id);
     // Create role: audit-viewers
     // Assign permission: audit-log-view
     $roleAuditViewers = Role::create(["name" => "audit-viewers", "display_name" => "Audit viewers", "description" => "Users allowed to view the audit log.", "enabled" => true]);
     $roleAuditViewers->perms()->attach($permAuditLogView->id);
     // Create role: audit-replayers
     // Assign permission: audit-log-replay
     $roleAuditReplayers = Role::create(["name" => "audit-replayers", "display_name" => "Audit replayers", "description" => "Users allowed to replay items from the audit log.", "enabled" => true]);
     $roleAuditReplayers->perms()->attach($permAuditReplay->id);
     // Create role: audit-purgers
     // Assign permission: audit-log-purge
     $roleAuditPurgers = Role::create(["name" => "audit-purgers", "display_name" => "Audit purgers", "description" => "Users allowed to purge old items from the audit log.", "enabled" => true]);
     $roleAuditPurgers->perms()->attach($permAuditPurge->id);
     ////////////////////////////////////
     // Create user: root
     // Assign membership to role admins, membership to role users is
     // automatic.
     $userRoot = User::create(["first_name" => "Root", "last_name" => "SuperUser", "username" => "root", "email" => "*****@*****.**", "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $userRoot->roles()->attach($roleAdmins->id);
     ////////////////////////////////////
     // Create menu: root
     $menuRoot = Menu::create(['name' => 'root', 'label' => 'Root', 'position' => 0, 'icon' => 'fa fa-folder', 'separator' => false, 'url' => null, 'enabled' => true, 'route_id' => null, 'permission_id' => $permOpenToAll->id]);
     // Force root parent to itself.
     $menuRoot->parent_id = $menuRoot->id;
     $menuRoot->save();
     // Create Home menu
     $menuHome = Menu::create(['name' => 'home', 'label' => 'Home', 'position' => 0, 'icon' => 'fa fa-home fa-colour-green', 'separator' => false, 'url' => '/', 'enabled' => true, 'parent_id' => $menuRoot->id, 'route_id' => $routeHome->id, 'permission_id' => null]);
     // Create Dashboard menu
     $menuDashboard = Menu::create(['name' => 'dashboard', 'label' => 'Dashboard', 'position' => 0, 'icon' => 'fa fa-dashboard', 'separator' => false, 'url' => '/dashboard', 'enabled' => true, 'parent_id' => $menuHome->id, 'route_id' => $routeDashboard->id, 'permission_id' => null]);
     // Create Admin container.
     $menuAdmin = Menu::create(['name' => 'admin', 'label' => 'Admin', 'position' => 999, 'icon' => 'fa fa-cog', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuRoot->id, 'route_id' => null, 'permission_id' => null]);
     // Create Audit sub-menu
     $menuAudit = Menu::create(['name' => 'audit', 'label' => 'Audit', 'position' => 0, 'icon' => 'fa fa-binoculars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuAdmin->id, 'route_id' => $routeAuditView->id, 'permission_id' => null]);
     // Create Security container.
     $menuSecurity = Menu::create(['name' => 'security', 'label' => 'Security', 'position' => 1, 'icon' => 'fa fa-user-secret fa-colour-red', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuAdmin->id, 'route_id' => null, 'permission_id' => null]);
     // Create Menus sub-menu
     $menuMenus = Menu::create(['name' => 'menus', 'label' => 'Menus', 'position' => 0, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => Route::where('name', 'like', "admin.menus.index")->get()->first()->id, 'permission_id' => null]);
     // Create separator
     $menuUsers = Menu::create(['name' => 'menus-users-separator', 'label' => '-----', 'position' => 1, 'icon' => null, 'separator' => true, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => null, 'permission_id' => null]);
     // Create Users sub-menu
     $menuUsers = Menu::create(['name' => 'users', 'label' => 'Users', 'position' => 2, 'icon' => 'fa fa-user', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => Route::where('name', 'like', "admin.users.index")->get()->first()->id, 'permission_id' => null]);
     // Create Roles sub-menu
     $menuRoles = Menu::create(['name' => 'roles', 'label' => 'Roles', 'position' => 3, 'icon' => 'fa fa-users', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => Route::where('name', 'like', "admin.roles.index")->get()->first()->id, 'permission_id' => null]);
     // Create Permissions sub-menu
     $menuPermissions = Menu::create(['name' => 'permissions', 'label' => 'Permissions', 'position' => 4, 'icon' => 'fa fa-bolt', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => Route::where('name', 'like', "admin.permissions.index")->get()->first()->id, 'permission_id' => null]);
     // Create Routes sub-menu
     $menuRoutes = Menu::create(['name' => 'routes', 'label' => 'Routes', 'position' => 5, 'icon' => 'fa fa-road', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuSecurity->id, 'route_id' => Route::where('name', 'like', "admin.routes.index")->get()->first()->id, 'permission_id' => null]);
     // Create Settings sub-menu
     $menuSettings = Menu::create(['name' => 'setting', 'label' => 'Settings', 'position' => 2, 'icon' => 'fa fa-cogs', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuAdmin->id, 'route_id' => $routeAdminSettings->id, 'permission_id' => null]);
 }
 public function run()
 {
     /**
             | The Super Admin Role.
     */
     $superAdminRole = Role::create(['name' => 'super_admin', 'label' => 'Super Administrator', 'visible' => false]);
     /**
             | The Can Access Dashboard Role.
             | Can access to the dashboard.
     */
     $dashboardRole = Role::create(['name' => 'dashboard', 'label' => 'Dashboard']);
     /**
             | The Manage Roles Role.
             | Can manage and handle the Roles.
     */
     $manageRoles = Role::create(['name' => 'manage_roles', 'label' => 'Manage Roles']);
     /**
             | The Manage Users Role.
             | Can manage and handle the Users.
     */
     $manageUsers = Role::create(['name' => 'manage_users', 'label' => 'Manage Users']);
     /**
             | The File Browser Role.
             | Can upload and manage files.
     */
     $fileBrowser = Role::create(['name' => 'file-browser', 'label' => 'File Browser']);
     /**
             | Permission to be assigned to the Manage Role Role.
     */
     $canAccessDashboardPermission = Permission::create(['name' => 'dashboard', 'label' => 'Dashboard']);
     /**
             | Permission to be assigned to the Manage Role Role.
     */
     $readRole = Permission::create(['name' => 'read_roles', 'label' => 'Read roles']);
     $createRole = Permission::create(['name' => 'create_roles', 'label' => 'Create roles']);
     $updateRole = Permission::create(['name' => 'update_roles', 'label' => 'Update roles']);
     $deleteRole = Permission::create(['name' => 'delete_roles', 'label' => 'Delete roles']);
     /**
             | Permission to be assigned to the Manager Permissions Role.
     */
     $readPermission = Permission::create(['name' => 'read_permissions', 'label' => 'Read permissions', 'visible' => false]);
     $createPermission = Permission::create(['name' => 'create_permissions', 'label' => 'Create permissions', 'visible' => false]);
     $updatePermission = Permission::create(['name' => 'update_permissions', 'label' => 'Update permissions', 'visible' => false]);
     $deletePermission = Permission::create(['name' => 'delete_permissions', 'label' => 'Delete permissions', 'visible' => false]);
     /**
             | Permission to be assigned to the Manage Users Role.
     */
     $readUsers = Permission::create(['name' => 'read_users', 'label' => 'Read users']);
     $createUsers = Permission::create(['name' => 'create_users', 'label' => 'Create users']);
     $updateUsers = Permission::create(['name' => 'update_users', 'label' => 'Update users']);
     $deleteUsers = Permission::create(['name' => 'delete_users', 'label' => 'Delete users']);
     /**
             | Permission to be assigned to the Manage Files Role.
     */
     $readFile = Permission::create(['name' => 'read_files', 'label' => 'Read files']);
     $uploadFile = Permission::create(['name' => 'upload_files', 'label' => 'Upload files']);
     $updateFile = Permission::create(['name' => 'update_files', 'label' => 'Update files']);
     $deleteFile = Permission::create(['name' => 'delete_files', 'label' => 'Delete files']);
     /**
             | Give Permission to Super Admin Role
     */
     $superAdminRole->givePermissionTo($canAccessDashboardPermission);
     $superAdminRole->givePermissionTo($readPermission);
     $superAdminRole->givePermissionTo($createPermission);
     $superAdminRole->givePermissionTo($updatePermission);
     $superAdminRole->givePermissionTo($deletePermission);
     $superAdminRole->givePermissionTo($readRole);
     $superAdminRole->givePermissionTo($createRole);
     $superAdminRole->givePermissionTo($updateRole);
     $superAdminRole->givePermissionTo($deleteRole);
     $superAdminRole->givePermissionTo($readUsers);
     $superAdminRole->givePermissionTo($createUsers);
     $superAdminRole->givePermissionTo($updateUsers);
     $superAdminRole->givePermissionTo($deleteUsers);
     $superAdminRole->givePermissionTo($readFile);
     $superAdminRole->givePermissionTo($uploadFile);
     $superAdminRole->givePermissionTo($updateFile);
     $superAdminRole->givePermissionTo($deleteFile);
     // Give Permissions to Roles
     // Dashboard
     $dashboardRole->givePermissionTo($canAccessDashboardPermission);
     // Give Permissions to Roles
     // Roles
     $manageRoles->givePermissionTo($readRole);
     $manageRoles->givePermissionTo($createRole);
     $manageRoles->givePermissionTo($updateRole);
     $manageRoles->givePermissionTo($deleteRole);
     // Give Permissions to Roles
     // Users
     $manageUsers->givePermissionTo($readUsers);
     $manageUsers->givePermissionTo($createUsers);
     $manageUsers->givePermissionTo($updateUsers);
     $manageUsers->givePermissionTo($deleteUsers);
     // Give Permissions to Roles
     // Files
     $fileBrowser->givePermissionTo($readFile);
     $fileBrowser->givePermissionTo($uploadFile);
     $fileBrowser->givePermissionTo($updateFile);
     $fileBrowser->givePermissionTo($deleteFile);
     /**
             | Super Admin, is the User with the ID 1
             | Assign Roles to User.
     */
     $userSuperAdmin = User::find(1);
     $userSuperAdmin->assignRole($superAdminRole);
     $userAdmin = User::find(2);
     $userAdmin->assignRole($manageRoles);
     $userAdmin->assignRole($manageUsers);
     $userAdmin->assignRole($fileBrowser);
     $userAdmin->assignRole($dashboardRole);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request $request
  * @return \Illuminate\Http\Response
  */
 public function store(Request $request)
 {
     $this->middleware('admin');
     $permission = Permission::create($request->all());
     return redirect('perm');
 }
 public function store(Request $request)
 {
     Permission::create($request->all());
     return redirect()->route('admin.permissions.index');
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Permission::truncate();
     $permissions = ["view_lecturer", "create_lecturer", "edit_lecturer", "delete_lecturer", "view_student", "create_student", "edit_student", "delete_student", "edit_profile", "view_profile", "view_user", "create_user", "edit_user", "delete_user", "view_university", "create_university", "edit_university", "delete_university", "view_sos_request", "create_sos_request", "edit_sos_request", "delete_sos_request"];
     $names = ["View Lecturer", "Create Lecturer", "Edit Lecturer", "Delete Lecturer", "View Student", "Create Student", "Edit Student", "Delete Student", "Edit Profile", "View Profile", "View User", "Create User", "Edit User", "Delete User", "View University", "Create University", "Edit University", "Delete University", "View SOS Request", "Create SOS Request", "Edit SOS Request", "Delete SOS Request"];
     for ($i = 0; $i < count($permissions); $i++) {
         $r = Permission::create(['name' => $names[$i], 'permission' => $permissions[$i]]);
     }
 }
Ejemplo n.º 19
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     ////////////////////////////////////
     // Load the routes
     Route::loadLaravelRoutes();
     // Look for and delete route named 'do-not-load' if it exist.
     // That route is used to test the Authorization middleware and should not be loaded automatically.
     $routeToDelete = Route::where('name', 'do-not-load')->get()->first();
     if ($routeToDelete) {
         Route::destroy($routeToDelete->id);
     }
     ////////////////////////////////////
     // Create basic set of permissions
     $permGuestOnly = Permission::create(['name' => 'guest-only', 'display_name' => 'Guest only access', 'description' => 'Only guest users can access these.', 'enabled' => true]);
     $permOpenToAll = Permission::create(['name' => 'open-to-all', 'display_name' => 'Open to all', 'description' => 'Everyone can access these, even unauthenticated (guest) users.', 'enabled' => true]);
     $permBasicAuthenticated = Permission::create(['name' => 'basic-authenticated', 'display_name' => 'Basic authenticated', 'description' => 'Basic permission after being authenticated.', 'enabled' => true]);
     // Create a few permissions for the admin|security section
     $permManageUsers = Permission::create(['name' => 'manage-users', 'display_name' => 'Manage users', 'description' => 'Allows a user to manage the site users.', 'enabled' => true]);
     $permManageRoles = Permission::create(['name' => 'manage-roles', 'display_name' => 'Manage roles', 'description' => 'Allows a user to manage the site roles.', 'enabled' => true]);
     $permManagePermissions = Permission::create(['name' => 'manage-permissions', 'display_name' => 'Manage permissions', 'description' => 'Allows a user to manage the site permissions.', 'enabled' => true]);
     $permManageRoutes = Permission::create(['name' => 'manage-routes', 'display_name' => 'Manage routes', 'description' => 'Allows a user to Manage the site routes.', 'enabled' => true]);
     // Create a few permissions for the admin|audit section
     $permAuditLogView = Permission::create(['name' => 'audit-log-view', 'display_name' => 'View audit log', 'description' => 'Allows a user to view the audit log.', 'enabled' => true]);
     $permAuditReplay = Permission::create(['name' => 'audit-log-replay', 'display_name' => 'Replay audit log item', 'description' => 'Allows a user to replay items from the audit log.', 'enabled' => true]);
     $permAuditPurge = Permission::create(['name' => 'audit-log-purge', 'display_name' => 'Purge audit log', 'description' => 'Allows a user to purge old items from the audit log.', 'enabled' => true]);
     // Create permission for managing CUCM Clusters
     $permManageClusters = Permission::create(['name' => 'manage-clusters', 'display_name' => 'Manage clusters', 'description' => 'Allows a user to manage CUCM cluster settings.', 'enabled' => true]);
     // Create permission for erasing IP Phone certificates
     $permEraseCertificates = Permission::create(['name' => 'erase-certificates', 'display_name' => 'Erase Certificates', 'description' => 'Allows a user to eraser IP Phone security certificates.', 'enabled' => true]);
     // Create permission for running SQL queries
     $permRunSqlQuery = Permission::create(['name' => 'sql-run', 'display_name' => 'Run SQL Queries', 'description' => 'Allows a user to run pre-existing queries against the active CUCM cluster.', 'enabled' => true]);
     // Create permission for running new SQL queries
     $permAddSqlQuery = Permission::create(['name' => 'sql-add', 'display_name' => 'Add SQL Queries', 'description' => 'Allows a user to run new SQL queries against the active CUCM cluster.', 'enabled' => true]);
     // Create permission for deleting SQL queries
     $permDeleteSqlQuery = Permission::create(['name' => 'sql-delete', 'display_name' => 'Delete SQL Queries', 'description' => 'Allows a user to delete existing SQL queries.', 'enabled' => true]);
     // Create permission for deleting SQL queries
     $permAutoDialer = Permission::create(['name' => 'autodialer', 'display_name' => 'AutoDialer', 'description' => 'Allows a user to place calls using AutoDialer.', 'enabled' => true]);
     // Create permission for generating IOS configs
     $permJfsUser = Permission::create(['name' => 'jfs-user', 'display_name' => 'JFS R/O', 'description' => 'Allows a user to view JFS features.', 'enabled' => true]);
     // Create permission for generating IOS configs
     $permJfsAdmin = Permission::create(['name' => 'jfs-admin', 'display_name' => 'Manage all things JFS', 'description' => 'Allows a user to manage the JFS features.', 'enabled' => true]);
     // Create permission for managing Duo Users
     $permManageDuoUsers = Permission::create(['name' => 'duo-users-admin', 'display_name' => 'Manage Duo Users', 'description' => 'Allows a user to manage the Duo user accounts.', 'enabled' => true]);
     ////////////////////////////////////
     // Associate open-to-all permission to some routes
     $routeBackslash = Route::where('name', 'backslash')->get()->first();
     $routeBackslash->permission()->associate($permOpenToAll);
     $routeBackslash->save();
     $routeHome = Route::where('name', 'home')->get()->first();
     $routeHome->permission()->associate($permOpenToAll);
     $routeHome->save();
     $routeFaust = Route::where('name', 'faust')->get()->first();
     $routeFaust->permission()->associate($permOpenToAll);
     $routeFaust->save();
     // Associate basic-authenticated permission to the dashboard route
     $routeDashboard = Route::where('name', 'dashboard')->get()->first();
     $routeDashboard->permission()->associate($permBasicAuthenticated);
     $routeDashboard->save();
     // Associate the audit-log permissions
     $routeAuditView = Route::where('name', 'admin.audit.index')->get()->first();
     $routeAuditView->permission()->associate($permAuditLogView);
     $routeAuditView->save();
     $routeAuditPurge = Route::where('name', 'admin.audit.purge')->get()->first();
     $routeAuditPurge->permission()->associate($permAuditPurge);
     $routeAuditPurge->save();
     $routeAuditReplay = Route::where('name', 'admin.audit.replay')->get()->first();
     $routeAuditReplay->permission()->associate($permAuditReplay);
     $routeAuditReplay->save();
     // Associate manage-permission permissions to routes starting with 'admin.permissions.'
     $managePermRoutes = Route::where('name', 'like', "admin.permissions.%")->get()->all();
     foreach ($managePermRoutes as $route) {
         $route->permission()->associate($permManagePermissions);
         $route->save();
     }
     // Associate manage-roles permissions to routes starting with 'admin.roles.'
     $manageRoleRoutes = Route::where('name', 'like', "admin.roles.%")->get()->all();
     foreach ($manageRoleRoutes as $route) {
         $route->permission()->associate($permManageRoles);
         $route->save();
     }
     // Associate manage-routes permissions to routes starting with 'admin.routes.'
     $manageRouteRoutes = Route::where('name', 'like', "admin.routes.%")->get()->all();
     foreach ($manageRouteRoutes as $route) {
         $route->permission()->associate($permManageRoutes);
         $route->save();
     }
     // Associate manage-users permissions to routes starting with 'admin.users.'
     $manageUserRoutes = Route::where('name', 'like', "admin.users.%")->get()->all();
     foreach ($manageUserRoutes as $route) {
         $route->permission()->associate($permManageUsers);
         $route->save();
     }
     ////////////////////////////////////
     // Create role: admins
     $roleAdmins = Role::create(["name" => "admins", "display_name" => "Administrators", "description" => "Administrators have no restrictions", "enabled" => true]);
     // Create role: users
     // Assign permission basic-authenticated
     $roleUsers = Role::create(["name" => "users", "display_name" => "Users", "description" => "All authenticated users", "enabled" => true]);
     $roleUsers->perms()->attach($permBasicAuthenticated->id);
     // Create role: user-manager
     // Assign permission manage-users
     $roleUserManagers = Role::create(["name" => "user-managers", "display_name" => "User managers", "description" => "User managers are granted all permissions to the Admin|Users section.", "enabled" => true]);
     $roleUserManagers->perms()->attach($permManageUsers->id);
     // Create role: role-manager
     // Assign permission: manage-roles
     $roleRoleManagers = Role::create(["name" => "role-managers", "display_name" => "Role managers", "description" => "Role managers are granted all permissions to the Admin|Roles section.", "enabled" => true]);
     $roleRoleManagers->perms()->attach($permManageRoles->id);
     // Create role: audit-viewers
     // Assign permission: audit-log-view
     $roleAuditViewers = Role::create(["name" => "audit-viewers", "display_name" => "Audit viewers", "description" => "Users allowed to view the audit log.", "enabled" => true]);
     $roleAuditViewers->perms()->attach($permAuditLogView->id);
     // Create role: audit-replayers
     // Assign permission: audit-log-replay
     $roleAuditReplayers = Role::create(["name" => "audit-replayers", "display_name" => "Audit replayers", "description" => "Users allowed to replay items from the audit log.", "enabled" => true]);
     $roleAuditReplayers->perms()->attach($permAuditReplay->id);
     // Create role: audit-purgers
     // Assign permission: audit-log-purge
     $roleAuditPurgers = Role::create(["name" => "audit-purgers", "display_name" => "Audit purgers", "description" => "Users allowed to purge old items from the audit log.", "enabled" => true]);
     $roleAuditPurgers->perms()->attach($permAuditPurge->id);
     // Create role: cluster-managers
     // Assign permission: permManageClusters
     $roleClusterManagers = Role::create(["name" => "cluster-managers", "display_name" => "Cluster managers", "description" => "Cluster managers are granted all permissions to the Admin|Clusters section.", "enabled" => true]);
     $roleClusterManagers->perms()->attach($permManageClusters->id);
     // Create role: cert-erasers
     // Assign permission: permManageClusters
     $roleCertErasers = Role::create(["name" => "cert-erasers", "display_name" => "Certificate erasers", "description" => "Certificate erasers are granted permissions to erase IP Phone security certificates.", "enabled" => true]);
     $roleCertErasers->perms()->attach($permEraseCertificates->id);
     // Create role: sql-runner
     // Assign permission: permRunSqlQuery
     $roleSqlRunner = Role::create(["name" => "sql-runner", "display_name" => "SQL Runner", "description" => "SQL Runners can run existing queries against the active CUCM cluster.", "enabled" => true]);
     $roleSqlRunner->perms()->attach($permRunSqlQuery->id);
     // Create role: sql-creator
     // Assign permission: permRunSqlQuery
     // Assign permission: permAddSqlQuery
     $roleSqlCreator = Role::create(["name" => "sql-creator", "display_name" => "SQL Creator", "description" => "SQL Creators can run new and existing queries against the active CUCM cluster.", "enabled" => true]);
     $roleSqlCreator->perms()->attach($permRunSqlQuery->id);
     $roleSqlCreator->perms()->attach($permAddSqlQuery->id);
     // Create role: sql-admin
     // Assign permission: permRunSqlQuery
     // Assign permission: permAddSqlQuery
     // Assign permission: permDeleteSqlQuery
     $roleSqlAdmin = Role::create(["name" => "sql-admin", "display_name" => "SQL Admin", "description" => "SQL Admins can run new and existing queries against the active CUCM cluster and delete queries.", "enabled" => true]);
     $roleSqlAdmin->perms()->attach($permRunSqlQuery->id);
     $roleSqlAdmin->perms()->attach($permAddSqlQuery->id);
     $roleSqlAdmin->perms()->attach($permDeleteSqlQuery->id);
     // Create role: autodialer
     // Assign permission: permAutoDialer
     $roleAutoDialer = Role::create(["name" => "autodialer", "display_name" => "AutoDialer", "description" => "AutoDialer can use the AutoDialer system.", "enabled" => true]);
     $roleAutoDialer->perms()->attach($permAutoDialer->id);
     // Create role: ios-config-user
     // Assign permission: permAutoDialer
     $roleJfsUser = Role::create(["name" => "jfs-user", "display_name" => "JFS User", "description" => "JFS Users can view JFS features.", "enabled" => true]);
     $roleJfsUser->perms()->attach($permJfsUser->id);
     // Create role: ios-config-admin
     // Assign permission: permAutoDialer
     $roleJfsAdmin = Role::create(["name" => "jfs-admin", "display_name" => "JFS Admin", "description" => "JFS Admins manage the JFS features.", "enabled" => true]);
     $roleJfsAdmin->perms()->attach($permJfsAdmin->id);
     // Create role: duo-user-admin
     // Assign permission: permManageDuoUsers
     $roleDuoUserAdmin = Role::create(["name" => "duo-user-admin", "display_name" => "Duo User Admin", "description" => "Duo User Admins manage the Duo User accounts.", "enabled" => true]);
     $roleDuoUserAdmin->perms()->attach($permManageDuoUsers->id);
     ////////////////////////////////////
     // Create user: root
     // Assign membership to role admins, membership to role users is
     // automatic.
     $userRoot = User::create(["first_name" => "Root", "last_name" => "SuperUser", "username" => "root", "email" => "*****@*****.**", "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $userRoot->roles()->attach($roleAdmins->id);
     $department = \App\Models\Department::first();
     $department->users()->save($userRoot);
 }
Ejemplo n.º 20
0
 public function run()
 {
     /* Users table */
     $userSuperAdmin = User::create(["username" => "superadmin", "password" => bcrypt("password"), "email" => "*****@*****.**", "name" => "BLIS Administrator", "designation" => "Programmer", "phone" => "0722000000", "address" => "P.O. Box 59857-00200, Nairobi", "image" => "/i/users/user-2.jpg"]);
     $userExternal = User::create(["username" => "external", "password" => bcrypt("password"), "email" => "*****@*****.**", "name" => "External System User", "designation" => "Administrator"]);
     $userTechnologist = User::create(["username" => "lmorena", "password" => bcrypt("password"), "email" => "*****@*****.**", "name" => "L. Morena", "designation" => "Lab Technologist"]);
     $userReceptionist = User::create(["username" => "radhiambo", "password" => bcrypt("password"), "email" => "*****@*****.**", "name" => "R. Adhiambo", "designation" => "Receptionist"]);
     $userAdministrator = User::create(["username" => "abumeyang", "password" => bcrypt("password"), "email" => "*****@*****.**", "name" => "A. Abumeyang", "designation" => "Lab Administrator"]);
     /* Specimen Types table */
     $specTypesData = array(array("name" => "Ascitic Tap"), array("name" => "Aspirate"), array("name" => "CSF"), array("name" => "Dried Blood Spot"), array("name" => "High Vaginal Swab"), array("name" => "Nasal Swab"), array("name" => "Plasma"), array("name" => "Plasma EDTA"), array("name" => "Pleural Tap"), array("name" => "Pus Swab"), array("name" => "Rectal Swab"), array("name" => "S***n"), array("name" => "Serum"), array("name" => "Skin"), array("name" => "Sputum"), array("name" => "Stool"), array("name" => "Synovial Fluid"), array("name" => "Throat Swab"), array("name" => "Urethral Smear"), array("name" => "Urine"), array("name" => "Vaginal Smear"), array("name" => "Water"), array("name" => "Whole Blood"));
     foreach ($specTypesData as $specimenType) {
         $specTypes[] = SpecimenType::create($specimenType);
     }
     $this->command->info('specimen_types seeded');
     /* Test Categories table - These map on to the lab sections */
     $test_categories = TestCategory::create(array("name" => "PARASITOLOGY", "description" => ""));
     $lab_section_microbiology = TestCategory::create(array("name" => "MICROBIOLOGY", "description" => ""));
     $this->command->info('test_categories seeded');
     /* Measure Types */
     $measureTypes = array(array("id" => "1", "name" => "Numeric Range"), array("id" => "2", "name" => "Alphanumeric Values"), array("id" => "3", "name" => "Autocomplete"), array("id" => "4", "name" => "Free Text"));
     foreach ($measureTypes as $measureType) {
         MeasureType::create($measureType);
     }
     $this->command->info('measure_types seeded');
     /* Measures table */
     $measureBSforMPS = Measure::create(array("measure_type_id" => "2", "name" => "BS for mps", "unit" => ""));
     $measure1 = Measure::create(array("measure_type_id" => "2", "name" => "Grams stain", "unit" => ""));
     $measure2 = Measure::create(array("measure_type_id" => "2", "name" => "SERUM AMYLASE", "unit" => ""));
     $measure3 = Measure::create(array("measure_type_id" => "2", "name" => "calcium", "unit" => ""));
     $measure4 = Measure::create(array("measure_type_id" => "2", "name" => "SGOT", "unit" => ""));
     $measure5 = Measure::create(array("measure_type_id" => "2", "name" => "Indirect COOMBS test", "unit" => ""));
     $measure6 = Measure::create(array("measure_type_id" => "2", "name" => "Direct COOMBS test", "unit" => ""));
     $measure7 = Measure::create(array("measure_type_id" => "2", "name" => "Du test", "unit" => ""));
     MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "No mps seen", "interpretation" => "Negative"));
     MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "+", "interpretation" => "Positive"));
     MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "++", "interpretation" => "Positive"));
     MeasureRange::create(array("measure_id" => $measureBSforMPS->id, "alphanumeric" => "+++", "interpretation" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure1->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure1->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "Low"));
     MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "High"));
     MeasureRange::create(array("measure_id" => $measure2->id, "alphanumeric" => "Normal"));
     MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "High"));
     MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "Low"));
     MeasureRange::create(array("measure_id" => $measure3->id, "alphanumeric" => "Normal"));
     MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "High"));
     MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "Low"));
     MeasureRange::create(array("measure_id" => $measure4->id, "alphanumeric" => "Normal"));
     MeasureRange::create(array("measure_id" => $measure5->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure5->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure6->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure6->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure7->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure7->id, "alphanumeric" => "Negative"));
     $measures = array(array("measure_type_id" => "1", "name" => "URIC ACID", "unit" => "mg/dl"), array("measure_type_id" => "4", "name" => "CSF for biochemistry", "unit" => ""), array("measure_type_id" => "4", "name" => "PSA", "unit" => ""), array("measure_type_id" => "1", "name" => "Total", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Alkaline Phosphate", "unit" => "u/l"), array("measure_type_id" => "1", "name" => "Direct", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Total Proteins", "unit" => ""), array("measure_type_id" => "4", "name" => "LFTS", "unit" => "NULL"), array("measure_type_id" => "1", "name" => "Chloride", "unit" => "mmol/l"), array("measure_type_id" => "1", "name" => "Potassium", "unit" => "mmol/l"), array("measure_type_id" => "1", "name" => "Sodium", "unit" => "mmol/l"), array("measure_type_id" => "4", "name" => "Electrolytes", "unit" => ""), array("measure_type_id" => "1", "name" => "Creatinine", "unit" => "mg/dl"), array("measure_type_id" => "1", "name" => "Urea", "unit" => "mg/dl"), array("measure_type_id" => "4", "name" => "RFTS", "unit" => ""), array("measure_type_id" => "4", "name" => "TFT", "unit" => ""));
     foreach ($measures as $measure) {
         Measure::create($measure);
     }
     $measureGXM = Measure::create(array("measure_type_id" => "4", "name" => "GXM", "unit" => ""));
     $measureBG = Measure::create(array("measure_type_id" => "2", "name" => "Blood Grouping", "unit" => ""));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "O-"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "O+"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "A-"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "A+"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "B-"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "B+"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "AB-"));
     MeasureRange::create(array("measure_id" => $measureBG->id, "alphanumeric" => "AB+"));
     $measureHB = Measure::create(array("measure_type_id" => Measure::NUMERIC, "name" => "HB", "unit" => "g/dL"));
     $measuresUrinalysisData = array(array("measure_type_id" => "4", "name" => "Urine microscopy", "unit" => ""), array("measure_type_id" => "4", "name" => "Pus cells", "unit" => ""), array("measure_type_id" => "4", "name" => "S. haematobium", "unit" => ""), array("measure_type_id" => "4", "name" => "T. vaginalis", "unit" => ""), array("measure_type_id" => "4", "name" => "Yeast cells", "unit" => ""), array("measure_type_id" => "4", "name" => "Red blood cells", "unit" => ""), array("measure_type_id" => "4", "name" => "Bacteria", "unit" => ""), array("measure_type_id" => "4", "name" => "Spermatozoa", "unit" => ""), array("measure_type_id" => "4", "name" => "Epithelial cells", "unit" => ""), array("measure_type_id" => "4", "name" => "ph", "unit" => ""), array("measure_type_id" => "4", "name" => "Urine chemistry", "unit" => ""), array("measure_type_id" => "4", "name" => "Glucose", "unit" => ""), array("measure_type_id" => "4", "name" => "Ketones", "unit" => ""), array("measure_type_id" => "4", "name" => "Proteins", "unit" => ""), array("measure_type_id" => "4", "name" => "Blood", "unit" => ""), array("measure_type_id" => "4", "name" => "Bilirubin", "unit" => ""), array("measure_type_id" => "4", "name" => "Urobilinogen Phenlpyruvic acid", "unit" => ""), array("measure_type_id" => "4", "name" => "pH", "unit" => ""));
     foreach ($measuresUrinalysisData as $measureU) {
         $measuresUrinalysis[] = Measure::create($measureU);
     }
     $measuresWBCData = array(array("measure_type_id" => Measure::NUMERIC, "name" => "WBC", "unit" => "x10³/µL"), array("measure_type_id" => Measure::NUMERIC, "name" => "Lym", "unit" => "L"), array("measure_type_id" => Measure::NUMERIC, "name" => "Mon", "unit" => "*"), array("measure_type_id" => Measure::NUMERIC, "name" => "Neu", "unit" => "*"), array("measure_type_id" => Measure::NUMERIC, "name" => "Eos", "unit" => ""), array("measure_type_id" => Measure::NUMERIC, "name" => "Baso", "unit" => ""));
     foreach ($measuresWBCData as $value) {
         $measuresWBC[] = Measure::create($value);
     }
     $measureRangesWBC = array(array("measure_id" => $measuresWBC[0]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 4, "range_upper" => 11), array("measure_id" => $measuresWBC[1]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 1.5, "range_upper" => 4), array("measure_id" => $measuresWBC[2]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0.1, "range_upper" => 9), array("measure_id" => $measuresWBC[3]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 2.5, "range_upper" => 7), array("measure_id" => $measuresWBC[4]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0, "range_upper" => 6), array("measure_id" => $measuresWBC[5]->id, "age_min" => 0, "age_max" => 100, "gender" => MeasureRange::BOTH, "range_lower" => 0, "range_upper" => 2));
     foreach ($measureRangesWBC as $value) {
         MeasureRange::create($value);
     }
     $this->command->info('measures seeded');
     /* Test Types table */
     $testTypeBS = TestType::create(array("name" => "BS for mps", "test_category_id" => $test_categories->id, "orderable_test" => 1));
     $testTypeStoolCS = TestType::create(array("name" => "Stool for C/S", "test_category_id" => $lab_section_microbiology->id));
     $testTypeGXM = TestType::create(array("name" => "GXM", "test_category_id" => $test_categories->id));
     $testTypeHB = TestType::create(array("name" => "HB", "test_category_id" => $test_categories->id, "orderable_test" => 1));
     $testTypeUrinalysis = TestType::create(array("name" => "Urinalysis", "test_category_id" => $test_categories->id));
     $testTypeWBC = TestType::create(array("name" => "WBC", "test_category_id" => $test_categories->id));
     $this->command->info('test_types seeded');
     /* TestType Measure table */
     TestTypeMeasure::create(array("test_type_id" => $testTypeBS->id, "measure_id" => $measureBSforMPS->id));
     TestTypeMeasure::create(array("test_type_id" => $testTypeGXM->id, "measure_id" => $measureGXM->id));
     TestTypeMeasure::create(array("test_type_id" => $testTypeGXM->id, "measure_id" => $measureBG->id));
     TestTypeMeasure::create(array("test_type_id" => $testTypeHB->id, "measure_id" => $measureHB->id));
     foreach ($measuresUrinalysis as $value) {
         TestTypeMeasure::create(array("test_type_id" => $testTypeUrinalysis->id, "measure_id" => $value->id));
     }
     foreach ($measuresWBC as $value) {
         TestTypeMeasure::create(array("test_type_id" => $testTypeWBC->id, "measure_id" => $value->id));
     }
     $this->command->info('testtype_measures seeded');
     /* testtype_specimentypes table */
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeBS->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeGXM->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[6]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[7]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeHB->id, "specimen_type_id" => $specTypes[12]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeUrinalysis->id, "specimen_type_id" => $specTypes[19]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeUrinalysis->id, "specimen_type_id" => $specTypes[20]->id));
     DB::table('testtype_specimentypes')->insert(array("test_type_id" => $testTypeWBC->id, "specimen_type_id" => $specTypes[count($specTypes) - 1]->id));
     $this->command->info('testtype_specimentypes seeded');
     /* Patients table */
     $patients_array = array(array("name" => "Jam Felicia", "email" => "*****@*****.**", "patient_number" => "1002", "dob" => "2000-01-01", "gender" => "1", "created_by" => "2"), array("name" => "Emma Wallace", "email" => "*****@*****.**", "patient_number" => "1003", "dob" => "1990-03-01", "gender" => "1", "created_by" => "2"), array("name" => "Jack Tee", "email" => "*****@*****.**", "patient_number" => "1004", "dob" => "1999-12-18", "gender" => "0", "created_by" => "1"), array("name" => "Hu Jintao", "email" => "*****@*****.**", "patient_number" => "1005", "dob" => "1956-10-28", "gender" => "0", "created_by" => "2"), array("name" => "Lance Opiyo", "email" => "*****@*****.**", "patient_number" => "2150", "dob" => "2012-01-01", "gender" => "0", "created_by" => "1"));
     foreach ($patients_array as $pat) {
         $patients[] = Patient::create($pat);
     }
     $this->command->info('patients seeded');
     /* Test Phase table */
     $test_phases = array(array("id" => "1", "name" => "Pre-Analytical"), array("id" => "2", "name" => "Analytical"), array("id" => "3", "name" => "Post-Analytical"));
     foreach ($test_phases as $test_phase) {
         TestPhase::create($test_phase);
     }
     $this->command->info('test_phases seeded');
     /* Test Status table */
     $test_statuses = array(array("id" => "1", "name" => "not-received", "test_phase_id" => "1"), array("id" => "2", "name" => "pending", "test_phase_id" => "1"), array("id" => "3", "name" => "started", "test_phase_id" => "2"), array("id" => "4", "name" => "completed", "test_phase_id" => "3"), array("id" => "5", "name" => "verified", "test_phase_id" => "3"));
     foreach ($test_statuses as $test_status) {
         TestStatus::create($test_status);
     }
     $this->command->info('test_statuses seeded');
     /* Specimen Status table */
     $specimen_statuses = array(array("id" => "1", "name" => "specimen-not-collected"), array("id" => "2", "name" => "specimen-accepted"), array("id" => "3", "name" => "specimen-rejected"));
     foreach ($specimen_statuses as $specimen_status) {
         SpecimenStatus::create($specimen_status);
     }
     $this->command->info('specimen_statuses seeded');
     /* Visits table */
     for ($i = 0; $i < 7; $i++) {
         $visits[] = Visit::create(array("patient_id" => $patients[rand(0, count($patients) - 1)]->id));
     }
     $this->command->info('visits seeded');
     /* Rejection Reasons table */
     $rejection_reasons_array = array(array("reason" => "Poorly labelled"), array("reason" => "Over saturation"), array("reason" => "Insufficient Sample"), array("reason" => "Scattered"), array("reason" => "Clotted Blood"), array("reason" => "Two layered spots"), array("reason" => "Serum rings"), array("reason" => "Scratched"), array("reason" => "Haemolysis"), array("reason" => "Spots that cannot elute"), array("reason" => "Leaking"), array("reason" => "Broken Sample Container"), array("reason" => "Mismatched sample and form labelling"), array("reason" => "Missing Labels on container and tracking form"), array("reason" => "Empty Container"), array("reason" => "Samples without tracking forms"), array("reason" => "Poor transport"), array("reason" => "Lipaemic"), array("reason" => "Wrong container/Anticoagulant"), array("reason" => "Request form without samples"), array("reason" => "Missing collection date on specimen / request form."), array("reason" => "Name and signature of requester missing"), array("reason" => "Mismatched information on request form and specimen container."), array("reason" => "Request form contaminated with specimen"), array("reason" => "Duplicate specimen received"), array("reason" => "Delay between specimen collection and arrival in the laboratory"), array("reason" => "Inappropriate specimen packing"), array("reason" => "Inappropriate specimen for the test"), array("reason" => "Inappropriate test for the clinical condition"), array("reason" => "No Label"), array("reason" => "Leaking"), array("reason" => "No Sample in the Container"), array("reason" => "No Request Form"), array("reason" => "Missing Information Required"));
     foreach ($rejection_reasons_array as $rejection_reason) {
         $rejection_reasons[] = RejectionReason::create($rejection_reason);
     }
     $this->command->info('rejection_reasons seeded');
     /* Specimen table */
     $this->command->info('specimens seeded');
     $now = new DateTime();
     /* Test table */
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::NOT_RECEIVED, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::NOT_RECEIVED, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id));
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeHB->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id));
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id));
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "created_by" => $userTechnologist->id, "requested_by" => "Dr. Abou Meyang"));
     $test_gxm_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "interpretation" => "Perfect match.", "test_status_id" => Test::COMPLETED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "requested_by" => "Dr. Abou Meyang", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT12M8S'))->format('Y-m-d H:i:s')));
     $test_hb_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeHB->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "interpretation" => "Do nothing!", "test_status_id" => Test::COMPLETED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "requested_by" => "Genghiz Khan", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT5M23S'))->format('Y-m-d H:i:s')));
     $tests_accepted_started = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeGXM->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::STARTED, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id, "time_started" => $now->format('Y-m-d H:i:s')));
     $tests_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "interpretation" => "Positive", "test_status_id" => Test::COMPLETED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "requested_by" => "Ariel Smith", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT7M34S'))->format('Y-m-d H:i:s')));
     $tests_accepted_verified = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::VERIFIED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "interpretation" => "Very high concentration of parasites.", "test_status_id" => Test::VERIFIED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "verified_by" => $userTechnologist->id, "requested_by" => "Genghiz Khan", "time_started" => $now, "time_completed" => $now->add(new DateInterval('PT5M17S'))->format('Y-m-d H:i:s'), "time_verified" => $now->add(new DateInterval('PT112M33S'))->format('Y-m-d H:i:s')));
     $tests_rejected_pending = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::REJECTED, SpecimenType::all()->last()->id, $userTechnologist->id, $userTechnologist->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id, "time_started" => $now->format('Y-m-d H:i:s')));
     //  WBC Started
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeWBC->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "requested_by" => "Fred Astaire", "created_by" => $userTechnologist->id));
     $tests_rejected_started = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::STARTED, Specimen::REJECTED, SpecimenType::all()->last()->id, $userTechnologist->id, $userTechnologist->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "test_status_id" => Test::STARTED, "created_by" => $userTechnologist->id, "requested_by" => "Bony Em", "time_started" => $now->format('Y-m-d H:i:s')));
     $tests_rejected_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeBS->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::REJECTED, SpecimenType::all()->last()->id, $userTechnologist->id, $userTechnologist->id, $rejection_reasons[rand(0, count($rejection_reasons) - 1)]->id), "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "requested_by" => "Ed Buttler", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT30M4S'))->format('Y-m-d H:i:s')));
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeUrinalysis->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id));
     Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeWBC->id, "specimen_id" => $this->createSpecimen(Test::PENDING, Specimen::NOT_COLLECTED, SpecimenType::all()->last()->id, $userTechnologist->id), "test_status_id" => Test::PENDING, "requested_by" => "Dr. Abou Meyang", "created_by" => $userTechnologist->id));
     $test_urinalysis_accepted_completed = Test::create(array("visit_id" => $visits[rand(0, count($visits) - 1)]->id, "test_type_id" => $testTypeUrinalysis->id, "specimen_id" => $this->createSpecimen(Test::COMPLETED, Specimen::ACCEPTED, SpecimenType::all()->last()->id, $userTechnologist->id), "interpretation" => "Whats this !!!! ###%%% ^ *() /", "test_status_id" => Test::COMPLETED, "created_by" => $userTechnologist->id, "tested_by" => $userTechnologist->id, "requested_by" => "Dr. Abou Meyang", "time_started" => $now->format('Y-m-d H:i:s'), "time_completed" => $now->add(new DateInterval('PT12M8S'))->format('Y-m-d H:i:s'), "external_id" => 596699));
     $this->command->info('tests seeded');
     /* Test Results table */
     $testResults = array(array("test_id" => $tests_accepted_verified->id, "measure_id" => $measureBSforMPS->id, "result" => "+++"), array("test_id" => $tests_accepted_completed->id, "measure_id" => $measureBSforMPS->id, "result" => "++"), array("test_id" => $test_gxm_accepted_completed->id, "measure_id" => $measureGXM->id, "result" => "COMPATIBLE WITH 061832914 B/G A POS.EXPIRY19/8/14"), array("test_id" => $test_gxm_accepted_completed->id, "measure_id" => $measureBG->id, "result" => "A+"), array("test_id" => $test_hb_accepted_completed->id, "measure_id" => $measureHB->id, "result" => "13.7"), array("test_id" => $tests_rejected_completed->id, "measure_id" => $measureBSforMPS->id, "result" => "No mps seen"));
     foreach ($measuresUrinalysis as $key => $measure) {
         $testResults[] = array("test_id" => $test_urinalysis_accepted_completed->id, "measure_id" => $measure->id, "result" => $key . "50");
     }
     foreach ($testResults as $testResult) {
         TestResult::create($testResult);
     }
     $this->command->info('test results seeded');
     /* Permissions table */
     $permissions = array(array("name" => "view_names", "display_name" => "Can view patient names"), array("name" => "manage_patients", "display_name" => "Can add patients"), array("name" => "receive_external_test", "display_name" => "Can receive test requests"), array("name" => "request_test", "display_name" => "Can request new test"), array("name" => "accept_test_specimen", "display_name" => "Can accept test specimen"), array("name" => "reject_test_specimen", "display_name" => "Can reject test specimen"), array("name" => "change_test_specimen", "display_name" => "Can change test specimen"), array("name" => "start_test", "display_name" => "Can start tests"), array("name" => "enter_test_results", "display_name" => "Can enter tests results"), array("name" => "edit_test_results", "display_name" => "Can edit test results"), array("name" => "verify_test_results", "display_name" => "Can verify test results"), array("name" => "send_results_to_external_system", "display_name" => "Can send test results to external systems"), array("name" => "refer_specimens", "display_name" => "Can refer specimens"), array("name" => "manage_users", "display_name" => "Can manage users"), array("name" => "manage_test_catalog", "display_name" => "Can manage test catalog"), array("name" => "manage_lab_configurations", "display_name" => "Can manage lab configurations"), array("name" => "view_reports", "display_name" => "Can view reports"), array("name" => "manage_inventory", "display_name" => "Can manage inventory"), array("name" => "request_topup", "display_name" => "Can request top-up"), array("name" => "manage_qc", "display_name" => "Can manage Quality Control"));
     foreach ($permissions as $permission) {
         Permission::create($permission);
     }
     $this->command->info('Permissions table seeded');
     /* Roles table */
     $roles = array(array("name" => "Superadmin"), array("name" => "Technologist"), array("name" => "Receptionist"));
     foreach ($roles as $role) {
         Role::create($role);
     }
     $this->command->info('Roles table seeded');
     $user1 = User::find(1);
     $role1 = Role::find(1);
     $permissions = Permission::all();
     //Assign all permissions to role administrator
     foreach ($permissions as $permission) {
         $role1->attachPermission($permission);
     }
     //Assign role Administrator to user 1 administrator
     $user1->attachRole($role1);
     /* Instruments table */
     $instrumentsData = array("name" => "Celltac F Mek 8222", "description" => "Automatic analyzer with 22 parameters and WBC 5 part diff Hematology Analyzer", "driver_name" => "KBLIS\\Plugins\\CelltacFMachine", "ip" => "192.168.1.12", "hostname" => "HEMASERVER");
     $instrument = Instrument::create($instrumentsData);
     $instrument->testTypes()->attach(array($testTypeWBC->id));
     $this->command->info('Instruments table seeded');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596699,"parentLabNo":0,"requestingClinician":"frankenstein Dr",
     "investigation":"Urinalysis","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596700,"parentLabNo":596699,"requestingClinician":"frankenstein Dr",
     "investigation":"Urine microscopy","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596701,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Pus cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596702,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"S. haematobium","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596703,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"T. vaginalis","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596704,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Yeast cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596705,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Red blood cells","requestDate":"2014-10-14 10:20:35","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596706,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Bacteria","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596707,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Spermatozoa","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596708,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"Epithelial cells","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596709,"parentLabNo":596700,"requestingClinician":"frankenstein Dr",
     "investigation":"ph","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596710,"parentLabNo":596699,"requestingClinician":"frankenstein Dr",
     "investigation":"Urine chemistry","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596711,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Glucose","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596712,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Ketones","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596713,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Proteins","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596714,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Blood","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596715,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Bilirubin","requestDate":"2014-10-14 10:20:36","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596716,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"Urobilinogen Phenlpyruvic acid","requestDate":"2014-10-14 10:20:37","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     $labRequestUrinalysis[] = json_decode('{"cost":null,"receiptNumber":null,"receiptType":null,"labNo":596717,"parentLabNo":596710,"requestingClinician":"frankenstein Dr",
     "investigation":"pH","requestDate":"2014-10-14 10:20:37","orderStage":"ip","patientVisitNumber":643660,"patient":{"id":326983,
     "fullName":"Macau Macau","dateOfBirth":"1996-10-09 00:00:00","gender":"Female"},"address":{"address":null,"postalCode":null,"phoneNumber":"","city":null}}');
     for ($i = 0; $i < count($labRequestUrinalysis); $i++) {
         $dumper = new ExternalDump();
         $dumper->lab_no = $labRequestUrinalysis[$i]->labNo;
         $dumper->parent_lab_no = $labRequestUrinalysis[$i]->parentLabNo;
         $dumper->test_id = $i == 0 ? $test_urinalysis_accepted_completed->id : null;
         $dumper->requesting_clinician = $labRequestUrinalysis[$i]->requestingClinician;
         $dumper->investigation = $labRequestUrinalysis[$i]->investigation;
         $dumper->provisional_diagnosis = '';
         $dumper->request_date = $labRequestUrinalysis[$i]->requestDate;
         $dumper->order_stage = $labRequestUrinalysis[$i]->orderStage;
         $dumper->patient_visit_number = $labRequestUrinalysis[$i]->patientVisitNumber;
         $dumper->patient_id = $labRequestUrinalysis[$i]->patient->id;
         $dumper->full_name = $labRequestUrinalysis[$i]->patient->fullName;
         $dumper->dob = $labRequestUrinalysis[$i]->patient->dateOfBirth;
         $dumper->gender = $labRequestUrinalysis[$i]->patient->gender;
         $dumper->address = $labRequestUrinalysis[$i]->address->address;
         $dumper->postal_code = '';
         $dumper->phone_number = $labRequestUrinalysis[$i]->address->phoneNumber;
         $dumper->city = $labRequestUrinalysis[$i]->address->city;
         $dumper->cost = $labRequestUrinalysis[$i]->cost;
         $dumper->receipt_number = $labRequestUrinalysis[$i]->receiptNumber;
         $dumper->receipt_type = $labRequestUrinalysis[$i]->receiptType;
         $dumper->waiver_no = '';
         $dumper->system_id = "sanitas";
         $dumper->save();
     }
     $this->command->info('ExternalDump table seeded');
     //  Begin seed for prevalence rates report
     /* Test Categories table - These map on to the lab sections */
     $lab_section_hematology = TestCategory::create(array("name" => "HEMATOLOGY", "description" => ""));
     $lab_section_serology = TestCategory::create(array("name" => "SEROLOGY", "description" => ""));
     $lab_section_trans = TestCategory::create(array("name" => "BLOOD TRANSFUSION", "description" => ""));
     $this->command->info('Lab Sections seeded');
     /* Test Types for prevalence */
     $test_types_salmonella = TestType::create(array("name" => "Salmonella Antigen Test", "test_category_id" => $test_categories->id));
     $test_types_direct = TestType::create(array("name" => "Direct COOMBS Test", "test_category_id" => $lab_section_trans->id));
     $test_types_du = TestType::create(array("name" => "DU Test", "test_category_id" => $lab_section_trans->id));
     $test_types_sickling = TestType::create(array("name" => "Sickling Test", "test_category_id" => $lab_section_hematology->id));
     $test_types_borrelia = TestType::create(array("name" => "Borrelia", "test_category_id" => $test_categories->id));
     $test_types_vdrl = TestType::create(array("name" => "VDRL", "test_category_id" => $lab_section_serology->id));
     $test_types_pregnancy = TestType::create(array("name" => "Pregnancy Test", "test_category_id" => $lab_section_serology->id));
     $test_types_brucella = TestType::create(array("name" => "Brucella", "test_category_id" => $lab_section_serology->id));
     $test_types_pylori = TestType::create(array("name" => "H. Pylori", "test_category_id" => $lab_section_serology->id));
     $this->command->info('Test Types seeded');
     /* Test Types and specimen types relationship for prevalence */
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_salmonella->id, "13"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_direct->id, "23"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_du->id, "23"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_sickling->id, "23"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_borrelia->id, "23"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_vdrl->id, "13"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_pregnancy->id, "20"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_brucella->id, "13"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($test_types_pylori->id, "13"));
     DB::insert('INSERT INTO testtype_specimentypes (test_type_id, specimen_type_id) VALUES (?, ?)', array($testTypeStoolCS->id, "16"));
     $this->command->info('TestTypes/SpecimenTypes seeded');
     /*New measures for prevalence*/
     $measure_salmonella = Measure::create(array("measure_type_id" => "2", "name" => "Salmonella Antigen Test", "unit" => ""));
     $measure_direct = Measure::create(array("measure_type_id" => "2", "name" => "Direct COOMBS Test", "unit" => ""));
     $measure_du = Measure::create(array("measure_type_id" => "2", "name" => "Du Test", "unit" => ""));
     $measure_sickling = Measure::create(array("measure_type_id" => "2", "name" => "Sickling Test", "unit" => ""));
     $measure_borrelia = Measure::create(array("measure_type_id" => "2", "name" => "Borrelia", "unit" => ""));
     $measure_vdrl = Measure::create(array("measure_type_id" => "2", "name" => "VDRL", "unit" => ""));
     $measure_pregnancy = Measure::create(array("measure_type_id" => "2", "name" => "Pregnancy Test", "unit" => ""));
     $measure_brucella = Measure::create(array("measure_type_id" => "2", "name" => "Brucella", "unit" => ""));
     $measure_pylori = Measure::create(array("measure_type_id" => "2", "name" => "H. Pylori", "unit" => ""));
     MeasureRange::create(array("measure_id" => $measure_salmonella->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_salmonella->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_direct->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_direct->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_du->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_du->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_sickling->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_sickling->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_borrelia->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_borrelia->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_vdrl->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_vdrl->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_pregnancy->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_pregnancy->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_brucella->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_brucella->id, "alphanumeric" => "Negative"));
     MeasureRange::create(array("measure_id" => $measure_pylori->id, "alphanumeric" => "Positive"));
     MeasureRange::create(array("measure_id" => $measure_pylori->id, "alphanumeric" => "Negative"));
     $this->command->info('Measures seeded again');
     /* TestType Measure for prevalence */
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_salmonella->id, "measure_id" => $measure_salmonella->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_direct->id, "measure_id" => $measure_direct->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_du->id, "measure_id" => $measure_du->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_sickling->id, "measure_id" => $measure_sickling->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_borrelia->id, "measure_id" => $measure_borrelia->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_vdrl->id, "measure_id" => $measure_vdrl->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_pregnancy->id, "measure_id" => $measure_pregnancy->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_brucella->id, "measure_id" => $measure_brucella->id));
     $testtype_measure = TestTypeMeasure::create(array("test_type_id" => $test_types_pylori->id, "measure_id" => $measure_pylori->id));
     $this->command->info('Test Type Measures seeded again');
     /*  Tests for prevalence rates  */
     $tests_completed_one = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_salmonella->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-07-23 15:16:15", "time_started" => "2014-07-23 16:07:15", "time_completed" => "2014-07-23 16:17:19"));
     $tests_completed_two = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_direct->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-07-26 10:16:15", "time_started" => "2014-07-26 13:27:15", "time_completed" => "2014-07-26 13:57:01"));
     $tests_completed_three = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_du->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-13 09:16:15", "time_started" => "2014-08-13 10:07:15", "time_completed" => "2014-08-13 10:18:11"));
     $tests_completed_four = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_sickling->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-16 09:06:53", "time_started" => "2014-08-16 09:09:15", "time_completed" => "2014-08-16 09:23:37"));
     $tests_completed_five = Test::create(array("visit_id" => "5", "test_type_id" => $test_types_borrelia->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-08-23 10:16:15", "time_started" => "2014-08-23 11:54:39", "time_completed" => "2014-08-23 12:07:18"));
     $tests_completed_six = Test::create(array("visit_id" => "6", "test_type_id" => $test_types_vdrl->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-09-07 07:23:15", "time_started" => "2014-09-07 08:07:20", "time_completed" => "2014-09-07 08:41:13"));
     $tests_completed_seven = Test::create(array("visit_id" => "7", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-03 11:52:15", "time_started" => "2014-10-03 12:31:04", "time_completed" => "2014-10-03 12:45:18"));
     $tests_completed_eight = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_brucella->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-15 17:01:15", "time_started" => "2014-10-15 17:05:24", "time_completed" => "2014-10-15 18:07:15"));
     $tests_completed_nine = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_pylori->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-23 16:06:15", "time_started" => "2014-10-23 16:07:15", "time_completed" => "2014-10-23 16:39:02"));
     $tests_completed_ten = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_salmonella->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::COMPLETED, "created_by" => "2", "tested_by" => "3", "requested_by" => "Ariel Smith", "time_created" => "2014-10-21 19:16:15", "time_started" => "2014-10-21 19:17:15", "time_completed" => "2014-10-21 19:52:40"));
     $tests_verified_one = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_direct->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-07-21 19:16:15", "time_started" => "2014-07-21 19:17:15", "time_completed" => "2014-07-21 19:52:40", "time_verified" => "2014-07-21 19:53:48"));
     $tests_verified_two = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_du->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-08-21 19:16:15", "time_started" => "2014-08-21 19:17:15", "time_completed" => "2014-08-21 19:52:40", "time_verified" => "2014-08-21 19:53:48"));
     $tests_verified_three = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_sickling->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-08-26 19:16:15", "time_started" => "2014-08-26 19:17:15", "time_completed" => "2014-08-26 19:52:40", "time_verified" => "2014-08-26 19:53:48"));
     $tests_verified_four = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_borrelia->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-21 19:16:15", "time_started" => "2014-09-21 19:17:15", "time_completed" => "2014-09-21 19:52:40", "time_verified" => "2014-09-21 19:53:48"));
     $tests_verified_five = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_vdrl->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-22 19:16:15", "time_started" => "2014-09-22 19:17:15", "time_completed" => "2014-09-22 19:52:40", "time_verified" => "2014-09-22 19:53:48"));
     $tests_verified_six = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-23 19:16:15", "time_started" => "2014-09-23 19:17:15", "time_completed" => "2014-09-23 19:52:40", "time_verified" => "2014-09-23 19:53:48"));
     $tests_verified_seven = Test::create(array("visit_id" => "1", "test_type_id" => $test_types_brucella->id, "specimen_id" => "2", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-09-27 19:16:15", "time_started" => "2014-09-27 19:17:15", "time_completed" => "2014-09-27 19:52:40", "time_verified" => "2014-09-27 19:53:48"));
     $tests_verified_eight = Test::create(array("visit_id" => "3", "test_type_id" => $test_types_pylori->id, "specimen_id" => "4", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-22 19:16:15", "time_started" => "2014-10-22 19:17:15", "time_completed" => "2014-10-22 19:52:40", "time_verified" => "2014-10-22 19:53:48"));
     $tests_verified_nine = Test::create(array("visit_id" => "4", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "3", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-17 19:16:15", "time_started" => "2014-10-17 19:17:15", "time_completed" => "2014-10-17 19:52:40", "time_verified" => "2014-10-17 19:53:48"));
     $tests_verified_ten = Test::create(array("visit_id" => "2", "test_type_id" => $test_types_pregnancy->id, "specimen_id" => "1", "interpretation" => "Budda Boss", "test_status_id" => Test::VERIFIED, "created_by" => "3", "tested_by" => "2", "verified_by" => "3", "requested_by" => "Genghiz Khan", "time_created" => "2014-10-02 19:16:15", "time_started" => "2014-10-02 19:17:15", "time_completed" => "2014-10-02 19:52:40", "time_verified" => "2014-10-02 19:53:48"));
     $this->command->info('Tests seeded again');
     //  Test results for prevalence
     $results = array(array("test_id" => $tests_completed_one->id, "measure_id" => $measure_salmonella->id, "result" => "Positive"), array("test_id" => $tests_completed_two->id, "measure_id" => $measure_direct->id, "result" => "Positive"), array("test_id" => $tests_completed_three->id, "measure_id" => $measure_du->id, "result" => "Positive"), array("test_id" => $tests_completed_four->id, "measure_id" => $measure_sickling->id, "result" => "Positive"), array("test_id" => $tests_completed_five->id, "measure_id" => $measure_borrelia->id, "result" => "Positive"), array("test_id" => $tests_completed_six->id, "measure_id" => $measure_vdrl->id, "result" => "Positive"), array("test_id" => $tests_completed_seven->id, "measure_id" => $measure_pregnancy->id, "result" => "Positive"), array("test_id" => $tests_completed_eight->id, "measure_id" => $measure_brucella->id, "result" => "Positive"), array("test_id" => $tests_completed_nine->id, "measure_id" => $measure_pylori->id, "result" => "Positive"), array("test_id" => $tests_completed_ten->id, "measure_id" => $measure_salmonella->id, "result" => "Positive"), array("test_id" => $tests_verified_one->id, "measure_id" => $measure_direct->id, "result" => "Negative"), array("test_id" => $tests_verified_two->id, "measure_id" => $measure_du->id, "result" => "Positive"), array("test_id" => $tests_verified_three->id, "measure_id" => $measure_sickling->id, "result" => "Positive"), array("test_id" => $tests_verified_four->id, "measure_id" => $measure_borrelia->id, "result" => "Negative"), array("test_id" => $tests_verified_five->id, "measure_id" => $measure_vdrl->id, "result" => "Negative"), array("test_id" => $tests_verified_six->id, "measure_id" => $measure_pregnancy->id, "result" => "Negative"), array("test_id" => $tests_verified_seven->id, "measure_id" => $measure_brucella->id, "result" => "Positive"), array("test_id" => $tests_verified_eight->id, "measure_id" => $measure_pylori->id, "result" => "Positive"), array("test_id" => $tests_verified_nine->id, "measure_id" => $measure_pregnancy->id, "result" => "Negative"), array("test_id" => $tests_verified_ten->id, "measure_id" => $measure_pregnancy->id, "result" => "Positive"));
     foreach ($results as $result) {
         TestResult::create($result);
     }
     $this->command->info('Test results seeded again');
     //  End prevalence rates seed
     //Seed for facilities
     $facilitiesSeed = array(array('name' => "WALTER REED"), array('name' => "AGA KHAN UNIVERSITY HOSPITAL"), array('name' => "TEL AVIV GENERAL HOSPITAL"), array('name' => "GK PRISON DISPENSARY"), array('name' => "KEMRI ALUPE"), array('name' => "AMPATH"));
     foreach ($facilitiesSeed as $facility) {
         Facility::create($facility);
     }
     $this->command->info('Facilities table seeded');
     //Seed for suppliers
     $supplier = Supplier::create(array("name" => "CHEM-LABS LTD", "phone" => "+254 722 822 595", "email" => "*****@*****.**", "address" => "Human House, Ngara West Rd, Off Museum Hill. 23,\nP.o. Box 38779 – 00600,\nNairobi, Kenya.", "user_id" => 1));
     $this->command->info('Suppliers table seeded');
     //Seed for diseases
     $malaria = Disease::create(array('name' => "Malaria"));
     $typhoid = Disease::create(array('name' => "Typhoid"));
     $dysentry = Disease::create(array('name' => "Shigella Dysentry"));
     $this->command->info("Dieases table seeded");
     $reportDiseases = array(array("test_type_id" => $testTypeBS->id, "disease_id" => $malaria->id), array("test_type_id" => $test_types_salmonella->id, "disease_id" => $typhoid->id), array("test_type_id" => $testTypeStoolCS->id, "disease_id" => $dysentry->id));
     foreach ($reportDiseases as $reportDisease) {
         ReportDisease::create($reportDisease);
     }
     $this->command->info("Report Disease table seeded");
     //Seeding for QC
     $lots = array(array('lot_no' => '0001', 'description' => 'First lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+6 months"))), array('lot_no' => '0002', 'description' => 'Second lot', 'expiry' => date('Y-m-d H:i:s', strtotime("+7 months"))));
     foreach ($lots as $lot) {
         $lot = Lot::create($lot);
     }
     $this->command->info("Lot table seeded");
     //Control seeding
     $controls = array(array('name' => 'Humatrol P', 'description' => 'HUMATROL P control serum has been designed to provide a suitable basis for the quality control (imprecision, inaccuracy) in the clinical chemical laboratory.', 'instrument_id' => 1), array('name' => 'Full Blood Count', 'description' => 'Né pas touchér', 'instrument_id' => 1));
     foreach ($controls as $control) {
         Control::create($control);
     }
     $this->command->info("Control table seeded");
     //Control measures
     $controlMeasures = array(array('name' => 'ca', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'pi', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'mg', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'na', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'K', 'unit' => 'mmol', 'control_id' => 1, 'control_measure_type_id' => 1), array('name' => 'WBC', 'unit' => 'x 103/uL', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'RBC', 'unit' => 'x 106/uL', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'HGB', 'unit' => 'g/dl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'HCT', 'unit' => '%', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCV', 'unit' => 'fl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCH', 'unit' => 'pg', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'MCHC', 'unit' => 'g/dl', 'control_id' => 2, 'control_measure_type_id' => 1), array('name' => 'PLT', 'unit' => 'x 103/uL', 'control_id' => 2, 'control_measure_type_id' => 1));
     foreach ($controlMeasures as $controlMeasure) {
         ControlMeasure::create($controlMeasure);
     }
     $this->command->info("Control Measure table seeded");
     //Control measure ranges
     $controlMeasureRanges = array(array('upper_range' => '2.63', 'lower_range' => '7.19', 'control_measure_id' => 1), array('upper_range' => '11.65', 'lower_range' => '15.43', 'control_measure_id' => 2), array('upper_range' => '12.13', 'lower_range' => '19.11', 'control_measure_id' => 3), array('upper_range' => '15.73', 'lower_range' => '25.01', 'control_measure_id' => 4), array('upper_range' => '17.63', 'lower_range' => '20.12', 'control_measure_id' => 5), array('upper_range' => '6.5', 'lower_range' => '7.5', 'control_measure_id' => 6), array('upper_range' => '4.36', 'lower_range' => '5.78', 'control_measure_id' => 7), array('upper_range' => '13.8', 'lower_range' => '17.3', 'control_measure_id' => 8), array('upper_range' => '81.0', 'lower_range' => '95.0', 'control_measure_id' => 9), array('upper_range' => '1.99', 'lower_range' => '2.63', 'control_measure_id' => 10), array('upper_range' => '27.6', 'lower_range' => '33.0', 'control_measure_id' => 11), array('upper_range' => '32.8', 'lower_range' => '36.4', 'control_measure_id' => 12), array('upper_range' => '141', 'lower_range' => ' 320.0', 'control_measure_id' => 13));
     foreach ($controlMeasureRanges as $controlMeasureRange) {
         ControlMeasureRange::create($controlMeasureRange);
     }
     $this->command->info("Control Measure ranges table seeded");
     //Control Tests
     $controlTests = array(array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Msiska', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Katayi', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Msiska', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Kweyu', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Kweyu', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Tiwonge', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Mukulu', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Tiwonge', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('control_id' => 1, 'lot_id' => 1, 'performed_by' => 'Tiwonge', 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))));
     foreach ($controlTests as $controltest) {
         ControlTest::create($controltest);
     }
     $this->command->info("Control test table seeded");
     //Control results
     $controlResults = array(array('results' => '2.78', 'control_measure_id' => 1, 'control_test_id' => 1, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '13.56', 'control_measure_id' => 2, 'control_test_id' => 1, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '14.77', 'control_measure_id' => 3, 'control_test_id' => 1, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '25.92', 'control_measure_id' => 4, 'control_test_id' => 1, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '18.87', 'control_measure_id' => 5, 'control_test_id' => 1, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-10 days'))), array('results' => '6.78', 'control_measure_id' => 1, 'control_test_id' => 2, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '15.56', 'control_measure_id' => 2, 'control_test_id' => 2, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '18.77', 'control_measure_id' => 3, 'control_test_id' => 2, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '30.92', 'control_measure_id' => 4, 'control_test_id' => 2, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '17.87', 'control_measure_id' => 5, 'control_test_id' => 2, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-9 days'))), array('results' => '8.78', 'control_measure_id' => 1, 'control_test_id' => 3, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '17.56', 'control_measure_id' => 2, 'control_test_id' => 3, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '21.77', 'control_measure_id' => 3, 'control_test_id' => 3, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '27.92', 'control_measure_id' => 4, 'control_test_id' => 3, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '22.87', 'control_measure_id' => 5, 'control_test_id' => 3, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-8 days'))), array('results' => '6.78', 'control_measure_id' => 1, 'control_test_id' => 4, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '18.56', 'control_measure_id' => 2, 'control_test_id' => 4, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '19.77', 'control_measure_id' => 3, 'control_test_id' => 4, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '12.92', 'control_measure_id' => 4, 'control_test_id' => 4, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '22.87', 'control_measure_id' => 5, 'control_test_id' => 4, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-7 days'))), array('results' => '3.78', 'control_measure_id' => 1, 'control_test_id' => 5, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '16.56', 'control_measure_id' => 2, 'control_test_id' => 5, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '17.77', 'control_measure_id' => 3, 'control_test_id' => 5, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '28.92', 'control_measure_id' => 4, 'control_test_id' => 5, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '19.87', 'control_measure_id' => 5, 'control_test_id' => 5, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-6 days'))), array('results' => '5.78', 'control_measure_id' => 1, 'control_test_id' => 6, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '15.56', 'control_measure_id' => 2, 'control_test_id' => 6, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '11.77', 'control_measure_id' => 3, 'control_test_id' => 6, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '29.92', 'control_measure_id' => 4, 'control_test_id' => 6, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '14.87', 'control_measure_id' => 5, 'control_test_id' => 6, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-5 days'))), array('results' => '9.78', 'control_measure_id' => 1, 'control_test_id' => 7, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '11.56', 'control_measure_id' => 2, 'control_test_id' => 7, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '19.77', 'control_measure_id' => 3, 'control_test_id' => 7, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '32.92', 'control_measure_id' => 4, 'control_test_id' => 7, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '29.87', 'control_measure_id' => 5, 'control_test_id' => 7, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-4 days'))), array('results' => '5.45', 'control_measure_id' => 6, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '5.01', 'control_measure_id' => 7, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '12.3', 'control_measure_id' => 8, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '89.7', 'control_measure_id' => 9, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '2.15', 'control_measure_id' => 10, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '34.0', 'control_measure_id' => 11, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '37.2', 'control_measure_id' => 12, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '141.5', 'control_measure_id' => 13, 'control_test_id' => 8, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-3 days'))), array('results' => '7.45', 'control_measure_id' => 6, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '9.01', 'control_measure_id' => 7, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '9.3', 'control_measure_id' => 8, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '94.7', 'control_measure_id' => 9, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '12.15', 'control_measure_id' => 10, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '37.0', 'control_measure_id' => 11, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '30.2', 'control_measure_id' => 12, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))), array('results' => '121.5', 'control_measure_id' => 13, 'control_test_id' => 9, 'user_id' => 1, 'created_at' => date('Y-m-d', strtotime('-2 days'))));
     foreach ($controlResults as $controlResult) {
         ControlMeasureResult::create($controlResult);
     }
     $this->command->info("Control results table seeded");
 }
Ejemplo n.º 21
0
 public function run()
 {
     DB::statement('TRUNCATE TABLE t_px_permission CASCADE');
     Permission::create(['id' => 'setting.edit', 'name' => '修改设置']);
     Permission::create(array('id' => 'user.add', 'name' => '创建用户'));
     Permission::create(array('id' => 'user.edit', 'name' => '修改用户'));
     Permission::create(array('id' => 'user.show', 'name' => '查看用户'));
     Permission::create(array('id' => 'user.list', 'name' => '列出用户'));
     Permission::create(array('id' => 'user.save', 'name' => '保存用户'));
     Permission::create(array('id' => 'user.update', 'name' => '更新用户'));
     Permission::create(array('id' => 'user.delete', 'name' => '删除用户'));
     Permission::create(array('id' => 'user.reset', 'name' => '重置密码'));
     Permission::create(array('id' => 'user.change', 'name' => '修改密码'));
     Permission::create(array('id' => 'user.saveChange', 'name' => '保存修改密码'));
     Permission::create(array('id' => 'user.profile', 'name' => '查看个人资料'));
     Permission::create(array('id' => 'group.add', 'name' => '创建组'));
     Permission::create(array('id' => 'group.edit', 'name' => '修改组'));
     Permission::create(array('id' => 'group.show', 'name' => '查看组'));
     Permission::create(array('id' => 'group.list', 'name' => '列出组'));
     Permission::create(array('id' => 'group.save', 'name' => '保存组'));
     Permission::create(array('id' => 'group.update', 'name' => '更新组'));
     Permission::create(array('id' => 'group.delete', 'name' => '删除组'));
     Permission::create(array('id' => 'group.grant', 'name' => '授予组权限'));
     Permission::create(array('id' => 'group.saveGrant', 'name' => '保存组权限'));
     Permission::create(array('id' => 'permission.add', 'name' => '创建权限'));
     Permission::create(array('id' => 'permission.edit', 'name' => '修改权限'));
     Permission::create(array('id' => 'permission.show', 'name' => '查看权限'));
     Permission::create(array('id' => 'permission.list', 'name' => '列出权限'));
     Permission::create(array('id' => 'permission.save', 'name' => '保存权限'));
     Permission::create(array('id' => 'permission.update', 'name' => '更新权限'));
     Permission::create(array('id' => 'permission.delete', 'name' => '删除权限'));
     Permission::create(array('id' => 'pjzb.add', 'name' => '创建评价指标'));
     Permission::create(array('id' => 'pjzb.edit', 'name' => '修改评价指标'));
     Permission::create(array('id' => 'pjzb.show', 'name' => '查看评价指标'));
     Permission::create(array('id' => 'pjzb.list', 'name' => '列出评价指标'));
     Permission::create(array('id' => 'pjzb.save', 'name' => '保存评价指标'));
     Permission::create(array('id' => 'pjzb.update', 'name' => '更新评价指标'));
     Permission::create(array('id' => 'pjzb.delete', 'name' => '删除评价指标'));
     Permission::create(array('id' => 'pjbz.add', 'name' => '创建评价标准'));
     Permission::create(array('id' => 'pjbz.edit', 'name' => '修改评价标准'));
     Permission::create(array('id' => 'pjbz.show', 'name' => '查看评价标准'));
     Permission::create(array('id' => 'pjbz.list', 'name' => '列出评价标准'));
     Permission::create(array('id' => 'pjbz.save', 'name' => '保存评价标准'));
     Permission::create(array('id' => 'pjbz.update', 'name' => '更新评价标准'));
     Permission::create(array('id' => 'pjbz.delete', 'name' => '删除评价标准'));
     Permission::create(array('id' => 'pfdj.add', 'name' => '创建评分等级'));
     Permission::create(array('id' => 'pfdj.edit', 'name' => '修改评分等级'));
     Permission::create(array('id' => 'pfdj.show', 'name' => '查看评分等级'));
     Permission::create(array('id' => 'pfdj.list', 'name' => '列出评分等级'));
     Permission::create(array('id' => 'pfdj.save', 'name' => '保存评分等级'));
     Permission::create(array('id' => 'pfdj.update', 'name' => '更新评分等级'));
     Permission::create(array('id' => 'pfdj.delete', 'name' => '删除评分等级'));
     Permission::create(array('id' => 'pfjg.monitor', 'name' => '全校评价监控'));
     Permission::create(array('id' => 'pfjg.departmentMonitor', 'name' => '本学院评价监控'));
     Permission::create(array('id' => 'pfjg.statistics', 'name' => '查看全校统计表'));
     Permission::create(array('id' => 'pfjg.departmentStatistics', 'name' => '查看本学院统计表'));
     Permission::create(array('id' => 'pfjg.majorStatistics', 'name' => '查看本专业统计表'));
     Permission::create(array('id' => 'pfjg.exportMonitor', 'name' => '导出全校监控数据'));
     Permission::create(array('id' => 'pfjg.exportDepartmentMonitor', 'name' => '导出本学院监控数据'));
     Permission::create(array('id' => 'pfjg.exportStatistics', 'name' => '导出全校统计数据'));
     Permission::create(array('id' => 'pfjg.exportDepartmentStatistics', 'name' => '导出本学院统计数据'));
     Permission::create(array('id' => 'pfjg.exportMajorStatistics', 'name' => '导出本专业统计数据'));
 }
Ejemplo n.º 22
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     Permission::create(['name' => 'manage_system', 'display_name' => '管理系统']);
     Permission::create(['name' => 'manage_contents', 'display_name' => '管理内容']);
     Permission::create(['name' => 'manage_users', 'display_name' => '管理用户']);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // TODO: Remove this before release...
     // Look for and delete route named 'do-not-pre-load' if it exist.
     // That route is used to test a failure with the Authorization middleware and should not be loaded automatically.
     $routeToDelete = Route::where('name', 'test-acl.do-not-pre-load')->get()->first();
     if ($routeToDelete) {
         Route::destroy($routeToDelete->id);
     }
     $testUserOne = User::create(['username' => 'user1', 'first_name' => 'User', 'last_name' => 'One', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserTwo = User::create(['username' => 'user2', 'first_name' => 'User', 'last_name' => 'Two', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserThree = User::create(['username' => 'user3', 'first_name' => 'User', 'last_name' => 'Three', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserFour = User::create(['username' => 'user4', 'first_name' => 'User', 'last_name' => 'Four', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserFive = User::create(['username' => 'user5', 'first_name' => 'User', 'last_name' => 'Five', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserSix = User::create(['username' => 'user6', 'first_name' => 'User', 'last_name' => 'Six', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserSeven = User::create(['username' => 'user7', 'first_name' => 'User', 'last_name' => 'Seven', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserEight = User::create(['username' => 'user8', 'first_name' => 'User', 'last_name' => 'Eight', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserNine = User::create(['username' => 'user9', 'first_name' => 'User', 'last_name' => 'Nine', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserTen = User::create(['username' => 'user10', 'first_name' => 'User', 'last_name' => 'Ten', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserEleven = User::create(['username' => 'user11', 'first_name' => 'User', 'last_name' => 'Eleven', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserTwelve = User::create(['username' => 'user12', 'first_name' => 'User', 'last_name' => 'Twelve', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserThirteen = User::create(['username' => 'user13', 'first_name' => 'User', 'last_name' => 'Thirteen', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserFourteen = User::create(['username' => 'user14', 'first_name' => 'User', 'last_name' => 'Fourteen', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     $testUserFifteen = User::create(['username' => 'user15', 'first_name' => 'User', 'last_name' => 'Fifteen', 'email' => '*****@*****.**', "password" => "Password1", "auth_type" => "internal", "enabled" => true]);
     /////////
     // Create a few test permissions for the flash-test pages.
     $permTestLevelSuccess = Permission::create(['name' => 'test-level-success', 'display_name' => 'Test level success', 'description' => 'Testing level success', 'enabled' => true]);
     $permTestLevelInfo = Permission::create(['name' => 'test-level-info', 'display_name' => 'Test level info', 'description' => 'Testing level info', 'enabled' => true]);
     $permTestLevelWarning = Permission::create(['name' => 'test-level-warning', 'display_name' => 'Test level warning', 'description' => 'Testing level warning', 'enabled' => true]);
     $permTestLevelError = Permission::create(['name' => 'test-level-error', 'display_name' => 'Test level error', 'description' => 'Testing level error', 'enabled' => true]);
     ////////////////////////////////////
     // Create some roles for the flash test pages.
     ////////////////////////////////////
     // Success
     $roleFlashSuccessViewer = Role::create(["name" => "flash-success-viewer", "display_name" => "Flash success viewer", "description" => "Can see the success flash test page.", "enabled" => true]);
     // Assign permission TestLevelSuccess
     $roleFlashSuccessViewer->perms()->attach($permTestLevelSuccess->id);
     // Assign user membership to role
     $roleFlashSuccessViewer->users()->attach($testUserTwo->id);
     // Info
     $roleFlashInfoViewer = Role::create(["name" => "flash-info-viewer", "display_name" => "Flash info viewer", "description" => "Can see the info flash test page.", "enabled" => true]);
     // Assign permission Info and Success to the InfoViewer role.
     $roleFlashInfoViewer->perms()->attach($permTestLevelInfo->id);
     $roleFlashInfoViewer->perms()->attach($permTestLevelSuccess->id);
     // Assign user membership to role
     $roleFlashInfoViewer->users()->attach($testUserThree->id);
     // Warning
     $roleFlashWarningViewer = Role::create(["name" => "flash-warning-viewer", "display_name" => "Flash warning viewer", "description" => "Can see the warning flash test page.", "enabled" => true]);
     // Assign permission Warning, Info and Success to the WarningViewer role.
     $roleFlashWarningViewer->perms()->attach($permTestLevelWarning->id);
     $roleFlashWarningViewer->perms()->attach($permTestLevelInfo->id);
     $roleFlashWarningViewer->perms()->attach($permTestLevelSuccess->id);
     // Assign user membership to role
     $roleFlashWarningViewer->users()->attach($testUserFour->id);
     // Error
     $roleFlashErrorViewer = Role::create(["name" => "flash-error-viewer", "display_name" => "Flash error viewer", "description" => "Can see the error flash test page.", "enabled" => true]);
     // Assign permission Error, Warning, Info and Success to the ErrorViewer role.
     $roleFlashErrorViewer->perms()->attach($permTestLevelError->id);
     $roleFlashErrorViewer->perms()->attach($permTestLevelWarning->id);
     $roleFlashErrorViewer->perms()->attach($permTestLevelInfo->id);
     $roleFlashErrorViewer->perms()->attach($permTestLevelSuccess->id);
     // Assign user membership to role
     $roleFlashErrorViewer->users()->attach($testUserFive->id);
     /////////
     // Find basic-authenticated permission.
     $permBasicAuthenticated = Permission::where('name', 'basic-authenticated')->first();
     // Find guest-only permission.
     $permGuestOnly = Permission::where('name', 'guest-only')->first();
     // Find open-to-all permission.
     $permOpenToAll = Permission::where('name', 'open-to-all')->first();
     // Find admin-settings permission.
     $permAdminSettings = Permission::where('name', 'admin-settings')->first();
     ////////////////////////////////////
     // Associate some permission to acl test routes
     $routeTestACLHome = Route::where('name', 'test-acl.home')->get()->first();
     $routeTestACLHome->permission()->associate($permOpenToAll);
     $routeTestACLHome->save();
     //
     $routeTestACLAdmins = Route::where('name', 'test-acl.admins')->get()->first();
     $routeTestACLAdmins->permission()->associate($permAdminSettings);
     $routeTestACLAdmins->save();
     //
     $routeTestACLBasicAuthenticated = Route::where('name', 'test-acl.basic-authenticated')->get()->first();
     $routeTestACLBasicAuthenticated->permission()->associate($permBasicAuthenticated);
     $routeTestACLBasicAuthenticated->save();
     //
     $routeTestACLGuestOnly = Route::where('name', 'test-acl.guest-only')->get()->first();
     $routeTestACLGuestOnly->permission()->associate($permGuestOnly);
     $routeTestACLGuestOnly->save();
     //
     $routeTestACLOpenToAll = Route::where('name', 'test-acl.open-to-all')->get()->first();
     $routeTestACLOpenToAll->permission()->associate($permOpenToAll);
     $routeTestACLOpenToAll->save();
     ////////////////////////////////////
     // Associate some permission to flash test routes
     $routeFlashHome = Route::where('name', 'test-flash.home')->get()->first();
     $routeFlashHome->permission()->associate($permOpenToAll);
     $routeFlashHome->save();
     //
     $routeFlashSuccess = Route::where('name', 'test-flash.success')->get()->first();
     $routeFlashSuccess->permission()->associate($permTestLevelSuccess);
     $routeFlashSuccess->save();
     //
     $routeFlashInfo = Route::where('name', 'test-flash.info')->get()->first();
     $routeFlashInfo->permission()->associate($permTestLevelInfo);
     $routeFlashInfo->save();
     //
     $routeFlashWarning = Route::where('name', 'test-flash.warning')->get()->first();
     $routeFlashWarning->permission()->associate($permTestLevelWarning);
     $routeFlashWarning->save();
     //
     $routeFlashError = Route::where('name', 'test-flash.error')->get()->first();
     $routeFlashError->permission()->associate($permTestLevelError);
     $routeFlashError->save();
     ////////////////////////////////////
     // Associate some permission to menu test routes
     $routeTestMenusHome = Route::where('name', 'test-menus.home')->get()->first();
     $routeTestMenusHome->permission()->associate($permOpenToAll);
     $routeTestMenusHome->save();
     //
     $routeTestMenusOne = Route::where('name', 'test-menus.one')->get()->first();
     $routeTestMenusOne->permission()->associate($permOpenToAll);
     $routeTestMenusOne->save();
     //
     $routeTestMenusTwo = Route::where('name', 'test-menus.two')->get()->first();
     $routeTestMenusTwo->permission()->associate($permBasicAuthenticated);
     $routeTestMenusTwo->save();
     //
     $routeTestMenusTwoA = Route::where('name', 'test-menus.two-a')->get()->first();
     $routeTestMenusTwoA->permission()->associate($permTestLevelSuccess);
     $routeTestMenusTwoA->save();
     //
     $routeTestMenusTwoB = Route::where('name', 'test-menus.two-b')->get()->first();
     $routeTestMenusTwoB->permission()->associate($permTestLevelInfo);
     $routeTestMenusTwoB->save();
     //
     $routeTestMenusThree = Route::where('name', 'test-menus.three')->get()->first();
     $routeTestMenusThree->permission()->associate($permTestLevelWarning);
     $routeTestMenusThree->save();
     /////////
     // Find home menu.
     $menuHome = Menu::where('name', 'home')->first();
     /////////
     // Create Test ACL menu folder
     $menuTestACL = Menu::create(['name' => 'test-acl.home', 'label' => 'Test ACL', 'position' => 20, 'icon' => 'fa fa-bolt', 'separator' => false, 'url' => '/test-acl/home', 'enabled' => true, 'parent_id' => $menuHome->id, 'route_id' => null, 'permission_id' => $permOpenToAll->id]);
     // Create DoNotPreLoad menu
     $menuDoNotPreLoad = Menu::create(['name' => 'test-acl.do-not-pre-load', 'label' => 'Do not pre-load', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => '/test-acl/do-not-pre-load', 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => null, 'permission_id' => null]);
     // Create NoPerm menu
     $menuNoPerm = Menu::create(['name' => 'test-acl.no-perm', 'label' => 'No perm', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => '/test-acl/no-perm', 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => null, 'permission_id' => null]);
     // Create GuestOnly menu
     $menuGuestOnly = Menu::create(['name' => 'test-acl.guest-only', 'label' => 'Guest Only', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => $routeTestACLGuestOnly->id, 'permission_id' => null]);
     // Create OpenToAll menu
     $menuOpenToAll = Menu::create(['name' => 'test-acl.open-to-all', 'label' => 'Open to all', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => $routeTestACLOpenToAll->id, 'permission_id' => null]);
     // Create BasicAuthenticated menu
     $menuBasicAuthenticated = Menu::create(['name' => 'test-acl.basic-authenticated', 'label' => 'Basic authenticated', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => $routeTestACLBasicAuthenticated->id, 'permission_id' => null]);
     // Create Admins menu
     $menuAdmins = Menu::create(['name' => 'test-acl.admins', 'label' => 'Admins', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => $routeTestACLAdmins->id, 'permission_id' => null]);
     // Create PowerUsers menu
     $menuPowerUsers = Menu::create(['name' => 'test-acl.power-users', 'label' => 'Power users', 'position' => 0, 'icon' => 'fa fa-file', 'separator' => false, 'url' => '/test-acl/power-users', 'enabled' => true, 'parent_id' => $menuTestACL->id, 'route_id' => null, 'permission_id' => null]);
     /////////
     // Create Test flash menu folder
     $menuTestFlashHome = Menu::create(['name' => 'test-flash.home', 'label' => 'Test Flash', 'position' => 20, 'icon' => 'fa fa-bolt', 'separator' => false, 'url' => '/test-flash/home', 'enabled' => true, 'parent_id' => $menuHome->id, 'route_id' => null, 'permission_id' => $permBasicAuthenticated->id]);
     // Create Flash success menu
     $menuFlashSuccess = Menu::create(['name' => 'test-flash.success', 'label' => 'Flash success', 'position' => 0, 'icon' => 'fa fa-check fa-colour-green', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestFlashHome->id, 'route_id' => $routeFlashSuccess->id, 'permission_id' => null]);
     // Create Flash info menu
     $menuFlashInfo = Menu::create(['name' => 'test-flash.info', 'label' => 'Flash info', 'position' => 10, 'icon' => 'fa fa-info fa-colour-blue', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestFlashHome->id, 'route_id' => $routeFlashInfo->id, 'permission_id' => null]);
     // Create Flash warning menu
     $menuFlashWarning = Menu::create(['name' => 'test-flash.warning', 'label' => 'Flash warning', 'position' => 20, 'icon' => 'fa fa-warning fa-colour-orange', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestFlashHome->id, 'route_id' => $routeFlashWarning->id, 'permission_id' => null]);
     // Create Flash error menu
     $menuFlashError = Menu::create(['name' => 'test-flash.error', 'label' => 'Flash error', 'position' => 30, 'icon' => 'fa fa-ban fa-colour-red', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestFlashHome->id, 'route_id' => $routeFlashError->id, 'permission_id' => null]);
     /////////
     // Create Test menu folder
     $menuTestMenusHome = Menu::create(['name' => 'test-menus.home', 'label' => 'Test Menus', 'position' => 30, 'icon' => 'fa fa-bolt', 'separator' => false, 'url' => '/test-menus/home', 'enabled' => true, 'parent_id' => $menuHome->id, 'route_id' => null, 'permission_id' => $permOpenToAll->id]);
     // Create Menu 1 menu
     $menuTestMenusOne = Menu::create(['name' => 'test-menus.one', 'label' => 'Menu One', 'position' => 0, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusHome->id, 'route_id' => $routeTestMenusOne->id, 'permission_id' => null]);
     // Create Menu 2 menu
     $menuTestMenusTwo = Menu::create(['name' => 'test-menus.two', 'label' => 'Menu Two', 'position' => 10, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusHome->id, 'route_id' => $routeTestMenusTwo->id, 'permission_id' => null]);
     // Create Menu 2a menu
     $menuTestMenusTwo2a = Menu::create(['name' => 'test-menus.two-a', 'label' => 'Menu Two A', 'position' => 0, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusTwo->id, 'route_id' => $routeTestMenusTwoA->id, 'permission_id' => null]);
     // Create Menu 2b menu
     $menuTestMenusTwo2b = Menu::create(['name' => 'test-menus.two-b', 'label' => 'Menu Two B', 'position' => 10, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusTwo->id, 'route_id' => $routeTestMenusTwoB->id, 'permission_id' => null]);
     // Create Menu 2a alias by URL
     $menuTestMenusTwo2a = Menu::create(['name' => 'test-menus.two-a-alias-url', 'label' => 'Menu Two A alias by URL', 'position' => 0, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => '/test-menus/two-a', 'enabled' => true, 'parent_id' => $menuTestMenusTwo->id, 'route_id' => null, 'permission_id' => $permBasicAuthenticated->id]);
     // Create Menu 2a alias by ROUTE
     $menuTestMenusTwo2a = Menu::create(['name' => 'test-menus.two-a-alias-route', 'label' => 'Menu Two A alias by route', 'position' => 0, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusTwo->id, 'route_id' => Route::where('name', 'like', "test-menus.two_a")->get()->first()->id, 'permission_id' => null]);
     // Create Menu 3 menu
     $menuTestMenusTwo3 = Menu::create(['name' => 'test-menus.three', 'label' => 'Menu Three', 'position' => 20, 'icon' => 'fa fa-bars', 'separator' => false, 'url' => null, 'enabled' => true, 'parent_id' => $menuTestMenusHome->id, 'route_id' => $routeTestMenusThree->id, 'permission_id' => null]);
 }
 public function store(CreatePermissionRequest $request)
 {
     $groupType = Permission::create($request->all());
     return redirect()->route('permissions.index')->with('successes', ['Permission created successfully']);
 }
Ejemplo n.º 25
0
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     ////////////////////////////////////
     // Load the routes
     Route::loadLaravelRoutes();
     // Look for and delete route named 'do-not-load' if it exist.
     // That route is used to test the Authorization middleware and should not be loaded automatically.
     $routeToDelete = Route::where('name', 'do-not-load')->get()->first();
     if ($routeToDelete) {
         Route::destroy($routeToDelete->id);
     }
     ////////////////////////////////////
     // Create basic set of permissions
     $permGuestOnly = Permission::create(['name' => 'guest-only', 'display_name' => 'Guest only access', 'description' => 'Only guest users can access these.', 'enabled' => true]);
     $permOpenToAll = Permission::create(['name' => 'open-to-all', 'display_name' => 'Open to all', 'description' => 'Everyone can access these, even unauthenticated (guest) users.', 'enabled' => true]);
     $permBasicAuthenticated = Permission::create(['name' => 'basic-authenticated', 'display_name' => 'Basic authenticated', 'description' => 'Basic permission after being authenticated.', 'enabled' => true]);
     // Create a few permissions for the admin|security section
     $permManageUsers = Permission::create(['name' => 'manage-users', 'display_name' => 'Manage users', 'description' => 'Allows a user to manage the site users.', 'enabled' => true]);
     $permManageRoles = Permission::create(['name' => 'manage-roles', 'display_name' => 'Manage roles', 'description' => 'Allows a user to manage the site roles.', 'enabled' => true]);
     $permManagePermissions = Permission::create(['name' => 'manage-permissions', 'display_name' => 'Manage permissions', 'description' => 'Allows a user to manage the site permissions.', 'enabled' => true]);
     $permManageRoutes = Permission::create(['name' => 'manage-routes', 'display_name' => 'Manage routes', 'description' => 'Allows a user to Manage the site routes.', 'enabled' => true]);
     // Create a few permissions for the admin|audit section
     $permAuditLogView = Permission::create(['name' => 'audit-log-view', 'display_name' => 'View audit log', 'description' => 'Allows a user to view the audit log.', 'enabled' => true]);
     $permAuditReplay = Permission::create(['name' => 'audit-log-replay', 'display_name' => 'Replay audit log item', 'description' => 'Allows a user to replay items from the audit log.', 'enabled' => true]);
     $permAuditPurge = Permission::create(['name' => 'audit-log-purge', 'display_name' => 'Purge audit log', 'description' => 'Allows a user to purge old items from the audit log.', 'enabled' => true]);
     ////////////////////////////////////
     // Associate open-to-all permission to some routes
     $routeBackslash = Route::where('name', 'backslash')->get()->first();
     $routeBackslash->permission()->associate($permOpenToAll);
     $routeBackslash->save();
     $routeHome = Route::where('name', 'home')->get()->first();
     $routeHome->permission()->associate($permOpenToAll);
     $routeHome->save();
     $routeFaust = Route::where('name', 'faust')->get()->first();
     $routeFaust->permission()->associate($permOpenToAll);
     $routeFaust->save();
     // Associate basic-authenticated permission to the dashboard route
     $routeDashboard = Route::where('name', 'dashboard')->get()->first();
     $routeDashboard->permission()->associate($permBasicAuthenticated);
     $routeDashboard->save();
     // Associate the audit-log permissions
     $routeAuditView = Route::where('name', 'admin.audit.index')->get()->first();
     $routeAuditView->permission()->associate($permAuditLogView);
     $routeAuditView->save();
     $routeAuditPurge = Route::where('name', 'admin.audit.purge')->get()->first();
     $routeAuditPurge->permission()->associate($permAuditPurge);
     $routeAuditPurge->save();
     $routeAuditReplay = Route::where('name', 'admin.audit.replay')->get()->first();
     $routeAuditReplay->permission()->associate($permAuditReplay);
     $routeAuditReplay->save();
     // Associate manage-permission permissions to routes starting with 'admin.permissions.'
     $managePermRoutes = Route::where('name', 'like', "admin.permissions.%")->get()->all();
     foreach ($managePermRoutes as $route) {
         $route->permission()->associate($permManagePermissions);
         $route->save();
     }
     // Associate manage-roles permissions to routes starting with 'admin.roles.'
     $manageRoleRoutes = Route::where('name', 'like', "admin.roles.%")->get()->all();
     foreach ($manageRoleRoutes as $route) {
         $route->permission()->associate($permManageRoles);
         $route->save();
     }
     // Associate manage-routes permissions to routes starting with 'admin.routes.'
     $manageRouteRoutes = Route::where('name', 'like', "admin.routes.%")->get()->all();
     foreach ($manageRouteRoutes as $route) {
         $route->permission()->associate($permManageRoutes);
         $route->save();
     }
     // Associate manage-users permissions to routes starting with 'admin.users.'
     $manageUserRoutes = Route::where('name', 'like', "admin.users.%")->get()->all();
     foreach ($manageUserRoutes as $route) {
         $route->permission()->associate($permManageUsers);
         $route->save();
     }
     ////////////////////////////////////
     // Create role: admins
     $roleAdmins = Role::create(["name" => "admins", "display_name" => "Administrators", "description" => "Administrators have no restrictions", "enabled" => true]);
     // Create role: users
     // Assign permission basic-authenticated
     $roleUsers = Role::create(["name" => "users", "display_name" => "Users", "description" => "All authenticated users", "enabled" => true]);
     $roleUsers->perms()->attach($permBasicAuthenticated->id);
     // Create role: user-manager
     // Assign permission manage-users
     $roleUserManagers = Role::create(["name" => "user-managers", "display_name" => "User managers", "description" => "User managers are granted all permissions to the Admin|Users section.", "enabled" => true]);
     $roleUserManagers->perms()->attach($permManageUsers->id);
     // Create role: role-manager
     // Assign permission: manage-roles
     $roleRoleManagers = Role::create(["name" => "role-managers", "display_name" => "Role managers", "description" => "Role managers are granted all permissions to the Admin|Roles section.", "enabled" => true]);
     $roleRoleManagers->perms()->attach($permManageRoles->id);
     // Create role: audit-viewers
     // Assign permission: audit-log-view
     $roleAuditViewers = Role::create(["name" => "audit-viewers", "display_name" => "Audit viewers", "description" => "Users allowed to view the audit log.", "enabled" => true]);
     $roleAuditViewers->perms()->attach($permAuditLogView->id);
     // Create role: audit-replayers
     // Assign permission: audit-log-replay
     $roleAuditReplayers = Role::create(["name" => "audit-replayers", "display_name" => "Audit replayers", "description" => "Users allowed to replay items from the audit log.", "enabled" => true]);
     $roleAuditReplayers->perms()->attach($permAuditReplay->id);
     // Create role: audit-purgers
     // Assign permission: audit-log-purge
     $roleAuditPurgers = Role::create(["name" => "audit-purgers", "display_name" => "Audit purgers", "description" => "Users allowed to purge old items from the audit log.", "enabled" => true]);
     $roleAuditPurgers->perms()->attach($permAuditPurge->id);
     // Create regency data
     $regency_data = array('Trưởng Phòng', 'Nhân viên');
     foreach ($regency_data as $data) {
         $regency = Regency::create(['name' => $data, 'enabled' => true]);
     }
     // Create department data
     $department_data = array('Quản lý', 'Kinh doanh', 'Sản xuất', 'Marketing-degital', 'Kế toán', 'Giao nhận', 'Thiết kế');
     foreach ($department_data as $data) {
         $department = Department::create(['name' => $data, 'enabled' => true]);
     }
     ////////////////////////////////////
     // Create user: root
     // Assign membership to role admins, membership to role users is
     // automatic.
     $userRoot = User::create(["first_name" => "Root", "last_name" => "SuperUser", "username" => "root", "email" => "*****@*****.**", "password" => "thienhb", "gender" => true, "auth_type" => "internal", "enabled" => true, "regency_id" => true, "department_id" => true]);
     $userRoot->roles()->attach($roleAdmins->id);
 }
 /**
  * Store a newly created resource in storage.
  *
  * @param  \Illuminate\Http\Request  $request
  * @return \Illuminate\Http\Response
  */
 public function store(\App\Http\Requests\StorePermissionPostRequest $request)
 {
     $this->authorize('create', new \App\Models\Permission());
     $permission = \App\Models\Permission::create($request->only(['title', 'slug']));
     return redirect(route('permission.index'));
 }