templus_models 3.0.10 → 3.0.12
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 +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
|