parent
6bcf62435f
commit
2eae01b08c
3 changed files with 355 additions and 2 deletions
@ -0,0 +1,324 @@ |
|||||||
|
# -*- 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), |
||||||
|
), |
||||||
|
] |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
# -*- coding: utf-8 -*- |
||||||
|
# Generated by Django 1.9.7 on 2016-08-05 14:36 |
||||||
|
from __future__ import unicode_literals |
||||||
|
|
||||||
|
from django.conf import settings |
||||||
|
from django.db import migrations, models |
||||||
|
import django.db.models.deletion |
||||||
|
|
||||||
|
|
||||||
|
class Migration(migrations.Migration): |
||||||
|
|
||||||
|
dependencies = [ |
||||||
|
('users', '0006_auto_20160805_1442'), |
||||||
|
('work_sell', '0001_initial'), |
||||||
|
] |
||||||
|
|
||||||
|
operations = [ |
||||||
|
migrations.AddField( |
||||||
|
model_name='worksell', |
||||||
|
name='team', |
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='work_sells', to='users.Team'), |
||||||
|
), |
||||||
|
migrations.AlterField( |
||||||
|
model_name='worksell', |
||||||
|
name='contractor', |
||||||
|
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='work_sell', to=settings.AUTH_USER_MODEL), |
||||||
|
), |
||||||
|
] |
||||||
Loading…
Reference in new issue