Skip to content

Commit

Permalink
#3917 solved statistics were not being recalculated after bulk approval
Browse files Browse the repository at this point in the history
  • Loading branch information
symmetrically committed Jan 19, 2024
1 parent c7512c8 commit 33175e1
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 4 deletions.
6 changes: 5 additions & 1 deletion app/controllers/collection_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -65,8 +65,12 @@ def user_contribution_list
def approve_all
@quality_sampling = QualitySampling.find(params[:quality_sampling_id])
@pages = @collection.pages.where(status: Page::STATUS_NEEDS_REVIEW).where(:last_editor_user_id => @user.id)
page_count = @pages.count
@pages.update_all(status: Page::STATUS_TRANSCRIBED)
flash[:notice] = t('.approved_n_pages', page_count: @pages.count)
@collection.works.each do |work|
work.work_statistic.recalculate({ type: Page::STATUS_NEEDS_REVIEW }) if work.work_statistic
end
flash[:notice] = t('.approved_n_pages', page_count: page_count)
redirect_to(collection_quality_sampling_path(@collection.owner, @collection, @quality_sampling))
end

Expand Down
2 changes: 1 addition & 1 deletion app/helpers/quality_samplings_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ def approval_delta_to_style(mean_approval_delta,max_approval_delta)
"approval-delta approval-delta-#{approval_delta_to_quintile(mean_approval_delta,max_approval_delta)}"
end
def approval_delta_to_quintile(mean_approval_delta,max_approval_delta)
if max_approval_delta > 0
if max_approval_delta && max_approval_delta > 0
((mean_approval_delta / max_approval_delta)*4).round
else
0
Expand Down
5 changes: 3 additions & 2 deletions app/views/quality_samplings/show.html.slim
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,9 @@
=pages_to_review
-if page_sampling.reviewed_page_count > 0
td.acenter
=(1.0 - @collection.pages.where(status: Page::COMPLETED_STATUSES).where(:last_editor_user_id => user.id).average(:approval_delta)).truncate(3)*100
span %
- approval_delta_average = @collection.pages.where(status: Page::COMPLETED_STATUSES).where(last_editor_user_id: user.id).average(:approval_delta)
= approval_delta_average ? (1.0 - approval_delta_average).truncate(3) * 100 : 0
span %
td
small(class="#{approval_delta_to_style(page_sampling.mean_approval_delta, @max_approval_delta)}") =approval_delta_to_display(page_sampling.mean_approval_delta, @max_approval_delta)
-else
Expand Down

0 comments on commit 33175e1

Please sign in to comment.