Update for Signup and Login
This commit is contained in:
parent
6120216257
commit
b318a9dd23
|
|
@ -4,9 +4,9 @@ namespace App\Http\Controllers;
|
|||
|
||||
use Auth;
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
use Illuminate\Http\Request;
|
||||
use Input;
|
||||
use Redirect;
|
||||
use Request;
|
||||
use View;
|
||||
|
||||
class UserLoginController extends Controller
|
||||
|
|
@ -19,14 +19,20 @@ class UserLoginController extends Controller
|
|||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
public function showLogin()
|
||||
/**
|
||||
* Shows login form.
|
||||
*
|
||||
* @param Request $request
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function showLogin(Request $request)
|
||||
{
|
||||
|
||||
/*
|
||||
* If there's an ajax request to the login page assume the person has been
|
||||
* logged out and redirect them to the login page
|
||||
*/
|
||||
if (Request::ajax()) {
|
||||
if ($request->ajax()) {
|
||||
return Response::json([
|
||||
'status' => 'success',
|
||||
'redirectUrl' => route('login'),
|
||||
|
|
@ -37,20 +43,29 @@ class UserLoginController extends Controller
|
|||
}
|
||||
|
||||
/**
|
||||
* Handle the login.
|
||||
* Handles the login request.
|
||||
*
|
||||
* @return void
|
||||
* @param Request $request
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
public function postLogin()
|
||||
public function postLogin(Request $request)
|
||||
{
|
||||
$email = Input::get('email');
|
||||
$password = Input::get('password');
|
||||
$email = $request->get('email');
|
||||
$password = $request->get('password');
|
||||
|
||||
if ($this->auth->attempt(['email' => $email, 'password' => $password], true)) {
|
||||
return Redirect::to(route('showSelectOrganiser'));
|
||||
if (empty($email) || empty($password)) {
|
||||
return Redirect::back()
|
||||
->with(['message' => 'Please fill in your email and password', 'failed' => true])
|
||||
->withInput();
|
||||
}
|
||||
|
||||
return Redirect::to('login?failed=yup')->with('message', 'Your username/password combination was incorrect')
|
||||
->withInput();
|
||||
if ($this->auth->attempt(['email' => $email, 'password' => $password], true) === false) {
|
||||
return Redirect::back()
|
||||
->with(['message' => 'Your username/password combination was incorrect', 'failed' => true])
|
||||
->withInput();
|
||||
}
|
||||
|
||||
return Redirect::to(route('showSelectOrganiser'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,15 +5,10 @@ namespace App\Http\Controllers;
|
|||
use App\Attendize\Utils;
|
||||
use App\Models\Account;
|
||||
use App\Models\User;
|
||||
use Auth;
|
||||
use Hash;
|
||||
use Illuminate\Contracts\Auth\Guard;
|
||||
use Input;
|
||||
use Illuminate\Http\Request;
|
||||
use Mail;
|
||||
use Redirect;
|
||||
use Session;
|
||||
use Validator;
|
||||
use View;
|
||||
use Hash;
|
||||
|
||||
class UserSignupController extends Controller
|
||||
{
|
||||
|
|
@ -22,7 +17,7 @@ class UserSignupController extends Controller
|
|||
public function __construct(Guard $auth)
|
||||
{
|
||||
if (Account::count() > 0 && !Utils::isAttendize()) {
|
||||
return Redirect::route('login');
|
||||
return redirect()->route('login');
|
||||
}
|
||||
|
||||
$this->auth = $auth;
|
||||
|
|
@ -31,67 +26,51 @@ class UserSignupController extends Controller
|
|||
|
||||
public function showSignup()
|
||||
{
|
||||
return View::make('Public.LoginAndRegister.Signup');
|
||||
$is_attendize = Utils::isAttendize();
|
||||
return view('Public.LoginAndRegister.Signup', compact('is_attendize'));
|
||||
}
|
||||
|
||||
/**
|
||||
* Creates an account.
|
||||
*
|
||||
* @return void
|
||||
* @param Request $request
|
||||
*
|
||||
* @return Redirect
|
||||
*/
|
||||
public function postSignup()
|
||||
public function postSignup(Request $request)
|
||||
{
|
||||
$rules = [
|
||||
'email' => ['required', 'email', 'unique:users'],
|
||||
'password' => ['required', 'min:5', 'confirmed'],
|
||||
'first_name' => ['required'],
|
||||
'terms_agreed' => Utils::isAttendize() ? ['required'] : '',
|
||||
];
|
||||
$is_attendize = Utils::isAttendize();
|
||||
$this->validate($request, [
|
||||
'email' => 'required|email|unique:users',
|
||||
'password' => 'required|min:5|confirmed',
|
||||
'first_name' => 'required',
|
||||
'terms_agreed' => $is_attendize ? 'required' : '',
|
||||
]);
|
||||
|
||||
$messages = [
|
||||
'email.email' => 'Please enter a valid E-mail address.',
|
||||
'email.required' => 'E-mail address is required.',
|
||||
'password.required' => 'Password is required.',
|
||||
'password.min' => 'Your password is too short! Min 5 symbols.',
|
||||
'email.unique' => 'This E-mail has already been taken.',
|
||||
'first_name.required' => 'Please enter your first name.',
|
||||
'terms_agreed.required' => 'Please agree to our Terms of Service.',
|
||||
];
|
||||
|
||||
$validation = Validator::make(Input::all(), $rules, $messages);
|
||||
|
||||
if ($validation->fails()) {
|
||||
return Redirect::to('signup')->withInput()->withErrors($validation);
|
||||
}
|
||||
|
||||
$account = new Account();
|
||||
$account->email = Input::get('email');
|
||||
$account->first_name = Input::get('first_name');
|
||||
$account->last_name = Input::get('last_name');
|
||||
$account->currency_id = config('attendize.default_currency');
|
||||
$account->timezone_id = config('attendize.default_timezone');
|
||||
$account->save();
|
||||
$account_data = $request->only(['email', 'first_name', 'last_name']);
|
||||
$account_data['currency_id'] = config('attendize.default_currency');
|
||||
$account_data['timezone_id'] = config('attendize.default_timezone');
|
||||
$account = Account::create($account_data);
|
||||
|
||||
$user = new User();
|
||||
$user->email = Input::get('email');
|
||||
$user->first_name = Input::get('first_name');
|
||||
$user->last_name = Input::get('last_name');
|
||||
$user->password = Hash::make(Input::get('password'));
|
||||
$user->account_id = $account->id;
|
||||
$user->is_parent = 1;
|
||||
$user->is_registered = 1;
|
||||
$user->save();
|
||||
$user_data = $request->only(['email', 'first_name', 'last_name']);
|
||||
$user_data['password'] = Hash::make($request->get('password'));
|
||||
$user_data['account_id'] = $account->id;
|
||||
$user_data['is_parent'] = 1;
|
||||
$user_data['is_registered'] = 1;
|
||||
$user = User::create($user_data);
|
||||
|
||||
if (Utils::isAttendize()) {
|
||||
Mail::send('Emails.ConfirmEmail', ['first_name' => $user->first_name, 'confirmation_code' => $user->confirmation_code], function ($message) {
|
||||
$message->to(Input::get('email'), Input::get('first_name'))
|
||||
if ($is_attendize) {
|
||||
// TODO: Do this async?
|
||||
Mail::send('Emails.ConfirmEmail', ['first_name' => $user->first_name, 'confirmation_code' => $user->confirmation_code], function ($message) use ($request) {
|
||||
$message->to($request->get('email'), $request->get('first_name'))
|
||||
->subject('Thank you for registering for Attendize');
|
||||
});
|
||||
}
|
||||
|
||||
Session::flash('message', 'Success! You can now login.');
|
||||
session()->flash('message', 'Success! You can now login.');
|
||||
|
||||
return Redirect::to('login');
|
||||
return redirect('login');
|
||||
}
|
||||
|
||||
public function confirmEmail($confirmation_code)
|
||||
|
|
@ -99,7 +78,7 @@ class UserSignupController extends Controller
|
|||
$user = User::whereConfirmationCode($confirmation_code)->first();
|
||||
|
||||
if (!$user) {
|
||||
return \View::make('Public.Errors.Generic', [
|
||||
return view('Public.Errors.Generic', [
|
||||
'message' => 'The confirmation code is missing or malformed.',
|
||||
]);
|
||||
}
|
||||
|
|
@ -108,19 +87,10 @@ class UserSignupController extends Controller
|
|||
$user->confirmation_code = null;
|
||||
$user->save();
|
||||
|
||||
\Session::flash('message', 'Success! Your email is now verified. You can now login.');
|
||||
session()->flash('message', 'Success! Your email is now verified. You can now login.');
|
||||
|
||||
//$this->auth->login($user);
|
||||
|
||||
return Redirect::route('login');
|
||||
}
|
||||
|
||||
private function validateEmail($data)
|
||||
{
|
||||
$rules = [
|
||||
'email' => 'required|email|unique:users',
|
||||
];
|
||||
|
||||
return Validator::make($data, $rules);
|
||||
return redirect()->route('login');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,8 +15,38 @@ class Account extends MyBaseModel
|
|||
'email' => ['required', 'email'],
|
||||
];
|
||||
|
||||
public $dates = ['deleted_at'];
|
||||
|
||||
protected $messages = [];
|
||||
|
||||
protected $fillable = [
|
||||
'first_name',
|
||||
'last_name',
|
||||
'email',
|
||||
'timezone_id',
|
||||
'date_format_id',
|
||||
'datetime_format_id',
|
||||
'currency_id',
|
||||
'name',
|
||||
'last_ip',
|
||||
'last_login_date',
|
||||
'address1',
|
||||
'address2',
|
||||
'city',
|
||||
'state',
|
||||
'postal_code',
|
||||
'country_id',
|
||||
'email_footer',
|
||||
'is_active',
|
||||
'is_banned',
|
||||
'is_beta',
|
||||
'stripe_access_token',
|
||||
'stripe_refresh_token',
|
||||
'stripe_secret_key',
|
||||
'stripe_publishable_key',
|
||||
'stripe_data_raw'
|
||||
];
|
||||
|
||||
public function users()
|
||||
{
|
||||
return $this->hasMany('\App\Models\User');
|
||||
|
|
|
|||
|
|
@ -20,6 +20,7 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
|||
*/
|
||||
protected $table = 'users';
|
||||
|
||||
public $dates = ['deleted_at'];
|
||||
/**
|
||||
* The attributes excluded from the model's JSON form.
|
||||
*
|
||||
|
|
@ -27,6 +28,20 @@ class User extends Model implements AuthenticatableContract, CanResetPasswordCon
|
|||
*/
|
||||
protected $hidden = ['password'];
|
||||
|
||||
protected $fillable = [
|
||||
'account_id',
|
||||
'first_name',
|
||||
'last_name',
|
||||
'phone',
|
||||
'email',
|
||||
'password',
|
||||
'confirmation_code',
|
||||
'is_registered',
|
||||
'is_confirmed',
|
||||
'is_parent',
|
||||
'remember_token'
|
||||
];
|
||||
|
||||
public function account()
|
||||
{
|
||||
return $this->belongsTo('\App\Models\Account');
|
||||
|
|
|
|||
|
|
@ -86,9 +86,9 @@ return [
|
|||
*/
|
||||
|
||||
'custom' => [
|
||||
'attribute-name' => [
|
||||
'rule-name' => 'custom-message',
|
||||
],
|
||||
'terms_agreed' => [
|
||||
'required' => 'Please agree to our Terms of Service.'
|
||||
]
|
||||
],
|
||||
|
||||
/*
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ Forgot Password
|
|||
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Your Email') !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control']) !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control', 'autofocus' => true]) !!}
|
||||
</div>
|
||||
|
||||
<div class="form-group nm">
|
||||
|
|
|
|||
|
|
@ -1,9 +1,6 @@
|
|||
@extends('Shared.Layouts.MasterWithoutMenus')
|
||||
|
||||
@section('title')
|
||||
Login
|
||||
@stop
|
||||
|
||||
@section('title', 'Login')
|
||||
|
||||
@section('content')
|
||||
|
||||
|
|
@ -21,7 +18,7 @@
|
|||
{!!HTML::image('assets/images/logo-100x100-lightBg.png')!!}
|
||||
</div>
|
||||
|
||||
@if(Input::get('failed'))
|
||||
@if(Session::has('failed'))
|
||||
<h4 class="text-danger mt0">Whoops! </h4>
|
||||
<ul class="list-group">
|
||||
<li class='list-group-item'>Please check your details and try again.</li>
|
||||
|
|
@ -29,13 +26,12 @@
|
|||
@endif
|
||||
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Email') !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control']) !!}
|
||||
{!! Form::label('email', 'Email', ['class' => 'control-label']) !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control', 'autofocus' => true]) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
||||
{!! Form::label('password', 'Password') !!}
|
||||
(<a class="forgotPassword" href="{{route('forgotPassword')}}">Forgot password?</a>)
|
||||
{!! Form::label('password', 'Password', ['class' => 'control-label']) !!}
|
||||
(<a class="forgotPassword" href="{{route('forgotPassword')}}" tabindex="-1">Forgot password?</a>)
|
||||
{!! Form::password('password', ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
|
|
@ -44,15 +40,11 @@
|
|||
|
||||
@if(Utils::isAttendize())
|
||||
<div class="signup">
|
||||
<span>Don't have any account? <a class="semibold" href="/signup">Sign up</a></span>
|
||||
<span>Don't have any account? <a class="semibold" href="{{ url('signup') }}">Sign up</a></span>
|
||||
</div>
|
||||
@endif
|
||||
|
||||
</div>
|
||||
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
|
|
|
|||
|
|
@ -38,15 +38,15 @@ Forgot Password
|
|||
@endif
|
||||
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Your Email') !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control']) !!}
|
||||
{!! Form::label('email', 'Your Email', ['class' => 'control-label']) !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control', 'autofocus' => true]) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('password', 'New Password') !!}
|
||||
{!! Form::label('password', 'New Password', ['class' => 'control-label']) !!}
|
||||
{!! Form::password('password', ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('password_confirmation', 'Confirm Password') !!}
|
||||
{!! Form::label('password_confirmation', 'Confirm Password', ['class' => 'control-label']) !!}
|
||||
{!! Form::password('password_confirmation', ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
{!! Form::hidden('token', $token) !!}
|
||||
|
|
|
|||
|
|
@ -8,12 +8,9 @@ Sign Up
|
|||
@section('content')
|
||||
|
||||
<div class="row">
|
||||
<div class="col-lg-4 col-lg-offset-4">
|
||||
{!! Form::open(array('url' => 'signup', 'class' => 'panel')) !!}
|
||||
|
||||
|
||||
<div class="col-md-7 col-md-offset-2">
|
||||
{!! Form::open(array('url' => 'signup', 'class' => 'panel')) !!}
|
||||
<div class="panel-body">
|
||||
|
||||
<div class="logo">
|
||||
{!!HTML::image('assets/images/logo-100x100-lightBg.png')!!}
|
||||
</div>
|
||||
|
|
@ -22,47 +19,59 @@ Sign Up
|
|||
<div class="alert alert-info">
|
||||
You're almost there. Just create a user account and you're ready to go.
|
||||
</div>
|
||||
@endif
|
||||
|
||||
@if($errors->has())
|
||||
<h4 class="text-danger mt0">Whoops! </h4>
|
||||
<ul class="list-group">
|
||||
@foreach ($errors->all() as $error)
|
||||
<li class='list-group-item'>{{ $error }}</li>
|
||||
@endforeach
|
||||
</ul>
|
||||
@endif
|
||||
|
||||
<div class="form-group">
|
||||
{!! Form::label('first_name', 'First Name') !!}
|
||||
{!! Form::text('first_name', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('last_name', 'Last Name') !!}
|
||||
{!! Form::text('last_name', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('email', 'Email') !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('password', 'Password') !!}
|
||||
{!! Form::password('password', ['class' => 'form-control']) !!}
|
||||
</div>
|
||||
<div class="form-group">
|
||||
{!! Form::label('password_confirmation', 'Password again') !!}
|
||||
{!! Form::password('password_confirmation', ['class' => 'form-control']) !!}
|
||||
@endif
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="form-group {{ ($errors->has('first_name')) ? 'has-error' : '' }}">
|
||||
{!! Form::label('first_name', 'First Name', ['class' => 'control-label required']) !!}
|
||||
{!! Form::text('first_name', null, ['class' => 'form-control']) !!}
|
||||
@if($errors->has('first_name'))
|
||||
<p class="help-block">{{ $errors->first('first_name') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div class="form-group {{ ($errors->has('last_name')) ? 'has-error' : '' }}">
|
||||
{!! Form::label('last_name', 'Last Name', ['class' => 'control-label']) !!}
|
||||
{!! Form::text('last_name', null, ['class' => 'form-control']) !!}
|
||||
@if($errors->has('last_name'))
|
||||
<p class="help-block">{{ $errors->first('last_name') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if(Utils::isAttendize())
|
||||
<div class="form-group">
|
||||
<div class="row">
|
||||
<div class="col-xs-12">
|
||||
<div class="checkbox custom-checkbox">
|
||||
{!! Form::checkbox('terms_agreed', Input::old('terms_agreed'), false, ['id' => 'terms_agreed']) !!}
|
||||
{!! Form::rawLabel('terms_agreed', ' I agree to <a target="_blank" href="'.route('termsAndConditions').'"> Terms & Conditions </a>') !!}
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group {{ ($errors->has('email')) ? 'has-error' : '' }}">
|
||||
{!! Form::label('email', 'Email', ['class' => 'control-label required']) !!}
|
||||
{!! Form::text('email', null, ['class' => 'form-control']) !!}
|
||||
@if($errors->has('email'))
|
||||
<p class="help-block">{{ $errors->first('email') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="form-group {{ ($errors->has('password')) ? 'has-error' : '' }}">
|
||||
{!! Form::label('password', 'Password', ['class' => 'control-label required']) !!}
|
||||
{!! Form::password('password', ['class' => 'form-control']) !!}
|
||||
@if($errors->has('password'))
|
||||
<p class="help-block">{{ $errors->first('password') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
<div class="form-group {{ ($errors->has('password_confirmation')) ? 'has-error' : '' }}">
|
||||
{!! Form::label('password_confirmation', 'Password again', ['class' => 'control-label required']) !!}
|
||||
{!! Form::password('password_confirmation', ['class' => 'form-control']) !!}
|
||||
@if($errors->has('password_confirmation'))
|
||||
<p class="help-block">{{ $errors->first('password_confirmation') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
|
||||
@if($is_attendize)
|
||||
<div class="form-group {{ ($errors->has('terms_agreed')) ? 'has-error' : '' }}">
|
||||
<div class="checkbox custom-checkbox">
|
||||
{!! Form::checkbox('terms_agreed', Input::old('terms_agreed'), false, ['id' => 'terms_agreed']) !!}
|
||||
{!! Form::rawLabel('terms_agreed', ' I agree to <a target="_blank" href="'.route('termsAndConditions').'"> Terms & Conditions </a>') !!}
|
||||
@if ($errors->has('terms_agreed'))
|
||||
<p class="help-block">{{ $errors->first('terms_agreed') }}</p>
|
||||
@endif
|
||||
</div>
|
||||
</div>
|
||||
@endif
|
||||
|
|
@ -71,13 +80,13 @@ Sign Up
|
|||
{!! Form::submit('Sign Up', array('class'=>"btn btn-block btn-success")) !!}
|
||||
</div>
|
||||
|
||||
@if(Utils::isAttendize())
|
||||
<div class="signup">
|
||||
<span>Already have account? <a class="semibold" href="/login">Sign In</a></span>
|
||||
@if($is_attendize)
|
||||
<div class="signup">
|
||||
<span>Already have account? <a class="semibold" href="/login">Sign In</a></span>
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
@endif
|
||||
</div>
|
||||
{!! Form::close() !!}
|
||||
{!! Form::close() !!}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue