Skip to content

Commit f552595

Browse files
Added annotation statistics to assignment summary (#7559)
1 parent 0b54b5b commit f552595

File tree

5 files changed

+31
-0
lines changed

5 files changed

+31
-0
lines changed

Changelog.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
- Improved layout and labeling in the assignment settings form for both standard and timed assessments. (#7531)
99
- Design improvement of tables when the data is empty. (#7557)
1010
- Improved Assignment view for students (#7533)
11+
- Added average annotations section in Assignment Summary (#7559)
1112
- Maintain font size in grading view (#7525)
1213
- Replaced assignment summary statistics in the "Status" column on the instructor Assignments page with a link to the grades page. (#7560)
1314
- Renamed the "Summary" sub-tab label to "Grades" in the Assignment interface. (#7560)

app/controllers/assignments_controller.rb

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -349,6 +349,7 @@ def grade_distribution
349349
summary = {
350350
name: "#{assignment.short_identifier}: #{assignment.description}",
351351
average: assignment.results_average(points: true) || 0,
352+
average_annotations: assignment.average_annotations,
352353
median: assignment.results_median(points: true) || 0,
353354
max_mark: assignment.max_mark || 0,
354355
standard_deviation: assignment.results_standard_deviation || 0,

app/javascript/Components/assignment_chart.jsx

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ export class AssignmentChart extends React.Component {
1111
this.state = {
1212
summary: {
1313
average: null,
14+
average_annotations: null,
1415
median: null,
1516
num_submissions_collected: null,
1617
num_submissions_graded: null,
@@ -187,6 +188,28 @@ export class AssignmentChart extends React.Component {
187188
);
188189
}
189190

191+
let annotation_summary = (
192+
<div className="distribution-graph">
193+
<h3>{I18n.t("assignments.annotation_summary")}</h3>
194+
<p>
195+
{I18n.t("assignments.average_annotations", {
196+
average_annotations: this.state.summary.average_annotations || 0,
197+
})}
198+
</p>
199+
<p>
200+
{I18n.t("assignments.average_annotations_detail_descriptor")}{" "}
201+
<a
202+
href={Routes.course_assignment_annotation_categories_path(
203+
this.props.course_id,
204+
this.props.assessment_id
205+
)}
206+
>
207+
{I18n.t("activerecord.models.annotation.other")}
208+
</a>
209+
</p>
210+
</div>
211+
);
212+
190213
return (
191214
<React.Fragment>
192215
<h2>
@@ -227,6 +250,7 @@ export class AssignmentChart extends React.Component {
227250
/>
228251
{criteria_graph}
229252
{ta_grade_distribution_chart}
253+
{annotation_summary}
230254
</React.Fragment>
231255
);
232256
}

config/locales/views/assignments/en.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
---
22
en:
33
assignments:
4+
annotation_summary: Annotation Summary
45
assignment_has_groupings: Assignment has groupings.
56
assignment_information: Assignment information
7+
average_annotations: "%{average_annotations} annotations per marked submission"
8+
average_annotations_detail_descriptor: For detailed information, see
69
configuration_zip_file: Configuration Zip File
710
deadline_with_extension: You have an extension until %{extension_deadline}.
811
deletion_confirmation: Are you sure you want to delete this assignment?

spec/controllers/assignments_controller_spec.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1305,6 +1305,7 @@
13051305
it 'should contain the right keys' do
13061306
keys = response.parsed_body['summary'].keys
13071307
expect(keys).to contain_exactly('name',
1308+
'average_annotations',
13081309
'average',
13091310
'median',
13101311
'max_mark',
@@ -1325,6 +1326,7 @@
13251326
summary = response.parsed_body['summary']
13261327
assignment_remark_requests = assignment.groupings.joins(current_submission_used: :submitted_remark)
13271328
expected = { name: "#{assignment.short_identifier}: #{assignment.description}",
1329+
average_annotations: assignment.average_annotations,
13281330
average: assignment.results_average(points: true) || 0,
13291331
median: assignment.results_median(points: true) || 0,
13301332
max_mark: assignment.max_mark || 0,

0 commit comments

Comments
 (0)