remotes/origin/setup
Mukhtar 10 years ago
commit 5a491564e5
  1. 324
      projects/migrations/0001_squashed_0015_merge.py
  2. 28
      work_sell/migrations/0002_auto_20160805_1736.py
  3. 5
      work_sell/models.py

@ -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),
),
]

@ -4,7 +4,7 @@ from sorl.thumbnail import ImageField
from django.db import models
from django.utils import timezone
from users.models import User
from users.models import User, Team
from projects.models import BuildingClassfication, ConstructionType, TERMS, CURRENCIES
from specializations.models import Specialization
@ -13,7 +13,7 @@ class WorkSell(models.Model):
budget = models.DecimalField(max_digits=10, decimal_places=0, default=0, null=True, blank=True)
building_classification = models.ForeignKey(BuildingClassfication, related_name='worksells', null=True, blank=True)
construction_type = models.ForeignKey(ConstructionType, related_name='worksells', null=True, blank=True)
contractor = models.ForeignKey(User, related_name='work_sell')
contractor = models.ForeignKey(User, related_name='work_sell', null=True, blank=True)
created = models.DateTimeField(default=timezone.now, null=True, blank=True)
currency = models.CharField(max_length=20, default='rur', choices=CURRENCIES, null=True, blank=True)
description = models.TextField(blank=True)
@ -21,6 +21,7 @@ class WorkSell(models.Model):
location = TreeForeignKey('common.Location', related_name='worksells', null=True, blank=True)
name = models.CharField(max_length=255)
specialization = TreeForeignKey(Specialization, related_name='worksells', null=True, blank=True)
team = models.ForeignKey(Team, related_name='work_sells', null=True, blank=True)
term = models.IntegerField(default=0, null=True, blank=True)
term_type = models.CharField(max_length=20, choices=TERMS, default='hour', null=True, blank=True)

Loading…
Cancel
Save