1
0
mirror of https://github.com/cydrobolt/polr.git synced 2024-09-19 15:11:40 +02:00

Complete sign up workflow, todo activation

This commit is contained in:
Chaoyi Zha 2015-11-08 18:13:35 -05:00
parent 72f221ccd0
commit 47744ef271
6 changed files with 32 additions and 15 deletions

View File

@ -0,0 +1,8 @@
<?php
namespace App\Helpers;
class AdminHelper {
public static function pass() {
}
}

View File

@ -30,18 +30,21 @@ class UserHelper {
}
public static function checkCredentials($username, $password) {
$hashed_password = Hash::make($password);
$user = User::where('active', 1)
->where('username', $username)
->where('password', $hashed_password)
->first();
if ($user == null) {
return false;
}
$correct_password = Hash::check($password, $user->password);
if (!$correct_password) {
return false;
}
else {
return true;
return ['username' => $username, 'role' => $user->role];
}
}
}

View File

@ -2,13 +2,15 @@
namespace App\Http\Controllers;
use Illuminate\Http\Request;
class IndexController extends Controller {
class AdminController extends Controller {
/**
* Show the admin panel, and process admin AJAX requests.
*
* @return Response
*/
public function displayAdminPage(Request $request) {
$role = session('role');
return view('admin');
}
}

View File

@ -5,6 +5,7 @@ use Mail;
use App\Models\User;
use Illuminate\Http\Request;
use App\Helpers\CryptoHelper;
use App\Helpers\UserHelper;
class UserController extends Controller {
/**
@ -31,8 +32,9 @@ class UserController extends Controller {
$credentials_valid = UserHelper::checkCredentials($username, $password);
if ($credentials_valid){
if ($credentials_valid != false) {
// log user in
$role = $credentials_valid['role'];
$request->session()->put('username', $username);
return redirect()->route('index');
}
@ -79,7 +81,7 @@ class UserController extends Controller {
$user = new User;
$user->username = $username;
$user->password = $hashed_password;
$user->recovery_key = $random_key;
$user->recovery_key = $recovery_key;
$user->active = 0;
$user->ip = $ip;
@ -87,7 +89,7 @@ class UserController extends Controller {
if ($acct_activation_needed == false) {
// if no activation is necessary
$user->active = 1;
return view('notice', [
$response = view('notice', [
'message' => 'Thanks for signing up! You may now log in.'
]);
}
@ -98,9 +100,12 @@ class UserController extends Controller {
], function ($m) use ($user) {
$m->to($user->email, $user->username)->subject(env('APP_NAME') . ' account activation');
});
return view('notice', [
$response = view('notice', [
'message' => 'Thanks for signing up! Please confirm your email to activate your account.'
]);
}
$user->save();
return $response;
}
}

View File

@ -8,11 +8,11 @@
<div class='col-md-6'>
<h2 class='title'>Register</h2>
<form action='handle-register.php' method='POST'>
<form action='{{route('psignup')}}' method='POST'>
Username: <input type='text' name='username' class='form-control form-field' placeholder='Username' />
Password: <input type='password' name='password' class='form-control form-field' placeholder='Password' />
Email: <input type='email' name='email' class='form-control form-field' placeholder='Email' />
<input type="hidden" name='_token' value='{{csrf_token()}}' />
<input type="submit" class="btn btn-default btn-success" value="Register"/>
<p class='login-prompt'>
<small>Already have an account? <a href='{{route('login')}}'>Login</a></small>

View File

@ -17,13 +17,12 @@
<li class="visible-xs"><a href="{{route('admin')}}">Dashboard</a></li>
</ul>
<ul id="navbar" class="nav pull-right navbar-nav hidden-xs">
@if (env('POLR_REGISTRATION') == true)
<li><a href="{{route('signup')}}">Sign Up</a></li>
@endif
<li class="divider-vertical"></li>
@if (empty(session('username')))
@if (env('POLR_REGISTRATION') == true)
<li><a href="{{route('signup')}}">Sign Up</a></li>
@endif
<li class="dropdown">
<a class="dropdown-toggle" href="#" data-toggle="dropdown">Sign In <strong class="caret"></strong></a>
<div class="dropdown-menu pull-right login-dropdown-menu" id="dropdown">