|
|
|
|
@ -7,7 +7,8 @@ from lms.tools import out_date_format, condition_factory, user_fabric |
|
|
|
|
from finance.models import Price, Bill, ServiceRequest |
|
|
|
|
from management.letters import sent_new_bill, sent_clean_letter, send_burning_course_letter |
|
|
|
|
from management.models import News, Feedback, Comment |
|
|
|
|
|
|
|
|
|
from courses.models import Course, CourseTheme |
|
|
|
|
from journals.models import TeacherJ, CourseThemeJ, LessonJ, HomeworkJ |
|
|
|
|
|
|
|
|
|
@api_decor(without_auth=False, need_keys=['title', 'content', 'to'], method='POST', check_request=True) |
|
|
|
|
def self_sent_letter(request, context): |
|
|
|
|
@ -172,3 +173,90 @@ def burning_course(request): |
|
|
|
|
|
|
|
|
|
send_burning_course_letter(user, course) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
""" |
|
|
|
|
Все функции снизу используются в подобии кабинета для отдела по работе с персоналом. |
|
|
|
|
Если хочешь переписать - перепиши. |
|
|
|
|
""" |
|
|
|
|
@api_decor(without_auth=False) |
|
|
|
|
def find_user(request, context): |
|
|
|
|
try: |
|
|
|
|
user = User.objects.get(id=request.GET['user']) |
|
|
|
|
data = "%s | %s %s" % (user.id, user.name, user.fname) |
|
|
|
|
except User.DoesNotExist: |
|
|
|
|
data = '0' |
|
|
|
|
except ValueError: |
|
|
|
|
data = '0' |
|
|
|
|
|
|
|
|
|
return data |
|
|
|
|
|
|
|
|
|
@api_decor(without_auth=False) |
|
|
|
|
def find_course(request, context): |
|
|
|
|
try: |
|
|
|
|
course = Course.objects.get(id=request.GET['course']) |
|
|
|
|
data = course.title |
|
|
|
|
except Course.DoesNotExist: |
|
|
|
|
data = '0' |
|
|
|
|
except ValueError: |
|
|
|
|
data = '0' |
|
|
|
|
|
|
|
|
|
return data |
|
|
|
|
|
|
|
|
|
@api_decor(without_auth=False) |
|
|
|
|
def open_lessons(request, context): |
|
|
|
|
try: |
|
|
|
|
user = User.objects.get(id=request.GET['user']) |
|
|
|
|
course = Course.objects.get(id=request.GET['course']) |
|
|
|
|
checkbox = True if request.GET.get('homes') == 'on' else False |
|
|
|
|
themes = request.GET['themes'] |
|
|
|
|
except Exception: |
|
|
|
|
return '0' |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
teachj, status = TeacherJ.objects.get_or_create(student=user, course=course) |
|
|
|
|
for t in CourseTheme.objects.filter(course=course): |
|
|
|
|
for l in LessonJ.objects.filter(student=user, parent__material=t): |
|
|
|
|
l.success = True |
|
|
|
|
l.save() |
|
|
|
|
if open_homes: |
|
|
|
|
if HomeworkJ.objects.filter(student=user, parent__material=t).exists(): |
|
|
|
|
homej = HomeworkJ.objects.get(student=user, parent__material=t) |
|
|
|
|
homej.success = True |
|
|
|
|
homej.save() |
|
|
|
|
themej, status = CourseThemeJ.objects.get_or_create(student=user, material=t) |
|
|
|
|
themej.success = True |
|
|
|
|
themej.save() |
|
|
|
|
teachj.reload_progress() |
|
|
|
|
except Exception: |
|
|
|
|
return '1' |
|
|
|
|
|
|
|
|
|
return '2' |
|
|
|
|
|
|
|
|
|
@api_decor(without_auth=False) |
|
|
|
|
def open_homes(request, context): |
|
|
|
|
try: |
|
|
|
|
user = User.objects.get(id=request.GET['user']) |
|
|
|
|
course = Course.objects.get(id=request.GET['course']) |
|
|
|
|
except Exception: |
|
|
|
|
return'0' |
|
|
|
|
|
|
|
|
|
try: |
|
|
|
|
for t in CourseTheme.objects.filter(course=course): |
|
|
|
|
if HomeworkJ.objects.filter(student=user, parent__material=t).exists(): |
|
|
|
|
homej = HomeworkJ.objects.get(student=user, parent__material=t) |
|
|
|
|
homej.success = True |
|
|
|
|
homej.save() |
|
|
|
|
except Exception: |
|
|
|
|
return '1' |
|
|
|
|
|
|
|
|
|
return '2' |
|
|
|
|
|
|
|
|
|
@api_decor(without_auth=False) |
|
|
|
|
def change_pass(request, context): |
|
|
|
|
user = User.objects.get(id=request.GET['user']) |
|
|
|
|
password = request.GET.get('pass') |
|
|
|
|
|
|
|
|
|
user.set_password(password) |
|
|
|
|
user.save() |
|
|
|
|
|
|
|
|
|
return '2' |
|
|
|
|
|