effective_events 3.0.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1eb941a4d2f674462d040e0b05bf52347917044b3fd770e97401f7fbde823db5
4
- data.tar.gz: 6824262cb6e8dca0fcddfb19615da17a2ac15b394d5bfaf74dd466d3c4615b15
3
+ metadata.gz: 4e37bb52cbe39fa76dbb40c45b4364abbab706a4a872125e11de75a1432c7b62
4
+ data.tar.gz: 484e50eafc049ea811ba446638a600ca8d49e17004da1e7a88d4635afe73f30e
5
5
  SHA512:
6
- metadata.gz: 68af9844bec221bbadb86095975c930cd408108294c4491c38ed9943da0f867ddfa4c60ad62f02a158251647322ff22cc817c6064454bf14c612b3ec84b3274d
7
- data.tar.gz: 15d8a426770fe83299ffb414ca6a39bf69a50bff002dc04373afad3744e38ebac8c3841e97051b3bf10126b09137b762cc967ac46c5457781fdb635e2d4ffc8b
6
+ metadata.gz: 84b97ecbbad1998e51a2ccbe93a2d5bd015e9a6dfa9f5e267db7a9f2aaf8a1668aaa1822c4ba6482f8cc539ae76846a4b2a0128e7654d0923040b662bc1590a6
7
+ data.tar.gz: f8ca6e7b250819032b81a8b8459cf7179e9ff0b8ba782902755fae7d3f1c1a9c247edb0bc12b4ea0f45d883828b8b82bc05cc4fb0160a27271966f1fe179480d
@@ -80,6 +80,10 @@ module Admin
80
80
  col :question2, visible: false
81
81
  col :question3, visible: false
82
82
 
83
+ col :question1_required, visible: false
84
+ col :question2_required, visible: false
85
+ col :question3_required, visible: false
86
+
83
87
  actions_col
84
88
  end
85
89
 
@@ -135,11 +135,16 @@ module Effective
135
135
  validates :last_name, presence: true, if: -> { registrant_validations_enabled? }
136
136
  validates :email, presence: true, if: -> { registrant_validations_enabled? }
137
137
 
138
- # User, company and organization conditionall required
138
+ # User, company and organization conditionally required
139
139
  validates :user, presence: true, if: -> { registrant_validations_enabled? && EffectiveEvents.create_users }
140
140
  validates :company, presence: true, if: -> { registrant_validations_enabled? && EffectiveEvents.company_or_organization_required }
141
141
  validates :organization, presence: true, if: -> { registrant_validations_enabled? && EffectiveEvents.company_or_organization_required && EffectiveEvents.organization_enabled? }
142
142
 
143
+ # Responses may or may not be required depending on the event ticket
144
+ validates :response1, presence: true, if: -> { registrant_validations_enabled? && event_ticket&.question1_required? }
145
+ validates :response2, presence: true, if: -> { registrant_validations_enabled? && event_ticket&.question2_required? }
146
+ validates :response3, presence: true, if: -> { registrant_validations_enabled? && event_ticket&.question3_required? }
147
+
143
148
  # Copy any user errors from build_user_and_organization() into the registrant
144
149
  after_validation(if: -> { user && user.new_record? && user.errors.present? }) do
145
150
  errors.add(:first_name, user.errors[:first_name].join(', ')) if user.errors[:first_name].present?
@@ -35,6 +35,10 @@ module Effective
35
35
  question2 :text
36
36
  question3 :text
37
37
 
38
+ question1_required :boolean
39
+ question2_required :boolean
40
+ question3_required :boolean
41
+
38
42
  # Pricing
39
43
  early_bird_price :integer
40
44
 
@@ -164,5 +168,17 @@ module Effective
164
168
  category == 'Members'
165
169
  end
166
170
 
171
+ def question1_required?
172
+ question1.present? && question1_required
173
+ end
174
+
175
+ def question2_required?
176
+ question2.present? && question2_required
177
+ end
178
+
179
+ def question3_required?
180
+ question3.present? && question3_required
181
+ end
182
+
167
183
  end
168
184
  end
@@ -49,7 +49,12 @@
49
49
  %small.text-muted Please add up to 3 questions to ask during registration. Each ticket will have their own unique answers. Leave a question blank to skip.
50
50
 
51
51
  = f.text_field :question1, label: 'Question 1'
52
+ = f.check_box :question1_required, label: 'Question 1 Required'
53
+
52
54
  = f.text_field :question2, label: 'Question 2'
55
+ = f.check_box :question2_required, label: 'Question 2 Required'
56
+
53
57
  = f.text_field :question3, label: 'Question 3'
58
+ = f.check_box :question3_required, label: 'Question 3 Required'
54
59
 
55
60
  = effective_submit(f)
@@ -41,11 +41,11 @@
41
41
 
42
42
  - if event_ticket.present?
43
43
  - if event_ticket.question1.present?
44
- = f.text_field :response1, label: event_ticket.question1
44
+ = f.text_field :response1, label: event_ticket.question1, required: event_ticket.question1_required?
45
45
 
46
46
  - if event_ticket.question2.present?
47
- = f.text_field :response2, label: event_ticket.question2
47
+ = f.text_field :response2, label: event_ticket.question2, required: event_ticket.question2_required?
48
48
 
49
49
  - if event_ticket.question3.present?
50
- = f.text_field :response3, label: event_ticket.question3
50
+ = f.text_field :response3, label: event_ticket.question3, required: event_ticket.question3_required?
51
51
 
@@ -58,6 +58,10 @@ class CreateEffectiveEvents < ActiveRecord::Migration[6.0]
58
58
  t.text :question2
59
59
  t.text :question3
60
60
 
61
+ t.boolean :question1_required, default: false
62
+ t.boolean :question2_required, default: false
63
+ t.boolean :question3_required, default: false
64
+
61
65
  t.string :qb_item_name
62
66
  t.boolean :tax_exempt, default: false
63
67
 
@@ -1,3 +1,3 @@
1
1
  module EffectiveEvents
2
- VERSION = '3.0.9'.freeze
2
+ VERSION = '3.1.0'.freeze
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: effective_events
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.9
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Code and Effect