Beispiel #1
1
 /**
  * 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'])]);
     // assign member role
     $member = \App\Role::where('name', 'member')->first();
     $user->attachRole($member);
     return $user;
 }
 public function post(Step2Request $request)
 {
     // if id is found, update advisor
     if ($advisor_id = $request->input('id')) {
         $advisor = Advisor::find($advisor_id);
         $advisor->update($request->all());
     } else {
         // create new advisor
         $advisor = new Advisor($request->all());
         $advisor->school_id = Session::get('school')->id;
         $advisor->event_id = Session::get('event')->id;
         $advisor->save();
     }
     Session::set('advisor', Advisor::find($advisor->id));
     if (!$request->input('other_school')) {
         // auto create first advisor
         $attendee = new Attendee();
         // split up the attending advisor name
         $attendee_name = explode(' ', $request->input('attending_advisor'));
         if (is_array($attendee_name) && count($attendee_name) > 1) {
             $attendee->first_name = $attendee_name[0];
             $attendee->last_name = $attendee_name[1];
         } else {
             $attendee->first_name = $request->input('attending_advisor');
             $attendee->last_name = '';
         }
         $attendee->event_id = Session::get('event')->id;
         $attendee->school_id = Session::get('school')->id;
         $attendee->role_id = Role::where(['name' => 'Advisor', 'event_id' => Session::get('event')->id])->first()->id;
         $attendee->advisor_id = Session::get('advisor')->id;
         $attendee->save();
         Flash::info(trans('notifications.edit_as_needed'));
     }
     return redirect('/event/' . Session::get('event')->slug . '/step/3');
 }
Beispiel #3
0
 public function edit($id)
 {
     $role_id = Users::find($id)->role_id;
     $role_name = App\Role::where('id', '=', $role_id)->value('role_name');
     $roles = App\Role::all()->toArray();
     $allRole = array();
     foreach ($roles as $role) {
         $allRole[] = $role;
     }
     $result = Users::find($id);
     $password = Users::find($id)->value('password');
     $listStatus = "";
     if ($result['status'] == 1) {
         $listStatus .= '<option value = "1" selected> Actived</option >';
         $listStatus .= '<option value = "0" > Not Active </option >';
     } else {
         $listStatus .= '<option value = "1" > Actived</option >';
         $listStatus .= '<option value = "0" selected> Not Active </option >';
     }
     $listRole = "";
     foreach ($allRole as $role) {
         if ($role_id == $role['id']) {
             $listRole .= '<option value = "' . $role_id . '" selected >' . $role_name . '</option >';
         } else {
             $listRole .= '<option value = "' . $role['id'] . '" >' . $role['role_name'] . '</option >';
         }
     }
     return view('admin.users.edit', compact('result'))->with(['password' => $password, 'listStatus' => $listStatus, 'listRole' => $listRole]);
 }
 public function run()
 {
     DB::table('users')->delete();
     User::create(['name' => 'Anonymous', 'password' => Hash::make('')]);
     $user = User::create(['name' => 'Steven Barnett', 'email' => '*****@*****.**', 'password' => Hash::make('reedsmetals')]);
     $user->roles()->save(Role::where('name', 'SuperAdmin')->first());
     $user->save();
     $user = User::create(['name' => 'Stephanie Barnett', 'email' => '*****@*****.**', 'password' => Hash::make('1')]);
     $user->roles()->save(Role::where('name', 'SuperAdmin')->first());
     $user->save();
     $user = User::create(['name' => 'Anna Hays', 'email' => '*****@*****.**', 'password' => Hash::make('reedsmetals')]);
     $user->roles()->save(Role::where('name', 'Developer')->first());
     $user->save();
     require 'employeeSeed.php';
     foreach ($employees as $employeeName => $employeeInfo) {
         if ($employeeInfo['email'] != null) {
             $user = User::create(['name' => $employeeName, 'email' => $employeeInfo['email'], 'password' => Hash::make('reedsmetals')]);
             foreach ($employeeInfo['roles'] as $role) {
                 $user->roles()->save(Role::where('name', $role)->first());
             }
             $user->save();
             echo "Created user: "******"\n";
         }
     }
 }
Beispiel #5
0
 /**
  * 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'])]);
     $role_user = \App\Role::where('role', '=', 'user')->first();
     $user->roles()->attach($role_user);
     return $user;
 }
 /**
  * Override setting the user_id attribute to automatically adjust user roles.
  * @param $value
  */
 public function setUserIdAttribute($value)
 {
     // Only process the change in permissions
     // if the assigned user has changed
     $old_id = $this->getAttributeValue('user_id');
     if ($old_id != $value) {
         // Don't allow self-unassignment
         if ($old_id == Auth::user()->id) {
             Flash::warning('You can\'t remove yourself from the committee');
             return;
         }
         // Get the necessary roles
         $committee = Role::where('name', 'committee')->first();
         $member = Role::where('name', 'member')->first();
         // Look through the database for any other committee roles for
         // the old user. If they exist then we don't want to remove
         // their committee permissions.
         $old_user = User::find($old_id);
         if ($old_user && $old_user->hasRole($committee->name)) {
             if (CommitteeRole::where('user_id', '=', $old_user->id)->where('id', '<>', $this->id)->get()->count() == 0) {
                 $old_user->detachRole($committee);
                 $old_user->attachRole($member);
             }
         }
         // Always give the new user committee permissions
         $new_user = User::find($value);
         if ($new_user && !$new_user->hasRole($committee->name)) {
             $new_user->attachRole($committee);
             $new_user->detachRole($member);
         }
     }
     // Set the new id
     $this->attributes['user_id'] = $value;
 }
Beispiel #7
0
 public function getRoleAttribute()
 {
     if ($this->roles->isEmpty()) {
         $this->attachRole(Role::where('name', '=', 'Narys')->get()->first());
     }
     return $this->roles->first();
 }
 /**
  * Run the database seeds.
  * @return void
  */
 public function run()
 {
     // Add the user
     $user_su2bc = User::create(["username" => "su2bc", "email" => "*****@*****.**", "password" => bcrypt(env("SU2BC_PWD")), "forename" => "Super", "surname" => "Admin", "status" => true], false);
     // Add the permissions
     $user_su2bc->roles()->save(Role::where('name', 'super_admin')->first());
 }
 public function revokeReport($report)
 {
     if (is_string($report)) {
         $report = Role::where('key', $report)->first();
     }
     return $this->reports()->detach($report);
 }
Beispiel #10
0
 /**
 * Method Name :Store
 * Insert data to User Table and consequencesly insert to Account, Carries and Downline table
 *
 *
 */
 public function store(UserRegRequest $request, User $user)
 {
     $uplineUser = User::where('username', $request->upline_id)->first();
     $referrarUser = User::where('username', $request->referrar_id)->first();
     $uplineId = $uplineUser->id;
     $requestValue = $request->placement;
     // return $request->full_name . "++". preg_replace('/\s+/', '', strtolower($request->username));
     // $username =
     $address = $request->address1 . "," . $request->address2;
     // return
     $user->insert([['username' => preg_replace('/\\s+/', '', strtolower($request->username)), 'full_name' => $request->full_name, 'gender' => $request->gender, 'email' => $request->email, 'password' => bcrypt($request->password), 'remember_token' => $request->_token, 'address' => $address, 'phone_number' => $request->phone_number, 'country' => $request->country, 'account_no' => 555210, 'referrar_id' => $referrarUser->id, 'upline_id' => $uplineUser->id, 'pin' => rand(1, 99999999), 'signup_date' => Carbon::now(), 'last_login_time' => Carbon::now()]]);
     $lastRegUser = $user->where('username', preg_replace('/\\s+/', '', strtolower($request->username)))->first();
     $role = Role::where('id', 3)->first();
     $lastRegUser->assign($role);
     Account::insert(['balance' => 0, 'roi_balance' => 0, 'user_id' => $lastRegUser->id, 'acc_type' => '0']);
     Carry::insert(['user_id' => $lastRegUser->id, 'left_carry' => 0, 'right_carry' => 0, 'matching_qualify' => 0]);
     Downline::insert(['user_id' => $lastRegUser->id, 'left_member_id' => 0, 'right_member_id' => 0]);
     /*Downline::where('user_id', $uplineUser->id)
       ->update(['right_member_id' => $request->placement]);*/
     /*return $downLineTable = Downline::where('user_id', $uplineId)->first();
       if($downLineTable->left_member_id == 0 && $request->placement != 'right'){
                   Downline::where('user_id', $uplineUser->id)
                               ->update(['left_member_id' => $lastRegUser->id]);  
               }
       else
               {
                  Downline::where('user_id', $uplineUser->id)
                   ->update(['right_member_id' => $lastRegUser->id]); 
               }
               */
     $position = preg_replace('/\\s+/', '', strtolower($requestValue)) . "_member_id";
     Downline::where('user_id', $uplineUser->id)->update([$position => $lastRegUser->id]);
     return redirect()->back();
 }
Beispiel #11
0
 /**
  * Run the database seeds.
  */
 public function run()
 {
     //初始化系统默认 Role
     foreach (['销售', '售后', '产品', '硬件'] as $name) {
         $role = Role::where('name', $name)->first();
         if (!$role) {
             $role = new Role();
         }
         $role->name = $name;
         $role->system = true;
         $role->save();
     }
     //销售权限设定
     $role = Role::where('name', '销售')->first();
     $role->perms = ['产品查看', '服务器查看', '硬件查看', '客户查看', '硬件查看', '项目查看', '客户信息管理', '项目签约', '项目信息管理', '项目模块管理', '项目参数管理', '项目硬件管理', '项目服务器管理'];
     $role->save();
     //售后权限设定
     $role = Role::where('name', '售后')->first();
     $role->perms = ['产品查看', '服务器查看', '硬件查看', '客户查看', '硬件查看', '项目查看', '项目信息管理', '项目模块管理', '项目参数管理', '项目硬件管理', '项目服务器管理', '服务器信息管理', '项目文件管理', '项目外出记录管理', '项目硬件部署管理'];
     $role->save();
     //产品权限设定
     $role = Role::where('name', '产品')->first();
     $role->perms = ['产品查看', '服务器查看', '硬件查看', '客户查看', '硬件查看', '项目查看', '产品信息管理', '产品类别管理', '产品模块管理', '产品参数管理', '服务器信息管理'];
     $role->save();
     //硬件权限设定
     $role = Role::where('name', '硬件')->first();
     $role->perms = ['产品查看', '服务器查看', '硬件查看', '客户查看', '硬件查看', '项目查看', '硬件管理'];
     $role->save();
 }
Beispiel #12
0
 public function revokeRole($role)
 {
     if (is_string($role)) {
         $role = Role::where('name', $role)->first();
     }
     return $this->roles()->detach($role);
 }
 public function editUser(EditUserRequest $request)
 {
     $user = User::where('username' == Input::get('name'))->first();
     $role = Role::where('name' == Input::get('name'));
     $user->assignRole($role);
     return redirect('/admin');
 }
Beispiel #14
0
 protected function checkRoleInheritance(User $user = null, $roleName)
 {
     //未登入直接不通過
     if (!$user) {
         return false;
     }
     //直接擁有該角色
     if ($user->hasRole($roleName)) {
         return true;
     }
     //檢查角色是否存在
     $role = Role::where('name', $roleName)->first();
     if (!$role) {
         return false;
     }
     //檢查擁有的角色,是否繼承欲檢查之角色
     $roleList = $user->roles;
     foreach ($roleList as $roleItem) {
         if (isset(static::$inheritance[$roleItem->name]) || array_key_exists($roleItem->name, static::$inheritance)) {
             //繼承表有該角色
             $roleInheritanceList = static::$inheritance[$roleItem->name];
             if (is_array($roleInheritanceList)) {
                 foreach ($roleInheritanceList as $roleInheritance) {
                     if ($roleInheritance = $role->name) {
                         return true;
                     }
                 }
             }
         }
     }
     return false;
 }
 public function register()
 {
     $enabled_registrations = [2, 3];
     $confirmation_code = str_random(30);
     $data = ['name' => Input::get('name'), 'email' => Input::get('email'), 'password' => Input::get('password'), 'role_id' => Input::get('role_id'), User::MOBILE_NUMBER => Input::get('mobile_number', NULL), User::DESCRIPTION => Input::get('description', NULL), User::IMAGE => Input::get('image', NULL), User::BIRTH_DATE => Input::get('birth_date', NULL), User::GENDER => Input::get('gender', NULL), 'confirmation_code' => $confirmation_code];
     if (!in_array($data['role_id'], $enabled_registrations)) {
         return "Invalid role";
     }
     if ($this->validator($data)) {
         $data = array_filter($data, 'strlen');
         $user = User::create($data);
         $user->roles()->attach($data['role_id']);
         $role = Role::where('name', 'Expert')->select(['id'])->first();
         if (!is_null($role)) {
             $role_id = $role->id;
             if ($role_id == $data['role_id']) {
                 $user_extra = $this->insertExtra($user->id);
                 //to be implemented
                 // mail has to be sent to the admin all details of the newly signed up expert.
                 $data = ["first_name" => isset($user_extra->first_name) && $user_extra->first_name != NULL ? $user_extra->first_name : "not available", "last_name" => isset($user_extra->last_name) && $user_extra->last_name != NULL ? $user_extra->last_name : "not available", "personal_email" => isset($user_extra->personal_email) && $user_extra->personal_email != NULL ? $user_extra->personal_email : "not available", "highest_degree" => isset($user_extra->highest_degree) && $user_extra->highest_degree != NULL ? $user_extra->highest_degree : "not available", "major_specialization" => isset($user_extra->major_specialization) && $user_extra->major_specialization != NULL ? $user_extra->major_specialization : "not available", "profession" => isset($user_extra->profession) && $user_extra->profession != NULL ? $user_extra->profession : "not available", "expert_area" => isset($user_extra->expert_area) && $user_extra->expert_area != NULL ? $user_extra->expert_area : "not available", "linkedin_url" => isset($user_extra->linkedin_url) && $user_extra->linkedin_url != NULL ? $user_extra->linkedin_url : "not available", "research_gate_id" => isset($user_extra->research_gate_id) && $user_extra->research_gate_id != NULL ? $user_extra->research_gate_id : "not available", "facebook_url" => isset($user_extra->facebook_url) && $user_extra->facebook_url != NULL ? $user_extra->facebook_url : "not available", "resume_url" => isset($user_extra->resume_url) && $user_extra->resume_url != NULL ? $user_extra->resume_url : "not available", "email" => isset($user->email) && $user->email != NULL ? $user->email : "not available", "mobile_number" => isset($user->mobile_number) && $user->mobile_number != NULL ? $user->mobile_number : "not available", "description" => isset($user->description) && $user->description != NULL ? $user->description : "not available", "gender" => isset($user->gender) && $user->gender != NULL ? $user->gender : "not available", "birth_date" => isset($user->birth_date) && $user->birth_date != NULL ? $user->birth_date : "not available", "image" => isset($user->image) && $user->image != NULL ? $user->image : "not available"];
                 Mail::send('email.email_to_admin', $data, function ($message) {
                     $message->to("*****@*****.**", "Admin")->subject('New Expert Registration');
                 });
             } else {
                 $this->dispatch(new SendRegistrationEmail($user));
             }
         }
         return "Registration Successfull";
     } else {
         return "Validation Error";
     }
 }
 public function assign($role)
 {
     if (is_string($role)) {
         return $this->roles()->save(Role::where('name', '=', $role)->first());
     }
     return $this->roles()->save($role);
 }
Beispiel #17
0
 /**
  * Obtain the user information from GitHub.
  *
  * @return Response
  */
 public function handleProviderCallback(Request $request)
 {
     // Used for development purposes. Hit /auth/google/callback
     // to get a dummy JWT for local use.
     if (\App::environment('local')) {
         $member = Member::findOrFail(1);
         if (!$member->hasRole('member')) {
             $member->attachRole(Role::where('name', 'member')->firstOrFail());
         }
         $token = JWTAuth::fromUser($member, ['level' => config('auth.levels.high'), 'member' => $member]);
         return response()->json($token);
     }
     $provider = new GoogleRitProvider($request);
     $user = $provider->user();
     if (array_get($user->user, 'domain', '') != 'g.rit.edu') {
         return new JsonResponse(['error' => 'domain user not authorized'], Response::HTTP_FORBIDDEN);
     }
     $member = Member::firstOrNew(['email' => $user->email]);
     $member->first_name = $user->user['name']['givenName'];
     $member->last_name = $user->user['name']['familyName'];
     $member->save();
     if (!$member->hasRole('member')) {
         $member->attachRole(Role::where('name', 'member')->firstOrFail());
     }
     $token = JWTAuth::fromUser($member, ['level' => config('auth.levels.high'), 'member' => $member]);
     if ($callback = $provider->getCallback()) {
         return redirect($callback . '?token=' . $token);
     } else {
         return response()->json(['token' => $token]);
     }
 }
Beispiel #18
0
 public function createUsers()
 {
     $inputs = Request::all();
     $userTypes = Request::get('userType');
     // Checking permission of user before creating new users
     $emails = json_decode(Request::input('users'));
     foreach ($emails as $email) {
         Log::info('username - ' . $email);
         $password = str_random(10);
         DB::table('users')->insert(['name' => $email, 'email' => $email, 'password' => bcrypt($password), 'type' => 'caller']);
         foreach ($userTypes as $userType) {
             // Making a 'userType' user
             $user = \App\User::where('name', '=', $email)->first();
             $caller = \App\Role::where('name', '=', $userType)->first();
             // role attach alias
             $user->attachRole($caller);
             // parameter can be an Role object, array, or id
         }
         $data = array('name' => $email, 'username' => $email, 'password' => $password);
         // Would sent a link to the user to activate his account
         // $this->sendLink($email);
         // \Mail::send('mail.email', $data, function ($message) use ($data) {
         //   $message->subject('Login Details ')
         //           ->to('*****@*****.**');
         // });
     }
     return view('create-users', ['page' => 'create-users']);
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     // Admin
     $admin = User::where(['email' => '*****@*****.**'])->first();
     $adminRole = Role::where(['name' => 'admin'])->first();
     $adminPermission = Permission::where(['name' => 'sudo'])->first();
     $admin->attachRole($adminRole);
     $adminRole->attachPermission($adminPermission);
     // PM
     $projectManager = User::where(['email' => '*****@*****.**'])->first();
     $projectManagerRole = Role::where(['name' => 'project-manager'])->first();
     $projectManagerPermission = Permission::where(['name' => 'listing-budget'])->first();
     $projectManager->attachRole($projectManagerRole);
     $projectManagerRole->attachPermission($projectManagerPermission);
     // Team Leader
     $teamLeader = User::where(['email' => '*****@*****.**'])->first();
     $teamLeaderRole = Role::where(['name' => 'team-leader'])->first();
     $teamLeaderPermission = Permission::where(['name' => 'make-timeline'])->first();
     $teamLeader->attachRole($teamLeaderRole);
     $teamLeaderRole->attachPermission($teamLeaderPermission);
     // Programmer
     $programmer = User::where(['email' => '*****@*****.**'])->first();
     $programmerRole = Role::where(['name' => 'programmer'])->first();
     $programmerPermission = Permission::where(['name' => 'knowing-tasks'])->first();
     $programmer->attachRole($programmerRole);
     $programmerRole->attachPermission($programmerPermission);
 }
Beispiel #20
0
 public function editUser(Request $request, $user_id)
 {
     if (empty($this->authUser)) {
         return 'Permission denied';
     } elseif ($this->authUser->role_id != 1 && $this->authUser->role_id != 4) {
         return 'Permission denied';
     }
     $user = User::find($user_id);
     if ($user->role_id == 1 && $this->authUser->role_id != 1) {
         return 'Permission denied';
     }
     if ($this->authUser->role_id == 1) {
         $role = Role::all();
     }
     if ($this->authUser->role_id == 4 && $user->role_id != 4) {
         $role = Role::where('role_id', '!=', 1)->where('role_id', '!=', 4)->get();
     }
     if ($this->authUser->role_id == 4 && $user->role_id == 4) {
         $role = Role::where('role_id', '=', 4)->get();
     }
     $selectRole = array();
     foreach ($role as $value) {
         $selectRole[$value->role_id] = $value->role_name;
     }
     if ($request->ajax()) {
         return view('admin.ajax.user.edit', compact('selectRole', 'user'));
     }
     return view('admin.page.user.edit', compact('selectRole', 'user'));
 }
Beispiel #21
0
 public function create()
 {
     View::share(['title' => Lang::get('content.create account'), 'sideBar' => NavigatorHelper::getSideBarBE()]);
     $model = new Role();
     //Not display SA
     $role = $model->where('id', '!=', 1)->get();
     return view('account.create', compact('role', $role));
 }
 /**
  * Run the database seeds.
  *
  * @return void
  */
 public function run()
 {
     DB::table('users')->delete();
     $adminRole = Role::where('name', 'Admin')->first();
     $userRole = Role::where('name', 'User')->first();
     User::create(['role_id' => $adminRole->id, 'firstname' => 'Admin', 'lastname' => 'Lastname', 'email' => '*****@*****.**', 'password' => bcrypt('root'), 'street' => 'Salesianenlaan', 'streetnumber' => '1', 'city' => 'Hoboken', 'postalcode' => '2660', 'country' => 'Belgium']);
     User::create(['role_id' => $userRole->id, 'firstname' => 'User', 'lastname' => 'Lastname', 'email' => '*****@*****.**', 'password' => bcrypt('root'), 'street' => 'Salesianenlaan', 'streetnumber' => '1', 'city' => 'Hoboken', 'postalcode' => '2660', 'country' => 'Belgium']);
 }
Beispiel #23
0
 protected function filter()
 {
     $roleName = Model_Role::where(['id' => Input::get('role')])->first();
     $roleName = $roleName ? $roleName->name : null;
     return [Filter::custom('role')->callback(function ($query, $parameter) {
         $query->getUserRole($parameter);
     })->title('Фильтр по роли: ' . $roleName)];
 }
 /**
  * Show the application dashboard to the user.
  *
  * @return Response
  */
 public function getPermissions()
 {
     if (!$this->user->canAdminRoles() || !$this->user->canAdminPermissions()) {
         return abort(403);
     }
     $roles = Role::where('system', true)->orderBy('weight', 'desc')->get();
     return $this->view(static::VIEW_ROLES, ['roles' => $roles]);
 }
Beispiel #25
0
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 public function create(array $data)
 {
     $user = User::create(['username' => $data['username'], 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password'])]);
     $user_role = Role::where('name', '=', 'user')->first();
     $user->assignRole($user_role);
     // id only
     return $user;
 }
 public function index()
 {
     View::share(['title' => 'Permission', 'sideBar' => NavigatorHelper::getSideBarBE()]);
     $user = Session::get('user');
     $userRole = $user['role_id'];
     $role = Role::where('id', '!=', 1)->where('id', '!=', $userRole)->get(['id', 'name'])->toArray();
     return view('permission.list')->with(['role' => $role]);
 }
 public function attachPermissionToRole(Request $request)
 {
     $roleName = $request->input('role');
     $role = Role::where('name', $roleName)->first();
     $permissionName = $request->input('permission');
     $permission = Permission::where('name', $permissionName)->first();
     $role->attachPermission($permission);
 }
 /**
  * @param $token
  * @return Redirect
  */
 public function confirmEmail($token)
 {
     $role = Role::where('id', 3)->first();
     $user = User::whereToken($token)->firstOrFail()->confirmEmail();
     \DB::table('role_user')->insert(['role_id' => $role->id, 'user_id' => $user->id]);
     Auth::login($user);
     // $user->assignRole($role);
     return redirect()->to('dashboard');
 }
Beispiel #29
-1
 /**
  * Add the User to the Database and Authenticate
  * @param Request $request 
  * @param User    $repo    
  */
 public function addUser(CrateUserRequest $request, User $repo)
 {
     $role = \App\Role::where('name', 'user')->get()->first();
     $user = $repo->create($request->all());
     $user->attachRole($role);
     Auth::attempt(['email' => $user->email, 'password' => $user->password]);
     return redirect()->route()->intended('registration');
 }
 /**
  * Create a new user instance after a valid registration.
  *
  * @param  array  $data
  * @return User
  */
 protected function create(array $data)
 {
     $user_string = str_replace(' ', '', $data['name'] . $data['surname'] . $data['class']);
     $user = User::create(['username' => strtolower($user_string), 'name' => $data['name'], 'surname' => $data['surname'], 'class' => $data['class'], 'password' => bcrypt($data['password'])]);
     $user->roles()->attach(Role::where('name', 'User')->get()->first());
     return $user;
 }