112 lines
6.7 KiB
Python
112 lines
6.7 KiB
Python
# Generated by Django 5.2.4 on 2025-08-07 15:13
|
|
|
|
import django.core.validators
|
|
import django.db.models.deletion
|
|
from decimal import Decimal
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='Event',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('name', models.CharField(max_length=255)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('start', models.DateField()),
|
|
('end', models.DateField()),
|
|
('price_per_m2', models.DecimalField(decimal_places=2, help_text='Cena za m² pro rezervaci', max_digits=8, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('image', models.ImageField(blank=True, null=True, upload_to='squares-imgs/')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='ReservationCheck',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('checked_at', models.DateTimeField(auto_now_add=True)),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Square',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('name', models.CharField(default='', max_length=255)),
|
|
('description', models.TextField(blank=True, null=True)),
|
|
('street', models.CharField(default='Ulice není zadaná', max_length=255)),
|
|
('city', models.CharField(default='Město není zadané', max_length=255)),
|
|
('psc', models.PositiveIntegerField(default=12345, help_text='Zadejte platné PSČ (5 číslic)', validators=[django.core.validators.MaxValueValidator(99999), django.core.validators.MinValueValidator(10000)])),
|
|
('width', models.PositiveIntegerField(default=10)),
|
|
('height', models.PositiveIntegerField(default=10)),
|
|
('grid_rows', models.PositiveSmallIntegerField(default=60)),
|
|
('grid_cols', models.PositiveSmallIntegerField(default=45)),
|
|
('cellsize', models.PositiveIntegerField(default=10)),
|
|
('image', models.ImageField(blank=True, null=True, upload_to='squares-imgs/')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='MarketSlot',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('status', models.CharField(choices=[('allowed', 'Povoleno'), ('blocked', 'Zablokováno')], default='allowed', max_length=20)),
|
|
('number', models.PositiveSmallIntegerField(default=1, editable=False, help_text='Pořadové číslo prodejního místa na svém Eventu')),
|
|
('base_size', models.FloatField(default=0, help_text='Základní velikost (m²)', validators=[django.core.validators.MinValueValidator(0.0)])),
|
|
('available_extension', models.FloatField(default=0, help_text='Možnost rozšíření (m²)', validators=[django.core.validators.MinValueValidator(0.0)])),
|
|
('x', models.SmallIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('y', models.SmallIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('width', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('height', models.PositiveIntegerField(default=0, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('price_per_m2', models.DecimalField(decimal_places=2, default=Decimal('0.00'), help_text='Cena za m² pro toto prodejní místo. Neuvádět, pokud chcete nechat výchozí cenu za m² na tomto Eventu.', max_digits=8, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='event_marketSlots', to='booking.event')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
migrations.CreateModel(
|
|
name='Reservation',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('used_extension', models.FloatField(default=0, help_text='Použité rozšíření (m2)', validators=[django.core.validators.MinValueValidator(0.0)])),
|
|
('reserved_from', models.DateField()),
|
|
('reserved_to', models.DateField()),
|
|
('created_at', models.DateTimeField(auto_now_add=True)),
|
|
('status', models.CharField(choices=[('reserved', 'Zarezervováno'), ('cancelled', 'Zrušeno')], default='reserved', max_length=20)),
|
|
('note', models.TextField(blank=True, null=True)),
|
|
('final_price', models.DecimalField(decimal_places=2, default=0, help_text='Cena vypočtena automaticky na zakladě ceny za m² prodejního místa a počtu dní rezervace.', max_digits=8, validators=[django.core.validators.MinValueValidator(0)])),
|
|
('price', models.DecimalField(decimal_places=2, default=0, max_digits=10)),
|
|
('is_checked', models.BooleanField(default=False)),
|
|
('last_checked_at', models.DateTimeField(blank=True, null=True)),
|
|
('event', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='event_reservations', to='booking.event')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
),
|
|
]
|