Skip to content

Commit

Permalink
Fixed @p do='input'@ zafu so that p tag is preserved.
Browse files Browse the repository at this point in the history
  • Loading branch information
gaspard committed Dec 17, 2013
1 parent 89cb773 commit 93558b4
Show file tree
Hide file tree
Showing 5 changed files with 87 additions and 66 deletions.
2 changes: 1 addition & 1 deletion History.txt
Expand Up @@ -13,7 +13,6 @@
through 'auth_user'.
* Created 'manager' user status: can edit users (only through 'auth'). <== TODO: Document
* Created 'currency' brick to fetch openexchangerates.org exchange rates. <== TODO: Document
* Using latest querybuilder to support 'union' (fixes 'or clause' errors).

* Minor changes
* Fixed gemspec to not include TextMate helper and selenium plugin.
Expand All @@ -32,6 +31,7 @@
* Fixed a critical bug related to changing a virtual class' superclass.
* Do not trigger Ajax 'loading' unless it takes more then 300 ms (avoid blink).
* Fixed tlabel on [input] when there is a default label (should overwride default).
* Fixed "<p do='input'..." so that the "p" tag is preserved.

== 1.2.6, 1.2.7 2013-08-16

Expand Down
2 changes: 1 addition & 1 deletion config/gems.yml
Expand Up @@ -18,7 +18,7 @@ gem_plugin: # upload progress
simple_xlsx_writer: # spreadsheet
lib: 'simple_xlsx'

querybuilder: '= 1.2.4'
querybuilder: '= 1.2.3'
yamltest: '= 0.7.0'
safe_yaml: '= 0.8.0'
rubyless: '= 0.8.11'
Expand Down
27 changes: 20 additions & 7 deletions lib/zena/use/forms.rb
Expand Up @@ -606,14 +606,27 @@ def r_input(skip_col = false)
else
# 'text', 'hidden', 'checkbox', ...
return parser_error('Missing name.') unless attribute || html_attributes[:name]
@markup.tag = 'input'
@markup.set_param(:type, @params[:type] || 'text')


if @markup.tag != 'input'
# Do not rewrite tag, use another one.
markup = Zafu::Markup.new('input')
else
markup = @markup
end

markup.tag = 'input'
markup.set_param(:type, @params[:type] || 'text')

checked = html_attributes.delete(:checked)
@markup.set_dyn_params(html_attributes)
@markup.append_attribute checked if checked
@markup.done = false
wrap('')
markup.set_dyn_params(html_attributes)
markup.append_attribute checked if checked
markup.done = false

if markup == @markup
wrap('')
else
markup.wrap('')
end
end

if @params[:type] == 'checkbox'
Expand Down
12 changes: 10 additions & 2 deletions test/integration/zafu_compiler/forms.yml
Expand Up @@ -169,7 +169,7 @@ checkbox_checked_hash_value:
node: test
src: "<r:input type='checkbox' name='settings[one]' value='un'/> <r:input type='checkbox' name='settings[one]' value='deux'/>"
tem: "/@node.prop\[.settings.\]\[.one.\] : nil\) == .un. \? . checked='checked'/"
res: "<input type='hidden' name='node[settings][one]' value=''/><input type='checkbox' name='node[settings][one]' value='un' checked='checked'/><input type='hidden' name='node[settings][one]' value=''/> <input type='checkbox' name='node[settings][one]' value='deux'/>"
res: "<input type='hidden' name='node[settings][one]' value=''/><input type='checkbox' name='node[settings][one]' value='un' checked='checked'/> <input type='hidden' name='node[settings][one]' value=''/><input type='checkbox' name='node[settings][one]' value='deux'/>"

checkbox_unchecked_value:
src: "<r:input type='checkbox' name='tagged[foo]'/>"
Expand Down Expand Up @@ -399,4 +399,12 @@ tlabel_with_default_label:
context:
lang: fr
src: "<r:default label='t'><r:input name='title' tlabel='Monday'/></r:default>"
res: '/<label>lundi</label>/'
res: '/<label>lundi</label>/'

p_do_input:
src: "<p class='foo' do='input' name='title'/>"
res: "<p class='foo'><input type='text' name='node[title]' value='status title'/></p>"

p_do_input_with_label:
src: "<p class='foo' do='input' name='title' label='t'/>"
res: "<p class='foo'><label>title</label> <span><input type='text' name='node[title]' value='status title'/></span></p>"
110 changes: 55 additions & 55 deletions zena.gemspec
Expand Up @@ -9,7 +9,7 @@ Gem::Specification.new do |s|

s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.authors = ["Gaspard Bucher"]
s.date = %q{2013-12-05}
s.date = %q{2013-12-17}
s.default_executable = %q{zena}
s.description = %q{zena is a Ruby on Rails CMS (content managment system) with a focus on usability, ease of customization and web 2.0 goodness (application like behaviour).}
s.email = %q{gaspard@teti.ch}
Expand Down Expand Up @@ -2235,84 +2235,84 @@ Gem::Specification.new do |s|
s.specification_version = 3

if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
s.add_runtime_dependency(%q<gettext>, ["= 2.1.0"])
s.add_runtime_dependency(%q<property>, ["= 2.3.4"])
s.add_runtime_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_runtime_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_runtime_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_runtime_dependency(%q<open4>, [">= 0"])
s.add_runtime_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_runtime_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_runtime_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_runtime_dependency(%q<json>, ["= 1.5.1"])
s.add_runtime_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_runtime_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_runtime_dependency(%q<daemons>, [">= 0"])
s.add_runtime_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_runtime_dependency(%q<differ>, ["= 0.1.2"])
s.add_runtime_dependency(%q<hpricot>, [">= 0"])
s.add_runtime_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_runtime_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_runtime_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_runtime_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_runtime_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_runtime_dependency(%q<tzinfo>, [">= 0"])
s.add_runtime_dependency(%q<syntax>, ["= 1.0.0"])
s.add_runtime_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_runtime_dependency(%q<versions>, ["= 0.3.1"])
s.add_runtime_dependency(%q<property>, ["= 2.3.4"])
s.add_runtime_dependency(%q<rails>, ["= 2.3.18"])
s.add_runtime_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_runtime_dependency(%q<hpricot>, [">= 0"])
s.add_runtime_dependency(%q<gem_plugin>, [">= 0"])
s.add_runtime_dependency(%q<open4>, [">= 0"])
s.add_runtime_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_runtime_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_runtime_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_runtime_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_runtime_dependency(%q<gettext>, ["= 2.1.0"])
s.add_runtime_dependency(%q<versions>, ["= 0.3.1"])
s.add_runtime_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_runtime_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_runtime_dependency(%q<tzinfo>, [">= 0"])
s.add_runtime_dependency(%q<syntax>, ["= 1.0.0"])
s.add_runtime_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_runtime_dependency(%q<safe_yaml>, ["= 0.8.0"])
else
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<json>, ["= 1.5.1"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<daemons>, [">= 0"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<differ>, ["= 0.1.2"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<gem_plugin>, [">= 0"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
end
else
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<json>, ["= 1.5.1"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<daemons>, [">= 0"])
s.add_dependency(%q<httmultiparty>, ["= 0.3.8"])
s.add_dependency(%q<differ>, ["= 0.1.2"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<fast_gettext>, ["~> 0.4.16"])
s.add_dependency(%q<rubyless>, ["= 0.8.11"])
s.add_dependency(%q<will_paginate>, ["~> 2.3.12"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<property>, ["= 2.3.4"])
s.add_dependency(%q<rails>, ["= 2.3.18"])
s.add_dependency(%q<uuidtools>, ["= 2.0.0"])
s.add_dependency(%q<hpricot>, [">= 0"])
s.add_dependency(%q<gem_plugin>, [">= 0"])
s.add_dependency(%q<open4>, [">= 0"])
s.add_dependency(%q<querybuilder>, ["= 1.2.3"])
s.add_dependency(%q<simple_xlsx_writer>, [">= 0"])
s.add_dependency(%q<ruby-recaptcha>, ["= 1.0.3"])
s.add_dependency(%q<shoulda>, ["= 2.10.3"])
s.add_dependency(%q<gettext>, ["= 2.1.0"])
s.add_dependency(%q<versions>, ["= 0.3.1"])
s.add_dependency(%q<yamltest>, ["= 0.7.0"])
s.add_dependency(%q<authlogic>, ["= 2.1.9"])
s.add_dependency(%q<tzinfo>, [">= 0"])
s.add_dependency(%q<syntax>, ["= 1.0.0"])
s.add_dependency(%q<RedCloth>, ["= 3.0.4"])
s.add_dependency(%q<safe_yaml>, ["= 0.8.0"])
end
end

0 comments on commit 93558b4

Please sign in to comment.