Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions lib/WeBWorK/AchievementItems.pm
Original file line number Diff line number Diff line change
Expand Up @@ -59,9 +59,6 @@ sub UserItems ($c, $userName, $set, $records) {
# Return unless achievement items are enabled.
return unless $ce->{achievementsEnabled} && $ce->{achievementItemsEnabled};

# When acting as another user, achievement items can be listed but not used.
return if $set && $userName ne $c->param('user');

# Return unless the user has global achievement data.
my $globalUserAchievement = $c->{globalData} // $db->getGlobalUserAchievement($userName);
return unless $globalUserAchievement && $globalUserAchievement->frozen_hash;
Expand All @@ -70,6 +67,9 @@ sub UserItems ($c, $userName, $set, $records) {
my $use_item_id = $c->param('use_achievement_item_id') // '';
my @items;

# When acting as another user, achievement items can be listed but not used.
$use_item_id = '' if $set && $userName ne $c->param('user');

for my $item (@{ +ITEMS }) {
next unless $globalData->{$item};
my $achievementItem = "WeBWorK::AchievementItems::$item"->new;
Expand Down
19 changes: 12 additions & 7 deletions templates/ContentGenerator/ProblemSet/auxiliary_tools.html.ep
Original file line number Diff line number Diff line change
Expand Up @@ -34,6 +34,7 @@
% my ($item, $form) = @$_;
<dt class="fs-4"><%= $item->name %></dt>
<dd class="mx-3 mb-4">
% if (param('user') eq param('effectiveUser')) {
<%= form_for current_route, method => 'POST', name => 'use_reward', begin =%>
<%= hidden_field 'use_achievement_item_id' => $item->id %>
<%= $form %>
Expand All @@ -43,6 +44,17 @@
value="<%= maketext('Use [_1]', $item->remaining_title($c)) %>">
% }
<%= end =%>
% } else {
<%= $form %>
<span class="d-inline-block set-id-tooltip"
tabindex="0" data-bs-toggle="tooltip" data-bs-placement="top"
data-bs-title="<%=maketext('You cannot use achievement rewards '
. 'when acting as another user.') %>">
<button class="btn btn-primary" type="button" disabled>
<%= maketext('Use [_1]', $item->remaining_title($c)) %>
</button>
</span>
% }
</dd>
% }
</dl>
Expand All @@ -53,13 +65,6 @@
</div>
</div>
</div>
% } elsif (param('user') ne param('effectiveUser')) {
<span class="d-inline-block set-id-tooltip" tabindex="0" data-bs-toggle="tooltip" data-bs-placement="top"
data-bs-title="<%=maketext('You cannot use achievement rewards when acting as another user.') %>">
<button class="btn btn-primary" type="button" disabled>
<%= maketext('Use Achievement Reward') %>
</button>
</span>
% } else {
<span class="d-inline-block set-id-tooltip" tabindex="0" data-bs-toggle="tooltip" data-bs-placement="top"
data-bs-title="<%=maketext('No achievement rewards are available for this assignment.') %>">
Expand Down