diff --git a/chat/migrations/0001_initial.py b/chat/migrations/0001_initial.py new file mode 100644 index 0000000..dc1893b --- /dev/null +++ b/chat/migrations/0001_initial.py @@ -0,0 +1,52 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:17 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('projects', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Message', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('text', models.TextField()), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('private_type', models.BooleanField(default=False)), + ('order', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_messages', to='projects.Order')), + ('recipent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recipent_messages', to=settings.AUTH_USER_MODEL)), + ('sender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender_messages', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Сообщение', + 'verbose_name_plural': 'Сообщения', + }, + ), + migrations.CreateModel( + name='Notes', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('text', models.TextField()), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('order', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_notes', to='projects.Order')), + ('recipent', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recipent_notes', to=settings.AUTH_USER_MODEL)), + ('sender', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender_notes', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Заметка', + 'verbose_name_plural': 'Заметки', + }, + ), + ] diff --git a/common/migrations/0001_initial.py b/common/migrations/0001_initial.py new file mode 100644 index 0000000..1a361c1 --- /dev/null +++ b/common/migrations/0001_initial.py @@ -0,0 +1,62 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:16 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import django.db.models.manager +import mptt.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Location', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=50)), + ('type', models.CharField(choices=[('_root', 'Корень'), ('country', 'Страна'), ('region', 'Регион'), ('town', 'Город')], max_length=20)), + ('lft', models.PositiveIntegerField(db_index=True, editable=False)), + ('rght', models.PositiveIntegerField(db_index=True, editable=False)), + ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), + ('level', models.PositiveIntegerField(db_index=True, editable=False)), + ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='common.Location')), + ], + options={ + 'verbose_name': 'Местоположение', + 'verbose_name_plural': 'Местоположения', + }, + managers=[ + ('_default_manager', django.db.models.manager.Manager()), + ], + ), + migrations.CreateModel( + name='MainPage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('contractor_text', models.TextField()), + ('customer_text', models.TextField()), + ('video_code', models.TextField()), + ], + options={ + 'verbose_name': 'Главная страница', + }, + ), + migrations.CreateModel( + name='Settings', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('time_notification', models.IntegerField(default=180)), + ], + options={ + 'verbose_name': 'Настройки сайта', + 'verbose_name_plural': 'Настройки сайта', + }, + ), + ] diff --git a/projects/migrations/0001_initial.py b/projects/migrations/0001_initial.py new file mode 100644 index 0000000..0b8058f --- /dev/null +++ b/projects/migrations/0001_initial.py @@ -0,0 +1,218 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:16 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import mptt.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('specializations', '__first__'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('users', '0001_initial'), + ('common', '__first__'), + ] + + operations = [ + migrations.CreateModel( + name='Answer', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('budget', models.DecimalField(decimal_places=0, max_digits=10)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('currency', models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=5)), + ('term', models.IntegerField(default=0)), + ('term_type', models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=10)), + ('text', models.TextField()), + ('contractor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Ответы к проектам', + 'ordering': ('-created',), + 'verbose_name': 'Ответ к проекту', + }, + ), + migrations.CreateModel( + name='BuildingClassfication', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ], + options={ + 'verbose_name_plural': 'Типы зданий', + 'verbose_name': 'Тип здания', + }, + ), + migrations.CreateModel( + name='Candidate', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('status', models.BooleanField(default=False)), + ('answer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='candidates', to='projects.Answer')), + ], + options={ + 'verbose_name_plural': 'Кандидаты', + 'verbose_name': 'Кандидат', + }, + ), + migrations.CreateModel( + name='ConstructionType', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ], + options={ + 'verbose_name_plural': 'Виды строительства', + 'verbose_name': 'Вид строительства', + }, + ), + migrations.CreateModel( + name='Order', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('secure', models.BooleanField(default=False)), + ('status', models.BooleanField(default=False)), + ('contractor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Заказы', + 'verbose_name': 'Заказ', + }, + ), + migrations.CreateModel( + name='Portfolio', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('budget', models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10, null=True)), + ('currency', models.CharField(blank=True, choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20, null=True)), + ('description', models.TextField()), + ('name', models.CharField(max_length=255)), + ('term', models.IntegerField(blank=True, default=0, null=True)), + ('term_type', models.CharField(blank=True, choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20, null=True)), + ('worksell', models.BooleanField(default=False)), + ('building_classification', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication')), + ('construction_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType')), + ('location', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='common.Location')), + ('specialization', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization')), + ('team', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='users.Team')), + ('user', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Портфолио', + 'verbose_name': 'Портфолио', + }, + ), + migrations.CreateModel( + name='PortfolioPhoto', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('img', models.ImageField(upload_to='projects/portfolio')), + ('portfolio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='projects.Portfolio')), + ], + options={ + 'verbose_name_plural': 'Фото портфолио', + 'verbose_name': 'Фото портфолио', + }, + ), + migrations.CreateModel( + name='Project', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('budget', models.DecimalField(decimal_places=0, max_digits=10)), + ('budget_by_agreement', models.BooleanField(default=False)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('cro', models.BooleanField(default=False)), + ('currency', models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20)), + ('deal_type', models.CharField(choices=[('secure_deal', 'Безопасная сделка (с резервированием бюджета) '), ('direct_payment', 'Прямая оплата Исполнителю на его кошелек/счет')], default='secure_deal', max_length=20)), + ('name', models.CharField(max_length=255)), + ('price_and_term_required', models.BooleanField(default=False)), + ('state', models.CharField(choices=[('active', 'Активный'), ('trashed', 'В корзине'), ('deleted', 'Удален')], default='active', max_length=20)), + ('term', models.IntegerField(default=0)), + ('term_type', models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20)), + ('text', models.TextField(blank=True)), + ('work_type', models.IntegerField(choices=[(1, 'Проектирование'), (2, 'Техническое сопровождение')], default=1)), + ('customer', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Проекты', + 'verbose_name': 'Проект', + }, + ), + migrations.CreateModel( + name='ProjectFile', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.FileField(upload_to='projects/project_files')), + ('project', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Project')), + ], + options={ + 'verbose_name_plural': 'Файлы проектов', + 'verbose_name': 'Файл проекта', + }, + ), + migrations.CreateModel( + name='Realty', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=255)), + ('building_classification', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.BuildingClassfication')), + ('construction_type', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.ConstructionType')), + ('location', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='common.Location')), + ('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name_plural': 'Объекты', + 'verbose_name': 'Объект', + }, + ), + migrations.CreateModel( + name='Stage', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('cost', models.DecimalField(decimal_places=0, max_digits=10)), + ('cost_type', models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=5)), + ('name', models.CharField(max_length=255)), + ('result', models.CharField(max_length=255)), + ('term', models.IntegerField(default=0)), + ('term_type', models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=10)), + ('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stages', to='projects.Order')), + ], + options={ + 'verbose_name_plural': 'Этапы', + 'verbose_name': 'Этап', + }, + ), + migrations.AddField( + model_name='project', + name='realty', + field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='projects.Realty'), + ), + migrations.AddField( + model_name='project', + name='specialization', + field=mptt.fields.TreeForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='specializations.Specialization'), + ), + migrations.AddField( + model_name='order', + name='project', + field=models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='order', to='projects.Project'), + ), + migrations.AddField( + model_name='candidate', + name='project', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='candidates', to='projects.Project'), + ), + migrations.AddField( + model_name='answer', + name='project', + field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='projects.Project'), + ), + ] diff --git a/reviews/migrations/0001_initial.py b/reviews/migrations/0001_initial.py new file mode 100644 index 0000000..e030852 --- /dev/null +++ b/reviews/migrations/0001_initial.py @@ -0,0 +1,43 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:17 +from __future__ import unicode_literals + +from django.conf import settings +import django.core.validators +from django.db import migrations, models +import django.db.models.deletion + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('projects', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ] + + operations = [ + migrations.CreateModel( + name='Review', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('is_secured', models.BooleanField(default=False)), + ('stars', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)])), + ('text', models.TextField()), + ('from_contractor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_reviews', to=settings.AUTH_USER_MODEL)), + ('from_customer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='contractor_reviews', to=settings.AUTH_USER_MODEL)), + ('project', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='projects.Project')), + ('target_contractor', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_customer', to=settings.AUTH_USER_MODEL)), + ('target_customer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_contractor', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Отзыв', + 'verbose_name_plural': 'Отзывы', + }, + ), + migrations.AlterUniqueTogether( + name='review', + unique_together=set([('from_contractor', 'target_customer', 'project'), ('from_customer', 'target_contractor', 'project')]), + ), + ] diff --git a/specializations/migrations/0001_initial.py b/specializations/migrations/0001_initial.py new file mode 100644 index 0000000..700f221 --- /dev/null +++ b/specializations/migrations/0001_initial.py @@ -0,0 +1,34 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:17 +from __future__ import unicode_literals + +from django.db import migrations, models +import django.db.models.deletion +import mptt.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ] + + operations = [ + migrations.CreateModel( + name='Specialization', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('name', models.CharField(max_length=100)), + ('lft', models.PositiveIntegerField(db_index=True, editable=False)), + ('rght', models.PositiveIntegerField(db_index=True, editable=False)), + ('tree_id', models.PositiveIntegerField(db_index=True, editable=False)), + ('level', models.PositiveIntegerField(db_index=True, editable=False)), + ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='specializations.Specialization')), + ], + options={ + 'verbose_name_plural': 'Специализации', + 'verbose_name': 'Специализация', + }, + ), + ] diff --git a/users/migrations/0001_initial.py b/users/migrations/0001_initial.py new file mode 100644 index 0000000..8da73b7 --- /dev/null +++ b/users/migrations/0001_initial.py @@ -0,0 +1,149 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:16 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import mptt.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('specializations', '__first__'), + ('common', '__first__'), + ('auth', '0007_alter_validators_add_error_messages'), + ] + + operations = [ + migrations.CreateModel( + name='User', + fields=[ + ('id', models.AutoField(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')), + ('avatar', models.ImageField(blank=True, upload_to='users/avatars/')), + ('contractor_status', models.CharField(choices=[('free', 'Свободен'), ('busy', 'Занят')], default='free', max_length=20)), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('cro', models.BooleanField(default=False)), + ('date_joined', models.DateTimeField(default=django.utils.timezone.now)), + ('date_of_birth', models.DateTimeField(blank=True, null=True)), + ('email', models.EmailField(db_index=True, max_length=255, unique=True)), + ('first_name', models.CharField(blank=True, max_length=255)), + ('gender', models.CharField(blank=True, choices=[('male', 'Мужской'), ('female', 'Женский')], max_length=30)), + ('is_active', models.BooleanField(default=True)), + ('last_name', models.CharField(blank=True, max_length=255)), + ('last_time_visit', models.DateTimeField(default=django.utils.timezone.now)), + ('patronym', models.CharField(blank=True, max_length=255)), + ('phone', models.CharField(blank=True, max_length=30, null=True)), + ('skype', models.CharField(blank=True, max_length=100)), + ('username', models.CharField(max_length=50, unique=True)), + ('website', models.CharField(blank=True, max_length=255)), + ], + options={ + 'verbose_name': 'Пользователь', + 'verbose_name_plural': 'Пользователи', + }, + ), + migrations.CreateModel( + name='ContractorFinancialInfo', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('credit_card_number', models.CharField(max_length=50)), + ('date_of_birth', models.DateTimeField()), + ('fio', models.CharField(max_length=255)), + ('inn', models.CharField(max_length=100)), + ('legal_status', models.CharField(choices=[('individual', 'Физическое лицо'), ('legal_entity', 'ИП и юридическое лицо')], max_length=30)), + ('passport_issue_date', models.DateTimeField()), + ('passport_issued_by', models.CharField(max_length=255)), + ('passport_number', models.CharField(max_length=10)), + ('passport_scan', models.ImageField(upload_to='users/contractors/')), + ('passport_series', models.CharField(max_length=6)), + ('phone', models.CharField(max_length=30)), + ('residency', models.CharField(choices=[('russian_resident', 'Резидент РФ'), ('non_russian_resident', 'Нерезидент РФ'), ('refugee', 'Беженец'), ('russian_stay_permit', 'Вид на жительство')], max_length=50)), + ('subdivision_code', models.CharField(max_length=10)), + ('yandex_money', models.CharField(max_length=50)), + ], + options={ + 'verbose_name': 'Финансовая информация', + 'verbose_name_plural': 'Финансовая информация', + }, + ), + migrations.CreateModel( + name='ContractorResume', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('resume_file', models.FileField(upload_to='users/resume/files/')), + ('text', models.TextField()), + ], + options={ + 'verbose_name': 'Резюме', + 'verbose_name_plural': 'Резюме', + }, + ), + migrations.CreateModel( + name='ContractorResumeFiles', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('description', models.TextField(blank=True)), + ('img', models.ImageField(upload_to='users/resume/images/')), + ('title', models.CharField(max_length=255)), + ('type', models.CharField(choices=[('diplom', 'Дипломы/Сертификаты'), ('cro', 'Допуск CPO')], max_length=50)), + ('resume', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='resume_files', to='users.ContractorResume')), + ], + options={ + 'verbose_name': 'Файлы резюме', + 'verbose_name_plural': 'Файлы резюме', + }, + ), + migrations.CreateModel( + name='Team', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('created', models.DateTimeField(default=django.utils.timezone.now)), + ('name', models.CharField(max_length=255)), + ('owner', models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='team', to=settings.AUTH_USER_MODEL)), + ('specializations', mptt.fields.TreeManyToManyField(blank=True, related_name='teams', to='specializations.Specialization')), + ('users', models.ManyToManyField(blank=True, related_name='teams', to=settings.AUTH_USER_MODEL)), + ], + options={ + 'verbose_name': 'Команда', + 'verbose_name_plural': 'Команды', + }, + ), + migrations.AddField( + model_name='user', + name='contractor_financial_info', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='contractor', to='users.ContractorFinancialInfo'), + ), + migrations.AddField( + model_name='user', + name='contractor_resume', + field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='contractor', to='users.ContractorResume'), + ), + migrations.AddField( + model_name='user', + name='contractor_specializations', + field=mptt.fields.TreeManyToManyField(blank=True, related_name='contractors', to='specializations.Specialization'), + ), + migrations.AddField( + model_name='user', + name='groups', + field=models.ManyToManyField(blank=True, help_text='The groups this user belongs to. A user will get all permissions granted to each of their groups.', related_name='user_set', related_query_name='user', to='auth.Group', verbose_name='groups'), + ), + migrations.AddField( + model_name='user', + name='location', + field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='users', to='common.Location'), + ), + migrations.AddField( + model_name='user', + name='user_permissions', + field=models.ManyToManyField(blank=True, help_text='Specific permissions for this user.', related_name='user_set', related_query_name='user', to='auth.Permission', verbose_name='user permissions'), + ), + ] diff --git a/work_sell/migrations/0001_initial.py b/work_sell/migrations/0001_initial.py new file mode 100644 index 0000000..15f59d8 --- /dev/null +++ b/work_sell/migrations/0001_initial.py @@ -0,0 +1,69 @@ +# -*- coding: utf-8 -*- +# Generated by Django 1.9.7 on 2016-07-22 13:16 +from __future__ import unicode_literals + +from django.conf import settings +from django.db import migrations, models +import django.db.models.deletion +import django.utils.timezone +import mptt.fields +import sorl.thumbnail.fields + + +class Migration(migrations.Migration): + + initial = True + + dependencies = [ + ('specializations', '__first__'), + ('common', '0001_initial'), + migrations.swappable_dependency(settings.AUTH_USER_MODEL), + ('projects', '0001_initial'), + ] + + operations = [ + migrations.CreateModel( + name='Picture', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('file', models.ImageField(upload_to='worksell/pictures')), + ('slug', models.SlugField(blank=True)), + ], + ), + migrations.CreateModel( + name='WorkSell', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('budget', models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10, null=True)), + ('created', models.DateTimeField(blank=True, default=django.utils.timezone.now, null=True)), + ('currency', models.CharField(blank=True, choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20, null=True)), + ('description', models.TextField(blank=True)), + ('img', sorl.thumbnail.fields.ImageField(blank=True, null=True, upload_to='worksell/worksell')), + ('name', models.CharField(max_length=255)), + ('term', models.IntegerField(blank=True, default=0, null=True)), + ('term_type', models.CharField(blank=True, choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20, null=True)), + ('building_classification', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.BuildingClassfication')), + ('construction_type', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='projects.ConstructionType')), + ('contractor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='work_sell', to=settings.AUTH_USER_MODEL)), + ('location', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='common.Location')), + ('specialization', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='worksells', to='specializations.Specialization')), + ], + options={ + 'verbose_name_plural': 'Готовые работы', + 'verbose_name': 'Готовая работа', + 'ordering': ['-created'], + }, + ), + migrations.CreateModel( + name='WorkSellPhoto', + fields=[ + ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), + ('img', sorl.thumbnail.fields.ImageField(upload_to='worksell/worksell')), + ('worksell', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='work_sell.WorkSell')), + ], + options={ + 'verbose_name_plural': 'Изображения Готовые работы', + 'verbose_name': 'Изображение Готовая работа', + }, + ), + ]