v0.12.2 - Added feedback storing to ajax instead of backend
This commit is contained in:
parent
1030bcc13f
commit
66762efb8a
skolehjem
app/Http/Controllers
resources
routes
|
@ -166,5 +166,15 @@ class FeedbackController extends Controller
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function storeajax(Request $request) {
|
||||||
|
$requestBody = $request->validate([
|
||||||
|
"message" => "required",
|
||||||
|
"suggestion_form" => "required|max:255"
|
||||||
|
]);
|
||||||
|
|
||||||
|
$feedbacks = new Feedbacks($requestBody);
|
||||||
|
$feedbacks->save();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -65,10 +65,7 @@ return[
|
||||||
"error" => "Fejl",
|
"error" => "Fejl",
|
||||||
"404" => "Denne side findes ikke.",
|
"404" => "Denne side findes ikke.",
|
||||||
"403" => "Du har ikke rettigheder til denne side.",
|
"403" => "Du har ikke rettigheder til denne side.",
|
||||||
"canceled" => "Aflyst"
|
"canceled" => "Aflyst",
|
||||||
|
"feedbacksendt" => "Tak for din feedback!",
|
||||||
|
"feedbackerror" => "Du skal skrive en besked."
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|
|
@ -71,5 +71,7 @@ return[
|
||||||
"error" => "Error",
|
"error" => "Error",
|
||||||
"404" => "This page doesn't exist.",
|
"404" => "This page doesn't exist.",
|
||||||
"403" => "You don't have permissions to access this page.",
|
"403" => "You don't have permissions to access this page.",
|
||||||
"canceled" => "Canceled"
|
"canceled" => "Canceled",
|
||||||
|
"feedbacksendt" => "Thank you for your feedback!",
|
||||||
|
"feedbackerror" => "You have to write a feedback message."
|
||||||
];
|
];
|
||||||
|
|
|
@ -11,15 +11,49 @@
|
||||||
}
|
}
|
||||||
</style>
|
</style>
|
||||||
<main style="min-height: calc(100% - 61.34px)" class="text-center">
|
<main style="min-height: calc(100% - 61.34px)" class="text-center">
|
||||||
<form action="{{ action('FeedbackController@store') }}" method="post" style="margin-top: 4rem; margin-bottom: auto;">
|
<div method="post" style="margin-top: 4rem; margin-bottom: auto; max-width: 100%; padding: 0 0.45rem 0 0.45rem; display: flex; flex-direction: column; justify-content: center;">
|
||||||
@csrf
|
@csrf
|
||||||
<span>Ris el. Ros?</span>
|
<span>Ris el. Ros?</span>
|
||||||
<select name="suggestion_form" class="mb-2" required>
|
<select id="suggestion_form" name="suggestion_form" class="mb-2" required>
|
||||||
<option selected>Ros</option>
|
<option selected>Ros</option>
|
||||||
<option>Ris</option>
|
<option>Ris</option>
|
||||||
</select>
|
</select>
|
||||||
<textarea name="message" placeholder="Skriv Ris/Ros besked her" style="resize: vertical;" required></textarea>
|
<span>Besked:</span>
|
||||||
<button type="submit" class="btn btn-sde-blue mt-2">Send Ris/Ros</button>
|
<textarea id="message" name="message" placeholder="Skriv Ris/Ros besked her" style="resize: vertical;" required></textarea>
|
||||||
</form>
|
<button onclick="ajaxCall(document.getElementById('suggestion_form'), document.getElementById('message'))" class="btn btn-sde-blue mt-2">Send Ris/Ros</button>
|
||||||
|
</div>
|
||||||
|
<div id="snackbar"></div>
|
||||||
</main>
|
</main>
|
||||||
@endsection
|
@endsection
|
||||||
|
@section("scripts")
|
||||||
|
<script type="text/javascript">
|
||||||
|
function snackbar(data) {
|
||||||
|
var x = document.getElementById("snackbar");
|
||||||
|
x.innerHTML = data;
|
||||||
|
x.className = "show";
|
||||||
|
|
||||||
|
setTimeout(function(){ x.className = x.className.replace("show", ""); }, 5000);
|
||||||
|
}
|
||||||
|
|
||||||
|
function ajaxCall(suggestion_form, message) {
|
||||||
|
var SF = suggestion_form.value
|
||||||
|
var M = message.value
|
||||||
|
|
||||||
|
if(SF != '' && M != '') {
|
||||||
|
axios.post("{{ route("feedbacks.storeajax") }}",
|
||||||
|
{
|
||||||
|
suggestion_form: SF,
|
||||||
|
message: M
|
||||||
|
}
|
||||||
|
).then(function (response) {
|
||||||
|
snackbar('{{__("msg.feedbacksendt")}}');
|
||||||
|
message.value = "";
|
||||||
|
}).catch(function (error) {
|
||||||
|
console.log(error);
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
snackbar('{{__("msg.feedbackerror")}}');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</script>
|
||||||
|
@endsection
|
||||||
|
|
|
@ -40,6 +40,7 @@ Route::get("/about", "AboutController@index")->name("about.index");
|
||||||
Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->name("userevents.createajaxcancel");
|
Route::post("/events/cancelsignup", "UserEventController@createajaxcancel")->name("userevents.createajaxcancel");
|
||||||
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::get("/signup", "UserController@signup")->name("users.signup");
|
//Route::get("/signup", "UserController@signup")->name("users.signup");
|
||||||
|
|
||||||
//Search/Filter
|
//Search/Filter
|
||||||
|
|
Loading…
Reference in New Issue