optimacms 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 25b9f802954ca4bb509e4b7bc23ee59f68faec3a
4
- data.tar.gz: a5e4e4d7780a955fe16a270a11fe431ddc9b1857
3
+ metadata.gz: a5c71915c85fc8f8b2c3b927bc7fc5b7c44f91ac
4
+ data.tar.gz: 2ff1155e854f1b56f6407ec212bcf585c8128a6b
5
5
  SHA512:
6
- metadata.gz: 02fea7a619ed35c6e02c8bbf320f40b3f53e127d2b1610daaf224c070983cfca00303622d8eb6fdd8fc2f9ed34060abfcff9f5cbbdef8b7bc645b8e36d81b32f
7
- data.tar.gz: 6fecad147162631701695674effd21e767f02c7c2d498681ce1ff569d726fb43fa4f60fdcb151b33631ee572e69346672f9f4aa02bfa436c05ce0b844bbd83e9
6
+ metadata.gz: 86d108c522d1c97bd753052ae6e9988e17285d7f286385647dc233647e2a5ca6bbd15750252468647a32f572b831ce48ee4f0dc3c91b82406ef47402c33bd758
7
+ data.tar.gz: e3af7c37bd671c11116fe67c6b7e4abdf0c87dfa83c2e1c7ac2f154f02e415ce76b572b263e5244b36772fc5e6402427c4a220c373d2e97a802307c090a531c3
@@ -138,10 +138,8 @@ module Optimacms
138
138
 
139
139
 
140
140
  # filter
141
+ include SimpleFilters::Controller
141
142
 
142
- def filter_prefix
143
- 'admin_pages'
144
- end
145
143
 
146
144
  def init_tabledata
147
145
  init_filter
@@ -152,7 +150,7 @@ module Optimacms
152
150
  @pg = params[:pg].to_i || 1
153
151
 
154
152
  #
155
- @filter = Filters::FormFilter.new(session, filter_prefix)
153
+ @filter = Filters::FormFilter.new(session, 'admin_pages')
156
154
 
157
155
  # set filter fields
158
156
  @filter.add_fields_from_array(
@@ -1,228 +0,0 @@
1
- module Optimacms
2
-
3
-
4
- module Filters
5
- class FormFilter
6
-
7
- FIELD_TYPE_TEXT = 'text'
8
- FIELD_TYPE_HIDDEN = 'hidden'
9
- FIELD_TYPE_SELECT_AUTO = 'select_auto' # text with autocomplete
10
-
11
- DBTYPE_STRING = 'string'
12
- DBTYPE_INT = 'int'
13
- DBTYPE_DATE = 'date'
14
-
15
- #
16
- attr_accessor :prefix # session prefix
17
- attr_accessor :fields
18
- attr_accessor :data
19
- #attr_accessor :order # [ ["order_column", "asc|desc"], ..]
20
-
21
-
22
-
23
- def initialize(_session, _prefix)
24
- @prefix = _prefix
25
- @session = _session
26
-
27
- @fields ||={}
28
-
29
- # init data
30
- data()
31
- end
32
-
33
-
34
- ############
35
- # fields
36
- ############
37
-
38
- def add_field(f)
39
- @fields[f[:name]] = f
40
-
41
- end
42
-
43
- def add_fields_from_array(a)
44
- a.each do |fa|
45
- add_field fa
46
- end
47
-
48
- end
49
-
50
-
51
- def field_def_value(name)
52
- if (@fields.has_key? name) && (@fields[name].has_key? :def)
53
- return @fields[name][:def]
54
- end
55
- nil
56
- end
57
-
58
- ############
59
- # sessions
60
- ############
61
-
62
- def session_get(name, def_value)
63
- @session[prefix+name] || def_value
64
- end
65
-
66
- def session_save(name, v)
67
- @session[prefix+name] = v
68
- end
69
-
70
-
71
- ############
72
- # data
73
- ############
74
-
75
-
76
- def data
77
- return @data unless @data.nil?
78
-
79
- # from session
80
- @data_sess = session_get 'data', nil
81
- unless @data_sess.nil?
82
- @data = @data_sess
83
- else
84
-
85
- end
86
-
87
- #
88
- @data ||= {}
89
-
90
- session_save('data', @data)
91
-
92
- #
93
- @data
94
- end
95
-
96
- def v(name, v_def=nil)
97
- if (data.has_key? name) && (!data[name].nil?)
98
- return data[name]
99
- end
100
-
101
- field_def_value(name) || v_def
102
- end
103
-
104
- def v_empty?(name)
105
- if (data.has_key? name) && (!data[name].nil?)
106
- return true
107
- end
108
-
109
- # if v == default value
110
-
111
- end
112
-
113
- def set(field_name,v)
114
- data[field_name] = v
115
- end
116
-
117
-
118
- def clear_data
119
- session_save 'data', {}
120
- end
121
-
122
- def set_data_from_form(params)
123
- # search for fields like filter[XXX]
124
- params.each do |name, v|
125
- #if f =~ /^filter\[([^\]]+)\]$/
126
- #name = Regexp.last_match(1)
127
-
128
- next unless @fields.has_key? name
129
-
130
- if @fields[name][:dbtype]==DBTYPE_INT
131
- data[name] = (v.to_i rescue 0)
132
- else
133
- data[name] = v
134
- end
135
-
136
- #end
137
- end
138
-
139
- # default values from fields
140
- @fields.each do |name, f|
141
- next if @data.has_key? name
142
-
143
- @data[name] = field_def_value name
144
- end
145
-
146
- end
147
-
148
-
149
-
150
- ####
151
- # order
152
- ####
153
-
154
- def order
155
- return @order unless @order.nil?
156
-
157
- # from session
158
- @v_sess = session_get 'order', nil
159
- @order = @v_sess unless @v_sess.nil?
160
-
161
- #
162
- @order ||= []
163
-
164
- session_save 'order', @order
165
-
166
- #
167
- @order
168
- end
169
-
170
- def order= (value)
171
- @order = value
172
-
173
- session_save 'order', @order
174
- end
175
-
176
- def set_order_default(order_by, order_dir)
177
- return false if !order.nil? && !order.empty?
178
-
179
- set_order(order_by, order_dir)
180
-
181
- end
182
-
183
-
184
- def set_order(order_by, order_dir)
185
- self.order = [[order_by, order_dir]]
186
- end
187
-
188
- def get_order
189
- order[0] if order.count>0
190
- order[0]
191
- end
192
-
193
-
194
- def get_opposite_order_dir_for_column(name)
195
- return 'asc' if order.empty?
196
-
197
-
198
- if order[0][0] == name
199
- return opposite_order_dir(order[0][1])
200
- end
201
-
202
- return 'asc'
203
- end
204
-
205
- def opposite_order_dir(order_dir)
206
- return 'asc' if order_dir=='desc'
207
- return 'desc' if order_dir=='asc'
208
- 'asc'
209
- end
210
-
211
-
212
-
213
- #helper methods
214
-
215
- def html_style(name)
216
- return '' unless @fields[name].has_key?(:opt)
217
-
218
- s = ''
219
- opt = @fields[name][:opt]
220
- unless opt[:width].nil?
221
- s << "width: #{opt[:width]}px; "
222
- end
223
- end
224
- end
225
-
226
- end
227
-
228
- end
@@ -1,3 +1,3 @@
1
1
  module Optimacms
2
- VERSION = "0.1.2"
2
+ VERSION = "0.1.3"
3
3
  end
@@ -0,0 +1,14 @@
1
+ module SimpleFilter
2
+ module Controller
3
+ extend ActiveSupport::Concern
4
+
5
+ included do
6
+
7
+ end
8
+
9
+ class_methods do
10
+
11
+ end
12
+
13
+ end
14
+ end
@@ -0,0 +1,223 @@
1
+ module SimpleFilter
2
+ class Filter
3
+
4
+ FIELD_TYPE_TEXT = 'text'
5
+ FIELD_TYPE_HIDDEN = 'hidden'
6
+ FIELD_TYPE_SELECT_AUTO = 'select_auto' # text with autocomplete
7
+
8
+ DBTYPE_STRING = 'string'
9
+ DBTYPE_INT = 'int'
10
+ DBTYPE_DATE = 'date'
11
+
12
+ #
13
+ attr_accessor :prefix # session prefix
14
+ attr_accessor :fields
15
+ attr_accessor :data
16
+ #attr_accessor :order # [ ["order_column", "asc|desc"], ..]
17
+
18
+
19
+
20
+ def initialize(_session, _prefix)
21
+ @prefix = _prefix
22
+ @session = _session
23
+
24
+ @fields ||={}
25
+
26
+ # init data
27
+ data()
28
+ end
29
+
30
+
31
+ ############
32
+ # fields
33
+ ############
34
+
35
+ def add_field(f)
36
+ @fields[f[:name]] = f
37
+
38
+ end
39
+
40
+ def add_fields_from_array(a)
41
+ a.each do |fa|
42
+ add_field fa
43
+ end
44
+
45
+ end
46
+
47
+
48
+ def field_def_value(name)
49
+ if (@fields.has_key? name) && (@fields[name].has_key? :def)
50
+ return @fields[name][:def]
51
+ end
52
+ nil
53
+ end
54
+
55
+ ############
56
+ # sessions
57
+ ############
58
+
59
+ def session_get(name, def_value)
60
+ @session[prefix+name] || def_value
61
+ end
62
+
63
+ def session_save(name, v)
64
+ @session[prefix+name] = v
65
+ end
66
+
67
+
68
+ ############
69
+ # data
70
+ ############
71
+
72
+
73
+ def data
74
+ return @data unless @data.nil?
75
+
76
+ # from session
77
+ @data_sess = session_get 'data', nil
78
+ unless @data_sess.nil?
79
+ @data = @data_sess
80
+ else
81
+
82
+ end
83
+
84
+ #
85
+ @data ||= {}
86
+
87
+ session_save('data', @data)
88
+
89
+ #
90
+ @data
91
+ end
92
+
93
+ def v(name, v_def=nil)
94
+ if (data.has_key? name) && (!data[name].nil?)
95
+ return data[name]
96
+ end
97
+
98
+ field_def_value(name) || v_def
99
+ end
100
+
101
+ def v_empty?(name)
102
+ if (data.has_key? name) && (!data[name].nil?)
103
+ return true
104
+ end
105
+
106
+ # if v == default value
107
+
108
+ end
109
+
110
+ def set(field_name,v)
111
+ data[field_name] = v
112
+ end
113
+
114
+
115
+ def clear_data
116
+ session_save 'data', {}
117
+ end
118
+
119
+ def set_data_from_form(params)
120
+ # search for fields like filter[XXX]
121
+ params.each do |name, v|
122
+ #if f =~ /^filter\[([^\]]+)\]$/
123
+ #name = Regexp.last_match(1)
124
+
125
+ next unless @fields.has_key? name
126
+
127
+ if @fields[name][:dbtype]==DBTYPE_INT
128
+ data[name] = (v.to_i rescue 0)
129
+ else
130
+ data[name] = v
131
+ end
132
+
133
+ #end
134
+ end
135
+
136
+ # default values from fields
137
+ @fields.each do |name, f|
138
+ next if @data.has_key? name
139
+
140
+ @data[name] = field_def_value name
141
+ end
142
+
143
+ end
144
+
145
+
146
+
147
+ ####
148
+ # order
149
+ ####
150
+
151
+ def order
152
+ return @order unless @order.nil?
153
+
154
+ # from session
155
+ @v_sess = session_get 'order', nil
156
+ @order = @v_sess unless @v_sess.nil?
157
+
158
+ #
159
+ @order ||= []
160
+
161
+ session_save 'order', @order
162
+
163
+ #
164
+ @order
165
+ end
166
+
167
+ def order= (value)
168
+ @order = value
169
+
170
+ session_save 'order', @order
171
+ end
172
+
173
+ def set_order_default(order_by, order_dir)
174
+ return false if !order.nil? && !order.empty?
175
+
176
+ set_order(order_by, order_dir)
177
+
178
+ end
179
+
180
+
181
+ def set_order(order_by, order_dir)
182
+ self.order = [[order_by, order_dir]]
183
+ end
184
+
185
+ def get_order
186
+ order[0] if order.count>0
187
+ order[0]
188
+ end
189
+
190
+
191
+ def get_opposite_order_dir_for_column(name)
192
+ return 'asc' if order.empty?
193
+
194
+
195
+ if order[0][0] == name
196
+ return opposite_order_dir(order[0][1])
197
+ end
198
+
199
+ return 'asc'
200
+ end
201
+
202
+ def opposite_order_dir(order_dir)
203
+ return 'asc' if order_dir=='desc'
204
+ return 'desc' if order_dir=='asc'
205
+ 'asc'
206
+ end
207
+
208
+
209
+
210
+ #helper methods
211
+
212
+ def html_style(name)
213
+ return '' unless @fields[name].has_key?(:opt)
214
+
215
+ s = ''
216
+ opt = @fields[name][:opt]
217
+ unless opt[:width].nil?
218
+ s << "width: #{opt[:width]}px; "
219
+ end
220
+ end
221
+ end
222
+
223
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: optimacms
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Max Ivak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-21 00:00:00.000000000 Z
11
+ date: 2015-04-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -306,6 +306,8 @@ files:
306
306
  - lib/optimacms/page_services/page_route_service.rb
307
307
  - lib/optimacms/simple_form_extensions/button_components.rb
308
308
  - lib/optimacms/version.rb
309
+ - lib/simple_filter/controller.rb
310
+ - lib/simple_filter/filter.rb
309
311
  - lib/tasks/optimacms_tasks.rake
310
312
  - test/controllers/optimacms/articles_controller_test.rb
311
313
  - test/dummy/README.rdoc
@@ -2381,7 +2383,6 @@ files:
2381
2383
  - test/dummy/tmp/cache/assets/development/sprockets/fedc8f629673405d3bbcd26e9e0b977d
2382
2384
  - test/dummy/tmp/cache/assets/development/sprockets/ff9ed89418a3f78032b8f8184dd98e80
2383
2385
  - test/dummy/tmp/cache/assets/development/sprockets/fff5cc1f57d172a75379719781f39cea
2384
- - test/dummy/tmp/pids/server.pid
2385
2386
  - test/fixtures/optimacms/articles.yml
2386
2387
  - test/integration/navigation_test.rb
2387
2388
  - test/models/optimacms/article_test.rb
@@ -4486,7 +4487,6 @@ test_files:
4486
4487
  - test/dummy/tmp/cache/assets/development/sprockets/fedc8f629673405d3bbcd26e9e0b977d
4487
4488
  - test/dummy/tmp/cache/assets/development/sprockets/ff9ed89418a3f78032b8f8184dd98e80
4488
4489
  - test/dummy/tmp/cache/assets/development/sprockets/fff5cc1f57d172a75379719781f39cea
4489
- - test/dummy/tmp/pids/server.pid
4490
4490
  - test/fixtures/optimacms/articles.yml
4491
4491
  - test/integration/navigation_test.rb
4492
4492
  - test/models/optimacms/article_test.rb
@@ -1 +0,0 @@
1
- 9372