37 Zeilen
888 B
Ruby
37 Zeilen
888 B
Ruby
|
module CustomWizardFieldExtension
|
||
|
attr_reader :label,
|
||
|
:description,
|
||
|
:image,
|
||
|
:key,
|
||
|
:min_length,
|
||
|
:file_types,
|
||
|
:limit,
|
||
|
:property
|
||
|
|
||
|
attr_accessor :dropdown_none
|
||
|
|
||
|
def initialize(attrs)
|
||
|
@attrs = attrs || {}
|
||
|
@id = attrs[:id]
|
||
|
@type = attrs[:type]
|
||
|
@required = !!attrs[:required]
|
||
|
@description = attrs[:description]
|
||
|
@image = attrs[:image]
|
||
|
@key = attrs[:key]
|
||
|
@min_length = attrs[:min_length]
|
||
|
@value = attrs[:value]
|
||
|
@choices = []
|
||
|
@dropdown_none = attrs[:dropdown_none]
|
||
|
@file_types = attrs[:file_types]
|
||
|
@limit = attrs[:limit]
|
||
|
@property = attrs[:property]
|
||
|
end
|
||
|
|
||
|
def label
|
||
|
@label ||= PrettyText.cook(@attrs[:label])
|
||
|
end
|
||
|
end
|
||
|
|
||
|
class Wizard::Field
|
||
|
prepend CustomWizardFieldExtension if SiteSetting.custom_wizard_enabled
|
||
|
end
|