enhance exercise_collection_statistics

This commit is contained in:
Ralf Teusner
2019-03-29 15:32:00 +01:00
parent fd4a1f4fa5
commit 193cc6c70d
4 changed files with 33 additions and 1 deletions

View File

@ -44,7 +44,7 @@ class Exercise < ApplicationRecord
def average_percentage
if average_score and maximum_score != 0.0 and submissions.exists?(cause: 'submit')
(average_score / maximum_score * 100).round
(average_score / maximum_score * 100).round(2)
else
0
end

View File

@ -15,3 +15,27 @@ h1 = @exercise_collection
.legend-entry
div(class="box #{klass}")
.box-label = label
h4.mt-4 = t('activerecord.attributes.exercise_collections.exercises')
.table-responsive#exercise-list
table.table
thead
tr
th = '#'
th = t('activerecord.attributes.exercise.title')
th = t('activerecord.attributes.exercise.number_of_users')
th = t('activerecord.attributes.exercise.distinct_final_submissions')
th = t('activerecord.attributes.exercise.finishing_rate')
th = t('activerecord.attributes.exercise.average_score_percentage')
th = t('shared.actions')
tbody
- @exercise_collection.items.sort_by{|item| item.position}.each do |exercise_collection_item|
- exercise = exercise_collection_item.exercise
tr
td = exercise_collection_item.position
td = link_to_if(policy(exercise).show?, exercise.title, exercise)
td = exercise.users.distinct.count
td = exercise.submissions.send(:final).distinct.count(:user_id)
td = finishers_percentage = exercise.users.distinct.count == 0 ? 0 : (100.0 / exercise.users.distinct.count * exercise.finishers.count).round(2)
td = exercise.average_percentage
td = link_to(t('shared.statistics'), statistics_exercise_path(exercise), 'data-turbolinks' => "false") if policy(exercise).statistics?

View File

@ -23,8 +23,11 @@ de:
testing_framework: Testing-Framework
user: Autor
exercise:
average_score_percentage: "Durchschnittlicher %Score"
description: Beschreibung
distinct_final_submissions: "Endgültige Abgaben"
embedding_parameters: Parameter für LTI-Einbettung
finishing_rate: "Abschlussquote"
tags: Tags
execution_environment: Ausführungsumgebung
execution_environment_id: Ausführungsumgebung
@ -32,6 +35,7 @@ de:
hide_file_tree: Dateibaum verstecken
instructions: Anweisungen
maximum_score: Erreichbare Punktzahl
number_of_users: "#Users"
public: Öffentlich
selection: Ausgewählt
title: Titel

View File

@ -23,8 +23,11 @@ en:
testing_framework: Testing Framework
user: Author
exercise:
average_score_percentage: "Average Score Percentage"
description: Description
distinct_final_submissions: "Distinct Final Submissions"
embedding_parameters: LTI Embedding Parameters
finishing_rate: "Finishing Rate"
tags: Tags
execution_environment: Execution Environment
execution_environment_id: Execution Environment
@ -32,6 +35,7 @@ en:
hide_file_tree: Hide File Tree
instructions: Instructions
maximum_score: Maximum Score
number_of_users: "#Users"
public: Public
selection: Selected
title: Title