Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-14 05:52:52 +01:00
21cf81b7a5
* FEATURE: add resume wizard popup
* code cleanup, copy edits
* FIX: address functionality, setting and copy issues
@fzngagan a few issues fixed
1. The resume button wasn't working (old reference to ``resumeDialog`` remained in callback.
2. This needs a wizard setting
3. It's not necessary to serialize the first step separately. We have all the steps in ``steps`` and steps have indexes.
4. Button copy
* Fix linting
* Ensure aa submission exists
* Apply prettier
Co-authored-by: angusmcleod <angus@mcleod.org.au>
(cherry picked from commit 2678ee153d
)
69 Zeilen
1,4 KiB
Ruby
69 Zeilen
1,4 KiB
Ruby
# frozen_string_literal: true
|
|
|
|
class CustomWizard::WizardSerializer < CustomWizard::BasicWizardSerializer
|
|
|
|
attributes :start,
|
|
:background,
|
|
:submission_last_updated_at,
|
|
:theme_id,
|
|
:completed,
|
|
:required,
|
|
:permitted,
|
|
:uncategorized_category_id,
|
|
:categories,
|
|
:resume_on_revisit
|
|
|
|
has_many :steps, serializer: ::CustomWizard::StepSerializer, embed: :objects
|
|
has_one :user, serializer: ::BasicUserSerializer, embed: :objects
|
|
has_many :groups, serializer: ::BasicGroupSerializer, embed: :objects
|
|
|
|
def completed
|
|
object.completed?
|
|
end
|
|
|
|
def include_completed?
|
|
object.completed? &&
|
|
(!object.respond_to?(:multiple_submissions) || !object.multiple_submissions) &&
|
|
!scope.is_admin?
|
|
end
|
|
|
|
def permitted
|
|
object.permitted?
|
|
end
|
|
|
|
def start
|
|
object.start
|
|
end
|
|
|
|
def include_start?
|
|
include_steps? && object.start.present?
|
|
end
|
|
|
|
def submission_last_updated_at
|
|
object.current_submission.updated_at
|
|
end
|
|
|
|
def include_steps?
|
|
!include_completed?
|
|
end
|
|
|
|
def include_categories?
|
|
object.needs_categories
|
|
end
|
|
|
|
def include_groups?
|
|
object.needs_groups
|
|
end
|
|
|
|
def uncategorized_category_id
|
|
SiteSetting.uncategorized_category_id
|
|
end
|
|
|
|
def include_uncategorized_category_id?
|
|
object.needs_categories
|
|
end
|
|
|
|
def categories
|
|
object.categories.map { |c| c.to_h }
|
|
end
|
|
end
|