rails_admin 0.4.5 → 0.4.6
Sign up to get free protection for your applications and to get access to all the features.
Potentially problematic release.
This version of rails_admin might be problematic. Click here for more details.
- data.tar.gz.sig +0 -0
- data/Gemfile +2 -1
- data/README.md +2 -0
- data/Rakefile +0 -6
- data/app/assets/javascripts/rails_admin/ra.filter-box.js +10 -8
- data/app/assets/javascripts/rails_admin/ra.widgets.coffee +4 -1
- data/app/assets/javascripts/rails_admin/ui.coffee +5 -1
- data/app/assets/stylesheets/rails_admin/base/theming.scss +9 -6
- data/app/views/rails_admin/main/_form_nested_one.html.haml +4 -0
- data/app/views/rails_admin/main/index.html.haml +1 -1
- data/lib/rails_admin/adapters/active_record.rb +13 -7
- data/lib/rails_admin/adapters/mongoid.rb +24 -12
- data/lib/rails_admin/config/actions/dashboard.rb +1 -1
- data/lib/rails_admin/config/actions/index.rb +1 -1
- data/lib/rails_admin/config/fields/association.rb +1 -1
- data/lib/rails_admin/engine.rb +1 -1
- data/lib/rails_admin/version.rb +1 -1
- data/spec/dummy_app/db/test.sqlite3 +0 -0
- data/spec/dummy_app/log/test.log +110699 -0
- data/spec/integration/rails_admin_spec.rb +1 -2
- data/spec/rails_admin/adapters/active_record_spec.rb +38 -1
- data/spec/rails_admin/adapters/mongoid_spec.rb +52 -16
- data/spec/spec_helper.rb +8 -4
- metadata +3 -3
- metadata.gz.sig +0 -0
@@ -354,9 +354,46 @@ describe "RailsAdmin::Adapters::ActiveRecord", :active_record => true do
|
|
354
354
|
expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word3', 'word4'], 'between')).to be_nil
|
355
355
|
end
|
356
356
|
|
357
|
-
it "supports decimal type
|
357
|
+
it "supports both decimal and float type queries" do
|
358
358
|
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1", nil)).to eq(["(field = ?)", 1.1])
|
359
359
|
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', nil)).to be_nil
|
360
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'default')).to eq(["(field = ?)", 1.1])
|
361
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'default')).to be_nil
|
362
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'between')).to eq(["(field = ?)", 1.1])
|
363
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'between')).to be_nil
|
364
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['6.1', '' , '' ], 'default')).to eq(["(field = ?)", 6.1])
|
365
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['7.1', '10.1', '' ], 'default')).to eq(["(field = ?)", 7.1])
|
366
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['8.1', '' , '20.1'], 'default')).to eq(["(field = ?)", 8.1])
|
367
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['9.1', '10.1', '20.1'], 'default')).to eq(["(field = ?)", 9.1])
|
368
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', ''], 'between')).to be_nil
|
369
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['2.1', '', ''], 'between')).to be_nil
|
370
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '3.1', ''], 'between')).to eq(["(field >= ?)", 3.1])
|
371
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', '5.1'], 'between')).to eq(["(field <= ?)", 5.1])
|
372
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['' , '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
|
373
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['15.1', '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
|
374
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word1', '' ], 'between')).to be_nil
|
375
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '' , 'word2'], 'between')).to be_nil
|
376
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word3', 'word4'], 'between')).to be_nil
|
377
|
+
|
378
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1", nil)).to eq(["(field = ?)", 1.1])
|
379
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', nil)).to be_nil
|
380
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'default')).to eq(["(field = ?)", 1.1])
|
381
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'default')).to be_nil
|
382
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'between')).to eq(["(field = ?)", 1.1])
|
383
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'between')).to be_nil
|
384
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['6.1', '' , '' ], 'default')).to eq(["(field = ?)", 6.1])
|
385
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['7.1', '10.1', '' ], 'default')).to eq(["(field = ?)", 7.1])
|
386
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['8.1', '' , '20.1'], 'default')).to eq(["(field = ?)", 8.1])
|
387
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['9.1', '10.1', '20.1'], 'default')).to eq(["(field = ?)", 9.1])
|
388
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '', ''], 'between')).to be_nil
|
389
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['2.1', '', ''], 'between')).to be_nil
|
390
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '3.1', ''], 'between')).to eq(["(field >= ?)", 3.1])
|
391
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '', '5.1'], 'between')).to eq(["(field <= ?)", 5.1])
|
392
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['' , '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
|
393
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['15.1', '10.1', '20.1'], 'between')).to eq(["(field BETWEEN ? AND ?)", 10.1, 20.1])
|
394
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word1', '' ], 'between')).to be_nil
|
395
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '' , 'word2'], 'between')).to be_nil
|
396
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word3', 'word4'], 'between')).to be_nil
|
360
397
|
end
|
361
398
|
|
362
399
|
it "supports string type query" do
|
@@ -275,7 +275,7 @@ describe "RailsAdmin::Adapters::Mongoid", :mongoid => true do
|
|
275
275
|
end
|
276
276
|
|
277
277
|
it "maps Mongoid column types to RA types" do
|
278
|
-
expect(@abstract_model.properties.select{|p| %w(_id
|
278
|
+
expect(@abstract_model.properties.select{|p| %w(_id array_field big_decimal_field
|
279
279
|
boolean_field bson_object_id_field date_field datetime_field time_with_zone_field default_field float_field
|
280
280
|
hash_field integer_field name object_field range_field short_text string_field subject
|
281
281
|
symbol_field text_field time_field title).
|
@@ -286,12 +286,6 @@ describe "RailsAdmin::Adapters::Mongoid", :mongoid => true do
|
|
286
286
|
:serial? => true,
|
287
287
|
:type => :bson_object_id,
|
288
288
|
:length => nil },
|
289
|
-
{ :name => :_type,
|
290
|
-
:pretty_name => "Type",
|
291
|
-
:nullable? => true,
|
292
|
-
:serial? => false,
|
293
|
-
:type => :text,
|
294
|
-
:length => nil },
|
295
289
|
{ :name => :array_field,
|
296
290
|
:pretty_name => "Array field",
|
297
291
|
:nullable? => true,
|
@@ -701,15 +695,57 @@ describe "RailsAdmin::Adapters::Mongoid", :mongoid => true do
|
|
701
695
|
end
|
702
696
|
|
703
697
|
it "supports integer type range query" do
|
704
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', ''],
|
705
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['2', '', ''],
|
706
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '3', ''],
|
707
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', '5'],
|
708
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['' , '10', '20'],
|
709
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['15', '10', '20'],
|
710
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word1', '' ],
|
711
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '' , 'word2'],
|
712
|
-
expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word3', 'word4'],
|
698
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', ''], 'between')).to be_nil
|
699
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['2', '', ''], 'between')).to be_nil
|
700
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '3', ''], 'between')).to eq({:field => {"$gte" => 3}})
|
701
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '', '5'], 'between')).to eq({:field => {"$lte" => 5}})
|
702
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['' , '10', '20'], 'between')).to eq({:field => {"$gte" => 10, "$lte" => 20}})
|
703
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['15', '10', '20'], 'between')).to eq({:field => {"$gte" => 10, "$lte" => 20}})
|
704
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word1', '' ], 'between')).to be_nil
|
705
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', '' , 'word2'], 'between')).to be_nil
|
706
|
+
expect(@abstract_model.send(:build_statement, :field, :integer, ['', 'word3', 'word4'], 'between')).to be_nil
|
707
|
+
end
|
708
|
+
|
709
|
+
it "supports both decimal and float type queries" do
|
710
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1", nil)).to eq({:field => 1.1})
|
711
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', nil)).to be_nil
|
712
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'default')).to eq({:field => 1.1})
|
713
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'default')).to be_nil
|
714
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, "1.1" , 'between')).to eq({:field => 1.1})
|
715
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, 'word', 'between')).to be_nil
|
716
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['6.1', '' , '' ], 'default')).to eq({:field => 6.1})
|
717
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['7.1', '10.1', '' ], 'default')).to eq({:field => 7.1})
|
718
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['8.1', '' , '20.1'], 'default')).to eq({:field => 8.1})
|
719
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['9.1', '10.1', '20.1'], 'default')).to eq({:field => 9.1})
|
720
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', ''], 'between')).to be_nil
|
721
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['2.1', '', ''], 'between')).to be_nil
|
722
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '3.1', ''], 'between')).to eq({:field => {"$gte" => 3.1}})
|
723
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '', '5.1'], 'between')).to eq({:field => {"$lte" => 5.1}})
|
724
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['' , '10.1', '20.1'], 'between')).to eq({:field => {"$gte" => 10.1, "$lte" => 20.1}})
|
725
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['15.1', '10.1', '20.1'], 'between')).to eq({:field => {"$gte" => 10.1, "$lte" => 20.1}})
|
726
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word1', '' ], 'between')).to be_nil
|
727
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', '' , 'word2'], 'between')).to be_nil
|
728
|
+
expect(@abstract_model.send(:build_statement, :field, :decimal, ['', 'word3', 'word4'], 'between')).to be_nil
|
729
|
+
|
730
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1", nil)).to eq({:field => 1.1})
|
731
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', nil)).to be_nil
|
732
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'default')).to eq({:field => 1.1})
|
733
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'default')).to be_nil
|
734
|
+
expect(@abstract_model.send(:build_statement, :field, :float, "1.1" , 'between')).to eq({:field => 1.1})
|
735
|
+
expect(@abstract_model.send(:build_statement, :field, :float, 'word', 'between')).to be_nil
|
736
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['6.1', '' , '' ], 'default')).to eq({:field => 6.1})
|
737
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['7.1', '10.1', '' ], 'default')).to eq({:field => 7.1})
|
738
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['8.1', '' , '20.1'], 'default')).to eq({:field => 8.1})
|
739
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['9.1', '10.1', '20.1'], 'default')).to eq({:field => 9.1})
|
740
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '', ''], 'between')).to be_nil
|
741
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['2.1', '', ''], 'between')).to be_nil
|
742
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '3.1', ''], 'between')).to eq({:field => {"$gte" => 3.1}})
|
743
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '', '5.1'], 'between')).to eq({:field => {"$lte" => 5.1}})
|
744
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['' , '10.1', '20.1'], 'between')).to eq({:field => {"$gte" => 10.1, "$lte" => 20.1}})
|
745
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['15.1', '10.1', '20.1'], 'between')).to eq({:field => {"$gte" => 10.1, "$lte" => 20.1}})
|
746
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word1', '' ], 'between')).to be_nil
|
747
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', '' , 'word2'], 'between')).to be_nil
|
748
|
+
expect(@abstract_model.send(:build_statement, :field, :float, ['', 'word3', 'word4'], 'between')).to be_nil
|
713
749
|
end
|
714
750
|
|
715
751
|
it "supports string type query" do
|
data/spec/spec_helper.rb
CHANGED
@@ -5,10 +5,14 @@ CI_ORM = (ENV['CI_ORM'] || :active_record).to_sym
|
|
5
5
|
CI_TARGET_ORMS = [:active_record, :mongoid]
|
6
6
|
PK_COLUMN = {:active_record=>:id, :mongoid=>:_id}[CI_ORM]
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
8
|
+
require 'simplecov'
|
9
|
+
require 'coveralls'
|
10
|
+
|
11
|
+
SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[
|
12
|
+
SimpleCov::Formatter::HTMLFormatter,
|
13
|
+
Coveralls::SimpleCov::Formatter
|
14
|
+
]
|
15
|
+
SimpleCov.start
|
12
16
|
|
13
17
|
require File.expand_path('../dummy_app/config/environment', __FILE__)
|
14
18
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_admin
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.6
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -39,7 +39,7 @@ cert_chain:
|
|
39
39
|
U0xxV3ZRUnNCbHlwSGZoczZKSnVMbHlaUEdoVTNSL3YKU2YzbFZLcEJDV2dS
|
40
40
|
cEdUdnk0NVhWcEIrNTl5MzNQSm1FdVExUFRFT1l2UXlhbzlVS01BQWFBTi83
|
41
41
|
cVdRdGpsMApobHc9Ci0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
|
42
|
-
date: 2013-
|
42
|
+
date: 2013-03-20 00:00:00.000000000 Z
|
43
43
|
dependencies:
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: bootstrap-sass
|
@@ -734,7 +734,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
734
734
|
version: 1.3.6
|
735
735
|
requirements: []
|
736
736
|
rubyforge_project:
|
737
|
-
rubygems_version: 1.8.
|
737
|
+
rubygems_version: 1.8.25
|
738
738
|
signing_key:
|
739
739
|
specification_version: 3
|
740
740
|
summary: Admin for Rails
|
metadata.gz.sig
CHANGED
Binary file
|