diff --git a/app/controllers/collection_controller.rb b/app/controllers/collection_controller.rb index ae6b698940..6a45e1a956 100644 --- a/app/controllers/collection_controller.rb +++ b/app/controllers/collection_controller.rb @@ -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 diff --git a/app/helpers/quality_samplings_helper.rb b/app/helpers/quality_samplings_helper.rb index b6388913dc..ccdacd69d4 100644 --- a/app/helpers/quality_samplings_helper.rb +++ b/app/helpers/quality_samplings_helper.rb @@ -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 diff --git a/app/views/quality_samplings/show.html.slim b/app/views/quality_samplings/show.html.slim index ccfaa77971..2ba6a8abc9 100644 --- a/app/views/quality_samplings/show.html.slim +++ b/app/views/quality_samplings/show.html.slim @@ -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