# coding=utf-8 import os import datetime import django import sys sys.path.append("/var/www/projects/lms/") os.environ.setdefault("DJANGO_SETTINGS_MODULE", "lms.settings") django.setup() from courses.models import Course, CourseTheme from django.core.mail import EmailMessage from access.models import User from lms.settings import DEFAULT_FROM_EMAIL from lms.tools import random_string from finance.models import Price, Bill from journals.models import TeacherJ, check_journal, set_opened, CourseThemeJ sourse = open('users_base.txt').readlines() seller = User.objects.get(id=2) _exc = [ 'copymi@gmail.com', 'input_chet@rambler.ru', 'smirnovm84@gmail.com', 'appppppple@gmail.com', 'yurinbu@mail.ru', 'zoom-zoom555@mail.ru', 'ulitinigor@yandex.ru', 'kochevnik01@mail.ru', 'adrianobuon@mail.ru', 'allanoy@yandex.ru' ] _map = { '# Java': {'obj': Course.objects.get(id=2), 'id': 2, 'user_map': {}, 'teacher': User.objects.get(id=473), 'service': Price.objects.get(id=11)}, '# iOS': {'obj': Course.objects.get(id=3), 'id': 3, 'user_map': {}, 'teacher': User.objects.get(id=17), 'service': Price.objects.get(id=9)}, '# Web': {'obj': Course.objects.get(id=1), 'id': 1, 'user_map': {}, 'teacher': User.objects.get(id=705), 'service': Price.objects.get(id=7)}, '# Excel': {'obj': Course.objects.get(id=4), 'id': 4, 'user_map': {}, 'teacher': User.objects.get(id=22), 'service': Price.objects.get(id=10)} } # user_map = {'email', 'fname', 'oname', 'name', 'cur_theme'} cur_course = None cur_theme = None for i in sourse: l = i.strip() if l: if l[0] == '#': if l in _map: cur_course = _map[l] else: cur_theme = CourseTheme.objects.get(id=l[1:]) else: _tmp = l.split(';') _user = _tmp[1].split(' ') _len = len(_user) cur_course['user_map'][_tmp[0]] = { 'name': _user[0] if 0 < _len else '', 'fname': _user[1] if 1 < _len else '', 'oname': _user[2] if 2 < _len else '', 'cur_theme': cur_theme, 'teacher': User.objects.get(id=535) if _tmp[0] in _exc else cur_course['teacher'] } # Создание пользователей for key, value in _map.items(): print key cur_course = value['obj'] for user, m in value['user_map'].items(): # Попробовать создать пользователя _passw = None _user, c = User.objects.get_or_create(email=user.lower()) if c: # Если его нет - присвоить пароль и сделать активным # Присвоить имена _passw = random_string(length=6).upper() _user.set_password(_passw) _user.is_active = True _user.reg_status = '4' _user.fname = m['fname'] _user.name = m['name'] _user.oname = m['oname'] _user.save() # Добавить оплату по требуему курсу bill, bc = Bill.objects.get_or_create(finish_date=datetime.datetime.now(), user=_user, status='F', service=value['service'], manager=seller) # Создать или получить журнал print _user.id try: journal, cj = TeacherJ.objects.get_or_create(student=_user, course=cur_course) except TeacherJ.MultipleObjectsReturned: journal = TeacherJ.objects.filter(student=_user, course=cur_course) journal.last().delete() journal, cj = TeacherJ.objects.get_or_create(student=_user, course=cur_course) if cj: journal.teacher = m['teacher'] journal.save() # Проверить журнал check_journal(journal) # Получить последнюю пройденную тему, если она старше задаваемой - ничего не делать last_theme = None for _theme in CourseThemeJ.objects.filter(parent=journal).order_by('material__sort'): if _theme.get_status_flag() not in 'N': last_theme = _theme c3 = False if last_theme and last_theme.material.sort > 1: if last_theme.material.sort <= m['cur_theme'].sort: # Или насильно открыть журнал по заданой теме set_opened(journal, CourseThemeJ.objects.get(material=m['cur_theme'], parent=journal).actual_lesson.token) c3 = True else: set_opened(journal, CourseThemeJ.objects.get(material=m['cur_theme'], parent=journal).actual_lesson.token) c3 = True if c3: journal.teacher = m['teacher'] journal.save() # Если пользователь был создан - отправить одно письмо, если нет, другое if c: text = u'' \ u'' \ u'
' \ u'' \ u'![]() |
Добрый день! ' \ u'Рады сообщить, что нами была разработанна собственная площадка для обучения. ' \ u'Сейчас мы осуществяем перевод вашего курса. ' \ u'Ваш доступ:' \ u' Ссылка на портал: http://lms.ru' \ u'Логин: {0}' \ u'Пароль: {1}' \ u'Ваш пароль и другую информацию вы сможете поменять их зайдя на платформе в свой профиль. ' \ u'Инструкция по работе: ' \ u'• На главной странице платформы у Вас отображаются все размещенные на ней курсы. ' \ u'• Выбитете Ваш курс и нажминте кнопку приступить. ' \ u'• Вы попадете на страницу с курсом, у Вас будет автоматически открыт доступ ко всем урокам которые Вы уже успели пройти. ' \ u'• К кажой открытой для Вас темы есть кнопка «Открыть лекцию» ' \ u'Перейдя по ней, Вы увидите размещенные видео к урокам. ' \ u'Для того что бы открылась страницв с домашним занием, отмемтьте урок просмотренным. ' \ u'• Во вкладке с домашним заданиям находяться описания работы, файлы для выполнения. ' \ u'Ниже на этой странице находиться форма обратной связи через которую можно общаться с преподавателем и направлять задание на проверку. ' \ u'• После принятия рабты, селедующий урок открывается автоматически. ' \ u'• Оповещение о новых комментариях преподавателя к домашним заданиям так же будут приходить на указанный e-mail. ' \ u'• ВАЖНО. Если вы использовали на старой платформе несколько электронных адресов, Пришлите нам на support@lms.ru не используемый email. ' \ u'По всем вопросам, связанным с перездом пишите на почту support@lms.ru |
С уважением, Точка кода |
![]() |