wice_grid 3.6.0 → 3.6.2
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 +4 -4
- data/.rubocop.yml +8 -3
- data/Gemfile +0 -1
- data/Rakefile +1 -11
- data/config/locales/uk.yml +29 -29
- data/lib/generators/wice_grid/add_migration_for_serialized_queries_generator.rb +0 -1
- data/lib/generators/wice_grid/install_generator.rb +0 -1
- data/lib/generators/wice_grid/templates/create_wice_grid_serialized_queries.rb +0 -1
- data/lib/generators/wice_grid/templates/wice_grid_config.rb +3 -4
- data/lib/wice/active_record_column_wrapper.rb +1 -2
- data/lib/wice/columns.rb +9 -10
- data/lib/wice/columns/column_action.rb +0 -1
- data/lib/wice/columns/column_boolean.rb +0 -1
- data/lib/wice/columns/column_bootstrap_datepicker.rb +0 -1
- data/lib/wice/columns/column_custom_dropdown.rb +0 -1
- data/lib/wice/columns/column_float.rb +0 -1
- data/lib/wice/columns/column_html5_datepicker.rb +0 -1
- data/lib/wice/columns/column_integer.rb +0 -1
- data/lib/wice/columns/column_jquery_datepicker.rb +0 -1
- data/lib/wice/columns/column_processor_index.rb +0 -1
- data/lib/wice/columns/column_rails_date_helper.rb +0 -1
- data/lib/wice/columns/column_rails_datetime_helper.rb +0 -1
- data/lib/wice/columns/column_range.rb +0 -1
- data/lib/wice/columns/column_string.rb +0 -1
- data/lib/wice/columns/common_date_datetime_mixin.rb +0 -1
- data/lib/wice/columns/common_js_date_datetime_conditions_generator_mixin.rb +0 -1
- data/lib/wice/columns/common_js_date_datetime_mixin.rb +0 -1
- data/lib/wice/columns/common_rails_date_datetime_conditions_generator_mixin.rb +0 -1
- data/lib/wice/columns/common_standard_helper_date_datetime_mixin.rb +0 -1
- data/lib/wice/grid_output_buffer.rb +3 -4
- data/lib/wice/grid_renderer.rb +11 -12
- data/lib/wice/helpers/bs_calendar_helpers.rb +2 -3
- data/lib/wice/helpers/js_calendar_helpers.rb +1 -2
- data/lib/wice/helpers/wice_grid_misc_view_helpers.rb +2 -3
- data/lib/wice/helpers/wice_grid_serialized_queries_view_helpers.rb +4 -5
- data/lib/wice/helpers/wice_grid_view_helpers.rb +12 -11
- data/lib/wice/kaminari_monkey_patching.rb +0 -2
- data/lib/wice/table_column_matrix.rb +1 -2
- data/lib/wice/wice_grid_controller.rb +4 -5
- data/lib/wice/wice_grid_core_ext.rb +0 -1
- data/lib/wice/wice_grid_misc.rb +4 -5
- data/lib/wice/wice_grid_serialized_queries_controller.rb +0 -1
- data/lib/wice/wice_grid_serialized_query.rb +0 -1
- data/lib/wice/wice_grid_spreadsheet.rb +0 -1
- data/lib/wice_grid.rb +16 -17
- data/spec/schema.rb +0 -1
- data/spec/spec_helper.rb +0 -1
- data/spec/support/active_record.rb +0 -1
- data/spec/support/wice_grid_test_config.rb +0 -2
- data/spec/wice/grid_output_buffer_spec.rb +0 -2
- data/spec/wice/table_column_matrix_spec.rb +0 -2
- data/spec/wice/wice_grid_misc_spec.rb +0 -2
- data/spec/wice/wice_grid_spreadsheet_spec.rb +0 -2
- data/wice_grid.gemspec +3 -5
- metadata +37 -51
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice #:nodoc:
|
3
2
|
module BsCalendarHelpers #:nodoc:
|
4
3
|
|
@@ -57,8 +56,8 @@ module Wice #:nodoc:
|
|
57
56
|
calendar_data.date_string = options[:initial_date].nil? ? '' : options[:initial_date].strftime(date_format)
|
58
57
|
calendar_data.dom_id = options[:name].gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '').gsub(/\./, '_').gsub(/_+/, '_')
|
59
58
|
calendar_data.datepicker_placeholder_id = calendar_data.dom_id + '_date_placeholder'
|
60
|
-
calendar_data.date_div_id
|
61
|
-
calendar_data.close_calendar_event_name =
|
59
|
+
calendar_data.date_div_id = calendar_data.dom_id + '_date_view'
|
60
|
+
calendar_data.close_calendar_event_name = "wg:calendarChanged_#{options[:grid_name]}"
|
62
61
|
calendar_data.fire_event = options[:fire_event]
|
63
62
|
end
|
64
63
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice #:nodoc:
|
3
2
|
module JsCalendarHelpers #:nodoc:
|
4
3
|
|
@@ -74,7 +73,7 @@ module Wice #:nodoc:
|
|
74
73
|
calendar_data.dom_id = options[:name].gsub(/([\[\(])|(\]\[)/, '_').gsub(/[\]\)]/, '').gsub(/\./, '_').gsub(/_+/, '_')
|
75
74
|
calendar_data.datepicker_placeholder_id = calendar_data.dom_id + '_date_placeholder'
|
76
75
|
calendar_data.date_span_id = calendar_data.dom_id + '_date_view'
|
77
|
-
calendar_data.close_calendar_event_name =
|
76
|
+
calendar_data.close_calendar_event_name = "wg:calendarChanged_#{options[:grid_name]}"
|
78
77
|
calendar_data.title = options[:title]
|
79
78
|
calendar_data.fire_event = options[:fire_event]
|
80
79
|
end
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
|
4
3
|
# Various grid related helpers
|
@@ -9,7 +8,7 @@ module Wice
|
|
9
8
|
# The only parameter is a grid object returned by +initialize_grid+ in the controller.
|
10
9
|
def dump_filter_parameters_as_hidden_fields(grid)
|
11
10
|
unless grid.is_a? WiceGrid
|
12
|
-
|
11
|
+
raise WiceGridArgumentError.new('dump_filter_parameters_as_hidden_fields: the parameter must be a WiceGrid instance.')
|
13
12
|
end
|
14
13
|
|
15
14
|
grid.get_state_as_parameter_value_pairs(true).collect do|param_name, value|
|
@@ -51,7 +50,7 @@ module Wice
|
|
51
50
|
# so I do not document this method to avoid contributing to this misunderstanding.
|
52
51
|
def scaffolded_grid(grid_obj, opts = {}) #:nodoc:
|
53
52
|
unless grid_obj.is_a? WiceGrid
|
54
|
-
|
53
|
+
raise WiceGridArgumentError.new('scaffolded_grid: the parameter must be a WiceGrid instance.')
|
55
54
|
end
|
56
55
|
|
57
56
|
# debug grid.klass.column_names
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
module GridViewHelper
|
4
3
|
# View helper to render the list of saved queries and the form to create a new query.
|
@@ -8,7 +7,7 @@ module Wice
|
|
8
7
|
# Read section "Adding Application Specific Logic to Saving/Restoring Queries" in README for more details.
|
9
8
|
def saved_queries_panel(grid, opts = {})
|
10
9
|
unless grid.is_a? WiceGrid
|
11
|
-
|
10
|
+
raise WiceGridArgumentError.new('saved_queries_panel: the parameter must be a WiceGrid instance.')
|
12
11
|
end
|
13
12
|
|
14
13
|
options = { extra_parameters: {}, confirm: 1 }
|
@@ -40,10 +39,10 @@ module Wice
|
|
40
39
|
button_tag(
|
41
40
|
NlMessage['save_query_button_label'],
|
42
41
|
class: 'wice-grid-save-query-button btn btn-primary',
|
43
|
-
'data-grid-name'
|
42
|
+
'data-grid-name' => grid_name,
|
44
43
|
'data-base-path-to-query-controller' => base_path_to_query_controller,
|
45
|
-
'data-parameters'
|
46
|
-
'data-ids'
|
44
|
+
'data-parameters' => parameters.to_json,
|
45
|
+
'data-ids' => ids.to_json
|
47
46
|
) +
|
48
47
|
'</div></div></div>'
|
49
48
|
).html_safe
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
module GridViewHelper
|
4
3
|
# View helper for rendering the grid.
|
@@ -69,7 +68,7 @@ module Wice
|
|
69
68
|
# Pease read documentation about the +column+ method to achieve the enlightenment.
|
70
69
|
|
71
70
|
def grid(grid, opts = {}, &block)
|
72
|
-
|
71
|
+
raise WiceGridArgumentError.new('Missing block for the grid helper.' \
|
73
72
|
' For detached filters use first define_grid with the same API as grid, ' \
|
74
73
|
'then grid_filter to add filters, and then render_grid to actually show the grid') if block.nil?
|
75
74
|
define_grid(grid, opts, &block)
|
@@ -83,7 +82,7 @@ module Wice
|
|
83
82
|
def define_grid(grid, opts = {}, &block)
|
84
83
|
# strip the method from HTML stuff
|
85
84
|
unless grid.class == WiceGrid
|
86
|
-
|
85
|
+
raise WiceGridArgumentError.new('The first argument for the grid helper must be an instance of the WiceGrid class')
|
87
86
|
end
|
88
87
|
|
89
88
|
options = {
|
@@ -140,7 +139,7 @@ module Wice
|
|
140
139
|
elsif grid.csv_tempfile
|
141
140
|
grid.csv_tempfile.path
|
142
141
|
else
|
143
|
-
|
142
|
+
raise WiceGridException.new("Attempt to use 'render_grid' without 'define_grid' before.")
|
144
143
|
end
|
145
144
|
end
|
146
145
|
|
@@ -155,9 +154,11 @@ module Wice
|
|
155
154
|
rendering.blank_slate_handler
|
156
155
|
end
|
157
156
|
|
157
|
+
# rubocop:disable Style/SymbolProc
|
158
158
|
if rendering.find_one_for(:in_html) { |column| column.detach_with_id }
|
159
159
|
grid.output_buffer.return_empty_strings_for_nonexistent_filters = true
|
160
160
|
end
|
161
|
+
# rubocop:enable Style/SymbolProc
|
161
162
|
end
|
162
163
|
|
163
164
|
def call_block(block, ar, extra_argument = nil) #:nodoc:
|
@@ -183,14 +184,14 @@ module Wice
|
|
183
184
|
if column_block_output.is_a?(Array)
|
184
185
|
|
185
186
|
unless column_block_output.size == 2
|
186
|
-
|
187
|
+
raise WiceGridArgumentError.new('When WiceGrid column block returns an array it is expected to contain 2 elements only - ' \
|
187
188
|
'the first is the contents of the table cell and the second is a hash containing HTML attributes for the <td> tag.')
|
188
189
|
end
|
189
190
|
|
190
191
|
column_block_output, additional_opts = column_block_output
|
191
192
|
|
192
193
|
unless additional_opts.is_a?(Hash)
|
193
|
-
|
194
|
+
raise WiceGridArgumentError.new('When WiceGrid column block returns an array its second element is expected to be a ' \
|
194
195
|
"hash containing HTML attributes for the <td> tag. The returned value is #{additional_opts.inspect}. Read documentation.")
|
195
196
|
end
|
196
197
|
|
@@ -469,7 +470,7 @@ module Wice
|
|
469
470
|
|
470
471
|
base_link_for_filter, base_link_for_show_all_records = rendering.base_link_for_filter(controller, options[:extra_request_parameters])
|
471
472
|
|
472
|
-
link_for_export
|
473
|
+
link_for_export = rendering.link_for_export(controller, 'csv', options[:extra_request_parameters])
|
473
474
|
|
474
475
|
parameter_name_for_query_loading = { grid.name => { q: '' } }.to_query
|
475
476
|
parameter_name_for_focus = { grid.name => { foc: '' } }.to_query
|
@@ -569,13 +570,13 @@ module Wice
|
|
569
570
|
# * +filter_key+ an identifier of the filter specified in the column declaration by parameter +:detach_with_id+
|
570
571
|
def grid_filter(grid, filter_key)
|
571
572
|
unless grid.is_a? WiceGrid
|
572
|
-
|
573
|
+
raise WiceGridArgumentError.new('grid_filter: the parameter must be a WiceGrid instance.')
|
573
574
|
end
|
574
575
|
if grid.output_buffer.nil?
|
575
|
-
|
576
|
+
raise WiceGridArgumentError.new("grid_filter: You have attempted to run 'grid_filter' before 'grid'. Read about detached filters in the documentation.")
|
576
577
|
end
|
577
578
|
if grid.output_buffer == true
|
578
|
-
|
579
|
+
raise WiceGridArgumentError.new('grid_filter: You have defined no detached filters, or you try use detached filters with' \
|
579
580
|
':show_filters => :no (set :show_filters to :always in this case). Read about detached filters in the documentation.')
|
580
581
|
end
|
581
582
|
|
@@ -684,7 +685,7 @@ module Wice
|
|
684
685
|
first = collection.offset_value + 1
|
685
686
|
last = collection.last_page? ? collection.total_count : collection.offset_value + collection.limit_value
|
686
687
|
|
687
|
-
num_pages = collection.
|
688
|
+
num_pages = collection.total_pages
|
688
689
|
end
|
689
690
|
|
690
691
|
parameters = grid.get_state_as_parameter_value_pairs
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
|
4
3
|
# a matrix for all declared columns
|
@@ -48,7 +47,7 @@ module Wice
|
|
48
47
|
|
49
48
|
def get_column_in_default_model_class_by_column_name(column_name) #:nodoc:
|
50
49
|
if @default_model_class.nil?
|
51
|
-
|
50
|
+
raise WiceGridException.new("Cannot search for this column(#{column_name}) in a default model(#{@default_model_class}) as the default model is not set")
|
52
51
|
end
|
53
52
|
|
54
53
|
self[@default_model_class][column_name]
|
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
module Controller #:nodoc:
|
4
3
|
def self.included(base) #:nodoc:
|
@@ -144,13 +143,13 @@ module Wice
|
|
144
143
|
options.merge!(opts)
|
145
144
|
|
146
145
|
[:attribute, :value].each do |key|
|
147
|
-
|
146
|
+
raise ::Wice::WiceGridArgumentError.new("wice_grid_custom_filter_params: :#{key} is a mandatory argument") unless options[key]
|
148
147
|
end
|
149
148
|
|
150
149
|
attr_name = if options[:model]
|
151
150
|
unless options[:model].nil?
|
152
151
|
options[:model] = options[:model].constantize if options[:model].is_a? String
|
153
|
-
|
152
|
+
raise Wice::WiceGridArgumentError.new('Option :model can be either a class or a string instance') unless options[:model].is_a? Class
|
154
153
|
end
|
155
154
|
options[:model].table_name + '.' + options[:attribute]
|
156
155
|
else
|
@@ -171,7 +170,7 @@ module Wice
|
|
171
170
|
end
|
172
171
|
|
173
172
|
def send_file_rails2(path, options = {}) #:nodoc:
|
174
|
-
|
173
|
+
raise "Cannot read file #{path}" unless File.file?(path) && File.readable?(path)
|
175
174
|
|
176
175
|
options[:length] ||= File.size(path)
|
177
176
|
options[:filename] ||= File.basename(path) unless options[:url_based_filename]
|
@@ -194,7 +193,7 @@ module Wice
|
|
194
193
|
def send_file_headers_rails2!(options) #:nodoc:
|
195
194
|
options.update(DEFAULT_SEND_FILE_OPTIONS_RAILS2.merge(options))
|
196
195
|
[:length, :type, :disposition].each do |arg|
|
197
|
-
|
196
|
+
raise ArgumentError, ":#{arg} option required" if options[arg].nil?
|
198
197
|
end
|
199
198
|
|
200
199
|
disposition = options[:disposition].dup || 'attachment'
|
data/lib/wice/wice_grid_misc.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
module Wice
|
3
2
|
class << self
|
4
3
|
|
@@ -124,11 +123,11 @@ module Wice
|
|
124
123
|
# checks whether the class is a valid storage for saved queries
|
125
124
|
def validate_query_model(query_store_model) #:nodoc:
|
126
125
|
unless query_store_model.respond_to?(:list)
|
127
|
-
|
126
|
+
raise ::Wice::WiceGridArgumentError.new("Model for saving queries #{query_store_model.class.name} is invalid - there is no class method #list defined")
|
128
127
|
end
|
129
128
|
arit = query_store_model.method(:list).arity
|
130
129
|
unless arit == 2
|
131
|
-
|
130
|
+
raise ::Wice::WiceGridArgumentError.new("Method list in the model for saving queries #{query_store_model.class.name} has wrong arity - it should be 2 instead of #{arit}")
|
132
131
|
end
|
133
132
|
@@model_validated = true
|
134
133
|
end
|
@@ -137,7 +136,7 @@ module Wice
|
|
137
136
|
def get_query_store_model #:nodoc:
|
138
137
|
query_store_model = Wice::ConfigurationProvider.value_for(:QUERY_STORE_MODEL)
|
139
138
|
query_store_model = query_store_model.constantize if query_store_model.is_a? String
|
140
|
-
|
139
|
+
raise ::Wice::WiceGridArgumentError.new('Defaults::QUERY_STORE_MODEL must be an ActiveRecord class or a string which can be constantized to an ActiveRecord class') unless query_store_model.is_a? Class
|
141
140
|
validate_query_model(query_store_model) unless @@model_validated
|
142
141
|
query_store_model
|
143
142
|
end
|
@@ -179,7 +178,7 @@ module Wice
|
|
179
178
|
Wice::Defaults.const_get(key)
|
180
179
|
else
|
181
180
|
if strict
|
182
|
-
|
181
|
+
raise WiceGridMissingConfigurationConstantException.new("Could not find constant #{key} in the configuration file!" \
|
183
182
|
' It is possible that the version of WiceGrid you are using is newer than the installed configuration file in config/initializers. ' \
|
184
183
|
"Constant Wice::Defaults::#{key} is missing and you need to add it manually to wice_grid_config.rb or run the generator task=:\n" \
|
185
184
|
' rails g wice_grid:install')
|
data/lib/wice_grid.rb
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
# encoding: utf-8
|
2
1
|
require 'wice/wice_grid_misc.rb'
|
3
2
|
require 'wice/wice_grid_core_ext.rb'
|
4
3
|
require 'wice/grid_renderer.rb'
|
@@ -86,13 +85,13 @@ module Wice
|
|
86
85
|
end
|
87
86
|
|
88
87
|
unless @klass.is_a?(Class) && @klass.ancestors.index(ActiveRecord::Base)
|
89
|
-
|
88
|
+
raise WiceGridArgumentError.new('ActiveRecord model class (second argument) must be a Class derived from ActiveRecord::Base')
|
90
89
|
end
|
91
90
|
|
92
91
|
# validate :with_resultset & :with_paginated_resultset
|
93
92
|
[:with_resultset, :with_paginated_resultset].each do |callback_symbol|
|
94
93
|
unless [NilClass, Symbol, Proc].index(opts[callback_symbol].class)
|
95
|
-
|
94
|
+
raise WiceGridArgumentError.new(":#{callback_symbol} must be either a Proc or Symbol object")
|
96
95
|
end
|
97
96
|
end
|
98
97
|
|
@@ -101,7 +100,7 @@ module Wice
|
|
101
100
|
# validate :order_direction
|
102
101
|
if opts[:order_direction] && ! (opts[:order_direction] == 'asc' || opts[:order_direction] == :asc || opts[:order_direction] == 'desc' ||
|
103
102
|
opts[:order_direction] == :desc)
|
104
|
-
|
103
|
+
raise WiceGridArgumentError.new(":order_direction must be either 'asc' or 'desc'.")
|
105
104
|
end
|
106
105
|
|
107
106
|
begin
|
@@ -146,9 +145,9 @@ module Wice
|
|
146
145
|
when Symbol
|
147
146
|
@name = @name.to_s
|
148
147
|
else
|
149
|
-
|
148
|
+
raise WiceGridArgumentError.new('name of the grid should be a string or a symbol')
|
150
149
|
end
|
151
|
-
|
150
|
+
raise WiceGridArgumentError.new('name of the grid can only contain alphanumeruc characters') unless @name =~ /^[a-zA-Z\d_]*$/
|
152
151
|
|
153
152
|
@table_column_matrix = TableColumnMatrix.new
|
154
153
|
@table_column_matrix.default_model_class = @klass
|
@@ -225,24 +224,24 @@ module Wice
|
|
225
224
|
# declare_column(String, ActiveRecord, CustomFilterSpec, nil | string, nil | Boolean)
|
226
225
|
def declare_column(
|
227
226
|
column_name: nil,
|
228
|
-
|
229
|
-
|
227
|
+
model: nil,
|
228
|
+
custom_filter_active: nil,
|
230
229
|
table_alias: nil,
|
231
230
|
filter_type: nil,
|
232
|
-
|
231
|
+
assocs: []) #:nodoc:
|
233
232
|
|
234
233
|
|
235
234
|
@options[:include] = Wice.build_includes(@options[:include], assocs)
|
236
235
|
|
237
236
|
if model # this is an included table
|
238
237
|
column = @table_column_matrix.get_column_by_model_class_and_column_name(model, column_name)
|
239
|
-
|
238
|
+
raise WiceGridArgumentError.new("Column '#{column_name}' is not found in table '#{model.table_name}'!") if column.nil?
|
240
239
|
main_table = false
|
241
240
|
table_name = model.table_name
|
242
241
|
else
|
243
242
|
column = @table_column_matrix.get_column_in_default_model_class_by_column_name(column_name)
|
244
243
|
if column.nil?
|
245
|
-
|
244
|
+
raise WiceGridArgumentError.new("Column '#{column_name}' is not found in table '#{@klass.table_name}'! " \
|
246
245
|
"If '#{column_name}' belongs to another table you should declare it in :include or :join when initialising " \
|
247
246
|
'the grid, and specify :model in column declaration.')
|
248
247
|
end
|
@@ -322,7 +321,7 @@ module Wice
|
|
322
321
|
def add_references(relation) #:nodoc:
|
323
322
|
if @ar_options[:include] && relation.respond_to?(:references)
|
324
323
|
# refs = [@ar_options[:include]] unless @ar_options[:include].is_a?(Array)
|
325
|
-
relation =
|
324
|
+
relation = relation.references(* @ar_options[:include])
|
326
325
|
end
|
327
326
|
relation
|
328
327
|
end
|
@@ -508,13 +507,13 @@ module Wice
|
|
508
507
|
# Returns the list of objects browsable through all pages with the current filters.
|
509
508
|
# Should only be called after the +grid+ helper.
|
510
509
|
def all_pages_records
|
511
|
-
|
510
|
+
raise WiceGridException.new('all_pages_records can only be called only after the grid view helper') unless self.view_helper_finished
|
512
511
|
resultset_without_paging_with_user_filters
|
513
512
|
end
|
514
513
|
|
515
514
|
# Returns the list of objects displayed on current page. Should only be called after the +grid+ helper.
|
516
515
|
def current_page_records
|
517
|
-
|
516
|
+
raise WiceGridException.new('current_page_records can only be called only after the grid view helper') unless self.view_helper_finished
|
518
517
|
@resultset
|
519
518
|
end
|
520
519
|
|
@@ -557,7 +556,7 @@ module Wice
|
|
557
556
|
elsif custom_order.is_a? Proc
|
558
557
|
custom_order.call(fully_qualified_column_name)
|
559
558
|
else
|
560
|
-
|
559
|
+
raise WiceGridArgumentError.new("invalid custom order #{custom_order.inspect}")
|
561
560
|
end
|
562
561
|
end
|
563
562
|
end
|
@@ -653,7 +652,7 @@ module Wice
|
|
653
652
|
# create a Time instance out of parameters
|
654
653
|
def params_2_datetime(par) #:nodoc:
|
655
654
|
return nil if par.blank?
|
656
|
-
params =
|
655
|
+
params = [par[:year], par[:month], par[:day], par[:hour], par[:minute]].collect { |v| v.blank? ? nil : v.to_i }
|
657
656
|
begin
|
658
657
|
Time.local(*params)
|
659
658
|
rescue ArgumentError, TypeError
|
@@ -664,7 +663,7 @@ module Wice
|
|
664
663
|
# create a Date instance out of parameters
|
665
664
|
def params_2_date(par) #:nodoc:
|
666
665
|
return nil if par.blank?
|
667
|
-
params =
|
666
|
+
params = [par[:year], par[:month], par[:day]].collect { |v| v.blank? ? nil : v.to_i }
|
668
667
|
begin
|
669
668
|
Date.civil(*params)
|
670
669
|
rescue ArgumentError, TypeError
|
data/spec/schema.rb
CHANGED
data/spec/spec_helper.rb
CHANGED