_pp_check_box_checked?(value, checked_value)
click to toggle source
def _pp_check_box_checked?(value, checked_value)
return ActionView::Helpers::InstanceTag::check_box_checked?(value, checked_value)
end
_pp_remove_error_div(s)
click to toggle source
def _pp_remove_error_div(s)
s.sub!(/\A<div class="fieldWithErrors">(.*)<\/div>\z/, '\1')
return s
end
_pp_select(object, method, collection, priority_collection, options={}, html_options={})
click to toggle source
def _pp_select(object, method, collection, priority_collection, options={}, html_options={})
return pp_error_on(object, method) do
s = ""
s << "<select id=\"#{object}_#{method}\" name=\"#{object}[#{method}]\""
for key, val in html_options:
s << " #{key}=\"#{val}\""
end
s << ">\n"
key = options.key?(:value) ? :value : (options.key?('value') ? 'value' : nil)
if key.nil? ; selected = "@#{object}.#{method}"
elsif (val=options[key]).nil? ; selected = nil
elsif val =~ /\A<%=(.*)%>\z/ ; selected = $1
else ; selected = val.inspect
end
s << "<% _table = {#{selected}=>' selected=\"selected\"'} %>\n" if selected
if options[:include_blank] || options['include_blank']
s << "<option value=\"\"></option>\n"
end
unless priority_collection.blank?
_pp_select_options(s, priority_collection, selected, 'delete')
s << "<option value=\"\">-------------</option>\n"
end
_pp_select_options(s, collection, selected, '[]')
s << "</select>"
s
end
end
_pp_select_options(s, collection, selected, operator)
click to toggle source
def _pp_select_options(s, collection, selected, operator)
for item in collection
value, text = item.is_a?(Array) ? item : [item, item]
if !selected
t = ''
elsif operator == 'delete'
t = "<%= _table.delete(#{value.inspect}) %>"
else
t = "<%= _table[#{value.inspect}] %>"
end
s << "<option value=\"#{h value}\"#{t}>#{h text}</option>\n"
end
end
pp_check_box(object_name, method, options={}, checked_value="1", unchecked_value="0")
click to toggle source
def pp_check_box(object_name, method, options={}, checked_value="1", unchecked_value="0")
s = check_box(object_name, method, options, checked_value, unchecked_value)
s.sub!(/\schecked=\"checked\"/, '')
s.sub!(/type="checkbox"/, "\\&<%= _pp_check_box_checked?(@#{object_name}.#{method}, #{checked_value.inspect}) ? ' checked=\"checked\"' : '' %>")
return pp_error_on(object_name, method) { _pp_remove_error_div(s) }
end
pp_collection_select(object, method, collection, value_method, text_method, options={}, html_options={})
click to toggle source
def pp_collection_select(object, method, collection, value_method, text_method, options={}, html_options={})
collection2 = collection.collect { |e|
[e.__send__(value_method), e.__send__(text_method)]
}
return _pp_select(object, method, collection2, nil, options, html_options)
end
pp_country_select(object, method, priority_countries=nil, options={}, html_options={})
click to toggle source
def pp_country_select(object, method, priority_countries=nil, options={}, html_options={})
collection = ActionView::Helpers::FormOptionsHelper::COUNTRIES
return _pp_select(object, method, collection, priority_countries, options, html_options)
end
pp_error_on(object_name, method) { |object_name, method| ... }
click to toggle source
def pp_error_on(object_name, method)
s = ''
s << "<% _stag, _etag = _pp_error_tags(@#{object_name}.errors.on('#{method}')) %>"
s << "<%= _stag %>"
s << yield(object_name, method)
s << "<%= _etag %>"
return s
end
pp_file_field(object_name, method, options={})
click to toggle source
def pp_file_field(object_name, method, options={})
return pp_tag_helper(:file_field, object_name, method, options)
end
pp_hidden_field(object_name, method, options={})
click to toggle source
def pp_hidden_field(object_name, method, options={})
return pp_tag_helper(:hidden_field, object_name, method, options)
end
pp_image_submit_tag(source, options={})
click to toggle source
def pp_image_submit_tag(source, options={})
return image_submit_tag(source, options)
end
pp_password_field(object_name, method, options={})
click to toggle source
def pp_password_field(object_name, method, options={})
return pp_tag_helper(:password_field, object_name, method, options)
end
pp_render_partial(basename)
click to toggle source
def pp_render_partial(basename)
basename = "_#{basename}" unless basename[0] == _
filename = pp_template_filename(basename)
preprocessor = _create_preprocessor(File.read(filename))
return preprocessor.evaluate(_preprocessing_context_object())
end
pp_select(object, method, collection, options={}, html_options={})
click to toggle source
def pp_select(object, method, collection, options={}, html_options={})
return _pp_select(object, method, collection, nil, options, html_options)
end
pp_submit_tag(value="Save changes", options={})
click to toggle source
def pp_submit_tag(value="Save changes", options={})
return submit_tag(value, options)
end
pp_tag_helper(helper, object_name, method, options={})
click to toggle source
def pp_tag_helper(helper, object_name, method, options={})
if object_name.is_a?(ActionView::Helpers::FormHelper)
object_name = object_name.object_name
end
unless options.key?(:value) || options.key?('value')
options['value'] = _?("h @#{object_name}.#{method}")
end
return pp_error_on(object_name, method) {
s = __send__(helper, object_name, method, options)
_pp_remove_error_div(s)
}
end
pp_template_filename(basename)
click to toggle source
def pp_template_filename(basename)
return "#{RAILS_ROOT}/app/views/#{controller.controller_name}/#{basename}.rhtml"
end
pp_text_area(object_name, method, options={})
click to toggle source
def pp_text_area(object_name, method, options={})
return pp_tag_helper(:text_area, object_name, method, options)
end
pp_text_field(object_name, method, options={})
click to toggle source
def pp_text_field(object_name, method, options={})
return pp_tag_helper(:text_field, object_name, method, options)
end
pp_time_zone_select(object, method, priority_zones=nil, options={}, html_options={})
click to toggle source
def pp_time_zone_select(object, method, priority_zones=nil, options={}, html_options={})
model = options[:model] || options['model'] || TimeZone
collection = model.all.collect { |e| [e.name, e.to_s] }
return _pp_select(object, method, collection, priority_zones, options, html_options)
end