remotes/origin/setup
ArturBaybulatov 10 years ago
parent 9654249b9f
commit 71caff1a40
  1. 23
      README.md
  2. 41
      archilance/management/commands/generate_reviews.py
  3. 1
      archilance/management/commands/generate_teams.py
  4. 41
      reviews/migrations/0003_auto_20160721_2021.py
  5. 18
      reviews/models.py
  6. 2
      users/templates/customer_profile_reviews.html

@ -26,16 +26,17 @@ python manage.py shell_plus --use-pythonrc
Data generation order: Data generation order:
1. superuser 1. Superuser
2. specializations 2. Specializations
3. locations 3. Locations
4. perm. groups 4. Perm. groups
5. build. classif-s 5. Build. classif-s
6. constr. types 6. Constr. types
7. users 7. Users
8. teams 8. Teams
9. realties 9. Realties
10. projects 10. Projects
11. portfolios 11. Portfolios
12. Reviews
---------------------------------------- ----------------------------------------

@ -0,0 +1,41 @@
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 Project, Portfolio
from specializations.models import Specialization
from users.models import User, GENDERS, Team
from reviews.models import Review
class Command(BaseCommand):
def handle(self, *args, **options):
print('---------------------------------------')
print('Generating reviews...')
print('---------------------------------------')
def create_review(i):
review = Review()
review.project = Project.objects.order_by('?').first()
review.stars = _.random(1, 5)
review.text = 'This is a review %s text' % i
review.is_secured = _.sample((True, False))
review.save()
if _.sample((True, False)):
review.from_contractor = User.contractor_objects.order_by('?').first()
review.target_customer = User.customer_objects.order_by('?').first()
else:
review.from_customer = User.customer_objects.order_by('?').first()
review.target_contractor = User.contractor_objects.order_by('?').first()
review.save()
return review
_.times(create_review, 300)

@ -44,4 +44,3 @@ class Command(BaseCommand):
team.save() team.save()
i += 1 i += 1

@ -0,0 +1,41 @@
# -*- coding: utf-8 -*-
# Generated by Django 1.9.7 on 2016-07-21 17:21
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 = [
('reviews', '0002_auto_20160721_1808'),
]
operations = [
migrations.AlterField(
model_name='review',
name='from_contractor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='customer_reviews', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='review',
name='from_customer',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='contractor_reviews', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='review',
name='target_contractor',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_customer', to=settings.AUTH_USER_MODEL),
),
migrations.AlterField(
model_name='review',
name='target_customer',
field=models.ForeignKey(blank=True, null=True, on_delete=django.db.models.deletion.CASCADE, related_name='reviews_by_contractor', to=settings.AUTH_USER_MODEL),
),
migrations.AlterUniqueTogether(
name='review',
unique_together=set([('from_customer', 'target_contractor', 'project'), ('from_contractor', 'target_customer', 'project')]),
),
]

@ -6,19 +6,19 @@ class Review(models.Model):
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()
target_customer = models.ForeignKey('users.User', related_name='reviews_by_contractor') target_customer = models.ForeignKey('users.User', related_name='reviews_by_contractor', null=True, blank=True)
target_contractor = models.ForeignKey('users.User', related_name='reviews_by_customer') target_contractor = models.ForeignKey('users.User', related_name='reviews_by_customer', null=True, blank=True)
from_customer = models.ForeignKey('users.User', related_name='contractor_reviews') from_customer = models.ForeignKey('users.User', related_name='contractor_reviews', null=True, blank=True)
from_contractor = models.ForeignKey('users.User', related_name='customer_reviews') from_contractor = models.ForeignKey('users.User', related_name='customer_reviews', null=True, blank=True)
def __str__(self): def __str__(self):
return self.pk return str(self.pk)
class Meta: class Meta:
verbose_name = 'Отзыв' verbose_name = 'Отзыв'
verbose_name_plural = 'Отзывы' verbose_name_plural = 'Отзывы'
# unique_together = ( unique_together = (
# ('from_customer', 'target_contractor', 'project'), ('from_customer', 'target_contractor', 'project'),
# ('from_contractor', 'target_customer', 'project'), ('from_contractor', 'target_customer', 'project'),
# ) )

@ -7,7 +7,7 @@
<div class="row"> <div class="row">
{% include 'partials/customer_profile_info_block.html' %} {% include 'partials/customer_profile_info_block.html' %}
<h1>Reviews will be here</h1> <h1>{{ customer }}</h1>
{% include 'partials/footer.html' %} {% include 'partials/footer.html' %}
</div> </div>

Loading…
Cancel
Save