v1.1.0 - Users can now sign up (Automatically gets 'Bruger' role)
This commit is contained in:
parent
3b86e29c00
commit
e483400d82
|
@ -24,8 +24,8 @@ class UserController extends Controller
|
||||||
{
|
{
|
||||||
$this->middleware([ "auth" ])->only(["accountupdate", "accountedit", "accounteditpass", "account", "logout"]);
|
$this->middleware([ "auth" ])->only(["accountupdate", "accountedit", "accounteditpass", "account", "logout"]);
|
||||||
|
|
||||||
$this->middleware([ "guest" ])->only(["login", "signup"]);
|
$this->middleware([ "guest" ])->only(["login", "signup", "signupStore"]);
|
||||||
$this->middleware([ "lang" ])->except(["login", "showLogin", "showForgot", "forgot","signup"]);
|
$this->middleware([ "lang" ])->except(["login", "showLogin", "showForgot", "forgot", "signup", "nameCheck", "signupStore"]);
|
||||||
|
|
||||||
$this->middleware([ "check.auth:user.show" ])->only("show", "index");
|
$this->middleware([ "check.auth:user.show" ])->only("show", "index");
|
||||||
$this->middleware([ "check.auth:user.create" ])->only("create");
|
$this->middleware([ "check.auth:user.create" ])->only("create");
|
||||||
|
@ -645,10 +645,27 @@ class UserController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public function signup(){
|
public function signup(){
|
||||||
//return redirect()->route("users.signup");
|
//return redirect()->route("users.signup");
|
||||||
return Response::detect("users.signup");
|
return Response::detect("users.signup");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function signupStore(Request $request){
|
||||||
|
$data = $request->validate([
|
||||||
|
"name_first" => "required|max:255",
|
||||||
|
"name_last" => "required|max:255",
|
||||||
|
"email" => "required",
|
||||||
|
"password" => "required|max:60",
|
||||||
|
"phone" => "required|max:8|min:8",
|
||||||
|
]);
|
||||||
|
|
||||||
|
|
||||||
|
$user = new User($data);
|
||||||
|
|
||||||
|
$user->assignRole("Bruger");
|
||||||
|
$user->save();
|
||||||
|
|
||||||
|
return redirect()->route('users.login');
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<label hidden id="erroremail">Der findes allerede en bruger med denne email!</label>
|
<label hidden id="erroremail">Der findes allerede en bruger med denne email!</label>
|
||||||
<input type="email" name="email" id="email" placeholder="x@y.z" required>
|
<input type="email" name="email" id="email" placeholder="x@y.z" required>
|
||||||
<label for="password1">Adgangskode:</label>
|
<label for="password1">Adgangskode:</label>
|
||||||
<label hidden id="errornotsamepass" for="errormesseages" >Der stod ikke det samme i `Adgangskode` & `Bekræft Adgangskode`!</label>
|
<label hidden id="errornotsamepass" for="errormesseages" >Der stod ikke det samme i Adgangskode & Bekræft Adgangskode!</label>
|
||||||
<div class="input-group text-left">
|
<div class="input-group text-left">
|
||||||
<input type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Adgangskoden skal indeholde mindst et tal, et lille bogstav, et stort bogstav og have en minimumslængde på 8 karakterer" class="form-control" name="password" id="password1" placeholder="******" required>
|
<input type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Adgangskoden skal indeholde mindst et tal, et lille bogstav, et stort bogstav og have en minimumslængde på 8 karakterer" class="form-control" name="password" id="password1" placeholder="******" required>
|
||||||
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-new" onclick="show('password1', 'fa-new')"></span>
|
<span class="fa fa-fw fa-eye field-icon toggle-password" id="fa-new" onclick="show('password1', 'fa-new')"></span>
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
<main style="justify-content: unset">
|
<main style="justify-content: unset">
|
||||||
<h1 class="text-center sde-blue mb-0" style="margin-bottom: 2rem">{{ __('msg.omkring') }}</h1>
|
<h1 class="text-center sde-blue mb-0" style="margin-bottom: 2rem">{{ __('msg.omkring') }}</h1>
|
||||||
<h4 class="mb-0 mt-1">Version:</h4>
|
<h4 class="mb-0 mt-1">Version:</h4>
|
||||||
<p>1.0.0-c</p>
|
<p>1.0</p>
|
||||||
<h4 class="mb-0 mt-1">{{__("msg.omappen")}}:</h4>
|
<h4 class="mb-0 mt-1">{{__("msg.omappen")}}:</h4>
|
||||||
<p>{{__("msg.infoomappen")}}</p>
|
<p>{{__("msg.infoomappen")}}</p>
|
||||||
<!--<h4 class="mb-1 mt-1">{{__("msg.programmedby")}}:</h4>
|
<!--<h4 class="mb-1 mt-1">{{__("msg.programmedby")}}:</h4>
|
||||||
|
|
|
@ -26,6 +26,7 @@
|
||||||
{!! session()->get('error#wrongcredentials') !!}
|
{!! session()->get('error#wrongcredentials') !!}
|
||||||
{!! session()->get('success#loggedout') !!}
|
{!! session()->get('success#loggedout') !!}
|
||||||
<input class="btn btn-dark" type="submit" value="Sign in">
|
<input class="btn btn-dark" type="submit" value="Sign in">
|
||||||
|
<button type="button" class="btn btn-dark" onclick="location.href = '{{ route("users.signup") }}'" style="line-height: 2rem;">Register</button>
|
||||||
</form>
|
</form>
|
||||||
<a class="text-white text-center" href="{{ route('users.show-forgot') }}">Forgot password?</a>
|
<a class="text-white text-center" href="{{ route('users.show-forgot') }}">Forgot password?</a>
|
||||||
</main>
|
</main>
|
||||||
|
|
|
@ -5,51 +5,99 @@
|
||||||
@endsection
|
@endsection
|
||||||
|
|
||||||
@section("content")
|
@section("content")
|
||||||
<style>
|
|
||||||
img{
|
|
||||||
margin-top: 30%;
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
<main style="background-color: #00788a; height: 100%;">
|
<main style="background-color: #00788a; height: 100%;">
|
||||||
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
|
||||||
<div class="brand">
|
<div class="brand">
|
||||||
<img src="{{URL::asset('/images/logos/Logo-hvid.svg')}}" alt="Syddansk Erhvervsskole">
|
<img src="{{URL::asset('/images/logos/Logo-hvid.svg')}}" alt="Syddansk Erhvervsskole">
|
||||||
</div>
|
</div>
|
||||||
<form action="{{ route("users.store") }}" method="post">
|
<form action="{{ route("users.signupStore") }}" method="post" onsubmit="return checkInputs()">
|
||||||
@csrf
|
@csrf
|
||||||
|
<label hidden id="erroremail">E-mail already exists</label>
|
||||||
|
<label hidden id="errornotsamepass" for="errormesseages">Password dosen't match</label>
|
||||||
|
<label hidden id="errorphone">Phone number already in use</label>
|
||||||
<input class="appinput" type="text" name="name_first" placeholder="Firstname" required>
|
<input class="appinput" type="text" name="name_first" placeholder="Firstname" required>
|
||||||
<input class="appinput" type="text" name="name_last" placeholder="Lastname" required>
|
<input class="appinput" type="text" name="name_last" placeholder="Lastname" required>
|
||||||
<input class="appinput" type="email" name="email" placeholder="E-mail" required>
|
<input class="appinput" type="email" id="email" name="email" placeholder="E-mail" required>
|
||||||
<input class="appinput" type="password" name="password" id="password1" placeholder="Password" required>
|
<input class="appinput" type="password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,}" title="Must contain at least one number and one uppercase and lowercase letter, and at least 8 or more characters" name="password" id="password1" placeholder="Password" required>
|
||||||
<label hidden id="errornotsamepass" for="errormesseages">Password dosen't match</label>
|
|
||||||
<input class="appinput" type="password" name="password2" id="password2" placeholder="Confirm password" required>
|
<input class="appinput" type="password" name="password2" id="password2" placeholder="Confirm password" required>
|
||||||
<input class="appinput" type="tel" name="phone" placeholder="Phone number" required>
|
<input class="appinput" type="tel" id="phone" name="phone" placeholder="Phone number" pattern="[0-9]{2}[0-9]{2}[0-9]{2}[0-9]{2}" required style="margin-bottom: 1.5rem;">
|
||||||
<label style="color: white">Education end date:</label>
|
<!--<label style="color: white">Education end date:</label>
|
||||||
<input class="appinput" type="date" name="eduenddate" placeholder="Education end date" required>
|
<input class="appinput" type="date" name="eduenddate" placeholder="Education end date" required>-->
|
||||||
<!--Koncept-->
|
<!--Koncept-->
|
||||||
<label style="color: white" for="edu">Education:</label>
|
<!--<label style="color: white" for="edu">Education:</label>
|
||||||
<select style="color: white" name="edu" id="edu">
|
<select style="color: white" name="edu" id="edu">
|
||||||
<option value="datapro">Datatekniker med programmering</option>
|
<option value="datapro">Datatekniker med programmering</option>
|
||||||
<option value="datainf">Datatekniker med infrastruktur</option>
|
<option value="datainf">Datatekniker med infrastruktur</option>
|
||||||
<option value="dataits">Datatekniker med IT-Support</option>
|
<option value="dataits">Datatekniker med IT-Support</option>-->
|
||||||
<!--<option value="saab">Murer</option>
|
<!--<option value="saab">Murer</option>
|
||||||
<option value="opel">Tømmer</option>
|
<option value="opel">Tømmer</option>
|
||||||
<option value="audi">Maler</option>-->
|
<option value="audi">Maler</option>-->
|
||||||
</select>
|
<!--</select>-->
|
||||||
<!--Koncept-->
|
<!--Koncept-->
|
||||||
<input class="btn btn-dark" type="submit" id="disable" value="Sign up">
|
<input class="btn btn-dark" type="submit" id="disable" value="Sign up">
|
||||||
|
<input onclick="window.history.back()" class="btn btn-dark text-center " value="Back">
|
||||||
</form>
|
</form>
|
||||||
<button onclick="window.history.back()" class="btn btn-dark" >Back</button>
|
|
||||||
</main>
|
</main>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
if ($('#password1').val() != $('#password2').val()) {
|
$(function() {
|
||||||
$("#errornotsamepass").show(100);
|
$('form').areYouSure(
|
||||||
$("#errornotsamepass").css('color', 'red');
|
{
|
||||||
$("#disable").prop('disabled', true);
|
message: 'It looks like you have been editing something. '
|
||||||
} else
|
+ 'If you leave before saving, your changes will be lost.'
|
||||||
$("#errornotsamepass").hide();
|
}
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
function checkInputs() {
|
||||||
|
var save = true;
|
||||||
|
$mail = $('#email').val();
|
||||||
|
$phone = $('#phone').val();
|
||||||
|
$.ajax({
|
||||||
|
'async': false,
|
||||||
|
type: 'get',
|
||||||
|
url: '{{route('users.nameCheck')}}',
|
||||||
|
data: {'mailCheck':$mail, 'phoneCheck':$phone},
|
||||||
|
success:function (data) {
|
||||||
|
if (data == 'both') {
|
||||||
|
$("#erroremail").show(100);
|
||||||
|
$("#erroremail").css('color', 'red');
|
||||||
|
$("#errorphone").show(100);
|
||||||
|
$("#errorphone").css('color', 'red');
|
||||||
|
save = false;
|
||||||
|
} else if(data == 'email'){
|
||||||
|
$("#errorphone").hide();
|
||||||
|
$("#erroremail").show(100);
|
||||||
|
$("#erroremail").css('color', 'red');
|
||||||
|
save = false;
|
||||||
|
} else if (data == 'phone') {
|
||||||
|
$("#erroremail").hide();
|
||||||
|
$("#errorphone").show(100);
|
||||||
|
$("#errorphone").css('color', 'red');
|
||||||
|
save = false;
|
||||||
|
} else {
|
||||||
|
$("#errorphone").hide();
|
||||||
|
$("#erroremail").hide();
|
||||||
|
}
|
||||||
|
|
||||||
|
},
|
||||||
|
error:function (data) {
|
||||||
|
console.log(data);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
// If passwords is not the same. Then show an error message and make save false
|
||||||
|
if ($('#password1').val() != $('#password2').val()) {
|
||||||
|
$("#errornotsamepass").show(100);
|
||||||
|
$("#errornotsamepass").css('color', 'red');
|
||||||
|
save = false;
|
||||||
|
} else
|
||||||
|
$("#errornotsamepass").hide();
|
||||||
|
|
||||||
|
if (save)
|
||||||
|
return true;
|
||||||
|
else
|
||||||
|
return false;
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
@endsection
|
@endsection
|
||||||
|
|
|
@ -41,7 +41,8 @@ Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->nam
|
||||||
Route::post("/account/cancelmailwants", "UserController@createajaxcancel")->name("users.createajaxcancel");
|
Route::post("/account/cancelmailwants", "UserController@createajaxcancel")->name("users.createajaxcancel");
|
||||||
Route::delete("/notifications/delete", "EventController@deleteNotifications")->name("notifications.delete");
|
Route::delete("/notifications/delete", "EventController@deleteNotifications")->name("notifications.delete");
|
||||||
Route::post("/feedbacks/store", "FeedbackController@storeajax")->name("feedbacks.storeajax");
|
Route::post("/feedbacks/store", "FeedbackController@storeajax")->name("feedbacks.storeajax");
|
||||||
//Route::get("/signup", "UserController@signup")->name("users.signup");
|
Route::get("/signup", "UserController@signup")->name("users.signup");
|
||||||
|
Route::post("/signupStore", "UserController@signupStore")->name("users.signupStore");
|
||||||
|
|
||||||
//Search/Filter
|
//Search/Filter
|
||||||
Route::get("/contactsapi", "ContactController@search")->name("contacts.search");
|
Route::get("/contactsapi", "ContactController@search")->name("contacts.search");
|
||||||
|
|
Loading…
Reference in New Issue