templus_models 2.0.0 → 2.0.1

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: 749829c56974ebda6ca4e4c53aa76d2971b67a67
4
- data.tar.gz: a771e4b88920e4072c6db69fe32891b8e2b32e12
3
+ metadata.gz: b4375243bea6ad4021fbd11dcdc796f445c623d1
4
+ data.tar.gz: 4dbc1ce1f203547d791b2a79933db11c91ece85f
5
5
  SHA512:
6
- metadata.gz: 9fde57d73ce9e7e3781eadff3b8919f8d4e3bb745a9806a26dd54539befdfd7c45a60cbf2e0239853cf0037077af883b48cd66e81e862e64d42d72b6eb24a988
7
- data.tar.gz: d7b354949f3407c01c99620a5ba84abc88650c014d61943a6c14b82c12bc028932981a33ffbb831ce8d5235fd6889aa2a07c87aae2a5dc7aa2bc86afe66ea95c
6
+ metadata.gz: 2f1c40caabbc3676af69a4020a2bd79a7a135940ef1f37f833b03cd4409f8e17a6c9593071c2b456ea7f021bb3374089bec876f26c5c86d80aa0004b4e160961
7
+ data.tar.gz: 9418bee70eca2242c497d81d57c3b763efe70de8d010dbfe129b9cd8411e9117d396aa9b043ef335124161753953c3055cad7067cd9efb591a7b26d1c107880f
@@ -110,12 +110,12 @@ module CrudHelper
110
110
  permissions.uniq.flatten
111
111
  end
112
112
 
113
- def render_plus_button(field,f,modelo,record)
114
- field[:sf][:wrapper] = :with_button
115
- render_field(field,f,modelo,record)
113
+ def render_plus_button(field, f, modelo, record, options = {})
114
+ field[:sf][:wrapper] = options[:wrapper] || :with_button
115
+ render_field(field, f, modelo, record)
116
116
  end
117
117
 
118
- def render_field(field,f,modelo,record)
118
+ def render_field(field, f, modelo, record)
119
119
  field[:sf][:wrapper] ||= :default
120
120
  if field[:sf].present? && field[:sf][:if].present?
121
121
  return unless field[:sf][:if].call(f.object)
@@ -129,32 +129,34 @@ module CrudHelper
129
129
  if !field[:sf][:edit].nil? && !field[:sf][:edit] && !record.new_record?
130
130
  elsif !field[:sf][:create].nil? && !field[:sf][:create] && record.new_record?
131
131
  else
132
+ opts = field[:sf].merge(label: I18n.t(field[:sf][:label]))
132
133
  unless modelo.reflect_on_association(field[:attribute])
133
134
  if modelo.new.send(field[:attribute]).class.to_s =~ /Uploader/ and f.object.send(field[:attribute]).present?
134
- f.input field[:attribute], field[:sf].merge(hint: "Arquivo Atual: #{f.object.send(field[:attribute]).file.filename}")
135
+ f.input field[:attribute], opts.merge(hint: "Arquivo Atual: #{f.object.send(field[:attribute]).file.filename}")
135
136
  else
136
- f.input field[:attribute], field[:sf]
137
+ f.input field[:attribute], opts
137
138
  end
138
139
  else
139
- f.association field[:attribute], field[:sf]
140
+ f.association field[:attribute], opts
140
141
  end
141
142
  end
142
143
  else
143
144
  if field[:sf][:value] and field[:sf][:value].class == Proc
144
145
  field[:sf][:input_html] ||= {}
145
- field[:sf][:input_html][:value] = f.instance_eval &field[:sf][:value]
146
+ field[:sf][:input_html][:value] = f.instance_eval(&field[:sf][:value])
146
147
  end
147
148
  if field[:sf][:collection_if] and field[:sf][:collection_if].class == Proc
148
- field[:sf][:collection] = f.instance_eval &field[:sf][:collection_if]
149
+ field[:sf][:collection] = f.instance_eval(&field[:sf][:collection_if])
149
150
  end
151
+ opts = field[:sf].merge(label: I18n.t(field[:sf][:label]))
150
152
  unless modelo.reflect_on_association(field[:attribute])
151
153
  if modelo.new.send(field[:attribute]).class.to_s =~ /Uploader/ and f.object.send(field[:attribute]).present?
152
- f.input field[:attribute], field[:sf].merge(hint: "Arquivo Atual: #{f.object.send(field[:attribute]).file.filename}")
154
+ f.input field[:attribute], opts.merge(hint: "Arquivo Atual: #{f.object.send(field[:attribute]).file.filename}")
153
155
  else
154
- f.input field[:attribute], field[:sf]
156
+ f.input field[:attribute], opts
155
157
  end
156
158
  else
157
- f.association field[:attribute], field[:sf]
159
+ f.association field[:attribute], opts
158
160
  end
159
161
  end
160
162
  end
@@ -211,7 +213,7 @@ module CrudHelper
211
213
  return true if crud_helper.condition_destroy_action.nil?
212
214
  crud_helper.condition_destroy_action.call(record)
213
215
  end
214
-
216
+
215
217
  def should_listing?(crud_helper,model)
216
218
  return false unless can?(:read, model)
217
219
  return true if crud_helper.condition_listing_action.nil?
@@ -16,7 +16,7 @@ module SearchHelper
16
16
  "<div><input type='submit' class='btn btn-primary pull-right' value='#{name}' id='submit_raro_search'></div><br><br>"
17
17
  end
18
18
 
19
- def raro_field (name, opts = {})
19
+ def raro_field(name, opts = {})
20
20
  modelo = opts[:model] || @model
21
21
  unless opts[:model]
22
22
  prototype = @model.columns_hash[name.to_s]
@@ -26,7 +26,7 @@ module SearchHelper
26
26
  modelo = Module.const_get(opts[:model])
27
27
  name = opts[:full_name]
28
28
  end
29
- label = I18n.t("simple_form.labels.#{modelo.name.underscore}.#{name}")
29
+ label = "simple_form.labels.#{modelo.name.underscore}.#{name}"
30
30
  label = opts[:label] if opts[:label]
31
31
 
32
32
  @buffer << "<div class=\"form-group\">"
@@ -81,7 +81,7 @@ module SearchHelper
81
81
  case opts[:as]
82
82
  when :select
83
83
  if opts[:collection_if] and opts[:collection_if].class == Proc
84
- opts[:collection] = ActionView::Helpers::FormBuilder.instance_eval &opts[:collection_if]
84
+ opts[:collection] = ActionView::Helpers::FormBuilder.instance_eval(&opts[:collection_if])
85
85
  end
86
86
  raro_select(name,opts,opts[:collection])
87
87
  when :hidden
@@ -115,7 +115,7 @@ module SearchHelper
115
115
  else
116
116
  buf << "<select name=#{name} class='form-control'>"
117
117
  end
118
- buf <<"<option value ='' selected>#{I18n.t('search')}</option>"
118
+ buf << "<option value ='' selected>#{I18n.t('search')}</option>"
119
119
  collection.each do |e|
120
120
  buf << "<option value=#{e[0]}>#{e[1]}</option>"
121
121
  end
@@ -128,7 +128,7 @@ module SearchHelper
128
128
  if opts[:as] and opts[:as] == :hidden
129
129
  ""
130
130
  else
131
- "<label class='col-sm-2 control-label'>#{name}</label>"
131
+ "<label class='col-sm-2 control-label'>#{I18n.t(name)}</label>"
132
132
  end
133
133
  end
134
134
 
@@ -227,9 +227,9 @@ module SearchHelper
227
227
  "<input type='hidden' name='partial' value='#{partial}'>" +
228
228
  "<input type='hidden' name='var' value='#{var}'>"
229
229
  if sort
230
- buffer << "<input type='hidden' name='q[s]' value='#{sort}'>"
231
- end
232
- buffer
230
+ buffer << "<input type='hidden' name='q[s]' value='#{sort}'>"
231
+ end
232
+ buffer
233
233
  end
234
234
 
235
235
  def raro_after_form
@@ -244,6 +244,7 @@ class RaroCrud
244
244
 
245
245
  def self.campo_tabela nome, opts={}
246
246
  @@index_fields[self.to_s.to_sym] = [] unless @@index_fields[self.to_s.to_sym]
247
+ opts = set_default_label nome, opts
247
248
  @@index_fields[self.to_s.to_sym].push(
248
249
  {
249
250
  attribute: nome
@@ -270,6 +271,7 @@ class RaroCrud
270
271
 
271
272
  def self.campo_formulario nome, opts={}
272
273
  @@form_fields[self.to_s.to_sym] = [] unless @@form_fields[self.to_s.to_sym]
274
+ opts = set_default_label nome, opts
273
275
  if opts.present? && opts[:autocomplete].present?
274
276
  opts[:as] = :autocomplete
275
277
  label_method = opts[:autocomplete][:label_method] || opts[:autocomplete][:campo]
@@ -309,10 +311,18 @@ class RaroCrud
309
311
  end
310
312
  field[:grupo] = true
311
313
  end
314
+
315
+ def self.set_default_label nome, opts
316
+ unless opts[:label].present?
317
+ opts[:label] = "simple_form.labels.#{self.modelo.underscore}.#{nome}"
318
+ end
319
+ opts
320
+ end
312
321
 
313
322
  public
314
323
  def self.campo_visualizacao nome, opts = {}
315
324
  @@view_fields[self.to_s.to_sym] = [] unless @@view_fields[self.to_s.to_sym]
325
+ opts = set_default_label nome, opts
316
326
  @@view_fields[self.to_s.to_sym].push(
317
327
  {
318
328
  attribute: nome
@@ -322,6 +332,7 @@ class RaroCrud
322
332
 
323
333
  def self.campo_busca nome, opts = {}
324
334
  @@search_fields[self.to_s.to_sym] = [] unless @@search_fields[self.to_s.to_sym]
335
+ opts = set_default_label nome, opts
325
336
  @@search_fields[self.to_s.to_sym].push(
326
337
  {
327
338
  attribute: nome
@@ -331,6 +342,7 @@ class RaroCrud
331
342
 
332
343
  def self.campo_listagem nome, opts = {}
333
344
  @@listing_fields[self.to_s.to_sym] = [] unless @@listing_fields[self.to_s.to_sym]
345
+ opts = set_default_label nome, opts
334
346
  @@listing_fields[self.to_s.to_sym].push(
335
347
  {
336
348
  attribute: nome
@@ -340,6 +352,7 @@ class RaroCrud
340
352
 
341
353
  def self.campo_impressao nome, opts = {}
342
354
  @@printing_fields[self.to_s.to_sym] = [] unless @@printing_fields[self.to_s.to_sym]
355
+ opts = set_default_label nome, opts
343
356
  @@printing_fields[self.to_s.to_sym].push(
344
357
  {
345
358
  attribute: nome
@@ -442,9 +455,11 @@ class RaroCrud
442
455
  ].each do |field|
443
456
  attribute = field[:campo]
444
457
  field.delete(:campo)
458
+ field[:label] ||= "shared.#{attribute}"
445
459
  opts[:fields].push({attribute: attribute,sf: field})
446
460
  end
447
461
  opts[:grupo] = true
462
+ opts[:label] ||= "shared.adicionar_endereco"
448
463
  @@form_fields[self.to_s.to_sym].push(
449
464
  {
450
465
  attribute: :endereco
@@ -8,7 +8,7 @@
8
8
  <% end %>
9
9
  <%= f.simple_fields_for key do |g| %>
10
10
  <div class="col-sm-12">
11
- <h3><%= groups[:sublabel] || groups[:label] || I18n.t("simple_form.labels.#{modelo.name.underscore}.#{key}") %></h3>
11
+ <h3><%= I18n.t(groups[:label]) %></h3>
12
12
  </div>
13
13
  <% groups[:fields].each do |field| %>
14
14
  <% if field[:sf].present? && field[:sf][:grupo].present? %>
@@ -24,7 +24,7 @@
24
24
  <% if [:has_many,:has_and_belongs_to_many].include?(f.object.class.reflect_on_association(key).macro) %>
25
25
  <div class="form-group">
26
26
  <div class="col-sm-10 col-sm-offset-2">
27
- <%= g.link_to_remove "Remover #{groups[:sublabel] || groups[:label].try(:downcase) || I18n.t("simple_form.labels.#{modelo.name.underscore}.#{key}")}" %>
27
+ <%= g.link_to_remove "Remover #{I18n.t(groups[:sublabel] || groups[:label])}" %>
28
28
  </div>
29
29
  </div>
30
30
  <% end %>
@@ -32,7 +32,7 @@
32
32
  <% if [:has_many,:has_and_belongs_to_many].include?(f.object.class.reflect_on_association(key).macro) %>
33
33
  <div class="form-group">
34
34
  <div class="col-sm-12">
35
- <%= f.link_to_add "Adicionar #{groups[:sublabel] || groups[:label].try(:downcase) || I18n.t("simple_form.labels.#{modelo.name.underscore}.#{key}")}", key %>
35
+ <%= f.link_to_add "Adicionar #{I18n.t(groups[:sublabel] || groups[:label])}", key %>
36
36
  </div>
37
37
  </div>
38
38
  <% end %>
@@ -38,7 +38,7 @@
38
38
  <% if record.send(att[:attribute]).to_s == "false" or record.send(att[:attribute]).to_s == "true" %>
39
39
  <td class="row">
40
40
  <div class="col-xs-9">
41
- <%= record.send(att[:attribute]) ? "Sim" : "Não" %>
41
+ <%= I18n.t(record.send(att[:attribute]) ? "shared.sim" : "shared.nao") %>
42
42
  </div>
43
43
  </td>
44
44
  <% else %>
@@ -14,9 +14,9 @@
14
14
  <% end %>
15
15
  <th>
16
16
  <% if att[:sort_field].present? %>
17
- <%= sort_link @q, att[:sort_field], I18n.t("simple_form.labels.#{@model.name.underscore}.#{att[:attribute]}"), {},data: {push: 'partial', target: "#form"}%>
17
+ <%= sort_link @q, att[:sort_field], I18n.t(att[:label]), {},data: {push: 'partial', target: "#form"}%>
18
18
  <% else %>
19
- <%= sort_link @q, att[:attribute], I18n.t("simple_form.labels.#{@model.name.underscore}.#{att[:attribute]}"), {},data: {push: 'partial', target: "#form"}%>
19
+ <%= sort_link @q, att[:attribute], I18n.t(att[:label]), {},data: {push: 'partial', target: "#form"}%>
20
20
  <% end %>
21
21
  </th>
22
22
  <%end%>
@@ -11,11 +11,7 @@
11
11
  <% next %>
12
12
  <% end %>
13
13
  <% end %>
14
- <% if field[:sf].present? && field[:sf][:label].present? %>
15
- <th><%= field[:sf][:label].to_s.mb_chars.upcase.to_s %></th>
16
- <% else %>
17
- <th><%= I18n.t("simple_form.labels.#{@model.name.underscore}.#{field[:attribute]}") %></th>
18
- <% end %>
14
+ <th><%= I18n.t(field[:sf][:label]) %></th>
19
15
 
20
16
  <% if @model.columns_hash[field[:attribute].to_s].present? && [:date, :datetime].include?(@model.columns_hash[field[:attribute].to_s].type)%>
21
17
  <% if field[:date_format].present?%>
@@ -56,7 +52,7 @@
56
52
  <%= render_field_file(@record.send(field[:attribute])) %>
57
53
  </td>
58
54
  <% elsif ["false","true"].include? @record.send(field[:attribute]).to_s %>
59
- <td><%= @record.send(field[:attribute]) ? "Sim" : "Não" %></td>
55
+ <td><%= I18n.t(@record.send(field[:attribute]) ? "shared.sim" : "shared.nao") %></td>
60
56
  <% else %>
61
57
  <td>
62
58
  <% if field[:sf].present? && field[:sf][:label_method].present? && @record.send(field[:attribute]).present?%>
@@ -17,11 +17,7 @@
17
17
  <% next %>
18
18
  <% end %>
19
19
  <% end %>
20
- <% if att[:sf].present? && att[:sf][:label].present? %>
21
- <th><%= att[:sf][:label].to_s.mb_chars.upcase.to_s %></th>
22
- <% else %>
23
- <th><%= I18n.t("simple_form.labels.#{@model.name.underscore}.#{att[:attribute]}") %></th>
24
- <% end %>
20
+ <th><%= I18n.t(att[:sf][:label]) %></th>
25
21
  <% end %>
26
22
  </tr>
27
23
  </thead>
@@ -40,7 +36,7 @@
40
36
  <td><%= record.send(att[:attribute]).map{|rec| rec.to_s}.join(",") %></td>
41
37
  <% else %>
42
38
  <% if record.send(att[:attribute]).to_s == "false" or record.send(att[:attribute]).to_s == "true" %>
43
- <td><%= record.send(att[:attribute]) ? "Sim" : "Não" %></td>
39
+ <td><%= I18n.t(record.send(att[:attribute]) ? "shared.sim" : "shared.nao") %></td>
44
40
  <% elsif att[:sf][:label_method].present? %>
45
41
  <td><%= record.send(att[:attribute]).send(att[:sf][:label_method]).to_s %></td>
46
42
  <% else %>
@@ -13,11 +13,7 @@ xmlns:html="http://www.w3.org/TR/REC-html40">
13
13
  <% next %>
14
14
  <% end %>
15
15
  <% end %>
16
- <% if att[:sf].present? && att[:sf][:label].present? %>
17
- <Cell><Data ss:Type="String"><%= att[:sf][:label].to_s.mb_chars.upcase.to_s %></Data></Cell>
18
- <% else %>
19
- <Cell><Data ss:Type="String"><%= I18n.t("simple_form.labels.#{@model.name.underscore}.#{att[:attribute]}") %></Data></Cell>
20
- <% end %>
16
+ <Cell><Data ss:Type="String"><%= I18n.t(att[:sf][:label]) %></Data></Cell>
21
17
  <% end %>
22
18
  </Row>
23
19
  <% @records.each do |record| %>
@@ -34,7 +30,7 @@ xmlns:html="http://www.w3.org/TR/REC-html40">
34
30
  <Cell><Data ss:Type="String"><%= record.send(att[:attribute]).map{|rec| rec.to_s}.join(",") %></Data></Cell>
35
31
  <% else %>
36
32
  <% if record.send(att[:attribute]).to_s == "false" or record.send(att[:attribute]).to_s == "true" %>
37
- <Cell><Data ss:Type="String"><%= record.send(att[:attribute]) ? "Sim" : "Não" %></Data></Cell>
33
+ <Cell><Data ss:Type="String"><%= I18n.t(record.send(att[:attribute]) ? "shared.sim" : "shared.nao") %></Data></Cell>
38
34
  <% elsif att[:sf][:label_method].present? %>
39
35
  <Cell><Data ss:Type="String"><%= record.send(att[:attribute]).send(att[:sf][:label_method]).to_s %></Data></Cell>
40
36
  <% else %>
@@ -20,11 +20,7 @@
20
20
  <% next %>
21
21
  <% end %>
22
22
  <% end %>
23
- <% if field[:sf].present? && field[:sf][:label].present? %>
24
- <th><%= field[:sf][:label].to_s.mb_chars.upcase.to_s %></th>
25
- <% else %>
26
- <th><%= I18n.t("simple_form.labels.#{@model.name.underscore}.#{field[:attribute]}") %></th>
27
- <% end %>
23
+ <th><%= I18n.t(att[:sf][:label]) %></th>
28
24
 
29
25
  <% if @model.columns_hash[field[:attribute].to_s].present? && [:date, :datetime].include?(@model.columns_hash[field[:attribute].to_s].type)%>
30
26
  <% if field[:date_format].present?%>
@@ -65,7 +61,7 @@
65
61
  <%= render_field_file(@record.send(field[:attribute])) %>
66
62
  </td>
67
63
  <% elsif ["false","true"].include? @record.send(field[:attribute]).to_s %>
68
- <td><%= @record.send(field[:attribute]) ? "Sim" : "Não" %></td>
64
+ <td><%= I18n.t(@record.send(field[:attribute]) ? "shared.sim" : "shared.nao") %></td>
69
65
  <% else %>
70
66
  <td>
71
67
  <% if field[:sf].present? && field[:sf][:label_method].present? && @record.send(field[:attribute]).present?%>
data/config/routes.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  Rails.application.routes.draw do
2
2
 
3
- if TemplusModels::Routes.registrar
3
+ if TemplusModels.configuration.registrar_rotas
4
4
  scope "(:locale)" do
5
5
  # Routes for RaroCrud
6
6
  get '/crud/:model' => "crud#index", as: :crud_models
@@ -1,10 +1,11 @@
1
1
  module TemplusModels
2
2
  class Configuration
3
3
 
4
- attr_accessor :usar_icones
4
+ attr_accessor :usar_icones, :registrar_rotas
5
5
 
6
6
  def initialize
7
7
  @usar_icones = false
8
+ @registrar_rotas = true
8
9
  end
9
10
 
10
11
  def self.instance
@@ -1,3 +1,3 @@
1
1
  module TemplusModels
2
- VERSION = "2.0.0"
2
+ VERSION = "2.0.1"
3
3
  end
@@ -24,15 +24,4 @@ module TemplusModels
24
24
  end
25
25
  end
26
26
 
27
- module Routes
28
- @@registrar = true
29
-
30
- def self.registrar
31
- @@registrar
32
- end
33
-
34
- def self.registrar=(value)
35
- @@registrar = value
36
- end
37
- end
38
27
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: templus_models
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0
4
+ version: 2.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rodrigo Sol
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2017-02-13 00:00:00.000000000 Z
13
+ date: 2017-02-17 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails