public function postCreate()
    {
        try {
            $validator = new UserValidator(Input::all(), 'create');

            $permissionsValues = Input::get('permission');
            $permissions = $this->_formatPermissions($permissionsValues);

            if(!$validator->passes()) {
                return Response::json(array('userCreated' => false, 'errorMessages' => $validator->getErrors()));
            }

            // create user
            $user = Sentry::getUserProvider()->create(array(
                'email'    => Input::get('email'),
                'password' => Input::get('pass'),
                'username' => Input::get('username'),
                'last_name' => (string)Input::get('last_name'),
                'first_name' => (string)Input::get('first_name'),
                'permissions' => $permissions
            ));

            // activate user
            $activationCode = $user->getActivationCode();
            if(Config::get('syntara::config.user-activation') === 'auto') {
                $user->attemptActivation($activationCode);
            } elseif(Config::get('syntara::config.user-activation') === 'email') {
                $datas = array(
                    'code' => $activationCode,
                    'username' => $user->username
                );

                // send email
                Mail::queue(Config::get('syntara::mails.user-activation-view'), $datas, function ($message) use ($user) {
                    $message->from(Config::get('syntara::mails.email'), Config::get('syntara::mails.contact'))
                            ->subject(Config::get('syntara::mails.user-activation-object'));
                    $message->to($user->getLogin());
                });
            }

            $groups = Input::get('groups');
            if(isset($groups) && is_array($groups)) {
                foreach($groups as $groupId) {
                    $group = Sentry::getGroupProvider()->findById($groupId);
                    $user->addGroup($group);
                }
            }
        } catch (\Cartalyst\Sentry\Users\LoginRequiredException $e){} // already catch by validators
        catch (\Cartalyst\Sentry\Users\PasswordRequiredException $e){} // already catch by validators
        catch (\Cartalyst\Sentry\Groups\GroupNotFoundException $e){} catch (\Cartalyst\Sentry\Users\UserExistsException $e) {
            return json_encode(array('userCreated' => false, 'message' => trans('syntara::users.messages.user-email-exists'), 'messageType' => 'danger'));
        } catch(\Exception $e) {
            return Response::json(array('userCreated' => false, 'message' => trans('syntara::users.messages.user-name-exists'), 'messageType' => 'danger'));
        }

        return json_encode(array('userCreated' => true, 'redirectUrl' => URL::route('listUsers')));
    }
public function postCreate()
    {
        try {
            $validator = new UserValidator(Input::all(), 'create');

            $permissionsValues = Input::get('permission');
            $permissions = $this->_formatPermissions($permissionsValues);

            if(!$validator->passes()) {
                return Response::json(array('userCreated' => false, 'errorMessages' => $validator->getErrors()));
            }

            // create user
            $user = Sentry::getUserProvider()->create(array(
                'email'    => Input::get('email'),
                'password' => Input::get('pass'),
                'username' => Input::get('username'),
                'last_name' => (string)Input::get('last_name'),
                'first_name' => (string)Input::get('first_name'),
                'permissions' => $permissions
            ));

            // activate user
            $activationCode = $user->getActivationCode();
            if(Config::get('syntara::config.user-activation') === 'auto') {
                $user->attemptActivation($activationCode);
            } elseif(Config::get('syntara::config.user-activation') === 'email') {
                $datas = array(
                    'code' => $activationCode,
                    'username' => $user->username
                );

                // send email
                Mail::queue(Config::get('syntara::mails.user-activation-view'), $datas, function ($message) use ($user) {
                    $message->from(Config::get('syntara::mails.email'), Config::get('syntara::mails.contact'))
                            ->subject(Config::get('syntara::mails.user-activation-object'));
                    $message->to($user->getLogin());
                });
            }

            $groups = Input::get('groups');
            if(isset($groups) && is_array($groups)) {
                foreach($groups as $groupId) {
                    $group = Sentry::getGroupProvider()->findById($groupId);
                    $user->addGroup($group);
                }
            }
        } catch (\Cartalyst\Sentry\Users\LoginRequiredException $e){} // already catch by validators
        catch (\Cartalyst\Sentry\Users\PasswordRequiredException $e){} // already catch by validators
        catch (\Cartalyst\Sentry\Groups\GroupNotFoundException $e){} catch (\Cartalyst\Sentry\Users\UserExistsException $e) {
            return json_encode(array('userCreated' => false, 'message' => trans('syntara::users.messages.user-email-exists'), 'messageType' => 'danger'));
        } catch(\Exception $e) {
            return Response::json(array('userCreated' => false, 'message' => trans('syntara::users.messages.user-name-exists'), 'messageType' => 'danger'));
        }

        return json_encode(array('userCreated' => true, 'redirectUrl' => URL::route('listUsers')));
    }
public function postCreate ( ) { try { $ validator = new UserValidator ( Input :: all ( ) , 'create' ) ; $ permissionsValues = Input :: get ( 'permission' ) ; $ permissions = $ this -> _formatPermissions ( $ permissionsValues ) ; if ( ! $ validator -> passes ( ) ) { return Response :: json ( array ( 'userCreated' => false , 'errorMessages' => $ validator -> getErrors ( ) ) ) ; } // create user $ user = Sentry :: getUserProvider ( ) -> create ( array ( 'email' => Input :: get ( 'email' ) , 'password' => Input :: get ( 'pass' ) , 'username' => Input :: get ( 'username' ) , 'last_name' => ( string ) Input :: get ( 'last_name' ) , 'first_name' => ( string ) Input :: get ( 'first_name' ) , 'permissions' => $ permissions ) ) ; // activate user $ activationCode = $ user -> getActivationCode ( ) ; if ( Config :: get ( 'syntara::config.user-activation' ) === 'auto' ) { $ user -> attemptActivation ( $ activationCode ) ; } elseif ( Config :: get ( 'syntara::config.user-activation' ) === 'email' ) { $ datas = array ( 'code' => $ activationCode , 'username' => $ user -> username ) ; // send email Mail :: queue ( Config :: get ( 'syntara::mails.user-activation-view' ) , $ datas , function ( $ message ) use ( $ user ) { $ message -> from ( Config :: get ( 'syntara::mails.email' ) , Config :: get ( 'syntara::mails.contact' ) ) -> subject ( Config :: get ( 'syntara::mails.user-activation-object' ) ) ; $ message -> to ( $ user -> getLogin ( ) ) ; } ) ; } $ groups = Input :: get ( 'groups' ) ; if ( isset ( $ groups ) && is_array ( $ groups ) ) { foreach ( $ groups as $ groupId ) { $ group = Sentry :: getGroupProvider ( ) -> findById ( $ groupId ) ; $ user -> addGroup ( $ group ) ; } } } catch ( \ Cartalyst \ Sentry \ Users \ LoginRequiredException $ e ) { } // already catch by validators catch ( \ Cartalyst \ Sentry \ Users \ PasswordRequiredException $ e ) { } // already catch by validators catch ( \ Cartalyst \ Sentry \ Groups \ GroupNotFoundException $ e ) { } catch ( \ Cartalyst \ Sentry \ Users \ UserExistsException $ e ) { return json_encode ( array ( 'userCreated' => false , 'message' => trans ( 'syntara::users.messages.user-email-exists' ) , 'messageType' => 'danger' ) ) ; } catch ( \ Exception $ e ) { return Response :: json ( array ( 'userCreated' => false , 'message' => trans ( 'syntara::users.messages.user-name-exists' ) , 'messageType' => 'danger' ) ) ; } return json_encode ( array ( 'userCreated' => true , 'redirectUrl' => URL :: route ( 'listUsers' ) ) ) ; }
Create new user
Create new user