templus_models 3.0.10 → 3.0.12
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/controllers/crud_controller.rb +18 -5
- data/app/helpers/crud_helper.rb +6 -0
- data/app/helpers/search_helper.rb +22 -3
- data/app/raro_crud/raro_crud.rb +8 -0
- data/app/views/crud/_form.html.erb +1 -1
- data/app/views/crud/_record.html.erb +59 -57
- data/app/views/crud/_records.html.erb +1 -1
- data/lib/templus_models/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d86a4d7d8f4b7230ca8d19f69e5962beaa00675c
|
4
|
+
data.tar.gz: c62f496d5846326d3e8db95bdcaeb71f26afe34d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3ae34b100de5eaaf1bde33742452f26fcc3213e2221d5ab42210177aeaa06d777c15083652b9da2140852c87f6ea266fcf6e4d3b5639a611cb02eb44cfdda0e1
|
7
|
+
data.tar.gz: 2109533cc4c8cc866371fd653fe48c2d0147a40f7b80c751d794da87318ac34060e38d43368e1d78c7d642b7c85030b138ba4893e51f9ba2dc4507255ece860f
|
@@ -17,9 +17,9 @@ class CrudController < ApplicationController
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
if respond_to?(:current_usuario)
|
20
|
-
@records = @q.result.accessible_by(current_ability, :read).page(params[:page]).per(@crud_helper.per_page)
|
20
|
+
@records = @q.result(distinct: true).includes(@crud_helper.includes).accessible_by(current_ability, :read).page(params[:page]).per(@crud_helper.per_page)
|
21
21
|
else
|
22
|
-
@records = @q.result.page(params[:page]).per(@crud_helper.per_page)
|
22
|
+
@records = @q.result(distinct: true).includes(@crud_helper.includes).page(params[:page]).per(@crud_helper.per_page)
|
23
23
|
end
|
24
24
|
@titulo = @model.name.pluralize
|
25
25
|
render partial: 'records' if request.respond_to?(:wiselinks_partial?) && request.wiselinks_partial?
|
@@ -190,6 +190,7 @@ class CrudController < ApplicationController
|
|
190
190
|
private
|
191
191
|
|
192
192
|
def setup
|
193
|
+
params[:q] = convert_params(params[:q])
|
193
194
|
if params[:associacao]
|
194
195
|
@crud_associacao = Module.const_get("#{params[:model].to_s.singularize}_crud".camelize)
|
195
196
|
if Module.const_get(params[:model].camelize).reflect_on_association(params[:associacao])
|
@@ -214,7 +215,7 @@ class CrudController < ApplicationController
|
|
214
215
|
end
|
215
216
|
|
216
217
|
def params_permitt
|
217
|
-
params.require(@model.name.underscore.to_sym).permit(fields_model)
|
218
|
+
params.require(@model.name.underscore.gsub('/','_').to_sym).permit(fields_model)
|
218
219
|
end
|
219
220
|
|
220
221
|
def fields_model
|
@@ -268,7 +269,7 @@ class CrudController < ApplicationController
|
|
268
269
|
end
|
269
270
|
group
|
270
271
|
end
|
271
|
-
|
272
|
+
|
272
273
|
def valid_method?(method)
|
273
274
|
list_methods = []
|
274
275
|
@model.ancestors.each do |m|
|
@@ -277,7 +278,7 @@ class CrudController < ApplicationController
|
|
277
278
|
end
|
278
279
|
list_methods.flatten.include? method.to_sym
|
279
280
|
end
|
280
|
-
|
281
|
+
|
281
282
|
def valid_instance_method?(method)
|
282
283
|
list_methods = []
|
283
284
|
@model.ancestors.each do |m|
|
@@ -286,4 +287,16 @@ class CrudController < ApplicationController
|
|
286
287
|
end
|
287
288
|
list_methods.flatten.include? method.to_sym
|
288
289
|
end
|
290
|
+
|
291
|
+
def convert_params(params)
|
292
|
+
if params.present? && params.class == String
|
293
|
+
hash = {}
|
294
|
+
params.split("&").each do |element|
|
295
|
+
result = element.split("?")[0].split("=")
|
296
|
+
hash[result[0]] = result[1]
|
297
|
+
end
|
298
|
+
params = ActionController::Parameters.new(hash)
|
299
|
+
end
|
300
|
+
params
|
301
|
+
end
|
289
302
|
end
|
data/app/helpers/crud_helper.rb
CHANGED
@@ -234,6 +234,12 @@ module CrudHelper
|
|
234
234
|
crud_helper.condition_printing_action.call(record)
|
235
235
|
end
|
236
236
|
|
237
|
+
def add_params_page(url, page)
|
238
|
+
if page.present? && !url.include?("&")
|
239
|
+
url = url.include?("?") ? "#{url}&page=#{page}" : "#{url}?page=#{page}"
|
240
|
+
end
|
241
|
+
url
|
242
|
+
end
|
237
243
|
|
238
244
|
private
|
239
245
|
|
@@ -78,11 +78,11 @@ module SearchHelper
|
|
78
78
|
end
|
79
79
|
|
80
80
|
def raro_input_as(name,type,opts)
|
81
|
+
if opts[:collection_if] and opts[:collection_if].class == Proc
|
82
|
+
opts[:collection] = ActionView::Helpers::FormBuilder.instance_eval(&opts[:collection_if])
|
83
|
+
end
|
81
84
|
case opts[:as]
|
82
85
|
when :select
|
83
|
-
if opts[:collection_if] and opts[:collection_if].class == Proc
|
84
|
-
opts[:collection] = ActionView::Helpers::FormBuilder.instance_eval &opts[:collection_if]
|
85
|
-
end
|
86
86
|
raro_select(name,opts,opts[:collection])
|
87
87
|
when :hidden
|
88
88
|
return raro_hidden_field(name,opts[:value],opts)
|
@@ -92,6 +92,8 @@ module SearchHelper
|
|
92
92
|
raro_range(name)
|
93
93
|
when :monthyear
|
94
94
|
raro_monthyear(name, opts)
|
95
|
+
when :check_boxes
|
96
|
+
raro_check_boxes(name, opts, opts[:collection])
|
95
97
|
end
|
96
98
|
end
|
97
99
|
|
@@ -105,6 +107,23 @@ module SearchHelper
|
|
105
107
|
return raro_select("q[#{model_name}_id_eq]",opts,collection)
|
106
108
|
end
|
107
109
|
|
110
|
+
def raro_check_boxes(name, opts, collection)
|
111
|
+
unless opts[:model]
|
112
|
+
name = "q[#{name}_eq]"
|
113
|
+
end
|
114
|
+
buf = "<div class='col-sm-12'>"
|
115
|
+
input_class = opts[:input_html].try(:[], :class)
|
116
|
+
collection.each do |e|
|
117
|
+
buf << "<span class='checkbox' style='display: inline;'>"
|
118
|
+
buf << "<label for='vaga_filtro_vaga_attributes_perfil_executor' class='control-label'>"
|
119
|
+
buf << "<input class='form-control check_boxes optional #{input_class}' type='checkbox' value='#{e[0]}' name='#{name}' style=''> #{e[1]}"
|
120
|
+
buf << '</label>'
|
121
|
+
buf << '</span>'
|
122
|
+
end
|
123
|
+
buf << '</div>'
|
124
|
+
return buf
|
125
|
+
end
|
126
|
+
|
108
127
|
def raro_select(name,opts,collection)
|
109
128
|
unless opts[:model]
|
110
129
|
name = "q[#{name}_eq]"
|
data/app/raro_crud/raro_crud.rb
CHANGED
@@ -33,6 +33,7 @@ class RaroCrud
|
|
33
33
|
@@scopes = {}
|
34
34
|
@@menus = []
|
35
35
|
@@layout = {}
|
36
|
+
@@includes = {}
|
36
37
|
@@index_path = nil
|
37
38
|
|
38
39
|
def modelo
|
@@ -210,6 +211,10 @@ class RaroCrud
|
|
210
211
|
@@menus
|
211
212
|
end
|
212
213
|
|
214
|
+
def self.includes
|
215
|
+
@@includes[self.to_s.to_sym] || []
|
216
|
+
end
|
217
|
+
|
213
218
|
def self.campo_visualizacao(nome, opts = {})
|
214
219
|
@@view_fields[self.to_s.to_sym] ||= []
|
215
220
|
opts = set_default_label nome, opts
|
@@ -409,6 +414,9 @@ class RaroCrud
|
|
409
414
|
@@form_scripts[self.to_s.to_sym] << script.to_s
|
410
415
|
end
|
411
416
|
|
417
|
+
def self.add_includes(includes)
|
418
|
+
@@includes[self.to_s.to_sym] = includes
|
419
|
+
end
|
412
420
|
|
413
421
|
private
|
414
422
|
|
@@ -60,7 +60,7 @@
|
|
60
60
|
<div class="col-sm-4 col-sm-offset-2">
|
61
61
|
<%= f.submit I18n.t("save"), class: 'btn btn-primary' %>
|
62
62
|
<%unless params[:render] == 'modal'%>
|
63
|
-
<%= link_to I18n.t("undo"),
|
63
|
+
<%= link_to I18n.t("undo"), add_params_page(@url, params[:page]), class: 'btn btn-default', data: {push: 'partial', target: "#form"} %>
|
64
64
|
<% end %>
|
65
65
|
</div>
|
66
66
|
</div>
|
@@ -79,69 +79,71 @@
|
|
79
79
|
<td class="row"></td>
|
80
80
|
<% end %>
|
81
81
|
<%end%>
|
82
|
-
|
83
|
-
<
|
84
|
-
|
85
|
-
<%
|
86
|
-
<% if action[:
|
87
|
-
<%
|
82
|
+
<% if @crud_helper.view_action || @crud_helper.edit_action || @crud_helper.destroy_action || @crud_helper.actions.present? || @crud_helper.actions_links.present? %>
|
83
|
+
<td class="row">
|
84
|
+
<div class="col-xs-9">
|
85
|
+
<% @crud_helper.actions.each do |action| %>
|
86
|
+
<% if (action[:proc].present? && action[:proc].call(record)) || !action[:proc].present? %>
|
87
|
+
<% if action[:options].present? && action[:options][:wiselink].present? && action[:options][:wiselink] %>
|
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]), class: "btn btn-primary btn-xs", data: data || {} %>
|
88
91
|
<% end %>
|
89
|
-
<%= link_to I18n.t(action[:desc]), action_crud_path(model: @model.name.underscore, id: record.id, acao: action[:method]), class: "btn btn-primary btn-xs", data: data || {} %>
|
90
92
|
<% end %>
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
<%
|
98
|
-
|
99
|
-
<%
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
<%
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
93
|
+
<% @crud_helper.actions_links.each do |name, options| %>
|
94
|
+
<% unless (options[:can].present? && !record.instance_eval(&options[:can])) %>
|
95
|
+
<% if options[:url].present? %>
|
96
|
+
<% url = options[:url] %>
|
97
|
+
<% if options[:id] %>
|
98
|
+
<% url += options[:url].include?("?") ? "&id=#{record.id}" : "?id=#{record.id}" %>
|
99
|
+
<% else url.include?(":id") %>
|
100
|
+
<% url = url.gsub(":id", "#{record.id}") %>
|
101
|
+
<% end %>
|
102
|
+
<% if options[:wiselink].present? && options[:wiselink] %>
|
103
|
+
<a href="<%= url %>" class="btn btn-success btn-xs" data-push="partial" data-target="#form">
|
104
|
+
<%= I18n.t(name) %>
|
105
|
+
</a>
|
106
|
+
<% else %>
|
107
|
+
<a href="<%= url %>" class="btn btn-success btn-xs">
|
108
|
+
<%= I18n.t(name) %>
|
109
|
+
</a>
|
110
|
+
<% end %>
|
111
|
+
<% elsif options[:associacao].present? %>
|
112
|
+
<% if options[:wiselink].present? && options[:wiselink] %>
|
113
|
+
<%= link_to I18n.t(name), crud_associacao_models_path(model: @model.name.underscore, id: record.id, associacao: options[:associacao].to_s), class: "btn btn-success btn-xs", data: {push: true, crumb: "wielka"} %>
|
114
|
+
<% else %>
|
115
|
+
<%= link_to I18n.t(name), crud_associacao_models_path(model: @model.name.underscore, id: record.id, associacao: options[:associacao].to_s), class: "btn btn-success btn-xs" %>
|
116
|
+
<% end %>
|
117
|
+
<% elsif options[:partial].present? %>
|
118
|
+
<%= render options[:partial], record: record, action: :index %>
|
115
119
|
<% end %>
|
116
|
-
<% elsif options[:partial].present? %>
|
117
|
-
<%= render options[:partial], record: record, action: :index %>
|
118
120
|
<% end %>
|
119
121
|
<% end %>
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
122
|
+
<% if @crud_helper.view_action && should_view?(@crud_helper, record) %>
|
123
|
+
<% link_text = TemplusModels.configuration.usar_icones ? "<i class='fa fa-eye'></i>".html_safe : I18n.t("view") %>
|
124
|
+
<% if @crud_associacao.present? %>
|
125
|
+
<%= link_to link_text, crud_associacao_model_path(model: params[:model], id: params[:id], associacao: params[:associacao], associacao_id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-primary btn-xs', data: {push: 'partial', target: '#form'} %>
|
126
|
+
<% else %>
|
127
|
+
<%= link_to link_text, crud_model_path(model: @model.name.underscore, id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-primary btn-xs', data: {push: 'partial', target: '#form'} %>
|
128
|
+
<% end %>
|
127
129
|
<% end %>
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
130
|
+
<% if @crud_helper.edit_action && should_edit?(@crud_helper, record) %>
|
131
|
+
<% link_text = TemplusModels.configuration.usar_icones ? "<i class='fa fa-edit'></i>".html_safe : I18n.t("edit") %>
|
132
|
+
<% if @crud_associacao.present? %>
|
133
|
+
<%= link_to link_text, edit_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao], associacao_id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-primary btn-xs', data: {push: 'partial', target: '#form'} %>
|
134
|
+
<% else %>
|
135
|
+
<%= link_to link_text, edit_crud_path(model: @model.name.underscore, id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-primary btn-xs', data: {push: 'partial', target: '#form'} %>
|
136
|
+
<% end %>
|
135
137
|
<% end %>
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
138
|
+
<% if @crud_helper.destroy_action && should_destroy?(@crud_helper, record) %>
|
139
|
+
<% link_text = TemplusModels.configuration.usar_icones ? "<i class='fa fa-trash'></i>".html_safe : I18n.t("destroy") %>
|
140
|
+
<% if @crud_associacao.present? %>
|
141
|
+
<%= link_to link_text, destroy_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao], associacao_id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-danger btn-xs', data: {method: 'delete', confirm: I18n.t('mensagem_confirm_destroy')} %>
|
142
|
+
<% else %>
|
143
|
+
<%= link_to link_text, destroy_crud_path(model: @model.name.underscore, id: record.id, page: params[:page], q: params[:q]), class: 'btn btn-danger btn-xs', data: {method: 'delete', confirm: I18n.t('mensagem_confirm_destroy')} %>
|
144
|
+
<% end %>
|
143
145
|
<% end %>
|
144
|
-
|
145
|
-
</
|
146
|
-
|
146
|
+
</div>
|
147
|
+
</td>
|
148
|
+
<% end %>
|
147
149
|
<% end %>
|
@@ -24,7 +24,7 @@
|
|
24
24
|
<% end %>
|
25
25
|
</th>
|
26
26
|
<% end %>
|
27
|
-
<% if @crud_helper.view_action || @crud_helper.edit_action || @crud_helper.destroy_action || @crud_helper.actions.present? %>
|
27
|
+
<% if @crud_helper.view_action || @crud_helper.edit_action || @crud_helper.destroy_action || @crud_helper.actions.present? || @crud_helper.actions_links.present? %>
|
28
28
|
<td><%= I18n.t("simple_form.index.options", default: I18n.t("options")) %></td>
|
29
29
|
<% end %>
|
30
30
|
</tr>
|
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.
|
4
|
+
version: 3.0.12
|
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-
|
13
|
+
date: 2017-09-28 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rails
|