remotes/origin/setup
ArturBaybulatov 10 years ago
parent 70d82b60cc
commit 9654249b9f
  1. 18
      README.md
  2. 6
      api/views.py
  3. 20
      archilance/management/commands/_template.py
  4. 18
      archilance/management/commands/generate_build_classifs.py
  5. 18
      archilance/management/commands/generate_constr_types.py
  6. 5
      archilance/management/commands/generate_realties.py
  7. 8
      archilance/management/commands/generate_specializations.py
  8. 24
      archilance/management/commands/generate_teams.py
  9. 2
      archilance/management/commands/generate_users.py
  10. 1
      assets/index.js
  11. 25
      chat/migrations/0001_initial.py
  12. 19
      chat/migrations/0002_auto_20160608_1555.py
  13. 24
      chat/migrations/0002_notes_order.py
  14. 39
      chat/migrations/0003_auto_20160629_1914.py
  15. 46
      chat/migrations/0003_auto_20160721_1808.py
  16. 26
      chat/migrations/0004_auto_20160630_1204.py
  17. 26
      chat/migrations/0005_notes.py
  18. 46
      chat/migrations/0006_auto_20160704_1811.py
  19. 50
      common/migrations/0001_initial.py
  20. 31
      common/migrations/0002_auto_20160615_1625.py
  21. 27
      common/migrations/0003_mainpage.py
  22. 25
      common/migrations/0004_settings.py
  23. 19
      common/migrations/0005_auto_20160720_1327.py
  24. 14
      projects/forms.py
  25. 131
      projects/migrations/0001_initial.py
  26. 35
      projects/migrations/0002_auto_20160519_1022.py
  27. 114
      projects/migrations/0002_auto_20160721_1808.py
  28. 30
      projects/migrations/0003_auto_20160519_1312.py
  29. 21
      projects/migrations/0004_auto_20160519_1338.py
  30. 39
      projects/migrations/0005_auto_20160524_1053.py
  31. 80
      projects/migrations/0006_auto_20160524_1208.py
  32. 21
      projects/migrations/0007_auto_20160525_0948.py
  33. 41
      projects/migrations/0008_auto_20160525_1044.py
  34. 41
      projects/migrations/0009_auto_20160525_1524.py
  35. 22
      projects/migrations/0010_auto_20160525_1525.py
  36. 21
      projects/migrations/0011_auto_20160525_1526.py
  37. 32
      projects/migrations/0012_auto_20160530_1355.py
  38. 20
      projects/migrations/0013_auto_20160602_1203.py
  39. 29
      projects/migrations/0014_auto_20160602_1559.py
  40. 20
      projects/migrations/0015_auto_20160602_1606.py
  41. 26
      projects/migrations/0016_auto_20160603_1140.py
  42. 50
      projects/migrations/0017_auto_20160606_1659.py
  43. 22
      projects/migrations/0018_auto_20160607_1915.py
  44. 22
      projects/migrations/0019_auto_20160607_1916.py
  45. 96
      projects/migrations/0020_auto_20160608_1555.py
  46. 31
      projects/migrations/0021_auto_20160608_1602.py
  47. 27
      projects/migrations/0022_auto_20160608_1605.py
  48. 38
      projects/migrations/0023_auto_20160608_1609.py
  49. 105
      projects/migrations/0024_auto_20160609_1808.py
  50. 21
      projects/migrations/0025_auto_20160609_1916.py
  51. 28
      projects/migrations/0026_auto_20160610_1204.py
  52. 26
      projects/migrations/0027_auto_20160610_1231.py
  53. 20
      projects/migrations/0028_auto_20160610_1301.py
  54. 20
      projects/migrations/0029_project_active.py
  55. 30
      projects/migrations/0030_auto_20160610_1430.py
  56. 24
      projects/migrations/0031_auto_20160610_1434.py
  57. 52
      projects/migrations/0032_auto_20160615_1610.py
  58. 21
      projects/migrations/0033_auto_20160621_1057.py
  59. 20
      projects/migrations/0034_auto_20160622_1200.py
  60. 30
      projects/migrations/0035_auto_20160630_1635.py
  61. 22
      projects/migrations/0036_auto_20160630_1846.py
  62. 22
      projects/migrations/0037_auto_20160704_1444.py
  63. 73
      projects/migrations/0038_auto_20160706_1249.py
  64. 56
      projects/migrations/0039_auto_20160707_1724.py
  65. 23
      projects/migrations/0040_portfolio_team.py
  66. 27
      projects/migrations/0041_auto_20160720_1531.py
  67. 21
      projects/migrations/0042_auto_20160720_1641.py
  68. 14
      reviews/migrations/0001_initial.py
  69. 27
      reviews/migrations/0002_auto_20160531_0906.py
  70. 46
      reviews/migrations/0002_auto_20160721_1808.py
  71. 16
      reviews/models.py
  72. 5
      specializations/migrations/0001_initial.py
  73. 19
      specializations/migrations/0002_auto_20160602_1203.py
  74. 5
      specializations/views.py
  75. 8
      templates/home.html
  76. 6
      users/forms.py
  77. 110
      users/migrations/0001_initial.py
  78. 21
      users/migrations/0002_team_groups.py
  79. 21
      users/migrations/0003_user_created_at.py
  80. 25
      users/migrations/0004_auto_20160524_1053.py
  81. 25
      users/migrations/0005_auto_20160524_1054.py
  82. 21
      users/migrations/0006_auto_20160525_0948.py
  83. 21
      users/migrations/0007_auto_20160525_1526.py
  84. 21
      users/migrations/0008_auto_20160525_1527.py
  85. 27
      users/migrations/0009_auto_20160602_1213.py
  86. 21
      users/migrations/0010_user_last_time_visit.py
  87. 21
      users/migrations/0011_user_contractor_specializations.py
  88. 20
      users/migrations/0012_user_status.py
  89. 20
      users/migrations/0013_auto_20160610_1703.py
  90. 28
      users/migrations/0014_auto_20160615_1611.py
  91. 78
      users/migrations/0015_auto_20160615_1747.py
  92. 20
      users/migrations/0016_auto_20160617_1815.py
  93. 20
      users/migrations/0017_user_phone.py
  94. 44
      users/migrations/0018_auto_20160710_1838.py
  95. 20
      users/migrations/0019_auto_20160710_1950.py
  96. 47
      users/migrations/0020_auto_20160711_1759.py
  97. 22
      users/migrations/0021_contractorresumefiles_resume.py
  98. 22
      users/migrations/0022_team_specializations.py
  99. 21
      users/migrations/0023_team_created.py
  100. 2
      users/models.py
  101. Some files were not shown because too many files have changed in this diff Show More

@ -21,3 +21,21 @@ python manage.py runserver
``` ```
python manage.py shell_plus --use-pythonrc python manage.py shell_plus --use-pythonrc
``` ```
----------------------------------------
Data generation order:
1. superuser
2. specializations
3. locations
4. perm. groups
5. build. classif-s
6. constr. types
7. users
8. teams
9. realties
10. projects
11. portfolios
----------------------------------------

@ -56,7 +56,8 @@ class RealtyViewSet(ModelViewSet):
class SpecializationViewSet(ModelViewSet): class SpecializationViewSet(ModelViewSet):
queryset = Specialization.objects.root_nodes()[0].get_descendants() # queryset = Specialization.objects.root_nodes()[0].get_descendants()
queryset = Specialization.objects # TODO: Tmp
serializer_class = SpecializationSerializer serializer_class = SpecializationSerializer
filter_class = SpecializationFilterSet filter_class = SpecializationFilterSet
@ -68,6 +69,7 @@ class UserViewSet(ModelViewSet):
class LocationViewSet(ModelViewSet): class LocationViewSet(ModelViewSet):
queryset = Location.objects.root_nodes()[0].get_descendants() # queryset = Location.objects.root_nodes()[0].get_descendants()
queryset = Location.objects # TODO: Tmp
serializer_class = LocationSerializer serializer_class = LocationSerializer
filter_class = LocationFilterSet filter_class = LocationFilterSet

@ -0,0 +1,20 @@
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from django.core.management import BaseCommand
from django.utils import timezone
import pydash as _; _.map = _.map_; _.filter = _.filter_
import random
from archilance import util
from common.models import Location
from specializations.models import Specialization
from users.models import User, GENDERS, Team
class Command(BaseCommand):
def handle(self, *args, **options):
print('---------------------------------------')
print('Generating something...')
print('---------------------------------------')
pass

@ -0,0 +1,18 @@
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from django.core.management import BaseCommand
from django.utils import timezone
import pydash as _; _.map = _.map_; _.filter = _.filter_
import random
from archilance import util
from projects.models import BuildingClassfication
class Command(BaseCommand):
def handle(self, *args, **options):
print('---------------------------------------')
print('Generating building classifications...')
print('---------------------------------------')
_.times(lambda i: BuildingClassfication.objects.create(name='Build. classif. %s' % i), 100)

@ -0,0 +1,18 @@
from django.contrib.auth.models import Group, Permission
from django.contrib.contenttypes.models import ContentType
from django.core.management import BaseCommand
from django.utils import timezone
import pydash as _; _.map = _.map_; _.filter = _.filter_
import random
from archilance import util
from projects.models import ConstructionType
class Command(BaseCommand):
def handle(self, *args, **options):
print('---------------------------------------')
print('Generating construction types...')
print('---------------------------------------')
_.times(lambda i: ConstructionType.objects.create(name='Constr. type %s' % i), 100)

@ -33,11 +33,6 @@ class Command(BaseCommand):
# ('name', 'Relation? False', 'Null? False', 'Blank? False', 'Hidden? False'), # ('name', 'Relation? False', 'Null? False', 'Blank? False', 'Hidden? False'),
_.times(lambda i: BuildingClassfication.objects.create(name='Build. classif. %s' % i), 50)
_.times(lambda i: ConstructionType.objects.create(name='Constr. type %s' % i), 50)
def create_realty(i): def create_realty(i):
realty = Realty(name='Realty %s' % i) realty = Realty(name='Realty %s' % i)

@ -18,10 +18,10 @@ class Command(BaseCommand):
stages = ('A','B','C','D') stages = ('A','B','C','D')
for s1 in stages: for s1 in stages:
x = Specialization.objects.create(name='Стадия %s' % s1, parent=_root) x = Specialization.objects.create(name='Специализация %s' % s1, parent=_root)
for s2 in stages: for s2 in stages:
y = Specialization.objects.create(name='Стадия %s-%s' % (s1,s2), parent=x) y = Specialization.objects.create(name='Специализация %s-%s' % (s1,s2), parent=x)
for s3 in stages: for s3 in stages:
z = Specialization.objects.create(name='Стадия %s-%s-%s' % (s1,s2,s3), parent=y) z = Specialization.objects.create(name='Специализация %s-%s-%s' % (s1,s2,s3), parent=y)
for s4 in stages: for s4 in stages:
Specialization.objects.create(name='Стадия %s-%s-%s-%s' % (s1,s2,s3,s4), parent=z) Specialization.objects.create(name='Специализация %s-%s-%s-%s' % (s1,s2,s3,s4), parent=z)

@ -6,7 +6,7 @@ import pydash as _; _.map = _.map_; _.filter = _.filter_
import random import random
from archilance import util from archilance import util
from common.models import Location from projects.models import Portfolio
from specializations.models import Specialization from specializations.models import Specialization
from users.models import User, GENDERS, Team from users.models import User, GENDERS, Team
@ -18,12 +18,30 @@ class Command(BaseCommand):
print('---------------------------------------') print('---------------------------------------')
# ('name', 'Relation? False', 'Null? False', 'Blank? False', 'Hidden? False'),
# ('portfolios', 'Relation? True', 'Null? True', '(relation)', 'Hidden? False'), # ('portfolios', 'Relation? True', 'Null? True', '(relation)', 'Hidden? False'),
# ('owner', 'Relation? True', 'Null? True', '(relation)', 'Hidden? False'), # ('owner', 'Relation? True', 'Null? True', '(relation)', 'Hidden? False'),
# ('users', 'Relation? True', 'Null? False', '(relation)', 'Hidden? False'), # ('users', 'Relation? True', 'Null? False', '(relation)', 'Hidden? False'),
# ('specializations', 'Relation? True', 'Null? False', '(relation)', 'Hidden? False'), # ('specializations', 'Relation? True', 'Null? False', '(relation)', 'Hidden? False'),
# ('name', 'Relation? False', 'Null? False', 'Blank? False', 'Hidden? False'),
contractors = list(User.contractor_objects.order_by('?'))
owners = util.take(contractors, len(contractors) // 2)
members = contractors
i = 0
pass for owner in owners:
team = Team(name='Team %s' % i)
team.save()
team.owner = owner
team.users = _.sample(members, _.random(1, 5))
team.specializations = Specialization.objects.root_nodes()[0].get_descendants().order_by('?')[:_.random(1, 5)]
team.portfolios = Portfolio.objects.order_by('?')[:_.random(1, 10)]
team.save()
i += 1

@ -86,7 +86,7 @@ class Command(BaseCommand):
contractor_status=_.sample(User.STATUSES)[0], contractor_status=_.sample(User.STATUSES)[0],
) )
users = _.times(create_user, 50) users = _.times(create_user, 500)
contractor_group = Group.objects.get(name='Исполнители') contractor_group = Group.objects.get(name='Исполнители')

@ -242,6 +242,7 @@ function getSpecializationTree(specId) {
var specs = { var specs = {
specLevel1: null, specLevel2: null, specLevel3: null, specLevel4: null, specLevel1: null, specLevel2: null, specLevel3: null, specLevel4: null,
} }
if (specId === null) { if (specId === null) {
return $.when(specs) return $.when(specs)
} else { } else {

@ -1,10 +1,8 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-07 14:55 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone import django.utils.timezone
@ -13,8 +11,6 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('projects', '0017_auto_20160606_1659'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
operations = [ operations = [
@ -24,8 +20,23 @@ class Migration(migrations.Migration):
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField()), ('text', models.TextField()),
('created', models.DateTimeField(default=django.utils.timezone.now)), ('created', models.DateTimeField(default=django.utils.timezone.now)),
('order', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='messages', to='projects.Order')), ('private_type', models.BooleanField(default=False)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='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)),
],
options={
'verbose_name': 'Заметка',
'verbose_name_plural': 'Заметки',
},
), ),
] ]

@ -1,19 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 12:55
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('chat', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='message',
options={'verbose_name': 'Сообщение', 'verbose_name_plural': 'Сообщения'},
),
]

@ -0,0 +1,24 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
initial = True
dependencies = [
('chat', '0001_initial'),
('projects', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='notes',
name='order',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_notes', to='projects.Order'),
),
]

@ -1,39 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-29 16:14
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 = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('chat', '0002_auto_20160608_1555'),
]
operations = [
migrations.RemoveField(
model_name='message',
name='user',
),
migrations.AddField(
model_name='message',
name='recipent',
field=models.ForeignKey(default=5, on_delete=django.db.models.deletion.CASCADE, related_name='recipent_messages', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
migrations.AddField(
model_name='message',
name='sender',
field=models.ForeignKey(default=4, on_delete=django.db.models.deletion.CASCADE, related_name='sender_messages', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
migrations.AlterField(
model_name='message',
name='order',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='order_messages', to='projects.Order'),
),
]

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-21 15:08
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):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0001_initial'),
('chat', '0002_notes_order'),
]
operations = [
migrations.AddField(
model_name='notes',
name='recipent',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recipent_notes', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='notes',
name='sender',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender_notes', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='message',
name='order',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_messages', to='projects.Order'),
),
migrations.AddField(
model_name='message',
name='recipent',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='recipent_messages', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='message',
name='sender',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='sender_messages', to=settings.AUTH_USER_MODEL),
),
]

@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-30 09:04
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('chat', '0003_auto_20160629_1914'),
]
operations = [
migrations.AddField(
model_name='message',
name='private_type',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='message',
name='order',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_messages', to='projects.Order'),
),
]

@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-04 11:44
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('chat', '0004_auto_20160630_1204'),
]
operations = [
migrations.CreateModel(
name='Notes',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField()),
],
options={
'verbose_name_plural': 'Сообщения',
'verbose_name': 'Сообщение',
},
),
]

@ -1,46 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-04 15:11
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):
dependencies = [
('projects', '0037_auto_20160704_1444'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('chat', '0005_notes'),
]
operations = [
migrations.AlterModelOptions(
name='notes',
options={'verbose_name': 'Заметка', 'verbose_name_plural': 'Заметки'},
),
migrations.AddField(
model_name='notes',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
migrations.AddField(
model_name='notes',
name='order',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='order_notes', to='projects.Order'),
),
migrations.AddField(
model_name='notes',
name='recipent',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='recipent_notes', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
migrations.AddField(
model_name='notes',
name='sender',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='sender_notes', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
]

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-15 12:56 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import migrations, models from django.db import migrations, models
@ -17,50 +17,46 @@ class Migration(migrations.Migration):
operations = [ operations = [
migrations.CreateModel( migrations.CreateModel(
name='City', name='Location',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)), ('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={ options={
'verbose_name_plural': 'Города', 'verbose_name': 'Местоположение',
'verbose_name': 'Город', 'verbose_name_plural': 'Местоположения',
}, },
managers=[
('_default_manager', django.db.models.manager.Manager()),
],
), ),
migrations.CreateModel( migrations.CreateModel(
name='Country', name='MainPage',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)), ('contractor_text', models.TextField()),
('customer_text', models.TextField()),
('video_code', models.TextField()),
], ],
options={ options={
'verbose_name_plural': 'Страны', 'verbose_name': 'Главная страница',
'verbose_name': 'Страна',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='Location', name='Settings',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=50)), ('time_notification', models.IntegerField(default=180)),
('type', models.CharField(blank=True, choices=[('country', 'Страна'), ('region', 'Регион'), ('town', 'Город')], max_length=20, null=True)),
('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={ options={
'verbose_name_plural': 'Местоположения', 'verbose_name': 'Настройки сайта',
'verbose_name': 'Местоположение', 'verbose_name_plural': 'Настройки сайта',
}, },
managers=[
('_default_manager', django.db.models.manager.Manager()),
],
),
migrations.AddField(
model_name='city',
name='country',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cities', to='common.Country'),
), ),
] ]

@ -1,31 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-15 13:25
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('common', '0001_initial'),
]
operations = [
migrations.RemoveField(
model_name='city',
name='country',
),
migrations.AlterField(
model_name='location',
name='type',
field=models.CharField(choices=[('_root', 'Корень'), ('country', 'Страна'), ('region', 'Регион'), ('town', 'Город')], default=None, max_length=20),
preserve_default=False,
),
migrations.DeleteModel(
name='City',
),
migrations.DeleteModel(
name='Country',
),
]

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-05 07:25
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('common', '0002_auto_20160615_1625'),
]
operations = [
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': 'Главная страница',
},
),
]

@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-13 09:17
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('common', '0003_mainpage'),
]
operations = [
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': 'Настройки сайта',
},
),
]

@ -1,19 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 10:27
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('common', '0004_settings'),
]
operations = [
migrations.AlterModelOptions(
name='settings',
options={'verbose_name': 'Настройки сайта', 'verbose_name_plural': 'Настройки сайта'},
),
]

@ -45,7 +45,9 @@ class ProjectFilterForm(forms.ModelForm):
self.fields['work_type'].initial = '' self.fields['work_type'].initial = ''
self.fields['specialization'].required = False self.fields['specialization'].required = False
self.fields['specialization'].queryset = Specialization.objects.root_nodes()[0].get_descendants()
# self.fields['specialization'].queryset = Specialization.objects.root_nodes()[0].get_descendants()
self.fields['specialization'].queryset = Specialization.objects # TODO: Tmp
class ProjectFilterRealtyForm(forms.ModelForm): class ProjectFilterRealtyForm(forms.ModelForm):
@ -73,7 +75,8 @@ class ProjectFilterRealtyForm(forms.ModelForm):
self.fields['construction_type'].empty_label = '' self.fields['construction_type'].empty_label = ''
self.fields['construction_type'].required = False self.fields['construction_type'].required = False
self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants() # self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants()
self.fields['location'].queryset = Location.objects # TODO: Tmp
class CustomerProjectEditForm(forms.ModelForm): class CustomerProjectEditForm(forms.ModelForm):
@ -113,7 +116,9 @@ class CustomerProjectEditForm(forms.ModelForm):
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.fields['realty'].empty_label = 'Создать новый' self.fields['realty'].empty_label = 'Создать новый'
self.fields['specialization'].queryset = Specialization.objects.root_nodes()[0].get_descendants()
# self.fields['specialization'].queryset = Specialization.objects.root_nodes()[0].get_descendants()
self.fields['specialization'].queryset = Specialization.objects # TODO: Tmp
if self.instance.pk: if self.instance.pk:
self.fields['files'].queryset = self.instance.files self.fields['files'].queryset = self.instance.files
@ -139,7 +144,8 @@ class RealtyForm(forms.ModelForm):
self.request = kwargs.pop('request') self.request = kwargs.pop('request')
super().__init__(*args, **kwargs) super().__init__(*args, **kwargs)
self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants() # self.fields['location'].queryset = Location.objects.root_nodes()[0].get_descendants()
self.fields['location'].queryset = Location.objects # TODO: Tmp
class Realty1Form(forms.Form): class Realty1Form(forms.Form):

@ -1,9 +1,11 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 10:22 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone
import mptt.fields
class Migration(migrations.Migration): class Migration(migrations.Migration):
@ -11,6 +13,7 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
('common', '0001_initial'),
] ]
operations = [ operations = [
@ -18,44 +21,156 @@ class Migration(migrations.Migration):
name='Answer', name='Answer',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('cost', models.DecimalField(decimal_places=2, max_digits=10)), ('budget', models.DecimalField(decimal_places=0, max_digits=10)),
('cost_type', models.CharField(choices=[('RUR', 'rur'), ('USD', 'usd'), ('EUR', 'eur')], default='RUR', max_length=5)), ('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()), ('text', models.TextField()),
('term', models.DecimalField(decimal_places=2, max_digits=10)),
('term_type', models.CharField(choices=[('HOUR', 'hour'), ('DAY', 'day'), ('MONTH', 'month')], default='hour', max_length=10)),
], ],
options={ options={
'verbose_name': 'Ответ к проекту', 'verbose_name': 'Ответ к проекту',
'ordering': ('-created',),
'verbose_name_plural': 'Ответы к проектам', 'verbose_name_plural': 'Ответы к проектам',
}, },
), ),
migrations.CreateModel( migrations.CreateModel(
name='Portfolio', 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)),
],
options={
'verbose_name': 'Кандидат',
'verbose_name_plural': 'Кандидаты',
},
),
migrations.CreateModel(
name='ConstructionType',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)), ('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)),
],
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()), ('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)),
], ],
options={
'verbose_name': 'Портфолио',
'verbose_name_plural': 'Портфолио',
},
), ),
migrations.CreateModel( migrations.CreateModel(
name='PortfolioPhoto', name='PortfolioPhoto',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('img', models.ImageField(upload_to='projects/portfolio')), ('img', models.ImageField(upload_to='projects/portfolio')),
('portfolio', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='projects.Portfolio')),
], ],
options={
'verbose_name': 'Фото портфолио',
'verbose_name_plural': 'Фото портфолио',
},
), ),
migrations.CreateModel( migrations.CreateModel(
name='Project', name='Project',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('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)), ('name', models.CharField(max_length=255)),
('price', models.DecimalField(decimal_places=2, max_digits=10)), ('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)), ('text', models.TextField(blank=True)),
('work_type', models.IntegerField(choices=[(1, 'Проектирование'), (2, 'Техническое сопровождение')], default=1)),
], ],
options={ options={
'verbose_name': 'Проект', 'verbose_name': 'Проект',
'verbose_name_plural': 'Проекты', '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')),
],
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')),
],
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')),
],
options={
'verbose_name': 'Этап',
'verbose_name_plural': 'Этапы',
},
),
] ]

@ -1,35 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 10:22
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):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='portfolio',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='answer',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='projects.Project'),
),
migrations.AddField(
model_name='answer',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to=settings.AUTH_USER_MODEL),
),
]

@ -0,0 +1,114 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields
class Migration(migrations.Migration):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('users', '0001_initial'),
('common', '0001_initial'),
('projects', '0001_initial'),
('specializations', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='realty',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='projectfile',
name='project',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Project'),
),
migrations.AddField(
model_name='project',
name='customer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to=settings.AUTH_USER_MODEL),
),
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='portfoliophoto',
name='portfolio',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='projects.Portfolio'),
),
migrations.AddField(
model_name='portfolio',
name='building_classification',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication'),
),
migrations.AddField(
model_name='portfolio',
name='construction_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType'),
),
migrations.AddField(
model_name='portfolio',
name='location',
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='common.Location'),
),
migrations.AddField(
model_name='portfolio',
name='specialization',
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization'),
),
migrations.AddField(
model_name='portfolio',
name='team',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='users.Team'),
),
migrations.AddField(
model_name='portfolio',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='order',
name='contractor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL),
),
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='answer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='candidates', to='projects.Answer'),
),
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='contractor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='answer',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='answers', to='projects.Project'),
),
]

@ -1,30 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 13:12
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 = [
('specializations', '0001_initial'),
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0002_auto_20160519_1022'),
]
operations = [
migrations.AddField(
model_name='project',
name='specialization',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='specializations.Specialization'),
),
migrations.AddField(
model_name='project',
name='user',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='projects', to=settings.AUTH_USER_MODEL),
preserve_default=False,
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 13:38
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0003_auto_20160519_1312'),
]
operations = [
migrations.AlterField(
model_name='project',
name='specialization',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='specializations.Specialization'),
),
]

@ -1,39 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-24 10:53
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0004_auto_20160519_1338'),
]
operations = [
migrations.AlterModelOptions(
name='portfolio',
options={'verbose_name': 'Портфолио', 'verbose_name_plural': 'Портфолио'},
),
migrations.AlterModelOptions(
name='portfoliophoto',
options={'verbose_name': 'Фото портфолио', 'verbose_name_plural': 'Фото портфолио'},
),
migrations.AddField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 24, 10, 53, 28, 347882)),
),
migrations.AlterField(
model_name='answer',
name='cost_type',
field=models.CharField(choices=[('rur', 'rur'), ('usd', 'usd'), ('eur', 'eur')], default='RUR', max_length=5),
),
migrations.AlterField(
model_name='answer',
name='term_type',
field=models.CharField(choices=[('hour', 'hour'), ('day', 'day'), ('month', 'month')], default='HOUR', max_length=10),
),
]

@ -1,80 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-24 12:08
from __future__ import unicode_literals
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0005_auto_20160524_1053'),
]
operations = [
migrations.CreateModel(
name='Candidate',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('status', models.BooleanField(default=False)),
],
options={
'verbose_name': 'Кандидат',
'verbose_name_plural': 'Кандидаты',
},
),
migrations.AddField(
model_name='project',
name='budget',
field=models.CharField(blank=True, max_length=20),
),
migrations.AddField(
model_name='project',
name='cro',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='project',
name='secure_transaction',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='project',
name='term_cost',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='project',
name='type_work',
field=models.CharField(choices=[('1', 'проектирование'), ('2', 'техническое сопровождение')], default='1', max_length=20),
),
migrations.AlterField(
model_name='answer',
name='cost_type',
field=models.CharField(choices=[('rur', 'rur'), ('usd', 'usd'), ('eur', 'eur')], default='rur', max_length=5),
),
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 24, 12, 8, 51, 751897)),
),
migrations.AlterField(
model_name='answer',
name='term_type',
field=models.CharField(choices=[('hour', 'hour'), ('day', 'day'), ('month', 'month')], default='hour', max_length=10),
),
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='candidate',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='candidates', to=settings.AUTH_USER_MODEL),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 09:48
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0006_auto_20160524_1208'),
]
operations = [
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 9, 48, 35, 275911)),
),
]

@ -1,41 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 10:44
from __future__ import unicode_literals
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0007_auto_20160525_0948'),
]
operations = [
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.CharField(max_length=50)),
('type_construction', models.CharField(max_length=50)),
('country', models.CharField(max_length=50)),
('city', models.CharField(max_length=50)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realty', to=settings.AUTH_USER_MODEL)),
],
),
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 10, 44, 29, 360210)),
),
migrations.AddField(
model_name='project',
name='realty',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='projects.Realty'),
),
]

@ -1,41 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 15:24
from __future__ import unicode_literals
import datetime
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('projects', '0008_auto_20160525_1044'),
]
operations = [
migrations.CreateModel(
name='Order',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('cost', models.DecimalField(decimal_places=2, max_digits=10)),
('term', models.IntegerField(default=1)),
('created', models.DateTimeField(default=django.utils.timezone.now, editable=False)),
('status', models.BooleanField(default=False)),
('contractor', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL)),
('project', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='order', to='projects.Project')),
],
),
migrations.AlterModelOptions(
name='realty',
options={'verbose_name': 'Объект', 'verbose_name_plural': 'Объекты'},
),
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 15, 24, 2, 462642)),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 15:25
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('projects', '0009_auto_20160525_1524'),
]
operations = [
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 15, 25, 42, 489763, tzinfo=utc)),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 15:26
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('projects', '0010_auto_20160525_1525'),
]
operations = [
migrations.AlterField(
model_name='answer',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

@ -1,32 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-30 13:55
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):
dependencies = [
('projects', '0011_auto_20160525_1526'),
]
operations = [
migrations.AlterModelOptions(
name='order',
options={'verbose_name': 'Заказ', 'verbose_name_plural': 'Заказы'},
),
migrations.AddField(
model_name='project',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
migrations.AlterField(
model_name='portfolio',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='portfolio', to=settings.AUTH_USER_MODEL),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-02 12:03
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0012_auto_20160530_1355'),
]
operations = [
migrations.AlterField(
model_name='answer',
name='term',
field=models.IntegerField(default=0),
),
]

@ -1,29 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-02 15:59
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0013_auto_20160602_1203'),
]
operations = [
migrations.AlterModelOptions(
name='answer',
options={'ordering': ('-created',), 'verbose_name': 'Ответ к проекту', 'verbose_name_plural': 'Ответы к проектам'},
),
migrations.AlterField(
model_name='order',
name='cost',
field=models.DecimalField(decimal_places=0, max_digits=10),
),
migrations.AlterField(
model_name='project',
name='price',
field=models.DecimalField(decimal_places=0, max_digits=10),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-02 16:06
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0014_auto_20160602_1559'),
]
operations = [
migrations.AlterField(
model_name='answer',
name='cost',
field=models.DecimalField(decimal_places=0, max_digits=10),
),
]

@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-03 11:40
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0015_auto_20160602_1606'),
]
operations = [
migrations.RemoveField(
model_name='candidate',
name='user',
),
migrations.AddField(
model_name='candidate',
name='answer',
field=models.ForeignKey(default='', on_delete=django.db.models.deletion.CASCADE, related_name='candidates', to='projects.Answer'),
preserve_default=False,
),
]

@ -1,50 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-06 13:59
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0016_auto_20160603_1140'),
]
operations = [
migrations.CreateModel(
name='Stage',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('name', models.CharField(max_length=255)),
('result', models.CharField(max_length=255)),
('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)),
('term', models.IntegerField(default=0)),
('term_type', models.CharField(choices=[('hour', 'hour'), ('day', 'day'), ('month', 'month')], default='hour', max_length=10)),
],
options={
'verbose_name_plural': 'Этапы',
'verbose_name': 'Этап',
},
),
migrations.RemoveField(
model_name='order',
name='cost',
),
migrations.RemoveField(
model_name='order',
name='term',
),
migrations.AddField(
model_name='order',
name='secure',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='stage',
name='order',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='stages', to='projects.Order'),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-07 16:15
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 = [
('projects', '0017_auto_20160606_1659'),
]
operations = [
migrations.AlterField(
model_name='order',
name='contractor',
field=models.ForeignKey(null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-07 16:16
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 = [
('projects', '0018_auto_20160607_1915'),
]
operations = [
migrations.AlterField(
model_name='order',
name='contractor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, to=settings.AUTH_USER_MODEL),
),
]

@ -1,96 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 12:55
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 = [
('projects', '0019_auto_20160607_1916'),
]
operations = [
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='City',
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='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='Country',
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.RemoveField(
model_name='realty',
name='type_construction',
),
migrations.AlterField(
model_name='answer',
name='cost_type',
field=models.CharField(choices=[('rur', ''), ('usd', 'usd'), ('eur', 'eur')], default='rur', max_length=5),
),
migrations.AlterField(
model_name='realty',
name='building_classification',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.BuildingClassfication'),
),
migrations.AlterField(
model_name='realty',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='stage',
name='cost_type',
field=models.CharField(choices=[('rur', ''), ('usd', 'usd'), ('eur', 'eur')], default='rur', max_length=5),
),
migrations.AddField(
model_name='city',
name='country',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='cities', to='projects.Country'),
),
migrations.AddField(
model_name='realty',
name='construction_type',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.ConstructionType'),
preserve_default=False,
),
]

@ -1,31 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:02
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('projects', '0020_auto_20160608_1555'),
]
operations = [
migrations.RemoveField(
model_name='realty',
name='building_classification',
),
migrations.RemoveField(
model_name='realty',
name='city',
),
migrations.RemoveField(
model_name='realty',
name='construction_type',
),
migrations.RemoveField(
model_name='realty',
name='country',
),
]

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:05
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0021_auto_20160608_1602'),
]
operations = [
migrations.AddField(
model_name='realty',
name='building_classification',
field=models.CharField(default=None, max_length=255),
preserve_default=False,
),
migrations.AddField(
model_name='realty',
name='construction_type',
field=models.CharField(default=None, max_length=255),
preserve_default=False,
),
]

@ -1,38 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 13:09
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0022_auto_20160608_1605'),
]
operations = [
migrations.AddField(
model_name='realty',
name='city',
field=models.CharField(default=None, max_length=50),
preserve_default=False,
),
migrations.AddField(
model_name='realty',
name='country',
field=models.CharField(default=None, max_length=50),
preserve_default=False,
),
migrations.AlterField(
model_name='realty',
name='building_classification',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.BuildingClassfication'),
),
migrations.AlterField(
model_name='realty',
name='construction_type',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.ConstructionType'),
),
]

@ -1,105 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-09 15:08
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0023_auto_20160608_1609'),
]
operations = [
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')),
],
),
migrations.RenameField(
model_name='project',
old_name='user',
new_name='customer',
),
migrations.RenameField(
model_name='project',
old_name='secure_transaction',
new_name='secure_deal',
),
migrations.RemoveField(
model_name='project',
name='price',
),
migrations.RemoveField(
model_name='project',
name='term_cost',
),
migrations.RemoveField(
model_name='project',
name='type_work',
),
migrations.AddField(
model_name='project',
name='budget_by_agreement',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='project',
name='currency',
field=models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20),
),
migrations.AddField(
model_name='project',
name='price_and_term_required',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='project',
name='term',
field=models.IntegerField(default=0),
),
migrations.AddField(
model_name='project',
name='term_type',
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20),
),
migrations.AddField(
model_name='project',
name='work_type',
field=models.IntegerField(choices=[('1', 'Проектирование'), ('2', 'Техническое сопровождение')], default=1),
),
migrations.AlterField(
model_name='answer',
name='cost_type',
field=models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=5),
),
migrations.AlterField(
model_name='answer',
name='term_type',
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=10),
),
migrations.AlterField(
model_name='project',
name='budget',
field=models.DecimalField(decimal_places=0, max_digits=10),
),
migrations.AlterField(
model_name='stage',
name='cost_type',
field=models.CharField(choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=5),
),
migrations.AlterField(
model_name='stage',
name='term_type',
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=10),
),
migrations.AddField(
model_name='projectfile',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, to='projects.Project'),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-09 16:16
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0024_auto_20160609_1808'),
]
operations = [
migrations.AlterField(
model_name='projectfile',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Project'),
),
]

@ -1,28 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 09:04
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0025_auto_20160609_1916'),
]
operations = [
migrations.AlterModelOptions(
name='projectfile',
options={'verbose_name': 'Файл проекта', 'verbose_name_plural': 'Файлы проектов'},
),
migrations.RemoveField(
model_name='project',
name='secure_deal',
),
migrations.AddField(
model_name='project',
name='deal_type',
field=models.CharField(choices=[('secure_deal', 'Безопасная сделка (с резервированием бюджета) '), ('direct_payment', 'Прямая оплата Исполнителю на его кошелек/счет')], default='secure_deal', max_length=20),
),
]

@ -1,26 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 09:31
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0026_auto_20160610_1204'),
]
operations = [
migrations.AlterField(
model_name='realty',
name='city',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.City'),
),
migrations.AlterField(
model_name='realty',
name='country',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='projects.Country'),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 10:01
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0027_auto_20160610_1231'),
]
operations = [
migrations.AlterField(
model_name='project',
name='work_type',
field=models.CharField(choices=[('1', 'Проектирование'), ('2', 'Техническое сопровождение')], default='1', max_length=20),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 11:16
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0028_auto_20160610_1301'),
]
operations = [
migrations.AddField(
model_name='project',
name='active',
field=models.BooleanField(default=True),
),
]

@ -1,30 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 11:30
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('projects', '0029_project_active'),
]
operations = [
migrations.RenameField(
model_name='answer',
old_name='cost',
new_name='budget',
),
migrations.RenameField(
model_name='answer',
old_name='user',
new_name='contractor',
),
migrations.RenameField(
model_name='answer',
old_name='cost_type',
new_name='currency',
),
]

@ -1,24 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 11:34
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0030_auto_20160610_1430'),
]
operations = [
migrations.RemoveField(
model_name='project',
name='active',
),
migrations.AddField(
model_name='project',
name='state',
field=models.CharField(choices=[('active', 'Активный'), ('trash', 'В корзине'), ('delete', 'Удален')], default='active', max_length=20),
),
]

@ -1,52 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-15 13:10
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import django.utils.timezone
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('common', '0001_initial'),
('projects', '0031_auto_20160610_1434'),
]
operations = [
migrations.RemoveField(
model_name='city',
name='country',
),
migrations.RemoveField(
model_name='realty',
name='city',
),
migrations.RemoveField(
model_name='realty',
name='country',
),
migrations.AddField(
model_name='realty',
name='location',
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='realties', to='common.Location'),
),
migrations.AlterField(
model_name='order',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
migrations.AlterField(
model_name='project',
name='state',
field=models.CharField(choices=[('active', 'Активный'), ('trashed', 'В корзине'), ('deleted', 'Удален')], default='active', max_length=20),
),
migrations.DeleteModel(
name='City',
),
migrations.DeleteModel(
name='Country',
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-21 07:57
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0032_auto_20160615_1610'),
]
operations = [
migrations.AlterField(
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'),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-22 09:00
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('projects', '0033_auto_20160621_1057'),
]
operations = [
migrations.AlterField(
model_name='project',
name='work_type',
field=models.IntegerField(choices=[('1', 'Проектирование'), ('2', 'Техническое сопровождение')], default=1, max_length=20),
),
]

@ -1,30 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-30 13:35
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0034_auto_20160622_1200'),
]
operations = [
migrations.AlterModelOptions(
name='buildingclassfication',
options={'verbose_name': 'Тип здания', 'verbose_name_plural': 'Типы зданий'},
),
migrations.AlterField(
model_name='project',
name='work_type',
field=models.IntegerField(choices=[(1, 'Проектирование'), (2, 'Техническое сопровождение')], default=1),
),
migrations.AlterField(
model_name='projectfile',
name='project',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='files', to='projects.Project'),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-30 15:46
from __future__ import unicode_literals
from django.db import migrations
import django.db.models.deletion
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('projects', '0035_auto_20160630_1635'),
]
operations = [
migrations.AlterField(
model_name='project',
name='specialization',
field=mptt.fields.TreeForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='projects', to='specializations.Specialization'),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-04 11:44
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 = [
('projects', '0036_auto_20160630_1846'),
]
operations = [
migrations.AlterField(
model_name='order',
name='contractor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='orders', to=settings.AUTH_USER_MODEL),
),
]

@ -1,73 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-06 09:49
from __future__ import unicode_literals
from django.conf import settings
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('common', '0003_mainpage'),
('specializations', '0002_auto_20160602_1203'),
('projects', '0037_auto_20160704_1444'),
]
operations = [
migrations.AddField(
model_name='portfolio',
name='budget',
field=models.DecimalField(decimal_places=0, default=0, max_digits=10, null=True),
),
migrations.AddField(
model_name='portfolio',
name='budget_by_agreement',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='portfolio',
name='building_classification',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication'),
preserve_default=False,
),
migrations.AddField(
model_name='portfolio',
name='construction_type',
field=models.ForeignKey(default=1, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType'),
preserve_default=False,
),
migrations.AddField(
model_name='portfolio',
name='location',
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='common.Location'),
),
migrations.AddField(
model_name='portfolio',
name='specialization',
field=mptt.fields.TreeForeignKey(default=5, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization'),
preserve_default=False,
),
migrations.AddField(
model_name='portfolio',
name='term',
field=models.IntegerField(default=0),
),
migrations.AddField(
model_name='portfolio',
name='term_type',
field=models.CharField(choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20),
),
migrations.AddField(
model_name='portfolio',
name='worksell',
field=models.BooleanField(default=False),
),
migrations.AlterField(
model_name='portfolio',
name='user',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to=settings.AUTH_USER_MODEL),
),
]

@ -1,56 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-07 14:24
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('projects', '0038_auto_20160706_1249'),
]
operations = [
migrations.RemoveField(
model_name='portfolio',
name='budget_by_agreement',
),
migrations.AddField(
model_name='portfolio',
name='currency',
field=models.CharField(blank=True, choices=[('rur', 'RUR'), ('usd', 'USD'), ('eur', 'EUR')], default='rur', max_length=20, null=True),
),
migrations.AlterField(
model_name='portfolio',
name='budget',
field=models.DecimalField(blank=True, decimal_places=0, default=0, max_digits=10, null=True),
),
migrations.AlterField(
model_name='portfolio',
name='building_classification',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.BuildingClassfication'),
),
migrations.AlterField(
model_name='portfolio',
name='construction_type',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='projects.ConstructionType'),
),
migrations.AlterField(
model_name='portfolio',
name='specialization',
field=mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='specializations.Specialization'),
),
migrations.AlterField(
model_name='portfolio',
name='term',
field=models.IntegerField(blank=True, default=0, null=True),
),
migrations.AlterField(
model_name='portfolio',
name='term_type',
field=models.CharField(blank=True, choices=[('project', 'За проект'), ('hour', 'За час'), ('day', 'За день'), ('month', 'За месяц')], default='hour', max_length=20, null=True),
),
]

@ -1,23 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 10:27
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('users', '0021_contractorresumefiles_resume'),
('projects', '0039_auto_20160707_1724'),
]
operations = [
migrations.AddField(
model_name='portfolio',
name='team',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='users.Team'),
preserve_default=False,
),
]

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 12:31
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 = [
('projects', '0040_portfolio_team'),
]
operations = [
migrations.AlterField(
model_name='portfolio',
name='team',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to='users.Team'),
),
migrations.AlterField(
model_name='portfolio',
name='user',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='portfolios', to=settings.AUTH_USER_MODEL),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 13:41
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0041_auto_20160720_1531'),
]
operations = [
migrations.AlterField(
model_name='portfoliophoto',
name='portfolio',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='photos', to='projects.Portfolio'),
),
]

@ -1,11 +1,9 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-31 08:46 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf import settings
import django.core.validators import django.core.validators
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration): class Migration(migrations.Migration):
@ -13,7 +11,6 @@ class Migration(migrations.Migration):
initial = True initial = True
dependencies = [ dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
] ]
operations = [ operations = [
@ -21,10 +18,13 @@ class Migration(migrations.Migration):
name='Review', name='Review',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField()),
('stars', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)])),
('is_secured', models.BooleanField(default=False)), ('is_secured', models.BooleanField(default=False)),
('user', models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to=settings.AUTH_USER_MODEL)), ('stars', models.IntegerField(validators=[django.core.validators.MinValueValidator(1), django.core.validators.MaxValueValidator(5)])),
('text', models.TextField()),
], ],
options={
'verbose_name': 'Отзыв',
'verbose_name_plural': 'Отзывы',
},
), ),
] ]

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-31 09:06
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('projects', '0012_auto_20160530_1355'),
('reviews', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='review',
options={'verbose_name': 'Отзыв', 'verbose_name_plural': 'Отзывы'},
),
migrations.AddField(
model_name='review',
name='project',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='projects.Project'),
preserve_default=False,
),
]

@ -0,0 +1,46 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-21 15:08
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):
initial = True
dependencies = [
migrations.swappable_dependency(settings.AUTH_USER_MODEL),
('reviews', '0001_initial'),
('projects', '0002_auto_20160721_1808'),
]
operations = [
migrations.AddField(
model_name='review',
name='from_contractor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='customer_reviews', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='review',
name='from_customer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='contractor_reviews', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='review',
name='project',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews', to='projects.Project'),
),
migrations.AddField(
model_name='review',
name='target_contractor',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_customer', to=settings.AUTH_USER_MODEL),
),
migrations.AddField(
model_name='review',
name='target_customer',
field=models.ForeignKey(on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_contractor', to=settings.AUTH_USER_MODEL),
),
]

@ -3,14 +3,22 @@ from django.core.validators import MaxValueValidator, MinValueValidator
class Review(models.Model): class Review(models.Model):
is_secured = models.BooleanField(default=False) is_secured = models.BooleanField(default=False)
project = models.ForeignKey("projects.Project", related_name='reviews') project = models.ForeignKey('projects.Project', related_name='reviews')
stars = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)]) stars = models.IntegerField(validators=[MinValueValidator(1), MaxValueValidator(5)])
text = models.TextField() text = models.TextField()
user = models.ForeignKey("users.User", related_name='reviews') target_customer = models.ForeignKey('users.User', related_name='reviews_by_contractor')
target_contractor = models.ForeignKey('users.User', related_name='reviews_by_customer')
from_customer = models.ForeignKey('users.User', related_name='contractor_reviews')
from_contractor = models.ForeignKey('users.User', related_name='customer_reviews')
def __str__(self): def __str__(self):
return self.pk return self.pk
class Meta: class Meta:
verbose_name = 'Отзыв' verbose_name = 'Отзыв'
verbose_name_plural = 'Отзывы' verbose_name_plural = 'Отзывы'
# unique_together = (
# ('from_customer', 'target_contractor', 'project'),
# ('from_contractor', 'target_customer', 'project'),
# )

@ -1,5 +1,5 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 10:22 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.db import migrations, models from django.db import migrations, models
@ -27,7 +27,8 @@ class Migration(migrations.Migration):
('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='specializations.Specialization')), ('parent', mptt.fields.TreeForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='children', to='specializations.Specialization')),
], ],
options={ options={
'abstract': False, 'verbose_name': 'Специализация',
'verbose_name_plural': 'Специализации',
}, },
), ),
] ]

@ -1,19 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-02 12:03
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('specializations', '0001_initial'),
]
operations = [
migrations.AlterModelOptions(
name='specialization',
options={'verbose_name': 'Специализация', 'verbose_name_plural': 'Специализации'},
),
]

@ -14,7 +14,10 @@ class SpecListView(ListView):
root = Specialization.objects.get(pk=1) root = Specialization.objects.get(pk=1)
context['root'] = root context['root'] = root
context['children'] = root.get_children() context['children'] = root.get_children()
context['roots'] = Specialization.objects.root_nodes()
# context['roots'] = Specialization.objects.root_nodes()
context['roots'] = Specialization.objects.filter(name='_root') # TODO: Tmp
return context return context

@ -9,10 +9,10 @@
{# {% url "password_reset_recover" %}#} {# {% url "password_reset_recover" %}#}
<p class="welcomeMain">Основная задача сайта</p> <p class="welcomeMain">Основная задача сайта</p>
<p> <p style="font-size: 25px; line-height: initial; font-weight: bold">
Authed? {{ request.user.is_authenticated }}c Authed? {{ request.user.is_authenticated }}<br>
{{ request.user }}<br> {{ request.user }} ({{ request.user.pk }})<br>
{{ request.user.groups.all }} {{ request.user.groups.all }}<br>
</p> </p>
</div> </div>
</div> </div>

@ -62,12 +62,14 @@ class ContractorFilterForm(forms.Form):
reverse_order = forms.BooleanField(required=False) reverse_order = forms.BooleanField(required=False)
specialization = forms.ModelChoiceField( specialization = forms.ModelChoiceField(
queryset=Specialization.objects.root_nodes()[0].get_descendants(), # queryset=Specialization.objects.root_nodes()[0].get_descendants(),
queryset=Specialization.objects, # TODO: Tmp,
required=False, required=False,
) )
location = forms.ModelChoiceField( location = forms.ModelChoiceField(
queryset=Location.objects.root_nodes()[0].get_descendants(), # queryset=Location.objects.root_nodes()[0].get_descendants(),
queryset=Location.objects, # TODO: Tmp
required=False, required=False,
) )

@ -1,10 +1,12 @@
# -*- coding: utf-8 -*- # -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 10:22 # Generated by Django 1.9.7 on 2016-07-21 15:08
from __future__ import unicode_literals from __future__ import unicode_literals
from django.conf import settings from django.conf import settings
from django.db import migrations, models from django.db import migrations, models
import django.db.models.deletion import django.db.models.deletion
import django.utils.timezone
import mptt.fields
class Migration(migrations.Migration): class Migration(migrations.Migration):
@ -13,6 +15,8 @@ class Migration(migrations.Migration):
dependencies = [ dependencies = [
('auth', '0007_alter_validators_add_error_messages'), ('auth', '0007_alter_validators_add_error_messages'),
('common', '0001_initial'),
('specializations', '0001_initial'),
] ]
operations = [ operations = [
@ -23,24 +27,88 @@ class Migration(migrations.Migration):
('password', models.CharField(max_length=128, verbose_name='password')), ('password', models.CharField(max_length=128, verbose_name='password')),
('last_login', models.DateTimeField(blank=True, null=True, verbose_name='last login')), ('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')), ('is_superuser', models.BooleanField(default=False, help_text='Designates that this user has all permissions without explicitly assigning them.', verbose_name='superuser status')),
('first_name', models.CharField(blank=True, max_length=255)), ('avatar', models.ImageField(blank=True, upload_to='users/avatars/')),
('last_name', models.CharField(blank=True, max_length=255)), ('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)), ('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)), ('is_active', models.BooleanField(default=True)),
('groups', 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')), ('last_name', models.CharField(blank=True, max_length=255)),
('user_permissions', 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')), ('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={ options={
'verbose_name': 'Пользователь', 'verbose_name': 'Пользователь',
'verbose_name_plural': 'Пользователи', '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( migrations.CreateModel(
name='Team', name='Team',
fields=[ fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')), ('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)), ('name', models.CharField(max_length=255)),
('owner', models.OneToOneField(null=True, on_delete=django.db.models.deletion.CASCADE, related_name='team', to=settings.AUTH_USER_MODEL)), ('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)), ('users', models.ManyToManyField(blank=True, related_name='teams', to=settings.AUTH_USER_MODEL)),
], ],
options={ options={
@ -48,4 +116,34 @@ class Migration(migrations.Migration):
'verbose_name_plural': 'Команды', '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'),
),
] ]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-19 14:52
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('auth', '0007_alter_validators_add_error_messages'),
('users', '0001_initial'),
]
operations = [
migrations.AddField(
model_name='team',
name='groups',
field=models.ManyToManyField(blank=True, related_name='teams', to='auth.Group'),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-24 10:52
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0002_team_groups'),
]
operations = [
migrations.AddField(
model_name='user',
name='created_at',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 24, 10, 52, 56, 737277)),
),
]

@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-24 10:53
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0003_user_created_at'),
]
operations = [
migrations.RemoveField(
model_name='team',
name='groups',
),
migrations.AlterField(
model_name='user',
name='created_at',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 24, 10, 53, 15, 497921)),
),
]

@ -1,25 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-24 10:54
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0004_auto_20160524_1053'),
]
operations = [
migrations.RemoveField(
model_name='user',
name='created_at',
),
migrations.AddField(
model_name='user',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 24, 10, 54, 13, 805566)),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 09:48
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0005_auto_20160524_1054'),
]
operations = [
migrations.AlterField(
model_name='user',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 9, 48, 35, 257077)),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 15:26
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0006_auto_20160525_0948'),
]
operations = [
migrations.AlterField(
model_name='user',
name='created',
field=models.DateTimeField(default=datetime.datetime(2016, 5, 25, 15, 26, 33, 142994)),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-05-25 15:27
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('users', '0007_auto_20160525_1526'),
]
operations = [
migrations.AlterField(
model_name='user',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-02 12:13
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', '0008_auto_20160525_1527'),
]
operations = [
migrations.AddField(
model_name='user',
name='nickname',
field=models.CharField(blank=True, max_length=50, null=True),
),
migrations.AlterField(
model_name='team',
name='owner',
field=models.OneToOneField(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='team', to=settings.AUTH_USER_MODEL),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-03 12:15
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('users', '0009_auto_20160602_1213'),
]
operations = [
migrations.AddField(
model_name='user',
name='last_time_visit',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-08 15:01
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('specializations', '0002_auto_20160602_1203'),
('users', '0010_user_last_time_visit'),
]
operations = [
migrations.AddField(
model_name='user',
name='contractor_specializations',
field=models.ManyToManyField(blank=True, related_name='contractors', to='specializations.Specialization'),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 13:58
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0011_user_contractor_specializations'),
]
operations = [
migrations.AddField(
model_name='user',
name='status',
field=models.CharField(choices=[('free', 'Свободен'), ('busy', 'Занят')], default='free', max_length=20),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-10 14:03
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('users', '0012_user_status'),
]
operations = [
migrations.RenameField(
model_name='user',
old_name='status',
new_name='contractor_status',
),
]

@ -1,28 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-15 13:11
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('common', '0001_initial'),
('users', '0013_auto_20160610_1703'),
]
operations = [
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='patronym',
field=models.CharField(blank=True, max_length=255),
),
]

@ -1,78 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-15 14:47
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
import django.db.models.deletion
from django.utils.timezone import utc
class Migration(migrations.Migration):
dependencies = [
('users', '0014_auto_20160615_1611'),
]
operations = [
migrations.CreateModel(
name='ContractorFinancialInfo',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('fio', models.CharField(max_length=255)),
('date_of_birth', models.DateTimeField()),
('phone', models.CharField(max_length=30)),
('residency', models.CharField(choices=[('russian_resident', 'Резидент РФ'), ('non_russian_resident', 'Нерезидент РФ'), ('refugee', 'Беженец'), ('russian_stay_permit', 'Вид на жительство')], max_length=50)),
('legal_status', models.CharField(choices=[('individual', 'Физическое лицо'), ('legal_entity', 'ИП и Юридическое лицо')], max_length=30)),
('passport_series', models.CharField(max_length=6)),
('passport_number', models.CharField(max_length=10)),
('subdivision_code', models.CharField(max_length=10)),
('passport_issued_by', models.CharField(max_length=255)),
('passport_issue_date', models.DateTimeField()),
('inn', models.CharField(max_length=100)),
('yandex_money', models.CharField(max_length=50)),
('credit_card_number', models.CharField(max_length=50)),
('passport_scan', models.ImageField(upload_to='users/contractors/')),
],
options={
'verbose_name': 'Финансовая информация',
'verbose_name_plural': 'Финансовая информация',
},
),
migrations.AddField(
model_name='user',
name='avatar',
field=models.ImageField(blank=True, upload_to='users/avatars/'),
),
migrations.AddField(
model_name='user',
name='cro',
field=models.BooleanField(default=False),
),
migrations.AddField(
model_name='user',
name='date_of_birth',
field=models.DateTimeField(default=datetime.datetime(2016, 6, 15, 14, 47, 5, 758769, tzinfo=utc)),
preserve_default=False,
),
migrations.AddField(
model_name='user',
name='gender',
field=models.CharField(blank=True, choices=[('male', 'Мужской'), ('female', 'Женский')], max_length=30),
),
migrations.AddField(
model_name='user',
name='skype',
field=models.CharField(blank=True, max_length=100),
),
migrations.AddField(
model_name='user',
name='website',
field=models.CharField(blank=True, max_length=255),
),
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'),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-17 15:15
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0015_auto_20160615_1747'),
]
operations = [
migrations.AlterField(
model_name='contractorfinancialinfo',
name='legal_status',
field=models.CharField(choices=[('individual', 'Физическое лицо'), ('legal_entity', 'ИП и юридическое лицо')], max_length=30),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-06-22 14:03
from __future__ import unicode_literals
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('users', '0016_auto_20160617_1815'),
]
operations = [
migrations.AddField(
model_name='user',
name='phone',
field=models.CharField(blank=True, max_length=30, null=True),
),
]

@ -1,44 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-10 15:38
from __future__ import unicode_literals
import datetime
from django.db import migrations, models
import django.utils.timezone
from django.utils.timezone import utc
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('users', '0017_user_phone'),
]
operations = [
migrations.RemoveField(
model_name='user',
name='nickname',
),
migrations.AddField(
model_name='user',
name='data_joined',
field=models.DateTimeField(default=django.utils.timezone.now),
),
migrations.AddField(
model_name='user',
name='username',
field=models.CharField(default=datetime.datetime(2016, 7, 10, 15, 38, 2, 660834, tzinfo=utc), max_length=50, unique=True),
preserve_default=False,
),
migrations.AlterField(
model_name='user',
name='contractor_specializations',
field=mptt.fields.TreeManyToManyField(blank=True, related_name='contractors', to='specializations.Specialization'),
),
migrations.AlterField(
model_name='user',
name='date_of_birth',
field=models.DateTimeField(blank=True, null=True),
),
]

@ -1,20 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.6 on 2016-07-10 16:50
from __future__ import unicode_literals
from django.db import migrations
class Migration(migrations.Migration):
dependencies = [
('users', '0018_auto_20160710_1838'),
]
operations = [
migrations.RenameField(
model_name='user',
old_name='data_joined',
new_name='date_joined',
),
]

@ -1,47 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-11 14:59
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('users', '0019_auto_20160710_1950'),
]
operations = [
migrations.CreateModel(
name='ContractorResume',
fields=[
('id', models.AutoField(auto_created=True, primary_key=True, serialize=False, verbose_name='ID')),
('text', models.TextField()),
('resume_file', models.FileField(upload_to='users/resume/files/')),
],
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')),
('img', models.ImageField(upload_to='users/resume/images/')),
('title', models.CharField(max_length=255)),
('description', models.TextField(blank=True)),
('type', models.CharField(choices=[('diplom', 'Дипломы/Сертификаты'), ('cro', 'Допуск CPO')], max_length=50)),
],
options={
'verbose_name': 'Файлы резюме',
'verbose_name_plural': 'Файлы резюме',
},
),
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'),
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-11 16:27
from __future__ import unicode_literals
from django.db import migrations, models
import django.db.models.deletion
class Migration(migrations.Migration):
dependencies = [
('users', '0020_auto_20160711_1759'),
]
operations = [
migrations.AddField(
model_name='contractorresumefiles',
name='resume',
field=models.ForeignKey(default=None, on_delete=django.db.models.deletion.CASCADE, related_name='resume_files', to='users.ContractorResume'),
preserve_default=False,
),
]

@ -1,22 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 10:27
from __future__ import unicode_literals
from django.db import migrations
import mptt.fields
class Migration(migrations.Migration):
dependencies = [
('specializations', '0002_auto_20160602_1203'),
('users', '0021_contractorresumefiles_resume'),
]
operations = [
migrations.AddField(
model_name='team',
name='specializations',
field=mptt.fields.TreeManyToManyField(blank=True, related_name='teams', to='specializations.Specialization'),
),
]

@ -1,21 +0,0 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-20 16:30
from __future__ import unicode_literals
from django.db import migrations, models
import django.utils.timezone
class Migration(migrations.Migration):
dependencies = [
('users', '0022_team_specializations'),
]
operations = [
migrations.AddField(
model_name='team',
name='created',
field=models.DateTimeField(default=django.utils.timezone.now),
),
]

@ -25,7 +25,7 @@ class UserManager(BaseUserManager):
return user return user
def create_superuser(self, username, password): def create_superuser(self, username, password):
user = self.create_user(username, "admin@exampletest.com", password) user = self.create_user(username, 'admin@exampletest.com', password)
user.is_superuser = True user.is_superuser = True
user.save(using=self._db) user.save(using=self._db)
return user return user

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save