/**
  * Add a Role to a User
  *
  * @param multiple $role Role to add, might by instance of Role or name of role as string
  */
 public function addRole($role)
 {
     if (is_string($role)) {
         $role = Role::whereName($role)->firstOrFail();
     }
     return $this->roles()->save($role);
 }
Beispiel #2
0
 /**
  * Assign role(s) to a user.
  *
  * @param  string|object $role
  * @return boolean
  */
 public function assign($role)
 {
     if (is_string($role)) {
         return $this->roles()->save(Role::whereName($role)->firstOrFail());
     }
     return $this->roles()->save($role);
 }
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $user = User::create(['name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]);
     $organisation = Organisation::create(['name' => $data['organisationName']]);
     $role = Role::whereName('owner')->first();
     $userOrganisationRole = new UserOrganisationRole(['user_id' => $user->id, 'organisation_id' => $organisation->id, 'role_id' => $role->id]);
     $user->organisationRoles()->save($userOrganisationRole);
     return $user;
 }
 /**
  * save a user
  * @param $data
  */
 public function store($data)
 {
     $data = $this->prepareData($data);
     $user = $this->model->create($data);
     $role = isset($data['role']) ? $data['role'] : Role::whereName('member')->first();
     $user->createProfile();
     $user->assignRole($role);
     return $user;
 }
Beispiel #5
0
 public function assignRole($role)
 {
     // if given is string
     if (is_string($role)) {
         return $this->roles()->save(Role::whereName($role)->firstOrfail());
     }
     // given is collection
     return $this->roles()->save($role);
 }
 public function run()
 {
     DB::table('role_user')->delete();
     $user = User::whereName('corean')->FirstOrFail();
     $role_id = Role::whereName('manager')->pluck('id');
     $user->saveRoles([$role_id[0]]);
     $user = User::whereName('test')->FirstOrFail();
     $role_id = Role::whereName('member')->pluck('id');
     $user->saveRoles([$role_id[0]]);
 }
 /**
  * An admin can not remove its own admin privileges
  *
  * @return bool
  */
 public function ownAdminRole($attribute, $value, $parameters, $validator)
 {
     $userId = $parameters[0];
     $ownId = $parameters[1];
     $adminRoleId = Role::whereName('admin')->pluck('id')->first();
     if (in_array($adminRoleId, $value)) {
         return true;
     }
     return $userId != $ownId;
 }
Beispiel #8
0
 public function run()
 {
     DB::table('users')->delete();
     $adminRole = Role::whereName('administrator')->first();
     $userRole = Role::whereName('user')->first();
     $user = User::create(array('first_name' => 'John', 'last_name' => 'Doe', 'email' => '*****@*****.**', 'password' => Hash::make('password')));
     $user->assignRole($adminRole);
     $user = User::create(array('first_name' => 'Jane', 'last_name' => 'Doe', 'email' => '*****@*****.**', 'password' => Hash::make('janesPassword')));
     $user->assignRole($userRole);
 }
Beispiel #9
0
 public function register($data)
 {
     $user = new User();
     $user->email = $data['email'];
     $user->first_name = ucfirst($data['first_name']);
     $user->last_name = ucfirst($data['last_name']);
     $user->password = Hash::make($data['password']);
     $user->save();
     //Assign Role
     $role = Role::whereName('user')->first();
     $user->assignRole($role);
 }
Beispiel #10
0
 /**
  * Handle an incoming request.
  *
  * @param  \Illuminate\Http\Request  $request
  * @param  \Closure  $next
  * @return mixed
  */
 public function handle($request, Closure $next)
 {
     $user = Auth::user();
     //dd($user->email);
     if ($user) {
         $role = Role::whereName('guest')->first();
         if ($user->hasRole($role)) {
             return $next($request);
         }
     }
     return redirect('/');
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     $role = Role::whereName('admin')->firstOrFail();
     $role->addPermission('permissions-index');
     $role->addPermission('permissions-create');
     $role->addPermission('permissions-edit');
     $role->addPermission('roles-index');
     $role->addPermission('roles-create');
     $role->addPermission('roles-edit');
     $role->addPermission('users-index');
     $role->addPermission('users-create');
     $role->addPermission('users-edit');
 }
Beispiel #12
0
 public function store($data)
 {
     $data = $this->prepareData($data);
     $data['image'] = isset($data['image']) ? $this->storeImage($data['image'], $data['name'] . '-' . getUniqueNumber(), 'sellers', null, null, 640, null, false) : '';
     $seller = $this->model->create($data);
     $profile = new Profile($data);
     $seller->createProfile($profile);
     $role = isset($data['role']) ? $data['role'] : Role::whereName('seller')->firstOrFail();
     $seller->assignRole($role);
     if (isset($data['clients'])) {
         $seller->assignClient($data['clients']);
     }
     return $seller;
 }
Beispiel #13
0
 /**
  * Function create user
  * @author  Tran Van Moi <[moitran92@gmail.com]>
  * @since  2015/05/13
  * @param  array $user_info
  * @param  string $role_name
  * @return object
  */
 public static function create_user($user_info, $role_name)
 {
     $user = new User();
     $user->name = $user_info['name'];
     $user->uid = empty($user_info['id']) ? 'res_local' : $user_info['id'];
     $user->email = $user_info['email'];
     $user->image = $user_info['image'];
     $user->password = Hash::make($user_info['password']);
     if (isset($user_info['birthday'])) {
         $user->birthday = $user_info['birthday'];
     }
     if (isset($user_info['address'])) {
         $user->address = $user_info['address'];
     }
     $user->save();
     // attack role to user
     $role = Role::whereName($role_name)->first();
     $user->attachRole($role);
     return $user;
 }
Beispiel #14
0
 public function updateRoles(User $user, Request $request, $user_id)
 {
     $userModel = User::find($user_id);
     $userModel->name = $request->get('name');
     $userModel->email = $request->get('email');
     $userModel->save();
     // detach role from user
     $userModel->detachRoles(Role::all());
     //insert new roles
     foreach ($request->get('role') as $role_request) {
         $userModel->attachRole(Role::whereName($role_request)->first());
     }
     return Redirect::back()->with('msg', ' was successfully updated.');
 }
 /**
  * API for retrieving details of a single role
  */
 public function apiRoleDetails(Role $role)
 {
     return $roleWithPermissions = Role::whereName($role->name)->with('permissions')->first();
 }
Beispiel #16
0
 public function getSocialHandle($provider)
 {
     $user = Socialite::driver($provider)->user();
     $socialUser = null;
     //Check is this email belongs to OZU
     if (!preg_match('/((ozu|ozyegin)\\.edu(\\.[a-zA-Z]+)?|\\.ac\\.[a-zA-Z]+)$/i', $user->email)) {
         return redirect()->route('auth.login')->with('message', 'You can only login with your.name@(ozu|ozyegin).edu.tr')->with('status', 'danger')->withInput();
     }
     //Check is this email present
     $userCheck = User::where('email', '=', $user->email)->first();
     if (!empty($userCheck)) {
         $socialUser = $userCheck;
     } else {
         $sameSocialId = Social::where('social_id', '=', $user->id)->where('provider', '=', $provider)->first();
         if (empty($sameSocialId)) {
             //There is no combination of this social id and provider, so create new one
             $newSocialUser = new User();
             $newSocialUser->email = $user->email;
             $parts = explode("@", $user->email);
             $username = explode(".", $parts[0]);
             $alt_name = ucfirst($username[0]);
             $alt_last = ucfirst($username[1]);
             $name = explode(' ', $user->name);
             $newSocialUser->first_name = isset($name[0]) && !empty($name[0]) ? $name[0] : $alt_name;
             $newSocialUser->last_name = isset($name[2]) ? $name[2] : (isset($name[1]) ? $name[1] : $alt_last);
             $newSocialUser->save();
             $socialData = new Social();
             $socialData->social_id = $user->id;
             $socialData->provider = $provider;
             $newSocialUser->social()->save($socialData);
             // Add role
             if (in_array($user->email, $this->privilegedEmails)) {
                 $role = Role::whereName('administrator')->first();
             } else {
                 $role = Role::whereName('user')->first();
             }
             $newSocialUser->assignRole($role);
             $socialUser = $newSocialUser;
         } else {
             //Load this existing social user
             $socialUser = $sameSocialId->user;
         }
     }
     $this->auth->login($socialUser, true);
     if ($this->auth->user()->hasRole('user')) {
         return redirect('/');
     }
     if ($this->auth->user()->hasRole('administrator')) {
         return redirect('/');
     }
     if ($this->auth->user()->hasRole('super')) {
         return redirect('/');
     }
     return App::abort(500);
 }
 /**
  * StudentController constructor.
  */
 public function __construct()
 {
     $this->studentRoleId = Role::whereName('Student')->first()->id;
 }
Beispiel #18
0
 public function assignRole($role)
 {
     return $this->roles()->save(Role::whereName($role)->firstOrFail());
 }
 /**
  * @Given the permission with the name :arg1 has the role with the name :arg2
  */
 public function thePermissionWithTheNameHasTheRoleWithTheName($arg1, $arg2)
 {
     $permission = Permission::whereName($arg1)->firstOrFail();
     $role = Role::whereName($arg2)->firstOrFail();
     $permission->addRole($role);
 }
Beispiel #20
0
 public function removeRole($role)
 {
     return $this->roles()->detach(Role::whereName($role)->firstOrFail());
 }
 public function run()
 {
     DB::table('users')->delete();
     /**
      * faker library
      * 
      * @var 
      */
     $faker = Faker\Factory::create();
     /**
      * fetch id of roles where name is leader
      * 
      * @var integer
      */
     $leaderRole = Role::whereName('leader')->first();
     /**
      * fetch id of roles where name is worker
      * 
      * @var integer
      */
     $workerRole = Role::whereName('worker')->first();
     /**
      * Technical group
      * 
      * @var 
      */
     $technicalGroup = Group::whereName('Technical')->first();
     /**
      * Choir group
      * 
      * @var 
      */
     $choirGroup = Group::whereName('Choir')->first();
     /**
      * Ushering group
      * 
      * @var 
      */
     $usheringGroup = Group::whereName('Ushering')->first();
     /**
      * Populate two technical group leader users
      */
     foreach (range(1, 2) as $value) {
         User::create(['role_id' => $leaderRole->id, 'group_id' => $technicalGroup->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
     }
     /**
      * Populate two choir group leader users
      */
     foreach (range(1, 2) as $value) {
         User::create(['role_id' => $leaderRole->id, 'group_id' => $choirGroup->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
     }
     /**
      * Populate two ushering group leader users
      */
     foreach (range(1, 2) as $value) {
         User::create(['role_id' => $leaderRole->id, 'group_id' => $usheringGroup->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
     }
     /**
      * Populate five technical group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$technicalGroup->id]);
     }
     /**
      * Populate five choir group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$choirGroup->id]);
     }
     /**
      * Populate five ushering group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$usheringGroup->id]);
     }
     /**
      * Populate five ushering and technical group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$usheringGroup->id, $technicalGroup->id]);
     }
     /**
      * Populate five ushering and choir group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$usheringGroup->id, $choirGroup->id]);
     }
     /**
      * Populate five techinal and ushering group worker users
      */
     foreach (range(1, 5) as $value) {
         $user = User::create(['role_id' => $workerRole->id, 'is_verified' => true, 'name' => $faker->name, 'email' => $faker->email, 'password' => 'abc']);
         $user->groups()->sync([$technicalGroup->id, $choirGroup->id]);
     }
 }