예제 #1
0
    def setup_tool_provider(self, request):
        if 'oauth_consumer_key' not in request.POST:
            raise PermissionDenied()  

        consumer_key = settings.LTI_KEY
        secret = settings.LTI_SECRET
        self.tool_provider = DjangoToolProvider(consumer_key, secret, request.POST)
        self.tool_provider.valid_request(request)
예제 #2
0
    def _decorated_view(request, *args, **kwargs):
        if settings.LTI_DEBUG:
            for k,v in request.POST.items():
                print "{0} : {1}".format(k,v)

        if 'oauth_consumer_key' not in request.POST:
            raise PermissionDenied()  

        consumer_key = settings.LTI_KEY
        secret = settings.LTI_SECRET
        tp = DjangoToolProvider(consumer_key, secret, request.POST)
        tp.valid_request(request)
        user = get_or_create_lti_user(tp)
        login(request, user)
        return view(request, tp=tp)
예제 #3
0
class LTILaunch(View):

    http_method_names = ['post']

    @csrf_exempt
    def dispatch(self, *args, **kwargs):
        return super(LTILaunch, self).dispatch(*args, **kwargs)

    def post(self, request, *args, **kwargs):
        if settings.LTI_DEBUG:
            for k,v in request.POST.items():
                print "{0} : {1}".format(k,v)

        self.setup_tool_provider(request)
        user = get_or_create_lti_user(self.tool_provider)
        login(request, user)
        return self.launch()

    def setup_tool_provider(self, request):
        if 'oauth_consumer_key' not in request.POST:
            raise PermissionDenied()  

        consumer_key = settings.LTI_KEY
        secret = settings.LTI_SECRET
        self.tool_provider = DjangoToolProvider(consumer_key, secret, request.POST)
        self.tool_provider.valid_request(request)

    def launch(self):
        if self.tool_provider.is_instructor():
            return self.launch_instructor()
        elif self.tool_provider.is_student():
            return self.launch_student()

    def launch_student(self):
        return JsonResponse({'success' : 'Student'})

    def launch_instructor(self):
        return JsonResponse({'success' : 'Teacher'})