diff --git a/lib/WeBWorK/AchievementItems/AddNewTestGW.pm b/lib/WeBWorK/AchievementItems/AddNewTestGW.pm index 092aaab0b1..2352311eaf 100644 --- a/lib/WeBWorK/AchievementItems/AddNewTestGW.pm +++ b/lib/WeBWorK/AchievementItems/AddNewTestGW.pm @@ -44,6 +44,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { && between($set->open_date, $set->due_date); } + return unless @openGateways; + return $c->c( $c->tag('p', $c->maketext('Add a new version for which test?')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/DoubleProb.pm b/lib/WeBWorK/AchievementItems/DoubleProb.pm index a59aa3c211..6ba044e239 100644 --- a/lib/WeBWorK/AchievementItems/DoubleProb.pm +++ b/lib/WeBWorK/AchievementItems/DoubleProb.pm @@ -52,6 +52,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { } } + return unless @openSets; + return $c->c( $c->tag( 'p', diff --git a/lib/WeBWorK/AchievementItems/DoubleSet.pm b/lib/WeBWorK/AchievementItems/DoubleSet.pm index e3f12109b9..c1d7a297f6 100644 --- a/lib/WeBWorK/AchievementItems/DoubleSet.pm +++ b/lib/WeBWorK/AchievementItems/DoubleSet.pm @@ -36,6 +36,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Choose the set which you would like to be worth twice as much.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/DuplicateProb.pm b/lib/WeBWorK/AchievementItems/DuplicateProb.pm index 6c73db7b47..ecc1e72052 100644 --- a/lib/WeBWorK/AchievementItems/DuplicateProb.pm +++ b/lib/WeBWorK/AchievementItems/DuplicateProb.pm @@ -52,6 +52,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { } } + return unless @openSets; + return $c->c( $c->tag( 'p', diff --git a/lib/WeBWorK/AchievementItems/ExtendDueDate.pm b/lib/WeBWorK/AchievementItems/ExtendDueDate.pm index 7881b2691e..7ce497db1d 100644 --- a/lib/WeBWorK/AchievementItems/ExtendDueDate.pm +++ b/lib/WeBWorK/AchievementItems/ExtendDueDate.pm @@ -36,6 +36,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Choose the set whose close date you would like to extend.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/ExtendDueDateGW.pm b/lib/WeBWorK/AchievementItems/ExtendDueDateGW.pm index 3bc81670cb..f29d4eaa73 100644 --- a/lib/WeBWorK/AchievementItems/ExtendDueDateGW.pm +++ b/lib/WeBWorK/AchievementItems/ExtendDueDateGW.pm @@ -42,6 +42,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { && between($set->open_date, $set->due_date); } + return unless @openGateways; + return $c->c( $c->tag('p', $c->maketext('Extend the close date for which test?')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/FullCreditProb.pm b/lib/WeBWorK/AchievementItems/FullCreditProb.pm index a7ab7f2c6a..96cb798b91 100644 --- a/lib/WeBWorK/AchievementItems/FullCreditProb.pm +++ b/lib/WeBWorK/AchievementItems/FullCreditProb.pm @@ -52,6 +52,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { } } + return unless @openSets; + return $c->c( $c->tag( 'p', diff --git a/lib/WeBWorK/AchievementItems/FullCreditSet.pm b/lib/WeBWorK/AchievementItems/FullCreditSet.pm index d57ff6db74..4dcdd4fd70 100644 --- a/lib/WeBWorK/AchievementItems/FullCreditSet.pm +++ b/lib/WeBWorK/AchievementItems/FullCreditSet.pm @@ -36,6 +36,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Please choose the set for which all problems should be given full credit.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/HalfCreditProb.pm b/lib/WeBWorK/AchievementItems/HalfCreditProb.pm index c87058bee9..17dd547500 100644 --- a/lib/WeBWorK/AchievementItems/HalfCreditProb.pm +++ b/lib/WeBWorK/AchievementItems/HalfCreditProb.pm @@ -52,6 +52,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { } } + return unless @openSets; + return $c->c( $c->tag( 'p', diff --git a/lib/WeBWorK/AchievementItems/HalfCreditSet.pm b/lib/WeBWorK/AchievementItems/HalfCreditSet.pm index 22d1868a38..3ca427a96c 100644 --- a/lib/WeBWorK/AchievementItems/HalfCreditSet.pm +++ b/lib/WeBWorK/AchievementItems/HalfCreditSet.pm @@ -36,6 +36,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Please choose the set for which all problems should have half credit added.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/ReducedCred.pm b/lib/WeBWorK/AchievementItems/ReducedCred.pm index c1e8ece3ba..8455584319 100644 --- a/lib/WeBWorK/AchievementItems/ReducedCred.pm +++ b/lib/WeBWorK/AchievementItems/ReducedCred.pm @@ -40,6 +40,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Choose the set which you would like to enable partial credit for.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm b/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm index d4ad250a93..a0d180a679 100644 --- a/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm +++ b/lib/WeBWorK/AchievementItems/ResetIncorrectAttempts.pm @@ -52,6 +52,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { } } + return unless @openSets; + return $c->c( $c->tag( 'p', diff --git a/lib/WeBWorK/AchievementItems/ResurrectGW.pm b/lib/WeBWorK/AchievementItems/ResurrectGW.pm index af23a3a78b..545503de1f 100644 --- a/lib/WeBWorK/AchievementItems/ResurrectGW.pm +++ b/lib/WeBWorK/AchievementItems/ResurrectGW.pm @@ -45,6 +45,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { || ($set->reduced_scoring_date && after($set->reduced_scoring_date))); } + return unless @closed_gateway_sets; + return $c->c( $c->tag('p', $c->maketext('Resurrect which test?')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/ResurrectHW.pm b/lib/WeBWorK/AchievementItems/ResurrectHW.pm index 32219f242e..478ab195b6 100644 --- a/lib/WeBWorK/AchievementItems/ResurrectHW.pm +++ b/lib/WeBWorK/AchievementItems/ResurrectHW.pm @@ -40,6 +40,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { || ($sets->[$i]->reduced_scoring_date && after($sets->[$i]->reduced_scoring_date))); } + return unless @closedSets; + return $c->c( $c->tag('p', $c->maketext('Choose the set which you would like to resurrect.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/lib/WeBWorK/AchievementItems/SuperExtendDueDate.pm b/lib/WeBWorK/AchievementItems/SuperExtendDueDate.pm index f3aa446817..6c4e641a8a 100644 --- a/lib/WeBWorK/AchievementItems/SuperExtendDueDate.pm +++ b/lib/WeBWorK/AchievementItems/SuperExtendDueDate.pm @@ -36,6 +36,8 @@ sub print_form ($self, $sets, $setProblemIds, $c) { if (between($sets->[$i]->open_date, $sets->[$i]->due_date) && $sets->[$i]->assignment_type eq 'default'); } + return unless @openSets; + return $c->c( $c->tag('p', $c->maketext('Choose the set whose close date you would like to extend.')), WeBWorK::AchievementItems::form_popup_menu_row( diff --git a/templates/ContentGenerator/Achievements/achievement_items.html.ep b/templates/ContentGenerator/Achievements/achievement_items.html.ep index e9dfb9fba4..68518c00e9 100644 --- a/templates/ContentGenerator/Achievements/achievement_items.html.ep +++ b/templates/ContentGenerator/Achievements/achievement_items.html.ep @@ -16,34 +16,37 @@
<%= maketext($item->description) %>
+ % my $form = $item->print_form($sets, $setProblemIds, $c); % # Print a modal popup for each item which contains the form necessary to get the data to use the item. <%= link_to maketext('Use Reward') => '#modal_' . $item->id, role => 'button', - class => 'btn btn-secondary', + class => 'btn btn-secondary' . ($form ? '' : ' disabled'), id => 'popup_' . $item->id, - data => { bs_toggle => 'modal' } =%> -