You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
324 lines
18 KiB
324 lines
18 KiB
# -*- coding: utf-8 -*-
|
|
# Generated by Django 1.9.7 on 2016-08-05 14:50
|
|
from __future__ import unicode_literals
|
|
|
|
import datetime
|
|
from django.conf import settings
|
|
from django.db import migrations, models
|
|
import django.db.models.deletion
|
|
from django.utils.timezone import utc
|
|
import django.utils.timezone
|
|
import mptt.fields
|
|
|
|
|
|
class Migration(migrations.Migration):
|
|
|
|
replaces = [('projects', '0001_initial'), ('projects', '0002_auto_20160725_1605'), ('projects', '0003_auto_20160725_1606'), ('projects', '0004_auto_20160726_1931'), ('projects', '0005_auto_20160726_1957'), ('projects', '0006_auto_20160727_1835'), ('projects', '0007_auto_20160727_1835'), ('projects', '0005_auto_20160726_1958'), ('projects', '0008_merge'), ('projects', '0009_auto_20160802_1226'), ('projects', '0009_auto_20160802_1414'), ('projects', '0010_answerfiles'), ('projects', '0011_auto_20160802_1653'), ('projects', '0012_merge'), ('projects', '0013_auto_20160804_1403'), ('projects', '0014_auto_20160804_1754'), ('projects', '0013_auto_20160803_2003'), ('projects', '0015_merge')]
|
|
|
|
initial = True
|
|
|
|
dependencies = [
|
|
('common', '__first__'),
|
|
('users', '0003_auto_20160726_1931'),
|
|
('contenttypes', '0002_remove_content_type_name'),
|
|
('users', '0001_initial'),
|
|
('specializations', '__first__'),
|
|
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
|
|
]
|
|
|
|
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': 'Ответ к проекту',
|
|
'ordering': ('-created',),
|
|
'verbose_name_plural': 'Ответы к проектам',
|
|
},
|
|
),
|
|
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': 'Тип здания',
|
|
'verbose_name_plural': 'Типы зданий',
|
|
},
|
|
),
|
|
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': 'Кандидат',
|
|
'verbose_name_plural': 'Кандидаты',
|
|
},
|
|
),
|
|
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': 'Вид строительства',
|
|
'verbose_name_plural': 'Виды строительства',
|
|
},
|
|
),
|
|
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': 'Заказ',
|
|
'verbose_name_plural': 'Заказы',
|
|
},
|
|
),
|
|
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': 'Портфолио',
|
|
'verbose_name_plural': 'Портфолио',
|
|
},
|
|
),
|
|
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': 'Фото портфолио',
|
|
'verbose_name_plural': 'Фото портфолио',
|
|
},
|
|
),
|
|
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': 'Проект',
|
|
'verbose_name_plural': 'Проекты',
|
|
},
|
|
),
|
|
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': 'Файл проекта',
|
|
'verbose_name_plural': 'Файлы проектов',
|
|
},
|
|
),
|
|
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': 'Объект',
|
|
'verbose_name_plural': 'Объекты',
|
|
},
|
|
),
|
|
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')),
|
|
('created', models.DateTimeField(default=datetime.datetime(2016, 7, 25, 13, 6, 34, 550741, tzinfo=utc))),
|
|
('pos', models.IntegerField(blank=True, default=0, null=True)),
|
|
('status', models.CharField(choices=[('not_agreed', 'Не согласован'), ('in_process', 'В процессе'), ('completed', 'Завершен')], default='not_agreed', max_length=30)),
|
|
],
|
|
options={
|
|
'verbose_name': 'Этап',
|
|
'verbose_name_plural': 'Этапы',
|
|
},
|
|
),
|
|
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'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='project',
|
|
name='deal_type',
|
|
field=models.CharField(choices=[('secure_deal', 'Безопасная сделка'), ('direct_payment', 'Прямая оплата')], default='secure_deal', max_length=20),
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='stage',
|
|
options={'ordering': ['pos'], 'verbose_name': 'Этап', 'verbose_name_plural': 'Этапы'},
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=datetime.datetime(2016, 7, 26, 16, 31, 5, 738741, tzinfo=utc)),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=datetime.datetime(2016, 7, 26, 16, 57, 39, 517305, tzinfo=utc)),
|
|
),
|
|
migrations.AddField(
|
|
model_name='stage',
|
|
name='is_paid',
|
|
field=models.BooleanField(default=False),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=datetime.datetime(2016, 7, 27, 15, 35, 21, 468300, tzinfo=utc)),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=datetime.datetime(2016, 7, 26, 16, 58, 47, 631021, tzinfo=utc)),
|
|
),
|
|
migrations.AlterModelOptions(
|
|
name='answer',
|
|
options={'ordering': ('-created',), 'verbose_name': 'Отклик на проект', 'verbose_name_plural': 'Отклики на проекты'},
|
|
),
|
|
migrations.RemoveField(
|
|
model_name='answer',
|
|
name='contractor',
|
|
),
|
|
migrations.AddField(
|
|
model_name='answer',
|
|
name='content_type',
|
|
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, to='contenttypes.ContentType'),
|
|
preserve_default=False,
|
|
),
|
|
migrations.AddField(
|
|
model_name='answer',
|
|
name='object_id',
|
|
field=models.IntegerField(default=None),
|
|
preserve_default=False,
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
migrations.CreateModel(
|
|
name='AnswerFile',
|
|
fields=[
|
|
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
|
|
('name', models.CharField(max_length=255)),
|
|
('file', models.FileField(upload_to='projects/answer_files')),
|
|
('answer', models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Answer')),
|
|
],
|
|
options={
|
|
'verbose_name': 'Файл для отклика',
|
|
'verbose_name_plural': 'Файлы для откликов',
|
|
},
|
|
),
|
|
migrations.AddField(
|
|
model_name='answer',
|
|
name='portfolios',
|
|
field=models.ManyToManyField(blank=True, related_name='portfolios_answers', to='projects.Portfolio'),
|
|
),
|
|
migrations.AddField(
|
|
model_name='answer',
|
|
name='secure_deal_only',
|
|
field=models.BooleanField(default=False),
|
|
),
|
|
migrations.AddField(
|
|
model_name='order',
|
|
name='team',
|
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='orders', to='users.Team'),
|
|
),
|
|
migrations.AlterField(
|
|
model_name='stage',
|
|
name='created',
|
|
field=models.DateTimeField(default=django.utils.timezone.now),
|
|
),
|
|
]
|
|
|