Refactored the Zasilkovna SOAP client to use a singleton pattern with caching and lazy loading, improving reliability and startup performance. Updated invoice PDF generation to import WeasyPrint lazily, preventing startup failures on systems missing dependencies. Cleaned up unused imports and code in several frontend components, removed unused state and variables, and adjusted Docker frontend port mapping. Also updated Django migration files to reflect a new generation timestamp.
62 lines
4.3 KiB
Python
62 lines
4.3 KiB
Python
# Generated by Django 5.2.7 on 2025-12-18 15:11
|
|
|
|
import account.models
|
|
import django.contrib.auth.validators
|
|
import django.core.validators
|
|
import django.utils.timezone
|
|
from django.db import migrations, models
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('auth', '0012_alter_user_first_name_max_length'),
|
|
]
|
|
|
|
operations = [
|
|
migrations.CreateModel(
|
|
name='CustomUser',
|
|
fields=[
|
|
('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('password', models.CharField(max_length=128, verbose_name='password')),
|
|
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')),
|
|
('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
|
|
('username', models.CharField(error_messages={'unique': 'A user with that username already exists.'}, help_text='Required. 150 characters or fewer. Letters, digits and @/./+/-/_ only.', max_length=150, unique=True, validators=[django.contrib.auth.validators.UnicodeUsernameValidator()], verbose_name='username')),
|
|
('first_name', models.CharField(blank=True, max_length=150, verbose_name='first name')),
|
|
('last_name', models.CharField(blank=True, max_length=150, verbose_name='last name')),
|
|
('is_staff', models.BooleanField(default=False, help_text='Designates whether the user can log into this admin site.', verbose_name='staff status')),
|
|
('date_joined', models.DateTimeField(default=django.utils.timezone.now, verbose_name='date joined')),
|
|
('is_deleted', models.BooleanField(default=False)),
|
|
('deleted_at', models.DateTimeField(blank=True, null=True)),
|
|
('role', models.CharField(choices=[('admin', 'cz#Administrátor'), ('mod', 'cz#Moderator'), ('regular', 'cz#Regular')], default='regular', max_length=20)),
|
|
('phone_number', models.CharField(blank=True, max_length=16, null=True, unique=True, validators=[django.core.validators.RegexValidator('^\\+?\\d{9,15}$', message='Zadejte platné telefonní číslo.')])),
|
|
('email_verified', models.BooleanField(default=False)),
|
|
('email', models.EmailField(db_index=True, max_length=254, unique=True)),
|
|
('email_verification_token', models.CharField(blank=True, db_index=True, max_length=128, null=True)),
|
|
('email_verification_sent_at', models.DateTimeField(blank=True, null=True)),
|
|
('gdpr', models.BooleanField(default=False)),
|
|
('is_active', models.BooleanField(default=False)),
|
|
('create_time', models.DateTimeField(auto_now_add=True)),
|
|
('city', models.CharField(blank=True, max_length=100, null=True)),
|
|
('street', models.CharField(blank=True, max_length=200, null=True)),
|
|
('street_number', models.PositiveIntegerField(blank=True, null=True)),
|
|
('country', models.CharField(blank=True, max_length=100, null=True)),
|
|
('company_name', models.CharField(blank=True, max_length=255)),
|
|
('ico', models.CharField(blank=True, max_length=20)),
|
|
('dic', models.CharField(blank=True, max_length=20)),
|
|
('postal_code', models.CharField(blank=True, max_length=5, null=True, validators=[django.core.validators.RegexValidator(code='invalid_postal_code', message='Postal code must contain exactly 5 digits.', regex='^\\d{5}$')])),
|
|
('groups', models.ManyToManyField(blank=True, help_text='The groups this user belongs to.', related_name='customuser_set', related_query_name='customuser', to='auth.group')),
|
|
('user_permissions', models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='customuser_set', related_query_name='customuser', to='auth.permission')),
|
|
],
|
|
options={
|
|
'abstract': False,
|
|
},
|
|
managers=[
|
|
('objects', account.models.CustomUserManager()),
|
|
('active', account.models.ActiveUserManager()),
|
|
],
|
|
),
|
|
]
|