Merge branch 'feature/new-new-notifications' into 'develop'

Feature/new new notifications

See merge request !5
remotes/origin/pm_task_31703
Zolotarev Alexander 9 years ago
commit 4a2011a3af
  1. 5
      courses/models.py
  2. 10
      lms/settings.py
  3. 10
      management/api.py
  4. 68
      management/letters.py
  5. 1
      management/urls.py
  6. 10
      static/js/bill.js

@ -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):
# Получить скилы темы

@ -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 по Москве)'

@ -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)

@ -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

@ -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),

@ -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');
}

Loading…
Cancel
Save