Ejemplo n.º 1
0
def assessment(request):
	if request.session['launch_params']:
		key = request.session['launch_params']['oauth_consumer_key']
	else:
		key_error_temp = get_template("error.html")
		key_error_html = key_error_temp.render(Context({'message': 'The tool never launched'}))
		return HttpResponse(key_error_html)

	tp = DjangoToolProvider(key, oauth_creds[key], request.session['launch_params'])

	score = request.POST['score']
	tp.post_replace_result(score)
	temp = get_template('assessment_finished.html')
	html = temp.render(Context({'score': score}))
	return HttpResponse(html)
Ejemplo n.º 2
0
def add_problem(request):
    session = request.session
    if session['LTI_POST']:
        try:
            request_post = pickle.loads(session['LTI_POST'])

            request_post['lis_outcome_service_url'] = fix_url(
                request_post['lis_outcome_service_url'])
            consumer_key = settings.CONSUMER_KEY
            secret = settings.LTI_SECRET
            tool = DjangoToolProvider(consumer_key, secret, request_post)

            result = float(request.POST.get('result'))
            if result == 5:
                score = '1.00'
            else:
                score = '0.00'
            post_result = tool.post_replace_result(
                score, {'message_identifier': 'edX_fix'})
            print post_result.is_success()
            d = dict()
            d['score'] = score
            d['success'] = post_result.is_success()
            d['result'] = result
            d['show'] = True
            return render_to_response("ims_lti_py_sample/index.html", d,
                                      RequestContext(request))
        except KeyError, e:
            return render_to_response("ims_lti_py_sample/error.html",
                                      RequestContext(request))
Ejemplo n.º 3
0
def add_problem(request):
    session = request.session
    if session['LTI_POST']:
        try:
            request_post = pickle.loads(session['LTI_POST'])

            request_post['lis_outcome_service_url'] = fix_url(request_post['lis_outcome_service_url'])
            consumer_key = settings.CONSUMER_KEY
            secret = settings.LTI_SECRET
            tool = DjangoToolProvider(consumer_key, secret, request_post)

            result = float(request.POST.get('result'))
            if result == 5:
                score = '1.00'
            else:
                score = '0.00'
            post_result = tool.post_replace_result(score,{'message_identifier':'edX_fix'})
            print post_result.is_success()
            d = dict()
            d['score'] = score
            d['success'] = post_result.is_success()
            d['result'] = result
            d['show'] = True
            return render_to_response("ims_lti_py_sample/index.html", d,  RequestContext(request))
        except KeyError,e:
            return render_to_response("ims_lti_py_sample/error.html",  RequestContext(request))
Ejemplo n.º 4
0
    def send_lti_grade(self, grade):
        """ Instantiates DjangoToolProvider using stored lti parameters and sends grade """
        self._validate_lti_grade_request(grade)
        provider = DjangoToolProvider(settings.LTI_CLIENT_KEY, settings.LTI_CLIENT_SECRET, self.edx_lti_parameters)
        outcome = provider.post_replace_result(grade)

        _logger.info(u"LTI grade request was {successful}. Description is {description}".format(
            successful="successful" if outcome.is_success() else "unsuccessful", description=outcome.description
        ))

        return outcome
Ejemplo n.º 5
0
    def send_lti_grade(self, grade):
        """ Instantiates DjangoToolProvider using stored lti parameters and sends grade """
        self._validate_lti_grade_request(grade)
        provider = DjangoToolProvider(settings.LTI_CLIENT_KEY,
                                      settings.LTI_CLIENT_SECRET,
                                      self.edx_lti_parameters)
        outcome = provider.post_replace_result(grade)

        _logger.info(
            u"LTI grade request was %(successful)s. Description is %(description)s",
            dict(successful="successful"
                 if outcome.is_success() else "unsuccessful",
                 description=outcome.description))

        return outcome