add source to submissions

This commit is contained in:
Alex Turchyn
2023-08-05 19:20:06 +03:00
parent e4bb5466f5
commit 644b142798
8 changed files with 46 additions and 9 deletions
@@ -9,11 +9,13 @@ module Api
if params[:emails].present?
Submissions.create_from_emails(template:,
user: current_user,
source: :api,
send_email: params[:send_email] != 'false',
emails: params[:emails])
else
Submissions.create_from_submitters(template:,
user: current_user,
source: :api,
send_email: params[:send_email] != 'false',
submissions_attrs: submissions_params[:submission])
end
+1 -1
View File
@@ -25,7 +25,7 @@ class StartFormController < ApplicationController
ua: request.user_agent
)
@submitter.submission ||= Submission.new(template: @template)
@submitter.submission ||= Submission.new(template: @template, source: :link)
if @submitter.save
redirect_to submit_form_path(@submitter.slug)
@@ -19,11 +19,13 @@ class SubmissionsController < ApplicationController
if params[:emails].present?
Submissions.create_from_emails(template: @template,
user: current_user,
source: :invite,
send_email: params[:send_email] == '1',
emails: params[:emails])
else
Submissions.create_from_submitters(template: @template,
user: current_user,
source: :invite,
send_email: params[:send_email] == '1',
submissions_attrs: submissions_params[:submission].to_h.values)
end
+10
View File
@@ -6,6 +6,7 @@
#
# id :bigint not null, primary key
# deleted_at :datetime
# source :text not null
# template_fields :text
# template_schema :text
# template_submitters :text
@@ -35,5 +36,14 @@ class Submission < ApplicationRecord
serialize :template_schema, JSON
serialize :template_submitters, JSON
attribute :source, :string, default: 'link'
scope :active, -> { where(deleted_at: nil) }
enum :source, {
invite: 'invite',
api: 'api',
embed: 'embed',
link: 'link'
}, scope: false, prefix: true
end