You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
121 lines
3.7 KiB
121 lines
3.7 KiB
# coding=utf-8
|
|
import os
|
|
import django
|
|
import sys
|
|
import datetime
|
|
|
|
start = datetime.datetime.now()
|
|
sys.path.append("/var/www/projects/codemy/")
|
|
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings")
|
|
django.setup()
|
|
|
|
from access.models import User
|
|
from journals.models import HomeworkTry, TeacherJ, HomeworkJ, ExamJ, ExamTry
|
|
from lms.tools import show_progress
|
|
|
|
old = User.objects.get(email='raso.practice@gmail.com')
|
|
new = User.objects.get(email='nataliya.akimova47@gmail.com')
|
|
new2 = User.objects.get(email='html@bedev.ru')
|
|
|
|
all = (int(TeacherJ.objects.filter(teacher=old).count()) +
|
|
int(HomeworkJ.objects.filter(teacher=old, f_date=None).count()) +
|
|
int(HomeworkTry.objects.filter(teacher=old, f_date=None).count()) +
|
|
int(ExamJ.objects.filter(teacher=old, f_date=None).count()) +
|
|
int(ExamTry.objects.filter(teacher=old, f_date=None).count())
|
|
)
|
|
|
|
works = (
|
|
('TJ', TeacherJ.objects.filter(teacher=old).exclude(progress=100)),
|
|
('HJ', HomeworkJ.objects.filter(teacher=old, f_date=None)),
|
|
('HT', HomeworkTry.objects.filter(teacher=old, f_date=None)),
|
|
('EJ', ExamJ.objects.filter(teacher=old, f_date=None)),
|
|
('ET', ExamTry.objects.filter(teacher=old, f_date=None))
|
|
)
|
|
n = 0
|
|
to_new = set()
|
|
to_new2 = set()
|
|
|
|
print('Всего работ: %s' % all)
|
|
for name, work in works:
|
|
for point in work:
|
|
if name == 'TJ':
|
|
point.teacher = new
|
|
to_new.add(point.student.email)
|
|
|
|
elif name == 'HJ':
|
|
if point.material.theme.sort < 10:
|
|
point.teacher = new
|
|
else:
|
|
point.teacher = new2
|
|
if point.parent.parent.teacher != new2:
|
|
point.parent.parent.teacher = new2
|
|
point.parent.parent.save()
|
|
|
|
try:
|
|
to_new.remove(point.student.email)
|
|
except:
|
|
pass
|
|
to_new2.add(point.student.email)
|
|
|
|
elif name == 'HT':
|
|
if point.parent.material.theme.sort < 10:
|
|
point.teacher = new
|
|
else:
|
|
point.teacher = new2
|
|
if point.parent.parent.parent.teacher != new2:
|
|
point.parent.parent.parent.teacher = new2
|
|
point.parent.parent.parent.save()
|
|
|
|
if point.parent.teacher != new2:
|
|
point.parent.teacher = new2
|
|
point.parent.save()
|
|
|
|
try:
|
|
to_new.remove(point.student.email)
|
|
except:
|
|
pass
|
|
to_new2.add(point.student.email)
|
|
|
|
elif name == 'EJ':
|
|
point.teacher = new2
|
|
if point.parent.parent.teacher != new2:
|
|
point.parent.parent.teacher = new2
|
|
point.parent.parent.save()
|
|
|
|
try:
|
|
to_new.remove(point.student.email)
|
|
except:
|
|
pass
|
|
to_new2.add(point.student.email)
|
|
|
|
elif name == 'ET':
|
|
point.teacher = new2
|
|
if point.parent.teacher != new2:
|
|
point.parent.teacher = new2
|
|
point.parent.save()
|
|
|
|
if point.parent.parent.parent.teacher != new2:
|
|
point.parent.parent.parent.teacher = new2
|
|
point.parent.parent.parent.save()
|
|
|
|
try:
|
|
to_new.remove(point.student.email)
|
|
except:
|
|
pass
|
|
to_new2.add(point.student.email)
|
|
|
|
point.save()
|
|
show_progress(all, n)
|
|
n += 1
|
|
|
|
finish = datetime.datetime.now()
|
|
print('\nTIME: %s seconds' % (finish - start).seconds)
|
|
print('======================')
|
|
print(new)
|
|
for i in to_new:
|
|
print(i)
|
|
|
|
print('======================')
|
|
print(new2)
|
|
for i in to_new2:
|
|
print(i)
|
|
|