parent
ed2aabc786
commit
2cb80e7f1d
30 changed files with 528 additions and 333 deletions
@ -0,0 +1,29 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.7 on 2016-08-08 12:57 |
||||
from __future__ import unicode_literals |
||||
|
||||
import datetime |
||||
from django.db import migrations, models |
||||
from django.utils.timezone import utc |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('common', '0003_auto_20160729_1747'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.AddField( |
||||
model_name='settings', |
||||
name='recalculation_rating_time', |
||||
field=models.TimeField(default=datetime.datetime(2016, 8, 8, 12, 57, 41, 160156, tzinfo=utc)), |
||||
preserve_default=False, |
||||
), |
||||
migrations.AddField( |
||||
model_name='settings', |
||||
name='recalculation_spec_time', |
||||
field=models.TimeField(default=datetime.datetime(2016, 8, 8, 12, 57, 52, 905906, tzinfo=utc)), |
||||
preserve_default=False, |
||||
), |
||||
] |
||||
@ -1,10 +0,0 @@ |
||||
from django import template |
||||
|
||||
register = template.Library() |
||||
|
||||
@register.inclusion_tag("templatetags/ratings_widget.html", takes_context=True) |
||||
def ratings_widget(context, user_id, class_name=None): |
||||
ratings = user_id |
||||
return { |
||||
'ratings': ratings, |
||||
} |
||||
@ -1,10 +1,23 @@ |
||||
from django.core.management import BaseCommand |
||||
from django.db.models import Sum |
||||
from specializations.models import Specialization |
||||
from ratings.models import HistoryRating |
||||
from users.models import User |
||||
from users.models import User,Team |
||||
|
||||
|
||||
class Command(BaseCommand): |
||||
|
||||
def handle(self, *args, **options): |
||||
contractors = User.contractor_objects.all() |
||||
users = User.objects.filter(is_superuser=False) |
||||
for user in users: |
||||
current_rating_info = HistoryRating.objects.filter(user_id=user.pk).aggregate(Sum('rating')) |
||||
current_rating = current_rating_info['rating__sum'] or 0 |
||||
user.rating = current_rating |
||||
user.save() |
||||
|
||||
teams = Team.objects.all() |
||||
for team in teams: |
||||
current_rating_info = HistoryRating.objects.filter(team_id=team.pk).aggregate(Sum('rating')) |
||||
current_rating = current_rating_info['rating__sum'] or 0 |
||||
team.rating = current_rating |
||||
team.save() |
||||
|
||||
@ -1,24 +1,35 @@ |
||||
from django.core.management import BaseCommand |
||||
from specializations.models import Specialization |
||||
from ratings.models import SpecializationRating |
||||
from users.models import User |
||||
from users.models import User, Team |
||||
|
||||
|
||||
class Command(BaseCommand): |
||||
|
||||
def handle(self, *args, **options): |
||||
SpecializationRating.objects.all().delete() |
||||
contractors = User.contractor_objects.order_by('-contractor_rating') |
||||
specializations = Specialization.objects.all() |
||||
for spec in specializations: |
||||
i = 0 |
||||
for contractor in contractors: |
||||
if spec in contractor.contractor_specializations.all(): |
||||
i += 1 |
||||
spec_rating = SpecializationRating() |
||||
spec_rating.position = i |
||||
spec_rating.user = contractor |
||||
spec_rating.specialization = spec |
||||
spec_rating.save() |
||||
users = User.objects.values('pk', 'rating').filter(is_superuser=False).order_by('-rating') |
||||
teams = Team.objects.values('pk', 'rating').order_by('-rating') |
||||
result_list = [] |
||||
|
||||
print('The End') |
||||
for user in users: |
||||
result_list.append([user['rating'], 'user', user['pk']]) |
||||
|
||||
for team in teams: |
||||
result_list.append([team['rating'], 'team',team['pk'] ]) |
||||
|
||||
print(sorted(result_list)) |
||||
# SpecializationRating.objects.all().delete() |
||||
# contractors = User.contractor_objects.order_by('-rating') |
||||
# specializations = Specialization.objects.all() |
||||
# for spec in specializations: |
||||
# i = 0 |
||||
# for contractor in contractors: |
||||
# if spec in contractor.contractor_specializations.all(): |
||||
# i += 1 |
||||
# spec_rating = SpecializationRating() |
||||
# spec_rating.position = i |
||||
# spec_rating.user = contractor |
||||
# spec_rating.specialization = spec |
||||
# spec_rating.save() |
||||
# |
||||
# print('The End') |
||||
|
||||
@ -0,0 +1,25 @@ |
||||
# -*- coding: utf-8 -*- |
||||
# Generated by Django 1.9.7 on 2016-08-08 12:57 |
||||
from __future__ import unicode_literals |
||||
|
||||
from django.db import migrations, models |
||||
|
||||
|
||||
class Migration(migrations.Migration): |
||||
|
||||
dependencies = [ |
||||
('users', '0006_auto_20160805_1442'), |
||||
] |
||||
|
||||
operations = [ |
||||
migrations.RenameField( |
||||
model_name='user', |
||||
old_name='contractor_rating', |
||||
new_name='rating', |
||||
), |
||||
migrations.AddField( |
||||
model_name='team', |
||||
name='rating', |
||||
field=models.FloatField(default=0.0), |
||||
), |
||||
] |
||||
Loading…
Reference in new issue