0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-11-25 10:40:28 +01:00

IMPROVE: Add additional data to submission serialiser

Dieser Commit ist enthalten in:
angusmcleod 2021-07-21 11:31:03 +08:00
Ursprung 543b676f53
Commit 55b92f4256
2 geänderte Dateien mit 28 neuen und 6 gelöschten Zeilen

Datei anzeigen

@ -32,7 +32,8 @@ class CustomWizard::Wizard
:actions, :actions,
:action_ids, :action_ids,
:user, :user,
:submissions :submissions,
:template
attr_reader :all_step_ids attr_reader :all_step_ids
@ -79,6 +80,7 @@ class CustomWizard::Wizard
@actions = attrs['actions'] || [] @actions = attrs['actions'] || []
@action_ids = @actions.map { |a| a['id'] } @action_ids = @actions.map { |a| a['id'] }
@template = attrs
end end
def cast_bool(val) def cast_bool(val)

Datei anzeigen

@ -1,13 +1,33 @@
# frozen_string_literal: true # frozen_string_literal: true
class CustomWizard::SubmissionSerializer < ApplicationSerializer class CustomWizard::SubmissionSerializer < ApplicationSerializer
attributes :id, attributes :id,
:username, :user,
:fields, :fields,
:submitted_at :submitted_at
def username has_one :user, serializer: ::BasicUserSerializer, embed: :objects
object.user.present? ?
object.user.username : def include_user?
I18n.t('admin.wizard.submission.no_user', user_id: object.user_id) object.user.present?
end
def fields
@fields ||= begin
result = {}
object.wizard.template['steps'].each do |step|
step['fields'].each do |field|
if value = object.fields[field['id']]
result[field['id']] = {
value: value,
type: field['type'],
label: field['label']
}
end
end
end
result
end
end end
end end