diff --git a/app/controllers/templates_controller.rb b/app/controllers/templates_controller.rb index 69d0781a..e1be3c3b 100644 --- a/app/controllers/templates_controller.rb +++ b/app/controllers/templates_controller.rb @@ -10,6 +10,11 @@ class TemplatesController < ApplicationController submissions = submissions.active if @template.deleted_at.blank? submissions = Submissions.search(submissions, params[:q]) + @base_submissions = submissions + + submissions = submissions.pending if params[:status] == 'pending' + submissions = submissions.completed if params[:status] == 'completed' + @pagy, @submissions = pagy(submissions.preload(:submitters).order(id: :desc)) rescue ActiveRecord::RecordNotFound redirect_to root_path diff --git a/app/models/submission.rb b/app/models/submission.rb index d27ce2ed..9be3d7a4 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -48,6 +48,8 @@ class Submission < ApplicationRecord through: :template, source: :documents_attachments scope :active, -> { where(deleted_at: nil) } + scope :pending, -> { joins(:submitters).where(submitters: { completed_at: nil }).distinct } + scope :completed, -> { left_joins(:submitters).where.not(submitters: { completed_at: nil }).distinct } enum :source, { invite: 'invite', diff --git a/app/views/icons/_clock.html.erb b/app/views/icons/_clock.html.erb new file mode 100644 index 00000000..80a14f26 --- /dev/null +++ b/app/views/icons/_clock.html.erb @@ -0,0 +1,5 @@ + diff --git a/app/views/icons/_list.html.erb b/app/views/icons/_list.html.erb new file mode 100644 index 00000000..555545ec --- /dev/null +++ b/app/views/icons/_list.html.erb @@ -0,0 +1,9 @@ + diff --git a/app/views/shared/_search_input.html.erb b/app/views/shared/_search_input.html.erb index b9ae8ce0..fa50725a 100644 --- a/app/views/shared/_search_input.html.erb +++ b/app/views/shared/_search_input.html.erb @@ -1,7 +1,10 @@ -