From dd559e90f16c248e3deea20707689402903f0094 Mon Sep 17 00:00:00 2001 From: Pete Matsyburka Date: Tue, 1 Apr 2025 10:12:54 +0300 Subject: [PATCH] add archived filter --- app/controllers/api/submissions_controller.rb | 4 ++++ app/models/submission.rb | 1 + 2 files changed, 5 insertions(+) diff --git a/app/controllers/api/submissions_controller.rb b/app/controllers/api/submissions_controller.rb index 51a8e43e..89d361ec 100644 --- a/app/controllers/api/submissions_controller.rb +++ b/app/controllers/api/submissions_controller.rb @@ -17,6 +17,10 @@ module Api submissions = submissions.joins(template: :folder).where(folder: { name: params[:template_folder] }) end + if params.key?(:archived) + submissions = params[:archived].in?(['true', true]) ? submissions.archived : submissions.active + end + submissions = Submissions::Filter.call(submissions, current_user, params) submissions = paginate(submissions.preload(:created_by_user, :submitters, diff --git a/app/models/submission.rb b/app/models/submission.rb index c0f1c92c..f42749b2 100644 --- a/app/models/submission.rb +++ b/app/models/submission.rb @@ -64,6 +64,7 @@ class Submission < ApplicationRecord through: :template, source: :documents_attachments scope :active, -> { where(archived_at: nil) } + scope :archived, -> { where.not(archived_at: nil) } scope :pending, -> { joins(:submitters).where(submitters: { completed_at: nil }).group(:id) } scope :completed, lambda { where.not(Submitter.where(Submitter.arel_table[:submission_id].eq(Submission.arel_table[:id])