registrační formulář

This commit is contained in:
Martin Quarda 2024-10-10 00:50:32 +02:00
parent 3d81d85612
commit c87ff05370
3 changed files with 45 additions and 2 deletions

View File

@ -84,9 +84,9 @@ DATABASES = {
}
COMGATE_MERCHANT = 485044
COMGATE_MERCHANT = 484757
COMGATE_TEST = True
COMGATE_SECRET = '4c36b7faf40575073b26570066ca2a9f'
COMGATE_SECRET = '2c07bfabd1a5e4a312dc49929de60aa2'
ADMINS = [('Martin Quarda', 'martin@quarda.cz')]

View File

@ -51,6 +51,9 @@ class Profile(models.Model):
last_name = models.CharField(max_length=120)
address = models.CharField(max_length=255, null=True, blank=True)
def __str__(self):
return f"<Profile {self.user.email} {self.first_name} {self.last_name}>"
class Racer(models.Model):
profile = models.ForeignKey(Profile, related_name='racers', on_delete=models.CASCADE)
@ -68,3 +71,7 @@ class Racer(models.Model):
price = models.IntegerField(default=690)
paid = models.BooleanField(default=False)
invoice_id = models.IntegerField(null=True, blank=True, unique=True)
def __str__(self):
return f"<Racer {self.email} {self.first_name} {self.last_name} {self.team}>"

View File

@ -167,6 +167,11 @@ class Main extends Component {
<a class="nav-link" href="#login">Přihlašování</a>
</li>
}
{Object.keys(this.state.login_status).length === 0 &&
<li class="nav-item">
<a class="nav-link" href="#register_user">Registrace</a>
</li>
}
{Object.keys(this.state.login_status).length > 0 &&
<li class="nav-item">
<a class="nav-link" href="#register_racer">Registrovat závodníka</a>
@ -224,6 +229,37 @@ class Main extends Component {
</form>
</div>
}
{this.state.page == "#register_user" &&
<div>
<form id="form" action="/api/register_user" class="container" onSubmit={(e) => this.onSubmit(e)}>
<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">Přihlašovací email:</label>
<input name="email" class="form-control" type="email" />
</div>
<div class="mb-3">
<label for="address" class="form-label">Adresa (kvůli fakturaci)</label>
<input type="text" class="form-control" id="address" name="address" />
</div>
<div class="mb-3">
<label for="password1" class="form-label">Heslo:</label>
<input type="password1" class="form-control" name="password1"/>
</div>
<div class="mb-3">
<label for="password2" class="form-label">Znovu heslo:</label>
<input type="password2" class="form-control" name="password2"/>
</div>
<button type="submit" class="btn btn-primary">Registrovat</button>
</form>
</div>
}
{this.state.page == "#login" &&
<div>
<form id="form" action="/api/login" class="container" onSubmit={(e) => this.onSubmit(e)}>