public function action_create() { \View::set_global('title', 'Add New User'); if (\Input::post()) { // Validate input parameters $val = \Validation::forge('admin_details_validation'); $val->add('first_name', 'First Name')->add_rule('required')->add_rule('min_length', 2)->add_rule('max_length', 255); $val->add('last_name', 'Last Name')->add_rule('required')->add_rule('min_length', 2)->add_rule('max_length', 255); $val->add('email', 'Email')->add_rule('required')->add_rule('valid_email'); $val->add('password', 'Password')->add_rule('min_length', 8); $val->add('confirm_password', 'Confirm Password')->add_rule('required_with', 'password')->add_rule('match_field', 'password'); $val->add('username', 'Username')->add_rule('required')->add_rule('unique', array('users', 'username', $id)); if ($val->run()) { // Get Input parameters $post_data = \Input::post(); try { $fields = array('username' => $post_data['username'], 'email' => $post_data['email'], 'password' => $post_data['password'], 'metadata' => array('first_name' => $post_data['first_name'], 'last_name' => $post_data['last_name'])); $user_group = $post_data['user_group']; if (empty($post_data['password'])) { unset($fields['password']); } $item = new \Sentry_User((int) $id); $create = $item->create($fields); $user = \Sentry::user($create); // $item->remove_from_group((int)$fields['user_group']); // $item->add_to_group((int)$fields['user_group']); if ($create and $user->add_to_group($user_group)) { // $user_groups = $item->groups(); // if(!empty($user_groups)) // { // // Remove user from all other groups... // foreach($user_groups as $value) // { // $item->remove_from_group((int)$value['id']); // } // } // $item = new \Sentry_User((int)$id); // // ...and add it to selected one // $item->add_to_group((int)$user_group); \Messages::success('User Details Successfully Created.'); \Response::redirect(\Uri::admin('current')); } else { \Messages::error('There was an error while trying to update User details.'); } } catch (Sentry\SentryException $e) { \Messages::error($e->get_message()); } } else { if ($val->error() != array()) { // Show validation errors \Messages::error('<strong>There was an error while trying to update User details</strong>'); foreach ($val->error() as $e) { \Messages::error($e->get_message()); } } } } \Theme::instance()->set_partial('content', $this->view_dir . 'create'); }