wice_grid_mongoid 6.0.5 → 6.0.6
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.
- data/VERSION +1 -1
- data/lib/filter_conditions_generators.rb +8 -1
- data/lib/helpers/wice_grid_view_helpers.rb +1 -1
- data/test/blueprint.rb +1 -0
- data/test/rails_mongoid_test.rb +38 -2
- data/test/rails_test_app.rb +1 -0
- data/wice_grid_mongoid.gemspec +2 -2
- metadata +4 -4
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
6.0.
|
1
|
+
6.0.6
|
@@ -83,6 +83,13 @@ module Wice
|
|
83
83
|
Wice.log "invalid parameters for the grid string filter - empty string"
|
84
84
|
return false
|
85
85
|
end
|
86
|
+
if string_fragment.starts_with?('/')
|
87
|
+
string_fragment = string_fragment[1..-1]
|
88
|
+
else
|
89
|
+
special_chars = '|()[]{}+\^$*?.'
|
90
|
+
string_fragment = string_fragment.gsub( /([\|\(\)\[\]\{\}\+\^\\\$\*\?\.])/ ) { |s| '\\' + s}
|
91
|
+
end
|
92
|
+
|
86
93
|
@criteria.where(@field.name.to_s => /#{string_fragment}/)
|
87
94
|
return true
|
88
95
|
end
|
@@ -121,7 +128,7 @@ module Wice
|
|
121
128
|
when 'g': num * 1024*1024*1024
|
122
129
|
when 'm': num * 1024*1024
|
123
130
|
when 'k': num * 1024
|
124
|
-
end if match_data
|
131
|
+
end if match_data[3]
|
125
132
|
num
|
126
133
|
end
|
127
134
|
end
|
@@ -750,7 +750,7 @@ module Wice
|
|
750
750
|
|
751
751
|
def pagination_info(grid, allow_showing_all_records) #:nodoc:
|
752
752
|
found = grid.resultset.count
|
753
|
-
total = grid.extra_filter.count
|
753
|
+
total = grid.extra_filter ? grid.extra_filter.count : grid.klass.count
|
754
754
|
shown = [found, grid.status[:per_page].to_i].min
|
755
755
|
summary = ""
|
756
756
|
summary << "Shown: #{shown}"
|
data/test/blueprint.rb
CHANGED
data/test/rails_mongoid_test.rb
CHANGED
@@ -8,8 +8,8 @@ describe UsersController do
|
|
8
8
|
@aa = User.make(:first_name => 'aabbcc', :year => Time.parse('1980-01-01'), :archived => true)
|
9
9
|
@bb = User.make(:first_name => 'bbccdd', :year => Time.parse('1990-01-01'), :last_login => Time.parse('2010-01-01 4pm'))
|
10
10
|
@cc = User.make(:first_name => 'ccddee', :year => Time.parse('2000-01-01'), :computers_number => 3)
|
11
|
-
Computer.make(:user_id => @aa.id, :name => "aa_host_1")
|
12
|
-
Computer.make(:user_id => @aa.id, :name => "aa_host_2")
|
11
|
+
@c1 = Computer.make(:user_id => @aa.id, :name => "aa_host_1")
|
12
|
+
@c2 = Computer.make(:user_id => @aa.id, :name => "aa_host_2")
|
13
13
|
end
|
14
14
|
|
15
15
|
it "should render grid as table" do
|
@@ -77,7 +77,43 @@ describe UsersController do
|
|
77
77
|
first_name_column = all('tbody td[1]').map(&:text)
|
78
78
|
first_name_column.size.should == 1
|
79
79
|
end
|
80
|
+
|
81
|
+
it "should be possible to use K,M,G,KB,MB,GB in Integer filters" do
|
82
|
+
UsersController.columns do |grid|
|
83
|
+
grid.column :column_name => 'Storage Limit', :attribute_name => 'storage_limit'
|
84
|
+
end
|
85
|
+
|
86
|
+
visit '/users?grid[f][storage_limit][fr]=1K&grid[f][storage_limit][to]=5K'
|
87
|
+
first_name_column = all('tbody td[1]').map(&:text)
|
88
|
+
first_name_column.size.should == 0
|
89
|
+
|
90
|
+
visit '/users?grid[f][storage_limit][fr]=1Mb&grid[f][storage_limit][to]=200M'
|
91
|
+
first_name_column = all('tbody td[1]').map(&:text)
|
92
|
+
first_name_column.size.should == 0
|
93
|
+
|
94
|
+
visit '/users?grid[f][storage_limit][fr]=500mb&grid[f][storage_limit][to]=20G'
|
95
|
+
first_name_column = all('tbody td[1]').map(&:text)
|
96
|
+
first_name_column.size.should == 3
|
97
|
+
end
|
80
98
|
|
99
|
+
it "should be possible to use '/' for String fields to indicate regexp" do
|
100
|
+
UsersController.columns do |grid|
|
101
|
+
grid.column :column_name => 'First Name', :attribute_name => 'first_name'
|
102
|
+
end
|
103
|
+
visit '/users'
|
104
|
+
filter_string = '/c.*e'
|
105
|
+
fill_in "grid[f][first_name]", :with => filter_string
|
106
|
+
visit "/users?grid[f][first_name][v]=#{URI.escape(filter_string)}&grid[f][first_name][n]=#{URI.escape(filter_string)}"
|
107
|
+
first_name_column = all('tbody td[1]').map(&:text)
|
108
|
+
first_name_column.size.should == 1
|
109
|
+
|
110
|
+
filter_string = 'c.*e'
|
111
|
+
fill_in "grid[f][first_name]", :with => filter_string
|
112
|
+
visit "/users?grid[f][first_name][v]=#{URI.escape(filter_string)}&grid[f][first_name][n]=#{URI.escape(filter_string)}"
|
113
|
+
first_name_column = all('tbody td[1]').map(&:text)
|
114
|
+
first_name_column.size.should == 0
|
115
|
+
end
|
116
|
+
|
81
117
|
it "should be possible to see Boolean filters and use them" do
|
82
118
|
UsersController.columns do |grid|
|
83
119
|
grid.column :column_name => 'Archived', :attribute_name => 'archived'
|
data/test/rails_test_app.rb
CHANGED
data/wice_grid_mongoid.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{wice_grid_mongoid}
|
8
|
-
s.version = "6.0.
|
8
|
+
s.version = "6.0.6"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Yuri Leikind", "Aleksandr Furmanov"]
|
12
|
-
s.date = %q{2010-12-
|
12
|
+
s.date = %q{2010-12-13}
|
13
13
|
s.description = %q{A Rails grid plugin to create grids with sorting, pagination, and (automatically generated) filters }
|
14
14
|
s.email = %q{aleksandr.furmanov@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wice_grid_mongoid
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 35
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 6
|
8
8
|
- 0
|
9
|
-
-
|
10
|
-
version: 6.0.
|
9
|
+
- 6
|
10
|
+
version: 6.0.6
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Yuri Leikind
|
@@ -16,7 +16,7 @@ autorequire:
|
|
16
16
|
bindir: bin
|
17
17
|
cert_chain: []
|
18
18
|
|
19
|
-
date: 2010-12-
|
19
|
+
date: 2010-12-13 00:00:00 -08:00
|
20
20
|
default_executable:
|
21
21
|
dependencies: []
|
22
22
|
|