lolita 3.1.17 → 3.1.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (96) hide show
  1. data/VERSION +1 -1
  2. data/app/controllers/lolita/field_data_controller.rb +36 -0
  3. data/app/controllers/lolita/info_controller.rb +12 -1
  4. data/app/controllers/lolita/rest_controller.rb +8 -3
  5. data/app/helpers/lolita_helper.rb +12 -1
  6. data/app/views/components/lolita/configuration/column/_display.html.erb +1 -1
  7. data/app/views/components/lolita/configuration/column/_header.html.erb +1 -1
  8. data/app/views/components/lolita/configuration/column/_sort.html.erb +7 -4
  9. data/app/views/components/lolita/configuration/field/array/_display.html.erb +1 -1
  10. data/app/views/components/lolita/configuration/field/array/autocomplete/_display.html.haml +11 -0
  11. data/app/views/components/lolita/configuration/field/array/checkbox/_display.html.haml +8 -0
  12. data/app/views/components/lolita/configuration/field/array/polymorphic/_display.html.haml +6 -0
  13. data/app/views/components/lolita/configuration/field/array/polymorphic/_options_for_select.html.haml +1 -0
  14. data/app/views/components/lolita/configuration/field/array/select/_display.html.erb +1 -1
  15. data/app/views/components/lolita/configuration/field/string/_display.html.erb +1 -5
  16. data/app/views/components/lolita/configuration/field/string/disabled/_display.html.erb +1 -1
  17. data/app/views/components/lolita/configuration/field/string/text/_display.html.erb +1 -1
  18. data/app/views/components/lolita/configuration/list/_paginator.html.erb +1 -1
  19. data/app/views/components/lolita/configuration/list/_title.html.erb +6 -1
  20. data/app/views/components/lolita/configuration/nested_form/_display.html.erb +8 -6
  21. data/app/views/components/lolita/configuration/search/_display.html.haml +2 -0
  22. data/app/views/components/lolita/navigation/_tree.html.erb +18 -25
  23. data/app/views/components/lolita/shared/_header.html.erb +1 -1
  24. data/app/views/components/lolita/shared/_right_sidebar.html.erb +1 -6
  25. data/app/views/components/lolita/shared/_save_button.html.erb +6 -0
  26. data/config/locales/en.yml +9 -1
  27. data/config/locales/lv.yml +6 -5
  28. data/config/routes.rb +3 -1
  29. data/lib/lolita.rb +52 -35
  30. data/lib/lolita/adapter/abstract_adapter.rb +5 -5
  31. data/lib/lolita/adapter/active_record.rb +190 -84
  32. data/lib/lolita/adapter/field_helper.rb +19 -0
  33. data/lib/lolita/adapter/mongoid.rb +217 -64
  34. data/lib/lolita/builder.rb +1 -1
  35. data/lib/lolita/configuration/base.rb +17 -4
  36. data/lib/lolita/configuration/column.rb +47 -28
  37. data/lib/lolita/configuration/columns.rb +1 -1
  38. data/lib/lolita/configuration/factory/field.rb +45 -0
  39. data/lib/lolita/configuration/factory/tab.rb +18 -0
  40. data/lib/lolita/configuration/field.rb +30 -115
  41. data/lib/lolita/configuration/field/array.rb +126 -41
  42. data/lib/lolita/configuration/field/big_decimal.rb +2 -2
  43. data/lib/lolita/configuration/field/boolean.rb +2 -2
  44. data/lib/lolita/configuration/field/date.rb +2 -2
  45. data/lib/lolita/configuration/field/date_time.rb +2 -2
  46. data/lib/lolita/configuration/field/float.rb +9 -0
  47. data/lib/lolita/configuration/field/hash.rb +9 -0
  48. data/lib/lolita/configuration/field/hidden.rb +2 -2
  49. data/lib/lolita/configuration/field/integer.rb +2 -3
  50. data/lib/lolita/configuration/field/range.rb +9 -0
  51. data/lib/lolita/configuration/field/string.rb +5 -2
  52. data/lib/lolita/configuration/field/symbol.rb +9 -0
  53. data/lib/lolita/configuration/field/time.rb +2 -2
  54. data/lib/lolita/configuration/list.rb +41 -8
  55. data/lib/lolita/configuration/nested_form.rb +2 -2
  56. data/lib/lolita/configuration/search.rb +91 -0
  57. data/lib/lolita/configuration/tab.rb +11 -14
  58. data/lib/lolita/configuration/tab/content.rb +1 -2
  59. data/lib/lolita/configuration/tab/default.rb +0 -1
  60. data/lib/lolita/configuration/tabs.rb +17 -11
  61. data/lib/lolita/controller_additions.rb +15 -0
  62. data/lib/lolita/controllers/authorization_helpers.rb +56 -0
  63. data/lib/lolita/controllers/component_helpers.rb +1 -1
  64. data/lib/lolita/controllers/internal_helpers.rb +18 -4
  65. data/lib/lolita/controllers/url_helpers.rb +5 -1
  66. data/lib/lolita/controllers/user_helpers.rb +23 -11
  67. data/lib/lolita/dbi/base.rb +7 -1
  68. data/lib/lolita/hooks.rb +163 -120
  69. data/lib/lolita/lazy_loader.rb +3 -0
  70. data/lib/lolita/mapping.rb +25 -2
  71. data/lib/lolita/modules/rest.rb +1 -1
  72. data/lib/lolita/navigation/branch.rb +52 -1
  73. data/lib/lolita/navigation/tree.rb +10 -0
  74. data/lib/lolita/rails.rb +1 -2
  75. data/lib/lolita/rails/routes.rb +4 -5
  76. data/lib/lolita/search/simple.rb +76 -0
  77. data/lib/lolita/system_configuration/application.rb +7 -1
  78. data/lolita.gemspec +33 -13
  79. data/public/stylesheets/lolita/style.css +21 -0
  80. data/spec/configuration/column_spec.rb +2 -2
  81. data/spec/configuration/columns_spec.rb +1 -1
  82. data/spec/configuration/field_spec.rb +14 -43
  83. data/spec/configuration/list_spec.rb +24 -20
  84. data/spec/configuration/search_spec.rb +44 -0
  85. data/spec/configuration/tab_spec.rb +21 -31
  86. data/spec/configuration/tabs_spec.rb +2 -2
  87. data/spec/dbi/base_spec.rb +3 -9
  88. data/spec/rails_app/app/mongoid/post.rb +4 -0
  89. data/spec/rails_app/config/application.rb +12 -1
  90. data/spec/rails_app/config/environments/development.rb +6 -2
  91. data/spec/rails_app/config/environments/production.rb +5 -1
  92. data/spec/rails_app/config/environments/test.rb +5 -1
  93. data/spec/search/simple_spec.rb +48 -0
  94. data/spec/spec_helper.rb +29 -18
  95. metadata +55 -38
  96. data/spec/configuration/page_spec.rb +0 -20
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lolita
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.17
4
+ version: 3.1.18
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-09-01 00:00:00.000000000Z
12
+ date: 2011-12-07 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- requirement: &81922500 !ruby/object:Gem::Requirement
16
+ requirement: &21528880 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ~>
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 3.0.10
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *81922500
24
+ version_requirements: *21528880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: kaminari
27
- requirement: &81922130 !ruby/object:Gem::Requirement
27
+ requirement: &21527940 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ~>
@@ -32,10 +32,10 @@ dependencies:
32
32
  version: 0.12.4
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *81922130
35
+ version_requirements: *21527940
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: abstract
38
- requirement: &81921510 !ruby/object:Gem::Requirement
38
+ requirement: &21527140 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *81921510
46
+ version_requirements: *21527140
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: builder
49
- requirement: &81920970 !ruby/object:Gem::Requirement
49
+ requirement: &21526400 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 2.1.2
55
55
  type: :runtime
56
56
  prerelease: false
57
- version_requirements: *81920970
57
+ version_requirements: *21526400
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: haml
60
- requirement: &81920620 !ruby/object:Gem::Requirement
60
+ requirement: &21525540 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: 3.1.2
66
66
  type: :runtime
67
67
  prerelease: false
68
- version_requirements: *81920620
68
+ version_requirements: *21525540
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jeweler
71
- requirement: &81920210 !ruby/object:Gem::Requirement
71
+ requirement: &21524500 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ~>
@@ -76,10 +76,10 @@ dependencies:
76
76
  version: 1.5.2
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *81920210
79
+ version_requirements: *21524500
80
80
  - !ruby/object:Gem::Dependency
81
81
  name: rspec
82
- requirement: &81919760 !ruby/object:Gem::Requirement
82
+ requirement: &21523700 !ruby/object:Gem::Requirement
83
83
  none: false
84
84
  requirements:
85
85
  - - ~>
@@ -87,10 +87,10 @@ dependencies:
87
87
  version: 2.6.0
88
88
  type: :development
89
89
  prerelease: false
90
- version_requirements: *81919760
90
+ version_requirements: *21523700
91
91
  - !ruby/object:Gem::Dependency
92
92
  name: rspec-rails
93
- requirement: &81919250 !ruby/object:Gem::Requirement
93
+ requirement: &21522240 !ruby/object:Gem::Requirement
94
94
  none: false
95
95
  requirements:
96
96
  - - ~>
@@ -98,10 +98,10 @@ dependencies:
98
98
  version: 2.6.0
99
99
  type: :development
100
100
  prerelease: false
101
- version_requirements: *81919250
101
+ version_requirements: *21522240
102
102
  - !ruby/object:Gem::Dependency
103
103
  name: factory_girl
104
- requirement: &81918840 !ruby/object:Gem::Requirement
104
+ requirement: &21521100 !ruby/object:Gem::Requirement
105
105
  none: false
106
106
  requirements:
107
107
  - - ! '>='
@@ -109,10 +109,10 @@ dependencies:
109
109
  version: '0'
110
110
  type: :development
111
111
  prerelease: false
112
- version_requirements: *81918840
112
+ version_requirements: *21521100
113
113
  - !ruby/object:Gem::Dependency
114
114
  name: ffaker
115
- requirement: &81918330 !ruby/object:Gem::Requirement
115
+ requirement: &21519980 !ruby/object:Gem::Requirement
116
116
  none: false
117
117
  requirements:
118
118
  - - ! '>='
@@ -120,10 +120,10 @@ dependencies:
120
120
  version: '0'
121
121
  type: :development
122
122
  prerelease: false
123
- version_requirements: *81918330
123
+ version_requirements: *21519980
124
124
  - !ruby/object:Gem::Dependency
125
125
  name: ruby-debug19
126
- requirement: &81917820 !ruby/object:Gem::Requirement
126
+ requirement: &21518280 !ruby/object:Gem::Requirement
127
127
  none: false
128
128
  requirements:
129
129
  - - ! '>='
@@ -131,10 +131,10 @@ dependencies:
131
131
  version: '0'
132
132
  type: :development
133
133
  prerelease: false
134
- version_requirements: *81917820
134
+ version_requirements: *21518280
135
135
  - !ruby/object:Gem::Dependency
136
136
  name: cucumber-rails
137
- requirement: &81917420 !ruby/object:Gem::Requirement
137
+ requirement: &21516660 !ruby/object:Gem::Requirement
138
138
  none: false
139
139
  requirements:
140
140
  - - ! '>='
@@ -142,10 +142,10 @@ dependencies:
142
142
  version: '0'
143
143
  type: :development
144
144
  prerelease: false
145
- version_requirements: *81917420
145
+ version_requirements: *21516660
146
146
  - !ruby/object:Gem::Dependency
147
147
  name: capybara
148
- requirement: &81916940 !ruby/object:Gem::Requirement
148
+ requirement: &21515860 !ruby/object:Gem::Requirement
149
149
  none: false
150
150
  requirements:
151
151
  - - ! '>='
@@ -153,10 +153,10 @@ dependencies:
153
153
  version: '0'
154
154
  type: :development
155
155
  prerelease: false
156
- version_requirements: *81916940
156
+ version_requirements: *21515860
157
157
  - !ruby/object:Gem::Dependency
158
158
  name: database_cleaner
159
- requirement: &81916650 !ruby/object:Gem::Requirement
159
+ requirement: &21514920 !ruby/object:Gem::Requirement
160
160
  none: false
161
161
  requirements:
162
162
  - - ! '>='
@@ -164,10 +164,10 @@ dependencies:
164
164
  version: '0'
165
165
  type: :development
166
166
  prerelease: false
167
- version_requirements: *81916650
167
+ version_requirements: *21514920
168
168
  - !ruby/object:Gem::Dependency
169
169
  name: akephalos
170
- requirement: &81916370 !ruby/object:Gem::Requirement
170
+ requirement: &21512040 !ruby/object:Gem::Requirement
171
171
  none: false
172
172
  requirements:
173
173
  - - ! '>='
@@ -175,7 +175,7 @@ dependencies:
175
175
  version: '0'
176
176
  type: :development
177
177
  prerelease: false
178
- version_requirements: *81916370
178
+ version_requirements: *21512040
179
179
  description: ! 'Great Rails CMS, that turns your business logic into good-looking,
180
180
  fully functional workspace. '
181
181
  email: support@ithouse.lv
@@ -194,6 +194,7 @@ files:
194
194
  - README.rdoc
195
195
  - Rakefile
196
196
  - VERSION
197
+ - app/controllers/lolita/field_data_controller.rb
197
198
  - app/controllers/lolita/info_controller.rb
198
199
  - app/controllers/lolita/rest_controller.rb
199
200
  - app/helpers/components/lolita/configuration/list_component.rb
@@ -214,8 +215,12 @@ files:
214
215
  - app/views/components/lolita/configuration/field/_label.html.erb
215
216
  - app/views/components/lolita/configuration/field/_object.html.erb
216
217
  - app/views/components/lolita/configuration/field/array/_display.html.erb
218
+ - app/views/components/lolita/configuration/field/array/autocomplete/_display.html.haml
219
+ - app/views/components/lolita/configuration/field/array/checkbox/_display.html.haml
217
220
  - app/views/components/lolita/configuration/field/array/filter/_display.html.erb
218
221
  - app/views/components/lolita/configuration/field/array/habtm/_display.html.haml
222
+ - app/views/components/lolita/configuration/field/array/polymorphic/_display.html.haml
223
+ - app/views/components/lolita/configuration/field/array/polymorphic/_options_for_select.html.haml
219
224
  - app/views/components/lolita/configuration/field/array/select/_display.html.erb
220
225
  - app/views/components/lolita/configuration/field/big_decimal/_display.html.erb
221
226
  - app/views/components/lolita/configuration/field/boolean/_display.html.erb
@@ -240,6 +245,7 @@ files:
240
245
  - app/views/components/lolita/configuration/list/_title.html.erb
241
246
  - app/views/components/lolita/configuration/nested_form/_display.html.erb
242
247
  - app/views/components/lolita/configuration/nested_form/_fields.html.erb
248
+ - app/views/components/lolita/configuration/search/_display.html.haml
243
249
  - app/views/components/lolita/configuration/tab/_display.html.erb
244
250
  - app/views/components/lolita/configuration/tab/_error_msg.html.erb
245
251
  - app/views/components/lolita/configuration/tab/_fields.html.erb
@@ -252,6 +258,7 @@ files:
252
258
  - app/views/components/lolita/shared/_flash.html.erb
253
259
  - app/views/components/lolita/shared/_header.html.erb
254
260
  - app/views/components/lolita/shared/_right_sidebar.html.erb
261
+ - app/views/components/lolita/shared/_save_button.html.erb
255
262
  - app/views/kaminari/lolita/_first_page.html.erb
256
263
  - app/views/kaminari/lolita/_gap.html.erb
257
264
  - app/views/kaminari/lolita/_last_page.html.erb
@@ -281,21 +288,28 @@ files:
281
288
  - lib/lolita.rb
282
289
  - lib/lolita/adapter/abstract_adapter.rb
283
290
  - lib/lolita/adapter/active_record.rb
291
+ - lib/lolita/adapter/field_helper.rb
284
292
  - lib/lolita/adapter/mongoid.rb
285
293
  - lib/lolita/builder.rb
286
294
  - lib/lolita/configuration/base.rb
287
295
  - lib/lolita/configuration/column.rb
288
296
  - lib/lolita/configuration/columns.rb
289
297
  - lib/lolita/configuration/factory.rb
298
+ - lib/lolita/configuration/factory/field.rb
299
+ - lib/lolita/configuration/factory/tab.rb
290
300
  - lib/lolita/configuration/field.rb
291
301
  - lib/lolita/configuration/field/array.rb
292
302
  - lib/lolita/configuration/field/big_decimal.rb
293
303
  - lib/lolita/configuration/field/boolean.rb
294
304
  - lib/lolita/configuration/field/date.rb
295
305
  - lib/lolita/configuration/field/date_time.rb
306
+ - lib/lolita/configuration/field/float.rb
307
+ - lib/lolita/configuration/field/hash.rb
296
308
  - lib/lolita/configuration/field/hidden.rb
297
309
  - lib/lolita/configuration/field/integer.rb
310
+ - lib/lolita/configuration/field/range.rb
298
311
  - lib/lolita/configuration/field/string.rb
312
+ - lib/lolita/configuration/field/symbol.rb
299
313
  - lib/lolita/configuration/field/time.rb
300
314
  - lib/lolita/configuration/field_set.rb
301
315
  - lib/lolita/configuration/fields.rb
@@ -304,10 +318,13 @@ files:
304
318
  - lib/lolita/configuration/list.rb
305
319
  - lib/lolita/configuration/nested_form.rb
306
320
  - lib/lolita/configuration/page.rb
321
+ - lib/lolita/configuration/search.rb
307
322
  - lib/lolita/configuration/tab.rb
308
323
  - lib/lolita/configuration/tab/content.rb
309
324
  - lib/lolita/configuration/tab/default.rb
310
325
  - lib/lolita/configuration/tabs.rb
326
+ - lib/lolita/controller_additions.rb
327
+ - lib/lolita/controllers/authorization_helpers.rb
311
328
  - lib/lolita/controllers/component_helpers.rb
312
329
  - lib/lolita/controllers/internal_helpers.rb
313
330
  - lib/lolita/controllers/url_helpers.rb
@@ -328,6 +345,7 @@ files:
328
345
  - lib/lolita/rails/all.rb
329
346
  - lib/lolita/rails/routes.rb
330
347
  - lib/lolita/ruby_ext/accessors.rb
348
+ - lib/lolita/search/simple.rb
331
349
  - lib/lolita/support/formatter.rb
332
350
  - lib/lolita/support/formatter/rails.rb
333
351
  - lib/lolita/system_configuration/application.rb
@@ -411,7 +429,7 @@ files:
411
429
  - spec/configuration/field_spec.rb
412
430
  - spec/configuration/filter_spec.rb
413
431
  - spec/configuration/list_spec.rb
414
- - spec/configuration/page_spec.rb
432
+ - spec/configuration/search_spec.rb
415
433
  - spec/configuration/tab_spec.rb
416
434
  - spec/configuration/tabs_spec.rb
417
435
  - spec/controllers/component_helpers_spec.rb
@@ -506,6 +524,7 @@ files:
506
524
  - spec/rails_app/public/stylesheets/lolita/default.css
507
525
  - spec/rails_app/public/stylesheets/lolita/style.css
508
526
  - spec/routing/routes_spec.rb
527
+ - spec/search/simple_spec.rb
509
528
  - spec/simple_spec_helper.rb
510
529
  - spec/spec_helper.rb
511
530
  - spec/support/factories/category.rb
@@ -525,9 +544,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
525
544
  - - ! '>='
526
545
  - !ruby/object:Gem::Version
527
546
  version: '0'
528
- segments:
529
- - 0
530
- hash: 1050265363
531
547
  required_rubygems_version: !ruby/object:Gem::Requirement
532
548
  none: false
533
549
  requirements:
@@ -536,7 +552,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
536
552
  version: '0'
537
553
  requirements: []
538
554
  rubyforge_project:
539
- rubygems_version: 1.8.8
555
+ rubygems_version: 1.8.11
540
556
  signing_key:
541
557
  specification_version: 3
542
558
  summary: Great Rails CMS.
@@ -550,7 +566,7 @@ test_files:
550
566
  - spec/configuration/field_spec.rb
551
567
  - spec/configuration/filter_spec.rb
552
568
  - spec/configuration/list_spec.rb
553
- - spec/configuration/page_spec.rb
569
+ - spec/configuration/search_spec.rb
554
570
  - spec/configuration/tab_spec.rb
555
571
  - spec/configuration/tabs_spec.rb
556
572
  - spec/controllers/component_helpers_spec.rb
@@ -586,6 +602,7 @@ test_files:
586
602
  - spec/rails_app/db/schema.rb
587
603
  - spec/rails_app/lib/lolita/configuration/field/my_custom_collection.rb
588
604
  - spec/routing/routes_spec.rb
605
+ - spec/search/simple_spec.rb
589
606
  - spec/simple_spec_helper.rb
590
607
  - spec/spec_helper.rb
591
608
  - spec/support/factories/category.rb
@@ -1,20 +0,0 @@
1
- require File.expand_path(File.dirname(__FILE__) + '/../spec_helper')
2
-
3
- describe Lolita::Configuration::Page do
4
- let(:dbi){ Lolita::DBI::Base.new(Post)}
5
-
6
- it "should sort by one or more columns" do
7
- page=Lolita::Configuration::Page.new(dbi)
8
- page.asc(:col1).desc(:col2).sort_columns.last.should == [:col2,:desc]
9
- page.sort_columns[0].should==[:col1,:asc]
10
- end
11
-
12
- describe "pagination" do
13
-
14
- it "should accept Hash params" do
15
- page=Lolita::Configuration::Page.new(dbi)
16
- page.paginate({:sort_columns=>[:title,[:body,:asc]]},:hold=>true)
17
- end
18
-
19
- end
20
- end