carnival 0.1.10 → 0.2.0

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: f29cbe0fe87ebf233ac76a070a542ecbf05298ea
4
- data.tar.gz: a7eeb7c0be12e445f3363e1ce163660a642540c7
3
+ metadata.gz: 4073f3a6477dd81c739d1847c71a9c1e046719a0
4
+ data.tar.gz: 7e9db8c55c4c9c92b1ad3e2d237a48460d901926
5
5
  SHA512:
6
- metadata.gz: 08ce7f9c8c419bf2400ee7d22f90df4c4c50fd15aa7a2b3296f2671a45b81a038cffdf87f99ea42c06ebc30edc7efac0cd8bd3e0d1eac1766ff75c6759f2bf20
7
- data.tar.gz: ca35ecb2687cd8262a984651412c9f8c1f691c0e68e82ae2e628c26ad70517036c28ba4c30b0dc76a0427f8d14e5708903075f469378dcafa40a89cfb5ccccc3
6
+ metadata.gz: 1f2b05840ec48b7bd7b922e3e30635e9e7a57746822672a8673e418444ba5283c259d7e002a3c8d029b36563e2eed50ee9d4ca761250b2c57b1e3dde0ad491e9
7
+ data.tar.gz: a2dac13a8bf9992066eaf08d1c9628377354b90feb4e5c93f869ea6425d34e358f3a389e634bf77bd167f0e91cc4dccaf7eb6f496a088eaf8dbec0878eb56bc4
@@ -433,61 +433,6 @@ module Carnival
433
433
  end
434
434
  end
435
435
 
436
- <<<<<<< HEAD
437
- def parse_advanced_search_field search_field, field_param, records
438
- return records if not field_param["value"].present?
439
- return records if field_param["value"] == ""
440
-
441
- if relation_field?(search_field.to_sym)
442
- related_model = model_class.reflect_on_association(search_field.to_sym).klass.name.underscore
443
- foreign_key = model_class.reflect_on_association(search_field.to_sym).foreign_key
444
- if model_class.reflect_on_association(search_field.to_sym).macro == :belongs_to
445
- records = records.joins(related_model.split("/").last.to_sym)
446
- else
447
- records = records.joins(related_model.split("/").last.pluralize)
448
- end
449
- table = related_model.split("/").last.pluralize
450
- column = "id"
451
- else
452
- table = table_name
453
- column = search_field
454
- end
455
- full_column_query = "#{table}.#{column}"
456
- where_clause = nil
457
-
458
- case field_param["operator"]
459
- when "equal"
460
- if field_param["value"] == "nil"
461
- where_clause = "#{full_column_query} is null"
462
- else
463
- where_clause = "#{full_column_query} = '#{advanced_search_field_value_for_query(field_param["value"])}'"
464
- end
465
- when "like"
466
- where_clause = "#{full_column_query} like '%#{field_param["value"]}%'"
467
- when "greater_than"
468
- where_clause = "#{full_column_query} >= '#{field_param["value"]}'"
469
- when "less_than"
470
- where_clause = "#{full_column_query} <= '#{field_param["value"]}'"
471
- when "between"
472
- where_clause = "#{full_column_query} between '#{field_param["value"]}' and '#{field_param["value2"]}'"
473
- else
474
- where_clause = "#{full_column_query} = #{advanced_search_field_value_for_query(field_param["value"])}"
475
- end
476
- records = records.where(where_clause) if where_clause.present?
477
- records
478
- end
479
-
480
- def advanced_search_field_value_for_query(value)
481
- if "true" == value.downcase
482
- return "'t'"
483
- elsif "false" == value.downcase
484
- return "'f'"
485
- else
486
- "#{value}"
487
- end
488
- end
489
- =======
490
- >>>>>>> master
491
436
 
492
437
  def is_namespaced?
493
438
  self.class.to_s.split("::").size > 0
@@ -7,11 +7,7 @@
7
7
  %li.search_item
8
8
  .search_field
9
9
  .label
10
- - label_field = presenter.get_field(field)
11
- - if presenter.relation_field?(label_field)
12
- = label_tag key, t("activerecord.attributes.#{label_field.name}")
13
- - else
14
- = label_tag key, t("activerecord.attributes.#{presenter.full_model_name}.#{key}")
10
+ = label_tag key, t("activerecord.attributes.#{presenter.full_model_name}.#{key}")
15
11
  .field
16
12
  = render '/carnival/shared/advanced_search_field', :field => field, :presenter => presenter, :value => value
17
13
  %li.search_item
@@ -1,3 +1,3 @@
1
1
  module Carnival
2
- VERSION = "0.1.10"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,293 +1,293 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carnival
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.10
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Vizir Software Studio
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-03-26 00:00:00.000000000 Z
11
+ date: 2015-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - '>='
17
+ - - ">="
18
18
  - !ruby/object:Gem::Version
19
19
  version: '4.0'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - '>='
24
+ - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '4.0'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: coffee-rails
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - '>='
31
+ - - ">="
32
32
  - !ruby/object:Gem::Version
33
33
  version: 4.0.0
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - '>='
38
+ - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: 4.0.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: haml-rails
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '>='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.7.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '>='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.7.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: inherited_resources
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - '>='
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
61
  version: 1.5.1
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - '>='
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
68
  version: 1.5.1
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: jquery-rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '>='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
76
  type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '>='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: simple_form
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
- - - ~>
87
+ - - "~>"
88
88
  - !ruby/object:Gem::Version
89
89
  version: 3.1.0
90
90
  type: :runtime
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
- - - ~>
94
+ - - "~>"
95
95
  - !ruby/object:Gem::Version
96
96
  version: 3.1.0
97
97
  - !ruby/object:Gem::Dependency
98
98
  name: unicode
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
- - - '>='
101
+ - - ">="
102
102
  - !ruby/object:Gem::Version
103
103
  version: 0.4.4.2
104
104
  type: :runtime
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
- - - '>='
108
+ - - ">="
109
109
  - !ruby/object:Gem::Version
110
110
  version: 0.4.4.2
111
111
  - !ruby/object:Gem::Dependency
112
112
  name: wicked_pdf
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
- - - ~>
115
+ - - "~>"
116
116
  - !ruby/object:Gem::Version
117
117
  version: 0.11.0
118
118
  type: :runtime
119
119
  prerelease: false
120
120
  version_requirements: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ~>
122
+ - - "~>"
123
123
  - !ruby/object:Gem::Version
124
124
  version: 0.11.0
125
125
  - !ruby/object:Gem::Dependency
126
126
  name: will_paginate
127
127
  requirement: !ruby/object:Gem::Requirement
128
128
  requirements:
129
- - - ~>
129
+ - - "~>"
130
130
  - !ruby/object:Gem::Version
131
131
  version: 3.0.7
132
132
  type: :runtime
133
133
  prerelease: false
134
134
  version_requirements: !ruby/object:Gem::Requirement
135
135
  requirements:
136
- - - ~>
136
+ - - "~>"
137
137
  - !ruby/object:Gem::Version
138
138
  version: 3.0.7
139
139
  - !ruby/object:Gem::Dependency
140
140
  name: better_errors
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
145
  version: 0.9.0
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
152
  version: 0.9.0
153
153
  - !ruby/object:Gem::Dependency
154
154
  name: binding_of_caller
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - ~>
157
+ - - "~>"
158
158
  - !ruby/object:Gem::Version
159
159
  version: 0.7.2
160
160
  type: :development
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - ~>
164
+ - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: 0.7.2
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: bullet
169
169
  requirement: !ruby/object:Gem::Requirement
170
170
  requirements:
171
- - - ~>
171
+ - - "~>"
172
172
  - !ruby/object:Gem::Version
173
173
  version: 4.14.0
174
174
  type: :development
175
175
  prerelease: false
176
176
  version_requirements: !ruby/object:Gem::Requirement
177
177
  requirements:
178
- - - ~>
178
+ - - "~>"
179
179
  - !ruby/object:Gem::Version
180
180
  version: 4.14.0
181
181
  - !ruby/object:Gem::Dependency
182
182
  name: byebug
183
183
  requirement: !ruby/object:Gem::Requirement
184
184
  requirements:
185
- - - ~>
185
+ - - "~>"
186
186
  - !ruby/object:Gem::Version
187
187
  version: 3.4.0
188
188
  type: :development
189
189
  prerelease: false
190
190
  version_requirements: !ruby/object:Gem::Requirement
191
191
  requirements:
192
- - - ~>
192
+ - - "~>"
193
193
  - !ruby/object:Gem::Version
194
194
  version: 3.4.0
195
195
  - !ruby/object:Gem::Dependency
196
196
  name: capybara
197
197
  requirement: !ruby/object:Gem::Requirement
198
198
  requirements:
199
- - - ~>
199
+ - - "~>"
200
200
  - !ruby/object:Gem::Version
201
201
  version: 2.4.4
202
202
  type: :development
203
203
  prerelease: false
204
204
  version_requirements: !ruby/object:Gem::Requirement
205
205
  requirements:
206
- - - ~>
206
+ - - "~>"
207
207
  - !ruby/object:Gem::Version
208
208
  version: 2.4.4
209
209
  - !ruby/object:Gem::Dependency
210
210
  name: factory_girl_rails
211
211
  requirement: !ruby/object:Gem::Requirement
212
212
  requirements:
213
- - - ~>
213
+ - - "~>"
214
214
  - !ruby/object:Gem::Version
215
215
  version: 4.5.0
216
216
  type: :development
217
217
  prerelease: false
218
218
  version_requirements: !ruby/object:Gem::Requirement
219
219
  requirements:
220
- - - ~>
220
+ - - "~>"
221
221
  - !ruby/object:Gem::Version
222
222
  version: 4.5.0
223
223
  - !ruby/object:Gem::Dependency
224
224
  name: pry-byebug
225
225
  requirement: !ruby/object:Gem::Requirement
226
226
  requirements:
227
- - - ~>
227
+ - - "~>"
228
228
  - !ruby/object:Gem::Version
229
229
  version: 2.0.0
230
230
  type: :development
231
231
  prerelease: false
232
232
  version_requirements: !ruby/object:Gem::Requirement
233
233
  requirements:
234
- - - ~>
234
+ - - "~>"
235
235
  - !ruby/object:Gem::Version
236
236
  version: 2.0.0
237
237
  - !ruby/object:Gem::Dependency
238
238
  name: poltergeist
239
239
  requirement: !ruby/object:Gem::Requirement
240
240
  requirements:
241
- - - ~>
241
+ - - "~>"
242
242
  - !ruby/object:Gem::Version
243
243
  version: 1.5.1
244
244
  type: :development
245
245
  prerelease: false
246
246
  version_requirements: !ruby/object:Gem::Requirement
247
247
  requirements:
248
- - - ~>
248
+ - - "~>"
249
249
  - !ruby/object:Gem::Version
250
250
  version: 1.5.1
251
251
  - !ruby/object:Gem::Dependency
252
252
  name: rspec-rails
253
253
  requirement: !ruby/object:Gem::Requirement
254
254
  requirements:
255
- - - ~>
255
+ - - "~>"
256
256
  - !ruby/object:Gem::Version
257
257
  version: 3.1.0
258
258
  type: :development
259
259
  prerelease: false
260
260
  version_requirements: !ruby/object:Gem::Requirement
261
261
  requirements:
262
- - - ~>
262
+ - - "~>"
263
263
  - !ruby/object:Gem::Version
264
264
  version: 3.1.0
265
265
  - !ruby/object:Gem::Dependency
266
266
  name: simplecov
267
267
  requirement: !ruby/object:Gem::Requirement
268
268
  requirements:
269
- - - ~>
269
+ - - "~>"
270
270
  - !ruby/object:Gem::Version
271
271
  version: 0.9.1
272
272
  type: :development
273
273
  prerelease: false
274
274
  version_requirements: !ruby/object:Gem::Requirement
275
275
  requirements:
276
- - - ~>
276
+ - - "~>"
277
277
  - !ruby/object:Gem::Version
278
278
  version: 0.9.1
279
279
  - !ruby/object:Gem::Dependency
280
280
  name: sqlite3
281
281
  requirement: !ruby/object:Gem::Requirement
282
282
  requirements:
283
- - - ~>
283
+ - - "~>"
284
284
  - !ruby/object:Gem::Version
285
285
  version: 1.3.10
286
286
  type: :development
287
287
  prerelease: false
288
288
  version_requirements: !ruby/object:Gem::Requirement
289
289
  requirements:
290
- - - ~>
290
+ - - "~>"
291
291
  - !ruby/object:Gem::Version
292
292
  version: 1.3.10
293
293
  description: Carnival is an easy-to-use and extensible Rails Engine to speed the development
@@ -447,7 +447,6 @@ files:
447
447
  - app/datatable/carnival/generic_datatable/column_sorter_creator.rb
448
448
  - app/datatable/carnival/generic_datatable/relation_column_sorter.rb
449
449
  - app/helpers/carnival/base_admin_helper.rb
450
- - app/helpers/carnival/base_admin_helper.rb.orig
451
450
  - app/helpers/carnival/field_renderers/field_renderer.rb
452
451
  - app/helpers/carnival/field_renderers/many_relation_renderer.rb
453
452
  - app/helpers/carnival/field_renderers/renderer_creator.rb
@@ -579,12 +578,12 @@ require_paths:
579
578
  - lib
580
579
  required_ruby_version: !ruby/object:Gem::Requirement
581
580
  requirements:
582
- - - '>='
581
+ - - ">="
583
582
  - !ruby/object:Gem::Version
584
583
  version: '0'
585
584
  required_rubygems_version: !ruby/object:Gem::Requirement
586
585
  requirements:
587
- - - '>='
586
+ - - ">="
588
587
  - !ruby/object:Gem::Version
589
588
  version: '0'
590
589
  requirements: []
@@ -595,39 +594,39 @@ specification_version: 4
595
594
  summary: Carnival is an easy-to-use and extensible Rails Engine to speed the development
596
595
  of data management interfaces.
597
596
  test_files:
598
- - spec/dummy/app/assets/javascripts/application.js
597
+ - spec/dummy/bin/rake
598
+ - spec/dummy/bin/setup
599
+ - spec/dummy/bin/bundle
600
+ - spec/dummy/bin/rails
599
601
  - spec/dummy/app/assets/stylesheets/application.css
602
+ - spec/dummy/app/assets/javascripts/application.js
600
603
  - spec/dummy/app/controllers/application_controller.rb
601
- - spec/dummy/app/helpers/application_helper.rb
602
604
  - spec/dummy/app/views/layouts/application.html.erb
603
- - spec/dummy/bin/bundle
604
- - spec/dummy/bin/rails
605
- - spec/dummy/bin/rake
606
- - spec/dummy/bin/setup
607
- - spec/dummy/config/application.rb
608
- - spec/dummy/config/boot.rb
605
+ - spec/dummy/app/helpers/application_helper.rb
606
+ - spec/dummy/config.ru
607
+ - spec/dummy/README.rdoc
609
608
  - spec/dummy/config/database.yml
610
- - spec/dummy/config/environment.rb
609
+ - spec/dummy/config/environments/test.rb
611
610
  - spec/dummy/config/environments/development.rb
612
611
  - spec/dummy/config/environments/production.rb
613
- - spec/dummy/config/environments/test.rb
614
- - spec/dummy/config/initializers/assets.rb
615
- - spec/dummy/config/initializers/backtrace_silencers.rb
616
- - spec/dummy/config/initializers/cookies_serializer.rb
617
- - spec/dummy/config/initializers/filter_parameter_logging.rb
618
- - spec/dummy/config/initializers/inflections.rb
612
+ - spec/dummy/config/environment.rb
613
+ - spec/dummy/config/application.rb
614
+ - spec/dummy/config/secrets.yml
615
+ - spec/dummy/config/routes.rb
619
616
  - spec/dummy/config/initializers/mime_types.rb
620
- - spec/dummy/config/initializers/session_store.rb
621
617
  - spec/dummy/config/initializers/wrap_parameters.rb
618
+ - spec/dummy/config/initializers/inflections.rb
619
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
620
+ - spec/dummy/config/initializers/backtrace_silencers.rb
621
+ - spec/dummy/config/initializers/session_store.rb
622
+ - spec/dummy/config/initializers/assets.rb
623
+ - spec/dummy/config/initializers/cookies_serializer.rb
624
+ - spec/dummy/config/boot.rb
622
625
  - spec/dummy/config/locales/en.yml
623
- - spec/dummy/config/routes.rb
624
- - spec/dummy/config/secrets.yml
625
- - spec/dummy/config.ru
626
- - spec/dummy/public/404.html
626
+ - spec/dummy/Rakefile
627
627
  - spec/dummy/public/422.html
628
628
  - spec/dummy/public/500.html
629
629
  - spec/dummy/public/favicon.ico
630
- - spec/dummy/Rakefile
631
- - spec/dummy/README.rdoc
632
- - spec/rails_helper.rb
630
+ - spec/dummy/public/404.html
633
631
  - spec/spec_helper.rb
632
+ - spec/rails_helper.rb
@@ -1,250 +0,0 @@
1
- module Carnival
2
- module BaseAdminHelper
3
- def set_resource_actived_if_current(path)
4
- (request.fullpath == path)? 'actived' : ''
5
- end
6
-
7
- def show_messages
8
- @messages = ''
9
- flash.each do |type, message|
10
- @messages = message
11
- @type = type
12
- end
13
- javascript = "noty({'text':'#{@messages}',
14
- 'layout':'bottom','type':'#{@type}',
15
- 'animation': {'close':{'height':'toggle'}, 'open':{'height':'toggle'},'speed':500},'timeout':4000,
16
- 'closeWith':['click', 'hover']});"
17
- return javascript if defined?(@type)
18
- ''
19
- end
20
-
21
- def caminho_modelo(action, extra_params=nil)
22
- params = {controller: controller.controller_name, action: action}
23
- params = params.merge(extra_params) if extra_params.present?
24
- url_for(params)
25
- end
26
-
27
- def carnival_render_if_exist partial_path
28
- if partial_exist?(partial_path)
29
- return render partial_path
30
- end
31
- end
32
-
33
- def partial_exist? partial_path
34
- File.exists?(get_partial_path(partial_path))
35
- end
36
-
37
- def has_many_relation? model, field
38
- klass = Carnival::KlassService.new model.class
39
- klass.is_a_has_many_relation?(field.to_sym)
40
- end
41
-
42
- def has_one_relation? model, field
43
- klass = Carnival::KlassService.new model.class
44
- klass.is_a_has_one_relation?(field.to_sym)
45
- end
46
-
47
- def many_to_many_relation? model, field
48
- klass = Carnival::KlassService.new model.class
49
- klass.is_a_many_to_many_relation?(field.to_sym)
50
- end
51
-
52
- def get_partial_path partial_path
53
- path = Rails.root.join('app', 'views')
54
- partial_path_array = partial_path.split('/')
55
- partial_path_array.each do |pp|
56
- if pp == partial_path_array.last
57
- path = path.join "_#{pp}.html.haml"
58
- else
59
- path = path.join pp
60
- end
61
- end
62
- path
63
- end
64
-
65
- def menu_link link
66
- link.strip!
67
- if link.to_s.end_with?('_path') or link.to_s.end_with?('_url')
68
- return eval link
69
- elsif link.index(/_path.+/) #path with arguments
70
- return eval link
71
- end
72
-
73
- link
74
- end
75
-
76
- def show_view(presenter, field)
77
- presenter.get_field(field).show_view
78
- end
79
-
80
- def show_as_list(presenter, field)
81
- current_type = presenter.field_type(field)
82
- if current_type != :relation
83
- false
84
- else
85
- presenter.get_field(field).show_as_list
86
- end
87
- end
88
-
89
- <<<<<<< HEAD
90
- def field_to_show(presenter, field_name, record, show_only_values=false)
91
- if presenter.fields[field_name].params[:as] == :partial
92
- raw(render field_name.to_s, record: record)
93
- else
94
- rendered = field_value_and_type presenter, field_name, record
95
- field_type = rendered[:field_type]
96
- value = rendered[:value]
97
-
98
- is_relation = presenter.relation_field?(field_name)
99
- =======
100
- def field_to_show(presenter, field_name, record, show_only_value=false)
101
- rendered = field_value_and_type presenter, field_name, record
102
- field_type = rendered[:field_type]
103
- value = rendered[:value]
104
-
105
- is_relation = presenter.relation_field?(field_name)
106
- >>>>>>> 43cbab7664a6b7fd7b42b86626ec2bb9953b5711
107
-
108
- unless value.nil?
109
- formatted_field = format_field(presenter, field_name, field_type, value)
110
- if is_relation and !show_only_values
111
- link_to(formatted_field, presenter.relation_path(field_name, record))
112
- else
113
- formatted_field
114
- end
115
- else
116
- nil
117
- end
118
- end
119
- end
120
-
121
- def field_value_and_type presenter, field_name, record
122
- renderer = FieldRenderers::RendererCreator
123
- .create_field_renderer(presenter, field_name)
124
-
125
- rendered = renderer.render_field(record)
126
- end
127
-
128
- def is_image? field_type, value
129
- field_type.nil? and value.class.to_s == "Paperclip::Attachment" and value.content_type.include? "image"
130
- end
131
-
132
- def format_field(presenter, field_name, field_type, value)
133
- if is_image?(field_type, value)
134
- "<img class='attr' src='#{value.url(:thumb)}' alt='#{translate_field(presenter, field_name)}' />"
135
- else
136
- case field_type
137
- when :datetime
138
- begin
139
- I18n.l(value, format: :long_date)
140
- rescue I18n::MissingTranslationData
141
- value.strftime("%d/%m/%y %H:%M:%S")
142
- end
143
- when :date
144
- begin
145
- I18n.l(value, format: :short_date)
146
- rescue I18n::MissingTranslationData
147
- value.strftime("%d/%m/%Y")
148
- end
149
- when :number
150
- number_with_precision(value, :precision => 2, :separator => ",")
151
- when :enum
152
- presenter.model_class.const_get(field_name.upcase)[value]
153
- else
154
- value
155
- end
156
- end
157
- end
158
-
159
- def translate_field(presenter, field_name)
160
- field = presenter.get_field(field_name)
161
- field_key = field.name_for_translation
162
- presenter.full_model_name.classify.constantize.human_attribute_name field_key
163
- end
164
-
165
- def list_cel(presenter, field, record, only_render_fields)
166
- result = field_to_show(presenter, field, record, only_render_fields)
167
- return result if only_render_fields
168
- td = "<td class='first-td'>"
169
- return "#{td}<span class='#{get_css_class(presenter, field, record)}'>#{result}</span></td>" if presenter.get_field(field).css_class.present?
170
- "#{td}#{result}</td>"
171
- end
172
-
173
- def grid_attr(presenter, field, record, only_render_fields)
174
- result = field_to_show(presenter, field, record, only_render_fields)
175
- return result if only_render_fields
176
- list_attr(presenter, field, record, only_render_fields)
177
- end
178
-
179
- def list_attr(presenter, field, record, only_render_fields)
180
- result = field_to_show(presenter, field, record, only_render_fields)
181
- return result if only_render_fields
182
- return "<div class='attr'><div class='label #{field}'>#{translate_field(presenter, field)}:</div><div class='field_value #{field} #{get_css_class(presenter, field, record)}'>#{result}</div></div>" if presenter.get_field(field).css_class.present?
183
- "<div class='attr'><div class='label #{field}'>#{translate_field(presenter, field)}:</div><div class='field_value #{field}'>#{result}</div></div>"
184
- end
185
-
186
- def get_css_class presenter, field, record
187
- css_class = presenter.get_field(field).css_class
188
- return '' if !css_class
189
- return record.send(css_class[:method]) if css_class.is_a? Hash
190
- return css_class if css_class.is_a? String
191
- return ''
192
- end
193
-
194
- def list_buttons(presenter, record)
195
- result = ""
196
- presenter.actions_for_record.each do |key, record_action|
197
- if presenter.before_action(record_action, params[:action])
198
- if record_action.show(record)
199
- if record_action.remote?
200
- result << button_action_remote(record_action, presenter, record)
201
- else
202
- result << button_action(record_action, presenter, record)
203
- end
204
- end
205
- end
206
- end
207
- result
208
- end
209
-
210
- def button_action(action, presenter, record)
211
- label = t("#{presenter.model_name.underscore}.#{action.name}", default: t("carnival.#{action.name}"))
212
- path = action.path(presenter, :id => record.id)
213
- if action.default_partial == :default
214
- "<a class='carnival-action-link #{label.parameterize}' href='#{path}'>#{label}</a>"
215
- elsif action.default_partial == :delete
216
- confirm = I18n.t("are_you_sure")
217
- "<a class='carnival-action-link apagar' data-confirm='#{confirm}' data-method='delete' href='#{path}' rel='nofollow'>#{label}</a>"
218
- end
219
- end
220
-
221
- def button_action_remote(action, presenter, record)
222
- name = action.name
223
- params = action.params
224
- label = t("#{presenter.model_name}.#{action.name}", default: t("carnival.#{action.name}"))
225
- path = action.path(presenter, :id => record.id)
226
-
227
- success_callback = "#{name}_success_callback"
228
- if params[:success]
229
- success_callback = params[:success]
230
- end
231
-
232
- error_callback = "#{name}_error_callback"
233
- if params[:error]
234
- error_callback = params[:error]
235
- end
236
-
237
- data_overlay = ''
238
- if params[:show_overlay]
239
- data_overlay = 'data-carnival-show-overlay=true'
240
- end
241
-
242
- params[:show_overlay] = false if params[:show_overlay].nil?
243
-
244
- remote_function = "Carnival.remoteFunction(\"#{path}\", \"#{success_callback}\", \"#{error_callback}\", \"#{params[:method]}\", {} ,#{params[:show_overlay]})"
245
-
246
- "<a class='carnival-action-link editar' href='javascript:#{remote_function}'>#{label}</a>"
247
- end
248
-
249
- end
250
- end