From 4f90e1b29da55f55a3a1fa8de15746d8b22c8610 Mon Sep 17 00:00:00 2001 From: Jaimos Skriletz Date: Sun, 2 Feb 2025 12:29:19 -0700 Subject: [PATCH] Updates to achievement items from feedback. Remove the fs-3 class from the achievement item names on the achievements page when listing the achievement items. When printing the achievement item name with the number of remaining items, don't treat separately from any > 0 value. Update the problem selection drop down forms to be clearer on what the problem number is for and clarifying when double means double the weight vs increase grade by 50%. --- lib/WeBWorK/AchievementItems.pm | 7 +++---- lib/WeBWorK/AchievementItems/DoubleProb.pm | 8 ++++---- lib/WeBWorK/AchievementItems/DuplicateProb.pm | 4 ++-- lib/WeBWorK/AchievementItems/FullCreditProb.pm | 6 +++--- lib/WeBWorK/AchievementItems/HalfCreditProb.pm | 11 ++++++----- .../AchievementItems/ResetIncorrectAttempts.pm | 2 +- .../Achievements/achievement_items.html.ep | 2 +- 7 files changed, 20 insertions(+), 20 deletions(-) diff --git a/lib/WeBWorK/AchievementItems.pm b/lib/WeBWorK/AchievementItems.pm index f0f0eea827..696bb30aff 100644 --- a/lib/WeBWorK/AchievementItems.pm +++ b/lib/WeBWorK/AchievementItems.pm @@ -124,13 +124,12 @@ sub UserItems ($c, $userName, $set, $records) { } # Method that returns a string with the achievement name and number of remaining items. +# This should only be called if count != 0. sub remaining_title ($self, $c) { - if ($self->count > 1) { + if ($self->count > 0) { return $c->maketext('[_1] ([_2] remaining)', $c->maketext($self->name), $self->count); - } elsif ($self->count < 0) { - return $c->maketext('[_1] (unlimited reusability)', $c->maketext($self->name)); } else { - return $c->maketext('[_1] (1 remains)', $c->maketext($self->name)); + return $c->maketext('[_1] (unlimited reusability)', $c->maketext($self->name)); } } diff --git a/lib/WeBWorK/AchievementItems/DoubleProb.pm b/lib/WeBWorK/AchievementItems/DoubleProb.pm index 3e82bea2c7..a1c24c0786 100644 --- a/lib/WeBWorK/AchievementItems/DoubleProb.pm +++ b/lib/WeBWorK/AchievementItems/DoubleProb.pm @@ -37,8 +37,8 @@ sub print_form ($self, $set, $records, $c) { return WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'dbp_problem_id', - label_text => $c->maketext('Problem Number'), - first_item => $c->maketext('Choose problem to double.'), + label_text => $c->maketext('Problem number to double weight'), + first_item => $c->maketext('Choose problem to double its weight.'), values => [ map { [ $c->maketext('Problem [_1] ([_2] to [_3])', $_->problem_id, $_->value, 2 * $_->value) => $_->problem_id ] } @$records @@ -49,7 +49,7 @@ sub print_form ($self, $set, $records, $c) { sub use_item ($self, $set, $records, $c) { my $problemID = $c->param('dbp_problem_id'); unless ($problemID) { - $c->addbadmessage($c->maketext('Select problem to double with the [_1].', $self->name)); + $c->addbadmessage($c->maketext('Select problem to double its weight with the [_1].', $self->name)); return ''; } @@ -70,7 +70,7 @@ sub use_item ($self, $set, $records, $c) { $userProblem->value($problem->value); $db->putUserProblem($userProblem); - return $c->maketext('Problem [_1] increased from [_2] points to [_3] points.', + return $c->maketext('Problem [_1] weight increased from [_2] to [_3].', $problemID, $orig_value, $problem->value); } diff --git a/lib/WeBWorK/AchievementItems/DuplicateProb.pm b/lib/WeBWorK/AchievementItems/DuplicateProb.pm index 18765951d4..8539fd6fda 100644 --- a/lib/WeBWorK/AchievementItems/DuplicateProb.pm +++ b/lib/WeBWorK/AchievementItems/DuplicateProb.pm @@ -39,14 +39,14 @@ sub print_form ($self, $set, $records, $c) { WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'clone_source_problem_id', - label_text => $c->maketext('Problem Number'), + label_text => $c->maketext('Problem number to copy'), first_item => $c->maketext('Choose problem to copy from.'), values => [ map { [ $c->maketext('Problem [_1]', $_->problem_id) => $_->problem_id ] } @$records ], ), WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'clone_dest_problem_id', - label_text => $c->maketext('Problem Number'), + label_text => $c->maketext('Problem number to replace'), first_item => $c->maketext('Choose problem to replace.'), values => [ map { [ $c->maketext('Problem [_1]', $_->problem_id) => $_->problem_id ] } @$records ], ), diff --git a/lib/WeBWorK/AchievementItems/FullCreditProb.pm b/lib/WeBWorK/AchievementItems/FullCreditProb.pm index 02593b938d..4115fe6e5c 100644 --- a/lib/WeBWorK/AchievementItems/FullCreditProb.pm +++ b/lib/WeBWorK/AchievementItems/FullCreditProb.pm @@ -45,7 +45,7 @@ sub print_form ($self, $set, $records, $c) { return WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'full_cred_problem_id', - label_text => $c->maketext('Problem Number'), + label_text => $c->maketext('Problem number to give full credit'), first_item => $c->maketext('Choose problem to give full credit.'), values => [ map { [ $c->maketext('Problem [_1] ([_2]% to 100%)', $_->problem_id, 100 * wwRound(2, $_->status)) => @@ -57,7 +57,7 @@ sub print_form ($self, $set, $records, $c) { sub use_item ($self, $set, $records, $c) { my $problemID = $c->param('full_cred_problem_id'); unless ($problemID) { - $c->addbadmessage($c->maketext('Select problem to give 100% to the [_1].', $self->name)); + $c->addbadmessage($c->maketext('Select problem to give full credit with the [_1].', $self->name)); return ''; } @@ -79,7 +79,7 @@ sub use_item ($self, $set, $records, $c) { $userProblem->sub_status(1); $db->putUserProblem($userProblem); - return $c->maketext('Problem number [_1] increased to 100%.', $problemID); + return $c->maketext('Problem number [_1] given full credit.', $problemID); } 1; diff --git a/lib/WeBWorK/AchievementItems/HalfCreditProb.pm b/lib/WeBWorK/AchievementItems/HalfCreditProb.pm index 80ae83b80d..3620385c85 100644 --- a/lib/WeBWorK/AchievementItems/HalfCreditProb.pm +++ b/lib/WeBWorK/AchievementItems/HalfCreditProb.pm @@ -25,7 +25,7 @@ sub new ($class) { return bless { id => 'HalfCreditProb', name => x('Lesser Rod of Revelation'), - description => x('Increases the score of a single problem by 50%, to a maximum of 100%.') + description => x('Increases the grade of a single problem by 50%, to a maximum of 100%.') }, $class; } @@ -42,8 +42,8 @@ sub print_form ($self, $set, $records, $c) { return WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'half_cred_problem_id', - label_text => $c->maketext('Problem Number'), - first_item => $c->maketext('Choose problem to increase 50%.'), + label_text => $c->maketext('Problem number to give half credit'), + first_item => $c->maketext('Choose problem to increase grade by 50%.'), values => [ map { [ $c->maketext( @@ -60,7 +60,7 @@ sub print_form ($self, $set, $records, $c) { sub use_item ($self, $set, $records, $c) { my $problemID = $c->param('half_cred_problem_id'); unless ($problemID) { - $c->addbadmessage($c->maketext('Select problem to add 50% with the [_1].', $self->name)); + $c->addbadmessage($c->maketext('Select problem to increase its grade by 50% with the [_1].', $self->name)); return ''; } @@ -82,7 +82,8 @@ sub use_item ($self, $set, $records, $c) { $userProblem->sub_status($problem->status); $db->putUserProblem($userProblem); - return $c->maketext('Problem number [_1] increased to [_2]%.', $problemID, 100 * wwRound(2, $problem->status)); + return $c->maketext('Problem number [_1] grade increased to [_2]%.', $problemID, + 100 * wwRound(2, $problem->status)); } 1; diff --git a/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm b/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm index df919aaaca..d6071962c4 100644 --- a/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm +++ b/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm @@ -42,7 +42,7 @@ sub print_form ($self, $set, $records, $c) { return WeBWorK::AchievementItems::form_popup_menu_row( $c, id => 'reset_attempts_problem_id', - label_text => $c->maketext('Problem Number'), + label_text => $c->maketext('Problem number to reset incorrect attempts'), first_item => $c->maketext('Choose problem to reset incorrect attempts.'), values => [ map { [ diff --git a/templates/ContentGenerator/Achievements/achievement_items.html.ep b/templates/ContentGenerator/Achievements/achievement_items.html.ep index a490df2d3d..53e3fc1b25 100644 --- a/templates/ContentGenerator/Achievements/achievement_items.html.ep +++ b/templates/ContentGenerator/Achievements/achievement_items.html.ep @@ -12,7 +12,7 @@

% for my $item (@{ $c->{achievementItems} }) { -
+
<%= $item->remaining_title($c) %>
<%= maketext($item->description) %>