templus_models 3.0.20 → 3.0.21

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
  SHA256:
3
- metadata.gz: ceddeb835a1405f5013bf6d95cb6a2e0a2ef3fde23ca98904dedb189c670b680
4
- data.tar.gz: 1c86d3fb910903056745b1767ad4d7044de431e9685073253124dd5634ce308d
3
+ metadata.gz: 6697b9a9308a28c268cc9a85e8698082cda535509c00312c9b148e4f4522fa59
4
+ data.tar.gz: 9011b06b986d0fe546925dcc5384f791cd9040c556eccd0e3ee23d406646c659
5
5
  SHA512:
6
- metadata.gz: 00d81588bf7dc3cea202de0d104369706142dbf3e7e7fa0f3c1fe8d9e997798e61d89071e6c3f7a4755332242ba82a7b677e4d889cefa405a2a3214ac1b3a8ef
7
- data.tar.gz: e9a051ff22d1642fa8ededd6375dcf1bcfdd84636abc4b603b0edf88809d9a42f1bd63caea033d6019558d9af1a36fa5971631ee733a4f466c7e67ce7eaa72e5
6
+ metadata.gz: 42430133a2689bf4f63e84c2c591fee5d0c9234ff5f307640e40f8e5b9f4443b3929418f517f052c291d96993123f790dd53f14ff43ef7266000f11ae003fc01
7
+ data.tar.gz: 224b86a8479102ad1dd9da7bb8985ea582de93ded79d7cbadeb2b62bd2569176cf65a35d8e7873c4cbe11dadc62dc919f83829a9ef227835c8851419f8241a46
@@ -1,7 +1,6 @@
1
1
  class CrudController < ApplicationController
2
2
  before_action :setup, except: :autocomplete
3
3
 
4
-
5
4
  def index
6
5
  authorize! :read, @model_permission if respond_to?(:current_usuario)
7
6
  if params[:scope].present? && valid_method?(params[:scope])
@@ -10,23 +9,22 @@ class CrudController < ApplicationController
10
9
  @q = @model.ransack(params[:q])
11
10
  end
12
11
  if @q.sorts.empty?
13
- if @crud_helper.order_field.to_s.include?("desc") || @crud_helper.order_field.to_s.include?("asc")
12
+ if @crud_helper.order_field.to_s.include?('desc') || @crud_helper.order_field.to_s.include?('asc')
14
13
  @q.sorts = @crud_helper.order_field.to_s
15
14
  else
16
15
  @q.sorts = "#{@crud_helper.order_field} asc"
17
16
  end
18
17
  end
19
- if respond_to?(:current_usuario)
20
- @records = @q.result(distinct: true).includes(@crud_helper.includes).accessible_by(current_ability, :read).page(params[:page]).per(@crud_helper.per_page)
21
- else
22
- @records = @q.result(distinct: true).includes(@crud_helper.includes).page(params[:page]).per(@crud_helper.per_page)
23
- end
18
+ @records = @q.result(distinct: true)
19
+ @records = @records.includes(@crud_helper.includes).references(@crud_helper.includes) if @crud_helper.includes.present?
20
+ @records = @records.accessible_by(current_ability, :read) if respond_to?(:current_usuario)
21
+ @records = @records.page(params[:page]).per(@crud_helper.per_page)
24
22
  @titulo = @model.name.pluralize
25
23
  render partial: 'records' if request.respond_to?(:wiselinks_partial?) && request.wiselinks_partial?
26
24
  end
27
25
 
28
26
  def new
29
- if params[:render] == "modal"
27
+ if params[:render] == 'modal'
30
28
  if @model.reflect_on_association(params[:attribute].to_s).present?
31
29
  @model = @model.reflect_on_association(params[:attribute].to_s).class_name.constantize
32
30
  else
@@ -56,9 +54,9 @@ class CrudController < ApplicationController
56
54
  authorize! :create_or_update, @record if respond_to?(:current_usuario)
57
55
  if valid_instance_method?(params[:acao])
58
56
  if @record.send(params[:acao])
59
- flash.now[:success] = I18n.t("mensagem_action", acao: params[:acao])
57
+ flash.now[:success] = I18n.t('mensagem_action', acao: params[:acao])
60
58
  else
61
- flash.now[:error] = I18n.t("mensagem_erro_action", acao: params[:acao])
59
+ flash.now[:error] = I18n.t('mensagem_erro_action', acao: params[:acao])
62
60
  end
63
61
  redirect_to @url
64
62
  else
@@ -75,22 +73,22 @@ class CrudController < ApplicationController
75
73
  authorize! :update, @record if respond_to?(:current_usuario)
76
74
  @saved = @record.update(params_permitt)
77
75
  else
78
- @record = @model.new(params_permitt)
76
+ @record = @model.new(params_permitt)
79
77
  authorize! :create, @model_permission if respond_to?(:current_usuario)
80
78
  @saved = @record.save
81
79
  end
82
80
 
83
81
  respond_to do |format|
84
82
  if @saved
85
- flash[:success] = params[:id].present? ? I18n.t("updated", model: I18n.t("model.#{@model.name.underscore}")) : I18n.t("created", model: I18n.t("model.#{@model.name.underscore}"))
83
+ flash[:success] = params[:id].present? ? I18n.t('updated', model: I18n.t("model.#{@model.name.underscore}")) : I18n.t("created", model: I18n.t("model.#{@model.name.underscore}"))
86
84
  format.html { redirect_to @url }
87
85
  unless params[:render] == 'modal'
88
- format.js { render action: :index}
86
+ format.js { render action: :index }
89
87
  else
90
88
  format.js
91
89
  end
92
90
  else
93
- action = (params[:id]) ? :edit : :new
91
+ action = params[:id] ? :edit : :new
94
92
  format.html { render action: action }
95
93
  format.js
96
94
  end
@@ -102,13 +100,13 @@ class CrudController < ApplicationController
102
100
  authorize! :destroy, @record if respond_to?(:current_usuario)
103
101
  if @record.destroy
104
102
  respond_to do |format|
105
- flash[:success] = I18n.t("destroyed", model: I18n.t("model.#{@model.name.underscore}"))
103
+ flash[:success] = I18n.t('destroyed', model: I18n.t("model.#{@model.name.underscore}"))
106
104
  format.html { redirect_to @url }
107
105
  format.js { render action: :index }
108
106
  end
109
107
  else
110
108
  respond_to do |format|
111
- flash[:error] = @record.errors.full_messages.join(", ")
109
+ flash[:error] = @record.errors.full_messages.join(', ')
112
110
  format.html { redirect_to @url }
113
111
  format.js { render action: :index }
114
112
  end
@@ -131,7 +129,7 @@ class CrudController < ApplicationController
131
129
  end
132
130
  instance_variable_set("@#{params[:var]}", results)
133
131
  if request.respond_to?(:wiselinks_partial?) && request.wiselinks_partial?
134
- render :partial => params[:partial]
132
+ render partial: params[:partial]
135
133
  else
136
134
  render :index, controller: request[:controller]
137
135
  end
@@ -152,9 +150,9 @@ class CrudController < ApplicationController
152
150
  if valid_instance_method?(params[:label])
153
151
  method_label = params[:label]
154
152
  else
155
- raise "Ação inválida"
153
+ raise 'Ação inválida'
156
154
  end
157
- render json: results.map {|result| {id: result.id, label: result.send(method_label), value: result.send(method_label)} }
155
+ render json: results.map { |result| { id: result.id, label: result.send(method_label), value: result.send(method_label) } }
158
156
  end
159
157
 
160
158
  def listing
@@ -165,7 +163,7 @@ class CrudController < ApplicationController
165
163
  @q = @model.ransack(params[:q])
166
164
  end
167
165
  if @q.sorts.empty?
168
- if @crud_helper.order_field.to_s.include?("desc") || @crud_helper.order_field.to_s.include?("asc")
166
+ if @crud_helper.order_field.to_s.include?('desc') || @crud_helper.order_field.to_s.include?('asc')
169
167
  @q.sorts = @crud_helper.order_field.to_s
170
168
  else
171
169
  @q.sorts = "#{@crud_helper.order_field} asc"
@@ -178,7 +176,7 @@ class CrudController < ApplicationController
178
176
  end
179
177
  report_name = "#{@crud_helper.title}_#{DateTime.now.strftime('%Y%m%d')}"
180
178
  respond_to do |format|
181
- format.xls { headers["Content-Disposition"] = "attachment; filename=#{report_name}.xls" }
179
+ format.xls { headers['Content-Disposition'] = "attachment; filename=#{report_name}.xls" }
182
180
  format.pdf do
183
181
  pdf = WickedPdf.new.pdf_from_string(
184
182
  render_to_string('crud/listing.pdf.erb'),
@@ -187,7 +185,7 @@ class CrudController < ApplicationController
187
185
  show_as_html: params[:debug],
188
186
  margin: { top: 20, bottom: 20 }
189
187
  )
190
- send_data(pdf, filename: "#{report_name}.pdf", type: "application/pdf", disposition: "inline")
188
+ send_data(pdf, filename: "#{report_name}.pdf", type: 'application/pdf', disposition: 'inline')
191
189
  end
192
190
  end
193
191
  end
@@ -205,7 +203,7 @@ class CrudController < ApplicationController
205
203
  show_as_html: params[:debug],
206
204
  margin: { top: 20, bottom: 20 }
207
205
  )
208
- send_data(pdf, filename: "#{report_name}.pdf", type: "application/pdf", disposition: "inline")
206
+ send_data(pdf, filename: "#{report_name}.pdf", type: 'application/pdf', disposition: 'inline')
209
207
  end
210
208
  format.html
211
209
  end
@@ -219,7 +217,7 @@ class CrudController < ApplicationController
219
217
  if Module.const_get(params[:model].camelize).reflect_on_association(params[:associacao])
220
218
  @model = Module.const_get(params[:model].camelize).find(params[:id]).send(params[:associacao])
221
219
  else
222
- raise "Ação inválida"
220
+ raise 'Ação inválida'
223
221
  end
224
222
  c_helper = Module.const_get(params[:model].camelize).reflect_on_association(params[:associacao]).class_name
225
223
  @crud_helper = Module.const_get("#{c_helper}Crud") unless params[:render] == "modal" and params[:action] == "new"
@@ -238,7 +236,7 @@ class CrudController < ApplicationController
238
236
  end
239
237
 
240
238
  def params_permitt
241
- params.require(@model.name.underscore.gsub('/','_').to_sym).permit(fields_model)
239
+ params.require(@model.name.underscore.gsub('/', '_').to_sym).permit(fields_model)
242
240
  end
243
241
 
244
242
  def fields_model
@@ -273,7 +271,7 @@ class CrudController < ApplicationController
273
271
 
274
272
  def permitt_group(fields, key, groups,mod)
275
273
  chave = "#{key}_attributes"
276
- group = {chave => [:id, :_destroy]}
274
+ group = { chave => [:id, :_destroy] }
277
275
  groups.each do |field|
278
276
  if field[:sf].present? && field[:sf][:grupo].present?
279
277
  group[chave] << permitt_group(fields, field[:attribute], field[:sf][:fields], mod.reflect_on_association(key.to_s).class_name.constantize)
@@ -283,7 +281,7 @@ class CrudController < ApplicationController
283
281
  if modelo.reflect_on_association(field[:attribute]).macro == :belongs_to
284
282
  group[chave] << "#{field[:attribute]}_id".to_sym
285
283
  else
286
- group[chave] << {"#{field[:attribute].to_s.singularize}_ids".to_sym => []}
284
+ group[chave] << { "#{field[:attribute].to_s.singularize}_ids".to_sym => [] }
287
285
  end
288
286
  elsif (modelo.columns_hash[field[:attribute].to_s] || (modelo.respond_to?(:params_permitt) && modelo.params_permitt.include?(field[:attribute].to_sym)))
289
287
  group[chave] << field[:attribute]
@@ -297,7 +295,7 @@ class CrudController < ApplicationController
297
295
  list_methods = []
298
296
  @model.ancestors.each do |m|
299
297
  list_methods << m.methods(false).reject{ |m| /^_/ =~ m.to_s }
300
- break if ["ApplicationRecord", "ActiveRecord::Base"].include? m.try(:superclass).to_s
298
+ break if ['ApplicationRecord', 'ActiveRecord::Base'].include? m.try(:superclass).to_s
301
299
  end
302
300
  list_methods.flatten.include? method.to_sym
303
301
  end
@@ -306,7 +304,7 @@ class CrudController < ApplicationController
306
304
  list_methods = []
307
305
  @model.ancestors.each do |m|
308
306
  list_methods << m.instance_methods(false).reject{ |m| /^_/ =~ m.to_s }
309
- break if ["ApplicationRecord", "ActiveRecord::Base"].include? m.try(:superclass).to_s
307
+ break if ['ApplicationRecord', 'ActiveRecord::Base'].include? m.try(:superclass).to_s
310
308
  end
311
309
  list_methods.flatten.include? method.to_sym
312
310
  end
@@ -314,8 +312,8 @@ class CrudController < ApplicationController
314
312
  def convert_params(params)
315
313
  if params.present? && params.class == String
316
314
  hash = {}
317
- params.split("&").each do |element|
318
- result = element.split("?")[0].split("=")
315
+ params.split('&').each do |element|
316
+ result = element.split('?')[0].split('=')
319
317
  hash[result[0]] = result[1]
320
318
  end
321
319
  params = ActionController::Parameters.new(hash)
@@ -1,4 +1,4 @@
1
- <%unless params[:render] == 'modal'%>
1
+ <% unless params[:render] == 'modal' %>
2
2
  <% content_for :breadcumb do %>
3
3
  <% if @crud_associacao.present? %>
4
4
  <li class=""><%= link_to @crud_associacao.title, crud_models_path(model: @crud_associacao.root_path) %></li>
@@ -7,7 +7,7 @@
7
7
  <li class=""><%= link_to @crud_helper.title, crud_models_path(model: @crud_helper.root_path) %></li>
8
8
  <% end %>
9
9
  <% end %>
10
-
10
+
11
11
 
12
12
  <% content_for :header do %>
13
13
  <%=@crud_helper.title%>
@@ -19,10 +19,9 @@
19
19
 
20
20
  <% content_for :modal do %>
21
21
  <% if @crud_helper.search_fields.present? %>
22
- <%= render "/crud/search" %>
22
+ <%= render '/crud/search' %>
23
23
  <% end %>
24
24
  <% end %>
25
-
26
- <%end%>
25
+ <% end%>
27
26
 
28
- <%= render "layouts/template_raro_crud" %>
27
+ <%= render 'layouts/template_raro_crud' %>
@@ -1,2 +1,2 @@
1
1
  <%= submit_tag(I18n.t("save"), class: "btn btn-primary") %>
2
- <%= link_to I18n.t("undo"), crud_models_path(model: @model.name.underscore), class: 'btn btn-default', data: {push: 'partial', target: "#form"} %>
2
+ <%= link_to I18n.t("undo"), crud_models_path(model: @model.name.underscore), class: 'btn btn-default', data: { push: 'partial', target: "#form" } %>
@@ -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 #{I18n.t(groups[:sublabel] || groups[:label])}" %>
27
+ <%= g.link_to_remove "#{I18n.t('destroy')} #{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 #{I18n.t(groups[:sublabel] || groups[:label])}", key %>
35
+ <%= f.link_to_add "#{I18n.t('add')} #{I18n.t(groups[:sublabel] || groups[:label])}", key %>
36
36
  </div>
37
37
  </div>
38
38
  <% end %>
@@ -1,5 +1,5 @@
1
1
  <%= content_tag :tr, id: "record-#{record.id}" do %>
2
- <%@crud_helper.index_fields.each do |att| %>
2
+ <% @crud_helper.index_fields.each do |att| %>
3
3
  <% if !att[:visible_if].nil?%>
4
4
  <% if ((att[:visible_if].class == Proc && !att[:visible_if].call(record)) || (att[:visible_if].class != Proc && !att[:visible_if])) %>
5
5
  <% next %>
@@ -86,8 +86,12 @@
86
86
  <% if (action[:proc].present? && action[:proc].call(record)) || !action[:proc].present? %>
87
87
  <% if action[:options].present? && action[:options][:wiselink].present? && action[:options][:wiselink] %>
88
88
  <% data = {push: "partial", target: "#form"} %>
89
- <% end %>
90
- <%= link_to I18n.t(action[:desc]), action_crud_path(model: @model.name.underscore, id: record.id, acao: action[:method], page: params[:page], q: params[:q].try(:to_unsafe_h)), class: "btn btn-primary btn-xs", data: data || {} %>
89
+ <% end %>
90
+ <% if @crud_associacao.present? %>
91
+ <%= link_to I18n.t(action[:desc]), action_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao], associacao_id: record.id, acao: action[:method], page: params[:page], q: params[:q].try(:to_unsafe_h)), class: "btn btn-primary btn-xs", data: data || {} %>
92
+ <% else %>
93
+ <%= link_to I18n.t(action[:desc]), action_crud_path(model: @model.name.underscore, id: record.id, acao: action[:method], page: params[:page], q: params[:q].try(:to_unsafe_h)), class: "btn btn-primary btn-xs", data: data || {} %>
94
+ <% end %>
91
95
  <% end %>
92
96
  <% end %>
93
97
  <% @crud_helper.actions_links.each do |name, options| %>
@@ -146,4 +150,4 @@
146
150
  </div>
147
151
  </td>
148
152
  <% end %>
149
- <% end %>
153
+ <% end %>
@@ -17,10 +17,10 @@
17
17
  <% if att[:sort_field] == :false %>
18
18
  <%= I18n.t(att[:label], default: I18n.t("shared.#{att[:attribute]}")) %>
19
19
  <% else %>
20
- <%= sort_link @q, att[:sort_field], I18n.t(att[:label], default: I18n.t("shared.#{att[:attribute]}")), {},data: {push: 'partial', target: "#form"}%>
20
+ <%= sort_link @q, att[:sort_field], I18n.t(att[:label], default: I18n.t("shared.#{att[:attribute]}")), {},data: { push: 'partial', target: "#form" } %>
21
21
  <% end %>
22
22
  <% else %>
23
- <%= sort_link @q, att[:attribute], I18n.t(att[:label], default: I18n.t("shared.#{att[:attribute]}")), {},data: {push: 'partial', target: "#form"}%>
23
+ <%= sort_link @q, att[:attribute], I18n.t(att[:label], default: I18n.t("shared.#{att[:attribute]}")), {},data: { push: 'partial', target: "#form" } %>
24
24
  <% end %>
25
25
  </th>
26
26
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module TemplusModels
2
- VERSION = "3.0.20"
2
+ VERSION = '3.0.21'
3
3
  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: 3.0.20
4
+ version: 3.0.21
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: 2019-06-28 00:00:00.000000000 Z
13
+ date: 2019-11-06 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -74,14 +74,14 @@ dependencies:
74
74
  requirements:
75
75
  - - "~>"
76
76
  - !ruby/object:Gem::Version
77
- version: '4.1'
77
+ version: 5.0.0
78
78
  type: :runtime
79
79
  prerelease: false
80
80
  version_requirements: !ruby/object:Gem::Requirement
81
81
  requirements:
82
82
  - - "~>"
83
83
  - !ruby/object:Gem::Version
84
- version: '4.1'
84
+ version: 5.0.0
85
85
  - !ruby/object:Gem::Dependency
86
86
  name: nested_form
87
87
  requirement: !ruby/object:Gem::Requirement
@@ -124,20 +124,6 @@ dependencies:
124
124
  - - "~>"
125
125
  - !ruby/object:Gem::Version
126
126
  version: '1'
127
- - !ruby/object:Gem::Dependency
128
- name: sqlite3
129
- requirement: !ruby/object:Gem::Requirement
130
- requirements:
131
- - - "~>"
132
- - !ruby/object:Gem::Version
133
- version: '1.3'
134
- type: :development
135
- prerelease: false
136
- version_requirements: !ruby/object:Gem::Requirement
137
- requirements:
138
- - - "~>"
139
- - !ruby/object:Gem::Version
140
- version: '1.3'
141
127
  description: Easy CRUD generator for Rails Projects
142
128
  email:
143
129
  - rodrigo@rarolabs.com.br
@@ -979,8 +965,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
979
965
  - !ruby/object:Gem::Version
980
966
  version: '0'
981
967
  requirements: []
982
- rubyforge_project:
983
- rubygems_version: 2.7.9
968
+ rubygems_version: 3.0.3
984
969
  signing_key:
985
970
  specification_version: 4
986
971
  summary: Easy CRUD generator for Rails Projects