diff --git a/app/models/team.rb b/app/models/team.rb index 2797ab75c..5e4604702 100644 --- a/app/models/team.rb +++ b/app/models/team.rb @@ -59,7 +59,7 @@ class Team < ApplicationRecord def validate_view_state(view_state) unless %w(new old atoz ztoa).include?(view_state.state.dig('projects', 'cards', 'sort')) && - %w(active archived).include?(view_state.state.dig('projects', 'filter')) + %w(all active archived).include?(view_state.state.dig('projects', 'filter')) view_state.errors.add(:state, :wrong_state) end end diff --git a/app/services/projects_overview_service.rb b/app/services/projects_overview_service.rb index 78edc42cd..25092c4a6 100644 --- a/app/services/projects_overview_service.rb +++ b/app/services/projects_overview_service.rb @@ -9,6 +9,7 @@ class ProjectsOverviewService if @view_state.state.dig('projects', 'filter') != @params[:filter] && %w(active archived all).include?(@params[:filter]) @view_state.state['projects']['filter'] = @params[:filter] + @view_state.save! end end @@ -45,7 +46,12 @@ class ProjectsOverviewService else 10 end - table_state['length'] = per_page if table_state['length'] != per_page + if table_state['length'] != per_page + table_state['length'] = per_page + table_state['time'] = Time.now.to_i + @view_state.state['projects']['table'] = table_state + @view_state.save! + end page = @params[:start] ? (@params[:start].to_i / per_page) + 1 : 1 records = fetch_dt_records records = records.where(archived: true) if @params[:filter] == 'archived' @@ -53,10 +59,6 @@ class ProjectsOverviewService search_value = @params.dig(:search, :value) records = search(records, search_value) if search_value.present? records = sort(records).page(page).per(per_page) - if @view_state.changed? - @view_state.state['projects']['table']['time'] = Time.now.to_i - @view_state.save! - end records end