Merge branch 'dev' into 'master'

Dev

See merge request !406
master
Andrey 8 years ago
commit c053a0efc9
  1. 2
      access/management/commands/set_tokens.py
  2. 1
      access/urls.py
  3. 5
      finance/views.py
  4. 5
      lms/settings.py
  5. 1
      progress/urls.py
  6. 36
      progress/views.py

@ -27,7 +27,7 @@ class Command(BaseCommand):
with open(from_path) as f: with open(from_path) as f:
with open(to_path, 'w') as out_f: with open(to_path, 'w') as out_f:
fw = csv.writer(out_f) fw = csv.writer(out_f)
fr = csv.reader(f) fr = csv.reader(f, delimiter=';')
for row in fr: for row in fr:
email = row[0] email = row[0]
course_token = row[1] course_token = row[1]

@ -5,7 +5,6 @@ from access import views
urlpatterns = [ urlpatterns = [
url(r'progress_detail/(?P<token>[0-9A-Fa-f-]+)/$', progress.views.CourseProgressUserView.as_view()), url(r'progress_detail/(?P<token>[0-9A-Fa-f-]+)/$', progress.views.CourseProgressUserView.as_view()),
url(r'progress_dynamic/(?P<token>[0-9A-Fa-f-]+)/$', progress.views.CourseProgressDynamicView.as_view()),
url(r'teachers/$', views.TeacherListView.as_view()), url(r'teachers/$', views.TeacherListView.as_view()),
url(r'detail/(?P<out_key>[0-9A-Fa-f-]+)/$', views.DetailUserView.as_view()), url(r'detail/(?P<out_key>[0-9A-Fa-f-]+)/$', views.DetailUserView.as_view()),
url(r'detail/$', views.DetailUserView.as_view()), url(r'detail/$', views.DetailUserView.as_view()),

@ -214,8 +214,11 @@ class InvoiceDetailView(APIView):
user=bill.user, user=bill.user,
cps_email=bill.user.email, cps_email=bill.user.email,
) )
invoice.yandex_pay = yandex_pay if pay_count > 1:
yandex_pay.shop_id = settings.YANDEX_MONEY_REBILLING_SHOP_ID
yandex_pay.scid = settings.YANDEX_MONEY_REBILLING_SCID
invoice.yandex_pay = yandex_pay
invoice.send_link() invoice.send_link()
context = { context = {

@ -46,6 +46,11 @@ YANDEX_MONEY_DEBUG = False
YANDEX_MONEY_SCID = '149639' YANDEX_MONEY_SCID = '149639'
YANDEX_MONEY_TEST_SCID = '558146' YANDEX_MONEY_TEST_SCID = '558146'
YANDEX_MONEY_SHOP_ID = '157133' YANDEX_MONEY_SHOP_ID = '157133'
#Todo костыль на рассрочку
YANDEX_MONEY_REBILLING_SCID = '723030'
YANDEX_MONEY_REBILLING_SHOP_ID = '199287'
YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise' YANDEX_MONEY_SHOP_PASSWORD = 'nu5Xefise'
YANDEX_MONEY_FAIL_URL = '%s/api/v1/finance/yandex/fail/' % DOMAIN YANDEX_MONEY_FAIL_URL = '%s/api/v1/finance/yandex/fail/' % DOMAIN
YANDEX_MONEY_SUCCESS_URL = '%s/' % DOMAIN YANDEX_MONEY_SUCCESS_URL = '%s/' % DOMAIN

@ -3,6 +3,7 @@ from django.conf.urls import url
from progress import views from progress import views
urlpatterns = [ urlpatterns = [
url(r'progress_dynamic/$', views.CourseProgressDynamicView.as_view()),
url(r'students/(?P<teacher_token>[0-9A-Fa-f-]+)/$', views.StudentWorkView.as_view()), url(r'students/(?P<teacher_token>[0-9A-Fa-f-]+)/$', views.StudentWorkView.as_view()),
url(r'student/$', views.StudentUpdateProgress.as_view()), url(r'student/$', views.StudentUpdateProgress.as_view()),
url(r'find/$', views.FindProgressView.as_view()), url(r'find/$', views.FindProgressView.as_view()),

@ -15,7 +15,7 @@ from rest_framework.permissions import IsAuthenticated
from rest_framework.renderers import JSONRenderer from rest_framework.renderers import JSONRenderer
from rest_framework.response import Response from rest_framework.response import Response
from rest_framework.views import APIView from rest_framework.views import APIView
from django.db.models import Q from django.db.models import Q, Count
import jwt import jwt
from django.conf import settings from django.conf import settings
@ -64,19 +64,31 @@ class CourseProgressDynamicView(APIView):
renderer_classes = (JSONRenderer,) renderer_classes = (JSONRenderer,)
@staticmethod @staticmethod
def get(request, token): def get(request):
course_token = request.GET.get('course_token', None)
from_date = int(request.GET.get('from', '7'))
to_date = int(request.GET.get('to', '0'))
if request.user.is_authenticated() and request.user.is_staff: if request.user.is_authenticated() and request.user.is_staff:
try: progresses = ProgressLesson.objects.filter(status='done')
progresses = Progress.objects.filter(course_token=token) if not course_token is None:
res = {} try:
for i in progresses: progresses = progresses.filter(progress__course_token=course_token)
key = i.progresslesson_set.filter(status="done").count() + 1 except ProgressLesson.DoesNotExist:
res[key] = 1 if not key in res.keys() else res[key] + 1 return Response('incorrect course token', status=404)
return Response(res, status=200)
except ValidationError:
return Response("Bad request", status=400)
return Response(status=403) progresses = progresses.filter(finish_date__gt=timezone.now() - relativedelta(days=from_date))
progresses = progresses.filter(finish_date__lt=timezone.now() - relativedelta(days=to_date))
progresses = progresses.order_by('finish_date')
res = {}
progresses = progresses.extra({'finish_date_day': "date(finish_date)"})\
.values('progress__course_token', 'finish_date_day')\
.annotate(total=Count('progress'))
#TODO Доделать
return Response(res, status=200)
return Response('Доступно только персоналу', status=403)
class CourseProgressUserView(APIView): class CourseProgressUserView(APIView):

Loading…
Cancel
Save