Fixed Edit User
This commit is contained in:
parent
2eb1fef4a2
commit
63f0f4ec1a
|
|
@ -33,7 +33,7 @@ class UserController extends Controller
|
|||
public function postEditUser(Request $request)
|
||||
{
|
||||
$rules = [
|
||||
'email' => ['required', 'email', 'exists:users,email,account_id,'.Auth::user()->account_id],
|
||||
'email' => ['required', 'email', 'unique:users,email,' . Auth::user()->id . ',id,account_id,' . Auth::user()->account_id],
|
||||
'new_password' => ['min:5', 'confirmed', 'required_with:password'],
|
||||
'password' => 'passcheck',
|
||||
'first_name' => ['required'],
|
||||
|
|
@ -44,7 +44,7 @@ class UserController extends Controller
|
|||
'email.email' => 'Please enter a valid E-mail address.',
|
||||
'email.required' => 'E-mail address is required.',
|
||||
'password.passcheck' => 'This password is incorrect.',
|
||||
'email.exists' => 'This E-mail has is already in use.',
|
||||
'email.unique' => 'This E-mail is already in use.',
|
||||
'first_name.required' => 'Please enter your first name.',
|
||||
];
|
||||
|
||||
|
|
@ -65,6 +65,7 @@ class UserController extends Controller
|
|||
|
||||
$user->first_name = $request->get('first_name');
|
||||
$user->last_name = $request->get('last_name');
|
||||
$user->email = $request->get('email');
|
||||
|
||||
$user->save();
|
||||
|
||||
|
|
|
|||
|
|
@ -1,89 +1,90 @@
|
|||
<div role="dialog" class="modal fade" style="display: none;">
|
||||
{!! Form::model($user, array('url' => route('postEditUser'), 'class' => 'ajax closeModalAfter')) !!}
|
||||
<div class="modal-dialog account_settings">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header text-center">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3 class="modal-title">
|
||||
<i class="ico-user"></i>
|
||||
My Profile</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
@if(!Auth::user()->first_name)
|
||||
<div class="alert alert-info">
|
||||
<b>
|
||||
Welcome to {{config('attendize.app_name')}}!
|
||||
</b><br>
|
||||
Before you continue please update your account with your name and a new password.
|
||||
{!! Form::model($user, array('url' => route('postEditUser'), 'class' => 'ajax closeModalAfter')) !!}
|
||||
{!! Form::password('meaningless_password') !!}
|
||||
<div class="modal-dialog account_settings">
|
||||
<div class="modal-content">
|
||||
<div class="modal-header text-center">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3 class="modal-title">
|
||||
<i class="ico-user"></i>
|
||||
My Profile</h3>
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{!! Form::label('first_name', 'First Name', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('first_name', Input::old('first_name'),
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
<div class="modal-body">
|
||||
@if(!Auth::user()->first_name)
|
||||
<div class="alert alert-info">
|
||||
<b>
|
||||
Welcome to {{config('attendize.app_name')}}!
|
||||
</b><br>
|
||||
Before you continue please update your account with your name and a new password.
|
||||
</div>
|
||||
@endif
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{!! Form::label('first_name', 'First Name', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('first_name', Input::old('first_name'),
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{!! Form::label('last_name', 'Last Name', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('last_name', Input::old('last_name'),
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group">
|
||||
{!! Form::label('last_name', 'Last Name', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('last_name', Input::old('last_name'),
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Email', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('email', Input::old('email'),
|
||||
array(
|
||||
'class'=>'form-control '
|
||||
)) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Email', array('class'=>'control-label required')) !!}
|
||||
{!! Form::text('email', Input::old('email'),
|
||||
array(
|
||||
'class'=>'form-control '
|
||||
)) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row more-options">
|
||||
<div class="col-md-12">
|
||||
<div class="row more-options">
|
||||
<div class="col-md-12">
|
||||
|
||||
<div class="form-group">
|
||||
{!! Form::label('password', 'Old Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('password',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('new_password', 'New Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('new_password',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('new_password_confirmation', 'Confirm New Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('new_password_confirmation',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
<div class="form-group">
|
||||
{!! Form::label('password', 'Old Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('password',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('new_password', 'New Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('new_password',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('new_password_confirmation', 'Confirm New Password', array('class'=>'control-label')) !!}
|
||||
{!! Form::password('new_password_confirmation',
|
||||
array(
|
||||
'class'=>'form-control'
|
||||
)) !!}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<a data-show-less-text='Hide Change Password' href="javascript:void(0);" class="in-form-link show-more-options">
|
||||
Change Password
|
||||
</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{!! Form::button('Cancel', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
|
||||
{!! Form::submit('Save Details', ['class' => 'btn btn-success pull-right']) !!}
|
||||
</div>
|
||||
<a data-show-less-text='Hide Change Password' href="javascript:void(0);" class="in-form-link show-more-options">
|
||||
Change Password
|
||||
</a>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
{!! Form::button('Cancel', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
|
||||
{!! Form::submit('Save Details', ['class' => 'btn btn-success pull-right']) !!}
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
use App\Attendize\Utils;
|
||||
|
||||
class UserTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Test login page is successful
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testLogin()
|
||||
{
|
||||
$this->visit(route('login'))
|
||||
->type($this->test_user_email, 'email')
|
||||
->type($this->test_user_password, 'password')
|
||||
->press('Login')
|
||||
->seePageIs(route('showCreateOrganiser', ['first_run' => '1']));
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,33 @@
|
|||
<?php
|
||||
|
||||
use Illuminate\Foundation\Testing\WithoutMiddleware;
|
||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||
use Illuminate\Foundation\Testing\DatabaseTransactions;
|
||||
use App\Attendize\Utils;
|
||||
|
||||
class UserTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* Test sign up page is successful
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testSignup()
|
||||
{
|
||||
$this->visit(route('showSignup'))
|
||||
->type('Joe', 'first_name')
|
||||
->type('Blogs', 'last_name')
|
||||
->type($this->faker->email, 'email')
|
||||
->type('password', 'password')
|
||||
->type('password', 'password_confirmation');
|
||||
|
||||
// Add checkbox submission for attendize (dev/cloud) only
|
||||
if (Utils::isAttendize()) {
|
||||
$this->check('terms_agreed');
|
||||
}
|
||||
|
||||
$this->press('Sign Up')
|
||||
->seePageIs(route('login'));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -7,37 +7,39 @@ use App\Attendize\Utils;
|
|||
|
||||
class UserTest extends TestCase
|
||||
{
|
||||
|
||||
/**
|
||||
* Test sign up page is successful
|
||||
* Test user edit page is successful
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testSignup()
|
||||
public function test_edit_user_is_successful()
|
||||
{
|
||||
$this->visit(route('showSignup'))
|
||||
->type('Joe', 'first_name')
|
||||
->type('Blogs', 'last_name')
|
||||
->type($this->faker->email, 'email')
|
||||
->type('password', 'password')
|
||||
->type('password', 'password_confirmation');
|
||||
$this->actingAs($this->test_user);
|
||||
|
||||
// Add checkbox submission for attendize (dev/cloud) only
|
||||
if (Utils::isAttendize()) {
|
||||
$this->check('terms_agreed');
|
||||
}
|
||||
$organiser = factory(App\Models\Organiser::class)->create(['account_id' => 1]);
|
||||
|
||||
$this->press('Sign Up')
|
||||
->seePageIs(route('login'));
|
||||
$server = array('HTTP_X-Requested-With' => 'XMLHttpRequest');
|
||||
|
||||
$firstName = $this->faker->firstName;
|
||||
$lastName = $this->faker->lastName;
|
||||
$email = 'new@email.com.au';
|
||||
$post = array(
|
||||
'first_name' => $firstName,
|
||||
'last_name' => $lastName,
|
||||
'email' => $email,
|
||||
);
|
||||
|
||||
$this->call('post', route('postEditUser'), $post, $server);
|
||||
|
||||
$this->seeJson([
|
||||
'status' => 'success',
|
||||
'message' => 'Successfully Edited User',
|
||||
]);
|
||||
|
||||
$user = App\Models\User::find($this->test_user->id);
|
||||
|
||||
$this->assertEquals($firstName, $user->first_name);
|
||||
$this->assertEquals($lastName, $user->last_name);
|
||||
$this->assertEquals($email, $user->email);
|
||||
}
|
||||
|
||||
public function testLogin()
|
||||
{
|
||||
$this->visit(route('login'))
|
||||
->type($this->test_user_email, 'email')
|
||||
->type($this->test_user_password, 'password')
|
||||
->press('Login')
|
||||
->seePageIs(route('showCreateOrganiser', ['first_run' => '1']));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue