diff --git a/courses/models.py b/courses/models.py index 24b2e3f..adeeae6 100755 --- a/courses/models.py +++ b/courses/models.py @@ -76,8 +76,6 @@ class Course(models.Model): public = models.BooleanField(verbose_name=u'Опубликовать', default=False) title = models.CharField(verbose_name=u"Заголовок", max_length=255) description = RedactorField(verbose_name=u'Описание', blank=True) - description_file = models.FileField(verbose_name='Файл писания курса', black=True, null=True, upload_to='course', - help_text=u'Файл, который будет отправляться в письме со счетом') image = models.ImageField(verbose_name=u'Изображение', upload_to='course', blank=True) big_image = models.ImageField(verbose_name=u'Большое изображение', upload_to='course', blank=True) big_mobile_image = models.ImageField(verbose_name=u'Под мобилку', upload_to='course', blank=True, null=True, @@ -161,9 +159,6 @@ class Course(models.Model): def get_description(self): # Получить описание курса return self.description - - def get_description_file(self): - return self.description_file.url or None def get_skills(self): # Получить скилы темы diff --git a/lms/settings.py b/lms/settings.py index 5d838d4..629279d 100644 --- a/lms/settings.py +++ b/lms/settings.py @@ -22,6 +22,16 @@ TEST_EMAIL = 'bez.b.unix@gmail.com' TEACHER = 't@skillbox.ru' SUPERVISOR = 's@skillbox.ru' MANAGER = 'm@skillbox.ru' +MANAGERS = [ + 'maksim.shachkov@skillbox.ru', + 'aleksey.zelentsov@skillbox.ru', + 'roman.fatullaev@skillbox.ru', + 'vladimir.kakaulin@skillbox.ru', + 'dmitry.perepelitsa@skillbox.ru', + 'timofey.trifonov@skillbox.ru', + 'sergej.gavrilovich@skillbox.ru', +] + SUPPORT = 'hello@skillbox.ru' SUPPORT_PHONE = '+7 (495) 984-41-77' SUPPORT_TIME = '(с 10 до 19 по Москве)' diff --git a/management/api.py b/management/api.py index 3f8b508..9045c27 100755 --- a/management/api.py +++ b/management/api.py @@ -5,7 +5,7 @@ from access.models import User from lms.decors import api_decor 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 +from management.letters import sent_new_bill, sent_clean_letter, send_burning_course_letter from management.models import News, Feedback, Comment @@ -164,3 +164,11 @@ def read_comment(request, context): if not comment.saw.filter(id=request.user.id).exists(): comment.saw.add(request.user) return context + +@api_decor(without_auth=False) +def burning_course(request): + course = Course.objects.get(id=request.GET['course']) + user = User.objects.get(id=request.GET['id']) + + send_burning_course_letter(user, course) + diff --git a/management/letters.py b/management/letters.py index 9396cbf..300cb09 100755 --- a/management/letters.py +++ b/management/letters.py @@ -5,7 +5,7 @@ from django.template.loader import get_template from lms.tools import out_date_format from lms.settings import DOMAIN, DEFAULT_FROM_EMAIL, NAME from management.mails import letter_decor - +from random import choice TEST_EMAIL = 'bez.b.unix@gmail.com' @@ -469,3 +469,69 @@ def free_week_end(bill, email): 'type': u'Продажи' } return data + +@letter_decor() +def exam_is_nearly(user, course): + name = user.get_full_name() + email = user.get_email() + + data = { + 'title': u'Студент близится к экзамену', + 'email': SUPPORT, + 'text': u'' + student +' закончил 15 тему. Скоро будет сдавать экзамен. Готовьтесь \n' + u'Почта: ' + email + '\n' + u'id: ' + user.id + '\n' + u'Курс: ' + course + '\n', + 'type': u'Оповещения', + } + + return data + +@letter_decor() +def exam_successfull(user, course): + student = user.get_full_name() + email = user.get_email() + phone = user.get_phone() + + data = { + 'title': u'Студент сдал экзамен', + 'email': SUPPORT, + 'text': u'' + student + 'сдал экзамен. Позвони ему и поздравь' + u'Информация о студенте:' + u'Почта: ' + email + '\n' + u'id: ' + user.id + '\n' + u'Телефон: ' + phone + '\n' + u'Курс: ' + course + '\n', + 'type': u'Оповещения' + } + return data + + +@letter_decor() +def long_time_no_see(): + + data = { + 'title': u'', + 'email': TEST_EMAIL, + 'text': u'', + 'type': u'Оповещения' + } + + return data + +@letter_decor() +def send_burning_course_letter(user, course): + data = { + 'title': u'Студент закончил временный курс', + 'email': choice(MANAGERS), + 'text': u'Чувак закончил временный курс или хочет посмотреть урок, который недоступен: ' + course + '\n' + u'Может стоит предложить купить весь курс?\n', + u'Информация о студенте:\n' + u'Почта: ' + user.email + '\n' + u'Имя: ' + user.get_full_name() + '\n' + u'Телефон: ' + user.get_phone() + '\n' + u'Курс: ' + course + '\n' + 'type': u'Продажи' + } + + return data \ No newline at end of file diff --git a/management/urls.py b/management/urls.py index 0df421e..dcf5331 100755 --- a/management/urls.py +++ b/management/urls.py @@ -20,6 +20,7 @@ urlpatterns = [ url(r'sent_charge$', api.sent_charge), url(r'new_feedback/$', api.new_feedback), url(r'read_comment$', api.read_comment), + url(r'burning_course/$', api.burning_course), url(r'faq/([0-9]{1,99})$', views.faq_one), url(r'faq/$', views.faq), url(r'progress_report/$', views.progress_report), diff --git a/static/js/bill.js b/static/js/bill.js index a16ce59..debc3e8 100755 --- a/static/js/bill.js +++ b/static/js/bill.js @@ -139,6 +139,16 @@ function open_service_request_window(course){ } } +function send_letter_to_manager(course){ + if ($('[name=REQUEST_USER_ID]').val() != 'None'){ + $.ajax({ + type: 'GET', + url: '/management/send_letter_to_manager', + data: {'id': $('[name=REQUEST_USER_ID]').val(), 'course': course}, + success: function(){}, + }) + } +} function open_journal_request_window() { $('#journalAccess').modal('show'); }