jeffp-wizardly 0.1.8.3 → 0.1.8.4
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.
@@ -31,8 +31,20 @@ module Wizardly
|
|
31
31
|
self.send(:define_method, sprintf("#{macro.last}", form.to_s), &block )
|
32
32
|
end
|
33
33
|
end
|
34
|
+
|
34
35
|
MACRO
|
35
36
|
end
|
37
|
+
|
38
|
+
global_macros = [
|
39
|
+
%w(on_completed after_wizard_save)
|
40
|
+
]
|
41
|
+
global_macros.each do |macro|
|
42
|
+
mb << <<-GLOBAL
|
43
|
+
def self.#{macro.first}(&block)
|
44
|
+
self.send(:define_method, :#{macro.last}, &block )
|
45
|
+
end
|
46
|
+
GLOBAL
|
47
|
+
end
|
36
48
|
mb.string
|
37
49
|
end
|
38
50
|
|
@@ -97,28 +109,29 @@ MACRO
|
|
97
109
|
return
|
98
110
|
end
|
99
111
|
|
112
|
+
@do_not_complete = false
|
100
113
|
ONE
|
101
114
|
if self.last_page?(id)
|
102
115
|
mb << <<-TWO
|
103
116
|
callback_performs_action?(:on_#{id}_form_#{finish_button})
|
104
|
-
complete_wizard
|
117
|
+
complete_wizard unless @do_not_complete
|
105
118
|
TWO
|
106
119
|
elsif self.first_page?(id)
|
107
120
|
mb << <<-THREE
|
108
121
|
if button_id == :#{finish_button}
|
109
122
|
callback_performs_action?(:on_#{id}_form_#{finish_button})
|
110
|
-
complete_wizard
|
123
|
+
complete_wizard unless @do_not_complete
|
111
124
|
return
|
112
125
|
end
|
113
126
|
#{model_persist_line}
|
114
127
|
return if callback_performs_action?(:on_#{id}_form_#{next_button})
|
115
128
|
redirect_to :action=>:#{self.next_page(id)}
|
116
129
|
THREE
|
117
|
-
else
|
130
|
+
else
|
118
131
|
mb << <<-FOUR
|
119
132
|
if button_id == :#{finish_button}
|
120
133
|
callback_performs_action?(:on_#{id}_form_#{finish_button})
|
121
|
-
complete_wizard
|
134
|
+
complete_wizard unless @do_not_complete
|
122
135
|
return
|
123
136
|
end
|
124
137
|
#{model_persist_line}
|
@@ -144,7 +157,7 @@ ENSURE
|
|
144
157
|
<<-CALLBACKS
|
145
158
|
protected
|
146
159
|
def _on_wizard_#{finish}
|
147
|
-
@#{self.model}.save_without_validation!
|
160
|
+
@#{self.model}.save_without_validation! if @#{self.model}.changed?
|
148
161
|
@wizard_completed_flag = true
|
149
162
|
reset_wizard_form_data
|
150
163
|
_wizard_final_redirect_to(:completed)
|
@@ -182,6 +195,7 @@ ENSURE
|
|
182
195
|
mb = StringIO.new
|
183
196
|
mb << <<-PROGRESSION
|
184
197
|
protected
|
198
|
+
def do_not_complete; @do_not_complete = true; end
|
185
199
|
def previous_in_progression_from(step)
|
186
200
|
po = #{self.page_order.inspect}
|
187
201
|
p = self.progression
|
@@ -246,7 +260,9 @@ SANDBOX
|
|
246
260
|
end
|
247
261
|
mb << <<-HELPERS
|
248
262
|
def complete_wizard(redirect = nil)
|
249
|
-
|
263
|
+
@#{self.model}.save_without_validation!
|
264
|
+
callback_performs_action?(:after_wizard_save)
|
265
|
+
redirect_to redirect if (redirect && !self.performed?)
|
250
266
|
_on_wizard_#{finish_button}
|
251
267
|
redirect_to #{Utils.formatted_redirect(self.completed_redirect)} unless self.performed?
|
252
268
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jeffp-wizardly
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.8.
|
4
|
+
version: 0.1.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeff Patmon
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-08-
|
12
|
+
date: 2009-08-19 00:00:00 -07:00
|
13
13
|
default_executable:
|
14
14
|
dependencies: []
|
15
15
|
|