optimacms 0.1.2 → 0.1.3

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 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