mirror of https://github.com/docusealco/docuseal
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
35 lines
1.4 KiB
35 lines
1.4 KiB
# frozen_string_literal: true
|
|
|
|
class SubmissionsDashboardController < ApplicationController
|
|
load_and_authorize_resource :submission, parent: false
|
|
|
|
def index
|
|
@submissions = @submissions.left_joins(:template)
|
|
|
|
@submissions = @submissions.where(archived_at: nil)
|
|
.where(templates: { archived_at: nil })
|
|
.preload(:template_accesses, :created_by_user)
|
|
|
|
@submissions = Submissions.search(current_user, @submissions, params[:q], search_template: true)
|
|
@submissions = Submissions::Filter.call(@submissions, current_user, params)
|
|
|
|
@submissions =
|
|
if params[:status] == 'completed' || params[:completed_at_from].present? || params[:completed_at_to].present?
|
|
@submissions.order(completed_at: :desc)
|
|
else
|
|
@submissions.order(id: :desc)
|
|
end
|
|
|
|
@pagy, @submissions = pagy_auto(@submissions.select_for_list.preload(submitters: :start_form_submission_events))
|
|
|
|
template_scope = @submissions.all?(&:template_submitters) ? Template.select_for_list : nil
|
|
|
|
ActiveRecord::Associations::Preloader.new(records: @submissions,
|
|
associations: :template,
|
|
scope: template_scope).call
|
|
|
|
ActiveRecord::Associations::Preloader.new(records: @submissions.filter_map(&:template),
|
|
associations: :author).call
|
|
end
|
|
end
|