Commit 4ad9860b by Sola

moving to templates

parent 8ec8332f
...@@ -295,21 +295,17 @@ class CrowdsourceHinter(XBlock): ...@@ -295,21 +295,17 @@ class CrowdsourceHinter(XBlock):
@XBlock.json_handler @XBlock.json_handler
def rate_hint(self, data, suffix=''): def rate_hint(self, data, suffix=''):
""" """
Used to facilitate hint rating by students. Ratings are -1, 1, or 0. -1 is downvote, 1 is upvote, and 0 is Used to facilitate hint rating by students.
when a student flags a hint. 'zzeerroo' is returned to JS when a hint's rating is 0 because whenever 0 was
simply returned, JS would interpret it as null.
Hint ratings in hint_database are updated and the resulting hint rating (or flagged status) is returned to JS. Hint ratings in hint_database are updated and the resulting hint rating (or flagged status) is returned to JS.
Args: Args:
data['student_answer']: The incorrect answer that corresponds to the hint that is being voted on data['student_answer']: The incorrect answer that corresponds to the hint that is being voted on
data['hint']: The hint that is being voted on data['hint']: The hint that is being voted on
data['student_rating']: The rating chosen by the student. The value is -1, 1, or 0. data['student_rating']: The rating chosen by the student.
Returns: Returns:
"rating": The rating of the hint. 'zzeerroo' is returned if the hint's rating is 0. "rating": The rating of the hint.
If the hint has already been voted on, 'You have already voted on this hint!'
will be returned to JS.
""" """
answer_data = data['student_answer'] answer_data = data['student_answer']
# answer_data is manipulated to remove symbols to prevent errors that # answer_data is manipulated to remove symbols to prevent errors that
...@@ -343,19 +339,6 @@ class CrowdsourceHinter(XBlock): ...@@ -343,19 +339,6 @@ class CrowdsourceHinter(XBlock):
return {"rating": str(rating), 'hint': data_hint} return {"rating": str(rating), 'hint': data_hint}
else: else:
return {"rating": str('voted'), 'hint': data_hint} return {"rating": str('voted'), 'hint': data_hint}
# def hint_flagged(self, data_hint, answer_data):
# """
# This is used to add a hint to the self.flagged dictionary. When a hint is returned with the rating
# of 0, it is considered to be flagged.
# Args:
# data_hint: This is equal to the data['hint'] in self.rate_hint
# answer_data: This is equal to the data['student_answer'] in self.rate_hint
# """
# for answer_keys in self.hint_database:
# if answer_keys == data_hint:
# for hint_keys in self.hint_database[str(answer_keys)]:
# if str(hint_keys) == answer_data:
self.Flagged[str(data_hint)] = str(answer_data) self.Flagged[str(data_hint)] = str(answer_data)
def change_rating(self, data_hint, data_rating, answer_data): def change_rating(self, data_hint, data_rating, answer_data):
......
...@@ -50,6 +50,15 @@ div[data-rate="downvote"] { ...@@ -50,6 +50,15 @@ div[data-rate="downvote"] {
font-weight: bold; font-weight: bold;
} }
[csh_isStaff="false"] .csh_flagged_hints {
visibility: hidden;
display: none;
}
[csh_isStaff="true"] .csh_flagged_hints {
visibility: visible;
}
.rating{ .rating{
margin-right: 10px; margin-right: 10px;
} }
......
<script type="x-tmpl-mustache" id="show_hint_feedback"> <script type='x-tmpl-mustache' id='show_hint_feedback'>
<div class="hint_value" value={{hintvalue}}> <div class='csh_hint_value' value={{hintvalue}}>
<div role="button" class="rate_hint" data-rate="upvote" data-icon="arrow-u" aria-label="upvote"> <div role="button" class="csh_rate_hint" data-rate="upvote" data-icon="arrow-u" aria-label="upvote">
<b></b> <b></b>
</div> </div>
<div role="button" class="rate_hint" data-rate="flag" data-icon="flag" aria-label="flag"> <div role="button" class="csh_rate_hint" data-rate="flag" data-icon="flag" aria-label="flag">
<b>!</b> <b>!</b>
</div> </div>
<div class ="rating"> {{rating}} </div> <div class ="csh_rating"> {{rating}} </div>
<div class="hint"> {{hint}} </div> <div class="csh_hint"> {{hint}} </div>
<div role="button" class="rate_hint" data-rate="downvote" aria-label="downvote"> <div role="button" class="csh_rate_hint" data-rate="downvote" aria-label="downvote">
<b></b> <b></b>
</div> </div>
</div> </div>
</script> </script>
<script type="text/template" id="testing"> <script type="x-tmpl-mustache" id="show_flagged_feedback">
<div> <div class="csh_hint_value" value ={{hint}}>
{{testone}} <div role="button" class="csh_staff_rate" data-rate="unflag" aria-label="unflag">
{{testtwo}} <b>O</b>
</div>
<div class="csh_hint"> {{hint}} </div>
<div role="button" class="csh_staff_rate" data-rate="remove" aria-label="remove">
<b>X</b>
</div>
</div> </div>
</script> </script>
<div class="crowdsourcehinter_block"> <!--most stuff just for testing purposes-->
<p> <span class='HintsToUse'></span>
</p>
</div>
<div class="crowdsourcehinter_block">
<section class="correct"></section> <script type="x-tmpl-mustache" id="show_answer_feedback">
<p> <div class="csh_student_answer">
<span class='Thankyou'></span> <span><b> {{answer}}</b></span>
</p> <div>
<input type ="button" class="csh_student_hint_creation" value="Submit a new hint for this answer."
</input>
<div class="feedback">
<script type="x-tmpl-mustache" id="show_hint_feedback">
<div class="hint_value" value={{hintvalue}}>
<div role="button" class="rate_hint" data-rate="upvote" data-icon="arrow-u" aria-label="upvote">
<b></b>
</div>
<div role="button" class="rate_hint" data-rate="flag" data-icon="flag" aria-label="flag">
<b>!</b>
</div>
<div class ="rating"> {{rating}} </div>
<div class="hint"> {{hint}} </div>
<div role="button" class="rate_hint" data-rate="downvote" aria-label="downvote">
<b></b>
</div> </div>
</div> </div>
</script> </script>
</div>
<p> <div class="crowdsourcehinter_block" csh_isStaff= false>
<p> <span class='csh_HintsToUse'></span>
</p> </p>
<section class="action"> <div class="crowdsourcehinter_block">
<input type="hidden" name="problem_id" value="Numerical Input">
<section class="problem">
</div></section></span>
</section>
<section class="crowdsource-wrapper">
</section>
</section>
</section> <section class="csh_correct"></section>
<p>
<span class='Thankyou'></span>
</p>
</section>
<div class="csh_feedback">
<div class="csh_flagged_hints">
<span>Flagged</span>
</div>
</div>
</div>
</div>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment