Skip to content

Instantly share code, notes, and snippets.

@wwj718
Last active August 29, 2015 14:27
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save wwj718/5b80c4f26b504afdd772 to your computer and use it in GitHub Desktop.
Save wwj718/5b80c4f26b504afdd772 to your computer and use it in GitHub Desktop.
#views.py
from opaque_keys.edx.locations import SlashSeparatedCourseKey
from courseware.courses import get_course_by_id
from .models import Addition
from rest_framework.response import Response
from rest_framework.decorators import api_view,permission_classes,authentication_classes
from rest_framework.authentication import SessionAuthentication,OAuth2Authentication
from django.core.exceptions import ObjectDoesNotExist
from django.conf import settings
from student.models import CourseEnrollment
from opaque_keys.edx.locations import SlashSeparatedCourseKey
@api_view(['POST'])
@authentication_classes((SessionAuthentication,OAuth2Authentication))
def add_enrollment_number(request):
#return {"info":"hello"}
course_id = request.DATA["course_id"]
enrollment_number = int(request.DATA["add_field"])
try:
obj = Addition.objects.get(course_id=course_id)
obj.enrollment_number= enrollment_number
obj.save()
except ObjectDoesNotExist:
Addition.objects.create(course_id=course_id,enrollment_number=enrollment_number)
return Response({"info":"ok"})
@api_view(['POST'])
@authentication_classes((SessionAuthentication,OAuth2Authentication))
def get_enrollment_number(request):
#return {"info":"ok"}
course_id = request.DATA["course_id"]
if settings.FEATURES.get('DISPLAY_ANALYTICS_ENROLLMENTS'):
course_key = SlashSeparatedCourseKey.from_deprecated_string(course_id)
enrollment_number = CourseEnrollment.num_enrolled_in(course_key)
return Response({"enrollment_number":enrollment_number})
try:
obj = Addition.objects.get(course_id=course_id)
enrollment_number = obj.enrollment_number
except ObjectDoesNotExist:
obj = Addition.objects.create(course_id=course_id,enrollment_number=0)
enrollment_number = obj.enrollment_number
return Response({"enrollment_number":enrollment_number})
#urls.py
#add by wwj
urlpatterns += (
url(r'^additions/add_enrollment_number$', "additions.views.add_enrollment_number"),
url(r'^additions/get_enrollment_number$', "additions.views.get_enrollment_number"),
)
#js
$.post("/additions/get_enrollment_number",{"course_id":"edX/DemoX/Demo_Course"},function(result){
console.log(result);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment