success and failed

This commit is contained in:
Martin Quarda 2024-02-08 04:46:07 +01:00
parent e6d52f75a9
commit db76047cde
2 changed files with 78 additions and 54 deletions

View File

@ -16,4 +16,4 @@ def register(request):
return HttpResponse('{"reason":"Email je již registrován!"}', status=400, content_type='application/json')
user = User(first_name=request.POST['first_name'], last_name=request.POST['last_name'], email=request.POST['email'])
user.save()
return HttpResponse('{"reason":"Úspěšná registrace."}', content_type='application/json')
return HttpResponse('{"success":"Úspěšná registrace."}', content_type='application/json')

View File

@ -12,6 +12,8 @@ class Main extends Component {
constructor(props) {
super(props);
this.state = {
text: "",
status: "",
};
}
onSubmit(event){
@ -21,61 +23,83 @@ class Main extends Component {
fetch("/api/register", {
method:"POST",
body: formData,
}).then(resp => resp.json()).then(json => {console.log(json)});
}).then(resp => resp.json()).then(json => {
if(json.reason){
this.setState({
text: json.reason,
status: "failed",
})
} else {
this.setState({
text: json.success,
status: "success",
})
}
});
}
render(){
return <div>
<div class="container">
<img class="logo" src="/public/logo.png"></img>
</div>
<div class="container info">
<div class="row">
<h1 class="col val">
<b>KDY?</b>
<br />
21.4.2024
</h1>
<div class="col"></div>
<h1 class="col val">
<b>KDE?</b>
<br />
Sobkovice
</h1>
<div class="col"></div>
<h1 class="col val">
<b>CENA</b>
<br />
480
</h1>
</div>
</div>
<div class="container">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam sapien sem, ornare ac, nonummy non, lobortis a enim. Sed vel lectus. Donec odio tempus molestie, porttitor ut, iaculis quis, sem. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Aliquam erat volutpat. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt. Etiam neque. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Nullam rhoncus aliquam metus. In dapibus augue non sapien. Phasellus faucibus molestie nisl. Duis risus. Duis viverra diam non justo. Donec ipsum massa, ullamcorper in, auctor et, scelerisque sed, est. Mauris dictum facilisis augue. Etiam posuere lacus quis dolor. Integer lacinia. Vestibulum fermentum tortor id mi. Phasellus rhoncus.</p>
</div>
<form class="container" onSubmit={(e) => this.onSubmit(e)}>
<h1>Registrace</h1>
<div class="mb-3">
<label for="first_name" class="form-label">Jméno</label>
<input type="text" class="form-control" id="first_name" name="first_name" />
</div>
<div class="mb-3">
<label for="last_name" class="form-label">Přijmení</label>
<input type="text" class="form-control" id="last_name" name="last_name" />
</div>
<div class="mb-3">
<label for="email" class="form-label">Emailová adresa</label>
<input type="email" class="form-control" id="email" name="email" />
</div>
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="agreement" name="agreement" />
<label class="form-check-label" for="agreement">Souhlas se zpracováním osobních údajů</label>
</div>
<button type="submit" class="btn btn-primary">Odeslat</button>
</form>
<div class="container video">
<iframe width="100%" height="800px" src="https://www.youtube.com/embed/-_Uu4rMb3n8?si=3AeWqw319fPrSTse" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="true"></iframe>
</div>
</div>;
return (
<div>
{this.state.status == "success" &&
<div class="container-fluid alert alert-success">
{this.state.text}
</div>}
{this.state.status == "failed" &&
<div class="container-fluid alert alert-danger">
{this.state.text}
</div>}
<div class="container">
<img class="logo" src="/public/logo.png"></img>
</div>
<div class="container info">
<div class="row">
<h1 class="col val">
<b>KDY?</b>
<br />
21.4.2024
</h1>
<div class="col"></div>
<h1 class="col val">
<b>KDE?</b>
<br />
Sobkovice
</h1>
<div class="col"></div>
<h1 class="col val">
<b>CENA</b>
<br />
480
</h1>
</div>
</div>
<div class="container">
<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nullam sapien sem, ornare ac, nonummy non, lobortis a enim. Sed vel lectus. Donec odio tempus molestie, porttitor ut, iaculis quis, sem. Itaque earum rerum hic tenetur a sapiente delectus, ut aut reiciendis voluptatibus maiores alias consequatur aut perferendis doloribus asperiores repellat. Aliquam erat volutpat. Nemo enim ipsam voluptatem quia voluptas sit aspernatur aut odit aut fugit, sed quia consequuntur magni dolores eos qui ratione voluptatem sequi nesciunt.</p>
</div>
<form class="container" onSubmit={(e) => this.onSubmit(e)}>
<h1>Registrace</h1>
<div class="mb-3">
<label for="first_name" class="form-label">Jméno</label>
<input type="text" class="form-control" id="first_name" name="first_name" />
</div>
<div class="mb-3">
<label for="last_name" class="form-label">Přijmení</label>
<input type="text" class="form-control" id="last_name" name="last_name" />
</div>
<div class="mb-3">
<label for="email" class="form-label">Emailová adresa</label>
<input type="email" class="form-control" id="email" name="email" />
</div>
<div class="mb-3 form-check">
<input type="checkbox" class="form-check-input" id="agreement" name="agreement" />
<label class="form-check-label" for="agreement">Souhlas se zpracováním osobních údajů</label>
</div>
<button type="submit" class="btn btn-primary">Odeslat</button>
</form>
<div class="container video">
<iframe width="100%" height="800px" src="https://www.youtube.com/embed/-_Uu4rMb3n8?si=3AeWqw319fPrSTse" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" allowfullscreen="true"></iframe>
</div>
</div>
);
}
}