Merge branch 'dev' into 'master'

Dev

See merge request !20
master
Andrey 8 years ago
commit 197a9a78e4
  1. 2
      .gitignore
  2. 2
      Envoy.blade.php
  3. 162
      finance/signals.py
  4. 6
      lms/settings.py

2
.gitignore vendored

@ -22,4 +22,4 @@ __pycache__
/csv/article/
/static/
/media/
config_app/settings/master.env
config_app/settings/prod.env

@ -22,7 +22,7 @@ echo '{{ $new_release_dir }}'
[ -d {{ $releases_dir }} ] || mkdir {{ $releases_dir }}
@if ($branch)
git clone -b {{ $branch }} {{ $repository }} {{ $new_release_dir }}
ln -nfs {{ $app_dir }}/configs/master/master.env {{ $new_release_dir }}/config_app/settings/master.env
ln -nfs {{ $app_dir }}/configs/master/prod.env {{ $new_release_dir }}/config_app/settings/prod.env
ln -nfs {{ $app_dir }}/configs/dev/dev.env {{ $new_release_dir }}/config_app/settings/dev.env
@endif
@endtask

@ -1,81 +1,81 @@
from django.core.mail import EmailMessage
from django.db.models.signals import pre_save, post_save
from django.dispatch import receiver
from yandex_money.models import Payment
from django.conf import settings
from finance.models import Invoice
from courses.models import Course
from progress.models import Progress
@receiver(pre_save, sender=Invoice)
def invoice_signal(instance, **kwargs):
"""Отправка сообщения после сохранения платежа"""
course = Course.objects.get(token=instance.bill.course_token)
if instance.yandex_pay and instance.method == 'Y' and instance.status == 'P':
msg = EmailMessage(
'Вам выставлен новый счёт',
'''Вам выставлен счёт, для оплаты перейдите по ссылке
%s/api/v1/finance/payment/%s/''' % (settings.DOMAIN, instance.yandex_pay.id,),
'robo@skillbox.ru',
[instance.yandex_pay.cps_email],
[instance.bill.opener.email],
reply_to=[instance.bill.opener.email],
)
msg.send()
if instance.status == 'F':
if instance.is_open:
Progress.objects.get_or_create(
course_token=instance.bill.course_token,
user=instance.bill.user,
)
msg = EmailMessage(
'Ваш платёж прошёл успешно',
'''Вам открыт доступ к курсу "%s", вы можете перейти по ссылке и
ознакомиться с материалами %s/course/%s'''
% (course.title, settings.DOMAIN, course.slug),
'robo@skillbox.ru',
[instance.bill.user.email],
cc=[instance.bill.opener.email],
reply_to=[instance.bill.opener.email],
)
else:
msg = EmailMessage(
'Ваш платёж прошёл успешно',
'''Курс "%s" был забронирован''' % instance.bill.course.title,
'robo@skillbox.ru',
[instance.yandex_pay.cps_email],
cc=[instance.bill.opener.email],
reply_to=[instance.bill.opener.email],
)
msg.send()
if instance.status == 'C':
msg = EmailMessage(
'Ошибка платежа!'
"""Внимание не прошёл платёж пользавателю %s,
по курсу "%s" ID платежа: %s. Если не получается
решить проблему самостоятельно, ответьте на это письмо,
постарайтесь подробно описать последовательность действий,
которая привела к ошибке"""
% (instance.bill.user.get_full_name(), course.title, instance.id),
instance.bill.opener.email,
reply_to=["it@skillbox.ru"]
)
msg.send()
@receiver(post_save, sender=Payment)
def access_pay(instance, **kwargs):
if instance.status == 'success':
instance.invoice.status = "F"
instance.invoice.real_price = instance.shop_amount
instance.invoice.save()
if instance.status == 'fail':
instance.invoice.status = "C"
instance.invoice.save()
# from django.core.mail import EmailMessage
# from django.db.models.signals import pre_save, post_save
# from django.dispatch import receiver
# from yandex_money.models import Payment
# from django.conf import settings
#
# from finance.models import Invoice
# from courses.models import Course
# from progress.models import Progress
#
#
# @receiver(pre_save, sender=Invoice)
# def invoice_signal(instance, **kwargs):
# """Отправка сообщения после сохранения платежа"""
#
# course = Course.objects.get(token=instance.bill.course_token)
#
# if instance.yandex_pay and instance.method == 'Y' and instance.status == 'P':
# msg = EmailMessage(
# 'Вам выставлен новый счёт',
# '''Вам выставлен счёт, для оплаты перейдите по ссылке
# %s/api/v1/finance/payment/%s/''' % (settings.DOMAIN, instance.yandex_pay.id,),
# 'robo@skillbox.ru',
# [instance.yandex_pay.cps_email],
# [instance.bill.opener.email],
# reply_to=[instance.bill.opener.email],
# )
# msg.send()
#
# if instance.status == 'F':
# if instance.is_open:
# Progress.objects.get_or_create(
# course_token=instance.bill.course_token,
# user=instance.bill.user,
# )
# msg = EmailMessage(
# 'Ваш платёж прошёл успешно',
# '''Вам открыт доступ к курсу "%s", вы можете перейти по ссылке и
# ознакомиться с материалами %s/course/%s'''
# % (course.title, settings.DOMAIN, course.slug),
# 'robo@skillbox.ru',
# [instance.bill.user.email],
# cc=[instance.bill.opener.email],
# reply_to=[instance.bill.opener.email],
# )
# else:
# msg = EmailMessage(
# 'Ваш платёж прошёл успешно',
# '''Курс "%s" был забронирован''' % instance.bill.course.title,
# 'robo@skillbox.ru',
# [instance.yandex_pay.cps_email],
# cc=[instance.bill.opener.email],
# reply_to=[instance.bill.opener.email],
# )
# msg.send()
#
# if instance.status == 'C':
# msg = EmailMessage(
# 'Ошибка платежа!'
# """Внимание не прошёл платёж пользавателю %s,
# по курсу "%s" ID платежа: %s. Если не получается
# решить проблему самостоятельно, ответьте на это письмо,
# постарайтесь подробно описать последовательность действий,
# которая привела к ошибке"""
# % (instance.bill.user.get_full_name(), course.title, instance.id),
# instance.bill.opener.email,
# reply_to=["it@skillbox.ru"]
# )
# msg.send()
#
#
# @receiver(post_save, sender=Payment)
# def access_pay(instance, **kwargs):
# if instance.status == 'success':
# instance.invoice.status = "F"
# instance.invoice.real_price = instance.shop_amount
# instance.invoice.save()
#
# if instance.status == 'fail':
# instance.invoice.status = "C"
# instance.invoice.save()

@ -21,8 +21,8 @@ if MOD == 'Test':
elif MOD == 'Dev':
environ.Env.read_env(str(root) + '/config_app/settings/dev.env')
elif MOD == 'Master':
environ.Env.read_env(str(root) + '/config_app/settings/master.env')
elif MOD == 'Prod':
environ.Env.read_env(str(root) + '/config_app/settings/prod.env')
else:
raise ImportError('no such environ ' + MOD)
@ -50,7 +50,7 @@ AUTH_USER_MODEL = 'access.User'
VZAAR = 'f1e965defc6fbaa92c544cf84267e830'
SMS = '5ED9C6BB-41E8-C760-10FA-F8A310D88952'
ALLOWED_HOSTS = ['*']
DOMAIN = "http://31.186.103.4" #'https://go.skillbox.ru'
DOMAIN = 'https://go.skillbox.ru'
YANDEX_MONEY_DEBUG = False
YANDEX_MONEY_SCID = '149639'

Loading…
Cancel
Save