Exemplo n.º 1
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student.
        # might want to add grade-calculation like autograde in the config though..
        draft = json.loads(draftstring)
        config = json.loads(configstring)
        draftval = draft['values']
        confval = config['formValues']
        points = 0

        feedback = "<ul>\n"
        nr = 0
        for i in xrange(0, len(confval)):
            if confval[i][0] == 'label':
                feedback += "</ul>\n" + markdown_full(
                    confval[i][3]) + "\n<ul>\n"
            elif confval[i][0] == 'text':
                feedback += "</ul>\n" + markdown_full(
                    draftval[nr]) + "\n<ul>\n"
                nr += 1
            elif confval[i][0] == 'check':
                if draftval[nr]:
                    points += int(confval[i][1])
                    val = int(confval[i][1])
                    if (val > 0):
                        prefix = "+"
                    else:
                        prefix = u"\u2012"
                        val = -val
                    feedback += "<li>" + markdown_full("**" + prefix + str(
                        val) + " points:** " + confval[i][3]) + "</li>\n"
                nr += 1
            elif confval[i][0] == 'number':
                points += draftval[nr]
                val = int(draftval[nr])
                if (val > 0):
                    prefix = "+"
                else:
                    prefix = u"\u2012"
                    val = -val
                if val != 0:
                    feedback += "<li>" + markdown_full("**" + prefix + str(
                        val) + " points:** " + confval[i][3]) + "</li>\n"
                nr += 1

        feedback += "</ul>\n"

        is_approved = False
        if points >= config['approvedLimit']:
            is_approved = True

        # Putting the feedback text and the full feedback together
        feedback = markdown_full(draft['feedback']) + "\n" + feedback

        return dict(is_passing_grade=is_approved,
                    grade=points,
                    points=points,
                    rendered_view=feedback)
Exemplo n.º 2
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student.
        # might want to add grade-calculation like autograde in the config though..
        draft = json.loads(draftstring)
        config = json.loads(configstring)
        draftval = draft['values']
        confval = config['formValues']
        points = 0

        feedback = "<ul>\n"
        nr = 0
        for i in xrange(0, len(confval)):
            if confval[i][0] == 'label':
                feedback += "</ul>\n" + markdown_full(confval[i][3]) + "\n<ul>\n"
            elif confval[i][0] == 'text':
                feedback += "</ul>\n" + markdown_full(draftval[nr]) + "\n<ul>\n"
                nr += 1
            elif confval[i][0]=='check':
                if draftval[nr]:
                    points+=int(confval[i][1])
                    val = int(confval[i][1])
                    if(val > 0):
                        prefix = "+"
                    else:
                        prefix = u"\u2012"
                        val = - val
                    feedback += "<li>" + markdown_full("**" + prefix + str(val) + " points:** " + confval[i][3]) +  "</li>\n"
                nr += 1
            elif confval[i][0] == 'number':
                points+=draftval[nr]
                val = int(draftval[nr])
                if(val > 0):                                                       
                    prefix = "+"
                else:                                                                             
                    prefix = u"\u2012"
                    val = - val
                if val != 0:
                    feedback += "<li>" + markdown_full("**" + prefix + str(val) + " points:** " + confval[i][3] ) + "</li>\n"
                nr += 1

        feedback += "</ul>\n"

        is_approved = False
        if points >= config['approvedLimit']:
            is_approved = True

        # Putting the feedback text and the full feedback together
        feedback = markdown_full(draft['feedback']) + "\n" + feedback

        return dict(is_passing_grade=is_approved,
                    grade=points,
                    points=points,
                    rendered_view=feedback)
Exemplo n.º 3
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student.
        # might want to add grade-calculation like autograde in the config though..
        draft = json.loads(draftstring)
        config = json.loads(configstring)
        draftval = draft['values']
        confval = config['formValues']
        points = 0

        for i in xrange(0, len(draftval)):
            if confval[i][0]=='check':
                if draftval[i]:
                    points+=int(confval[i][1])

            elif confval[i][0] == 'number':
                points+=draftval[i]

        is_approved = False
        if points >= config['approvedLimit']:
            is_approved = True

        return dict(is_passing_grade=is_approved,
                    grade=points,
                    points=points,
                    rendered_view=markdown_full(draft['feedback']))
Exemplo n.º 4
0
 def get_create_feedbackdraft_kwargs(self, form, publish):
     return {
         "feedbacktext_raw": form.cleaned_data["feedbacktext"],
         "feedbacktext_html": markdown_full(form.cleaned_data["feedbacktext"]),
         "publish": publish,
         "points": self.get_points_from_form(form),
     }
Exemplo n.º 5
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        #TODO: For now, 'grade' is just set to be points, but all info from configs and drafts is available here, so anything can be shown to the student.
        # might want to add grade-calculation like autograde in the config though..
        draft = json.loads(draftstring)
        config = json.loads(configstring)
        draftval = draft['values']
        confval = config['formValues']
        points = 0

        for i in xrange(0, len(draftval)):
            if confval[i][0] == 'check':
                if draftval[i]:
                    points += int(confval[i][1])

            elif confval[i][0] == 'number':
                points += draftval[i]

        is_approved = False
        if points >= config['approvedLimit']:
            is_approved = True

        return dict(is_passing_grade=is_approved,
                    grade=points,
                    points=points,
                    rendered_view=markdown_full(draft['feedback']))
Exemplo n.º 6
0
 def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
     draft = json.loads(draftstring)
     is_approved = draft['approved']
     grade = _grade_from_is_passing_grade(is_approved)
     return dict(is_passing_grade=is_approved,
                 grade=grade,
                 points=int(is_approved),
                 rendered_view=markdown_full(draft['feedback']))
Exemplo n.º 7
0
 def get_create_feedbackdraft_kwargs(self, form, publish):
     return {
        'groups': form.cleaned_groups,
        'feedbacktext_raw': form.cleaned_data['feedbacktext'],
        'feedbacktext_html': markdown_full(form.cleaned_data['feedbacktext']),
        'publish': publish,
        'points': self.get_points_from_form(form)
     }
Exemplo n.º 8
0
 def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
     draft = json.loads(draftstring)
     is_approved = draft['approved']
     if is_approved:
         grade = 'approved'
     else:
         grade = 'not approved'
     return dict(is_passing_grade=is_approved,
                 grade=grade,
                 points=int(is_approved),
                 rendered_view=markdown_full(draft['feedback']))
Exemplo n.º 9
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        draft = json.loads(draftstring)
        is_approved = draft['approved']
        points = draft['points']
        grade = draft['grade']
        feedback = draft['feedback']

        approved = 'not approved'
        if is_approved:
            approved = 'approved'

        return dict(is_passing_grade=is_approved,
                    grade=grade,
                    points=points,
                    rendered_view=markdown_full(feedback))
Exemplo n.º 10
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        buf = json.loads(draftstring)
        is_approved = buf[0]
        points = buf[1]
        grade = buf[2]
        feedback = buf[3]

        approved = 'not approved'
        if is_approved:
            approved = 'approved'

        return dict(is_passing_grade=is_approved,
                    grade=grade,
                    points=points,
                    rendered_view=markdown_full(feedback))
Exemplo n.º 11
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        draft = json.loads(draftstring)
        is_approved = draft['approved']
        points = draft['points']
        grade = draft['grade']
        feedback = draft['feedback']

        approved = 'not approved'
        if is_approved:
            approved = 'approved'

        return dict(is_passing_grade=is_approved,
                    grade=grade,
                    points=points,
                    rendered_view=markdown_full(feedback))
Exemplo n.º 12
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        config = cls.decode_configstring(configstring)
        buf = json.loads(draftstring)
        points = buf['points']
        feedback = buf['feedback']

        grade = cls.getGrade(points, config['grades'])

        is_approved = False
        if points >= config['approvedlimit']:
            is_approved = True

        return dict(is_passing_grade=is_approved,
                    grade=grade,
                    points=points,
                    rendered_view=markdown_full(feedback))
Exemplo n.º 13
0
    def draft_to_staticfeedback_kwargs(cls, draftstring, configstring):
        config = cls.decode_configstring(configstring)
        buf = json.loads(draftstring)
        points = buf['points']
        feedback = buf['feedback']

        grade = cls.getGrade(points, config['grades'])

        is_approved = False
        if points >= config['approvedlimit']:
            is_approved = True

        return dict(is_passing_grade=is_approved,
                    grade=grade,
                    points=points,
                    rendered_view=markdown_full(feedback))