# Generated by Django 5.1.1 on 2025-11-25 06:43 from django.db import migrations, models class Migration(migrations.Migration): dependencies = [ ('web', '0012_contactinfo'), ] operations = [ migrations.CreateModel( name='Career', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('title', models.CharField(max_length=200, verbose_name='Название вакансии')), ('department', models.CharField(max_length=100, verbose_name='Отдел')), ('location', models.CharField(default='Кванджу, Южная Корея', max_length=200, verbose_name='Местоположение')), ('employment_type', models.CharField(choices=[('full_time', 'Полная занятость'), ('part_time', 'Частичная занятость'), ('contract', 'Контракт'), ('internship', 'Стажировка'), ('remote', 'Удаленная работа'), ('freelance', 'Фриланс')], default='full_time', max_length=20, verbose_name='Тип занятости')), ('experience_level', models.CharField(choices=[('junior', 'Junior (0-1 год)'), ('middle', 'Middle (2-4 года)'), ('senior', 'Senior (5+ лет)'), ('lead', 'Team Lead'), ('intern', 'Стажер')], default='middle', max_length=20, verbose_name='Уровень опыта')), ('description', models.TextField(verbose_name='Описание вакансии')), ('responsibilities', models.TextField(verbose_name='Обязанности')), ('requirements', models.TextField(verbose_name='Требования')), ('benefits', models.TextField(blank=True, verbose_name='Преимущества и условия')), ('salary_min', models.PositiveIntegerField(blank=True, null=True, verbose_name='Зарплата от (₩)')), ('salary_max', models.PositiveIntegerField(blank=True, null=True, verbose_name='Зарплата до (₩)')), ('salary_currency', models.CharField(default='KRW', max_length=10, verbose_name='Валюта')), ('required_skills', models.TextField(help_text='Разделите навыки запятыми', verbose_name='Обязательные навыки')), ('preferred_skills', models.TextField(blank=True, help_text='Разделите навыки запятыми', verbose_name='Желательные навыки')), ('status', models.CharField(choices=[('active', 'Активная'), ('paused', 'Приостановлена'), ('closed', 'Закрыта'), ('draft', 'Черновик')], default='active', max_length=20, verbose_name='Статус')), ('is_featured', models.BooleanField(default=False, verbose_name='Рекомендуемая вакансия')), ('application_deadline', models.DateField(blank=True, null=True, verbose_name='Дедлайн подачи заявок')), ('contact_email', models.EmailField(default='hr@smartsoltech.kr', max_length=254, verbose_name='Email для связи')), ('contact_person', models.CharField(blank=True, max_length=200, verbose_name='Контактное лицо')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ('published_at', models.DateTimeField(blank=True, null=True, verbose_name='Дата публикации')), ], options={ 'verbose_name': 'Вакансия', 'verbose_name_plural': 'Карьера', 'ordering': ['-is_featured', '-published_at', '-created_at'], }, ), migrations.CreateModel( name='Team', fields=[ ('id', models.BigAutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('first_name', models.CharField(max_length=100, verbose_name='Имя')), ('last_name', models.CharField(max_length=100, verbose_name='Фамилия')), ('position', models.CharField(max_length=200, verbose_name='Должность')), ('department', models.CharField(blank=True, max_length=100, verbose_name='Отдел')), ('bio', models.TextField(blank=True, verbose_name='Биография/Описание')), ('photo', models.ImageField(blank=True, null=True, upload_to='static/img/team/', verbose_name='Фотография')), ('email', models.EmailField(blank=True, max_length=254, verbose_name='Email')), ('phone', models.CharField(blank=True, max_length=20, verbose_name='Телефон')), ('linkedin', models.URLField(blank=True, verbose_name='LinkedIn')), ('github', models.URLField(blank=True, verbose_name='GitHub')), ('telegram', models.CharField(blank=True, max_length=100, verbose_name='Telegram')), ('skills', models.TextField(blank=True, help_text='Разделите навыки запятыми', verbose_name='Навыки')), ('experience_years', models.PositiveIntegerField(default=0, verbose_name='Лет опыта')), ('is_active', models.BooleanField(default=True, verbose_name='Активен')), ('display_order', models.PositiveIntegerField(default=0, verbose_name='Порядок отображения')), ('show_on_about', models.BooleanField(default=True, verbose_name='Показывать на странице О нас')), ('created_at', models.DateTimeField(auto_now_add=True)), ('updated_at', models.DateTimeField(auto_now=True)), ], options={ 'verbose_name': 'Сотрудник', 'verbose_name_plural': 'Команда', 'ordering': ['display_order', 'last_name', 'first_name'], }, ), ]