templus_models 1.5.15 → 1.6.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/javascripts/link_to.js.erb +12 -0
- data/app/assets/javascripts/raro_crud.js +1 -2
- data/app/controllers/crud_controller.rb +20 -18
- data/app/helpers/crud_helper.rb +29 -29
- data/app/raro_crud/raro_crud.rb +2 -2
- data/app/views/crud/_crud_template.html.erb +1 -1
- data/app/views/crud/_default_actions_crud.html.erb +1 -1
- data/app/views/crud/_form.html.erb +15 -3
- data/app/views/crud/_record.html.erb +24 -18
- data/app/views/crud/_records.html.erb +4 -4
- data/app/views/crud/_scopes.html.erb +2 -2
- data/app/views/crud/_search.html.erb +7 -2
- data/app/views/crud/_shared.html.erb +18 -3
- data/app/views/crud/_show.html.erb +2 -2
- data/app/views/crud/index.html.erb +7 -1
- data/app/views/kaminari/templus/_paginator.html.erb +16 -1
- data/app/views/layouts/_template_raro_crud.html.erb +3 -1
- data/config/routes.rb +20 -20
- data/lib/templus_models/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b887141343645d9ac164c5fec736112a4f68a3fe
|
4
|
+
data.tar.gz: 91c089d619d572a2998de38c8781a3bd8ebbe16f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: dd0503928ce0f12f1a16ad7a66d01267576a1ac69e0aabacd5ac97fbf82d0c27fd5fbf61355ab09bb365b01dcefe199f926aabcefe035557bcfbf921b568d8af
|
7
|
+
data.tar.gz: a58b677b0f78b05ae83b6b87fd5a955d9897011910963d2243967d7fa682fe5118f917b99f1ec735a6df401f9f76f7a26159e0dd1bb494289138453cdf3d9dc3
|
@@ -0,0 +1,12 @@
|
|
1
|
+
// *.js.erb
|
2
|
+
var link_to = function(url, params) {
|
3
|
+
if(!!params){
|
4
|
+
var _params = [];
|
5
|
+
for(i in params) {
|
6
|
+
_params.push(i + '=' + params[i]);
|
7
|
+
}
|
8
|
+
return "<%= ENV['RAILS_RELATIVE_URL_ROOT']%>" + url + "?" + _params.join('&');
|
9
|
+
}else{
|
10
|
+
return "<%= ENV['RAILS_RELATIVE_URL_ROOT']%>" + url;
|
11
|
+
}
|
12
|
+
};
|
@@ -8,8 +8,7 @@ function new_record(id,name,model_name){
|
|
8
8
|
|
9
9
|
var model_target = "#modal_new_record." + model_name;
|
10
10
|
|
11
|
-
|
12
|
-
var url = "/crud/" + class_name + "/new.js?render=modal&attribute="+ model_name;
|
11
|
+
var url = link_to("/crud/" + class_name + "/new.js", {"render": "modal", "attribute": model_name});
|
13
12
|
var jqxhr = $.ajax(url)
|
14
13
|
.done(function(result) {
|
15
14
|
$(model_target).attr('data-source',id);
|
@@ -1,6 +1,6 @@
|
|
1
1
|
class CrudController < ApplicationController
|
2
2
|
before_filter :setup, except: :autocomplete
|
3
|
-
|
3
|
+
|
4
4
|
private
|
5
5
|
def setup
|
6
6
|
if params[:associacao]
|
@@ -8,18 +8,20 @@ class CrudController < ApplicationController
|
|
8
8
|
@model = Module.const_get(params[:model].camelize).find(params[:id]).send(params[:associacao])
|
9
9
|
c_helper = Module.const_get(params[:model].camelize).reflect_on_association(params[:associacao]).class_name
|
10
10
|
@crud_helper = Module.const_get("#{c_helper}Crud") unless params[:render] == "modal" and params[:action] == "new"
|
11
|
+
@url = crud_associacao_models_path(model: params[:model], id: params[:id], associacao: params[:associacao], page: params[:page], q: params[:q])
|
12
|
+
@url_str = "/crud/#{params[:model]}/#{params[:id]}/#{params[:associacao]}/"
|
11
13
|
@model_permission = c_helper.constantize
|
12
|
-
@url = "/crud/#{params[:model]}/#{params[:id]}/#{params[:associacao]}"
|
13
14
|
@id = params[:associacao_id] if params[:associacao_id]
|
14
15
|
else
|
15
16
|
@model = Module.const_get(params[:model].camelize)
|
16
17
|
@model_permission = @model
|
17
18
|
@crud_helper = Module.const_get("#{params[:model]}_crud".camelize) unless params[:render] == "modal" and params[:action] == "new"
|
18
|
-
@url =
|
19
|
+
@url = crud_models_path(model: params[:model], page: params[:page], q: params[:q])
|
20
|
+
@url_str = "/crud/#{params[:model]}/"
|
19
21
|
@id = params[:id] if params[:id]
|
20
22
|
end
|
21
23
|
end
|
22
|
-
|
24
|
+
|
23
25
|
public
|
24
26
|
def index
|
25
27
|
authorize! :read, @model_permission if respond_to?(:current_usuario)
|
@@ -43,7 +45,7 @@ class CrudController < ApplicationController
|
|
43
45
|
@titulo = @model.name.pluralize
|
44
46
|
render partial: 'records' if request.respond_to?(:wiselinks_partial?) && request.wiselinks_partial?
|
45
47
|
end
|
46
|
-
|
48
|
+
|
47
49
|
def new
|
48
50
|
if params[:render] == "modal"
|
49
51
|
if @model.reflect_on_association(params[:attribute].to_s).present?
|
@@ -51,14 +53,14 @@ class CrudController < ApplicationController
|
|
51
53
|
else
|
52
54
|
@model = params[:attribute].to_s.camelcase.constantize
|
53
55
|
end
|
56
|
+
@url = crud_models_path(model: @model.name.underscore)
|
54
57
|
@model_permission = @model
|
55
|
-
@url = "/crud/#{@model.name.underscore}"
|
56
58
|
@crud_helper = Module.const_get("#{@model}Crud".camelize)
|
57
59
|
end
|
58
60
|
authorize! :new, @model_permission if respond_to?(:current_usuario)
|
59
61
|
@record = @model.new
|
60
62
|
end
|
61
|
-
|
63
|
+
|
62
64
|
def edit
|
63
65
|
@record = @model.find(@id)
|
64
66
|
authorize! :edit, @record if respond_to?(:current_usuario)
|
@@ -85,7 +87,7 @@ class CrudController < ApplicationController
|
|
85
87
|
render partial: "/#{@model.name.underscore.pluralize}/#{params[:acao]}" if request.respond_to?(:wiselinks_partial?) && request.wiselinks_partial?
|
86
88
|
end
|
87
89
|
end
|
88
|
-
|
90
|
+
|
89
91
|
def create
|
90
92
|
@saved = false
|
91
93
|
if @id
|
@@ -97,11 +99,11 @@ class CrudController < ApplicationController
|
|
97
99
|
authorize! :create, @model_permission if respond_to?(:current_usuario)
|
98
100
|
@saved = @record.save
|
99
101
|
end
|
100
|
-
|
102
|
+
|
101
103
|
respond_to do |format|
|
102
104
|
if @saved
|
103
105
|
flash[:success] = params[:id].present? ? "Cadastro alterado com sucesso." : "Cadastro efetuado com sucesso."
|
104
|
-
format.html { redirect_to
|
106
|
+
format.html { redirect_to @url }
|
105
107
|
unless params[:render] == 'modal'
|
106
108
|
format.js { render action: :index}
|
107
109
|
else
|
@@ -114,7 +116,7 @@ class CrudController < ApplicationController
|
|
114
116
|
end
|
115
117
|
end
|
116
118
|
end
|
117
|
-
|
119
|
+
|
118
120
|
def destroy
|
119
121
|
@record = @model.find(@id)
|
120
122
|
authorize! :destroy, @record if respond_to?(:current_usuario)
|
@@ -132,7 +134,7 @@ class CrudController < ApplicationController
|
|
132
134
|
end
|
133
135
|
end
|
134
136
|
end
|
135
|
-
|
137
|
+
|
136
138
|
def query
|
137
139
|
authorize! :read, @model_permission if respond_to?(:current_usuario)
|
138
140
|
@resource = @model
|
@@ -150,7 +152,7 @@ class CrudController < ApplicationController
|
|
150
152
|
render :index, controller: request[:controller]
|
151
153
|
end
|
152
154
|
end
|
153
|
-
|
155
|
+
|
154
156
|
def autocomplete
|
155
157
|
@model = Module.const_get(params[:model].camelize)
|
156
158
|
authorize! :read, @model if respond_to?(:current_usuario)
|
@@ -168,10 +170,10 @@ class CrudController < ApplicationController
|
|
168
170
|
end
|
169
171
|
|
170
172
|
private
|
171
|
-
def params_permitt
|
173
|
+
def params_permitt
|
172
174
|
params.require(@model.name.underscore.to_sym).permit(fields_model)
|
173
175
|
end
|
174
|
-
|
176
|
+
|
175
177
|
def fields_model
|
176
178
|
fields = []
|
177
179
|
@crud_helper.form_fields.each do |field|
|
@@ -201,7 +203,7 @@ class CrudController < ApplicationController
|
|
201
203
|
end
|
202
204
|
fields
|
203
205
|
end
|
204
|
-
|
206
|
+
|
205
207
|
def permitt_group(fields, key, groups,mod)
|
206
208
|
chave = "#{key}_attributes"
|
207
209
|
group = {chave => [:id, :_destroy]}
|
@@ -219,8 +221,8 @@ class CrudController < ApplicationController
|
|
219
221
|
elsif (modelo.columns_hash[field[:attribute].to_s] || (modelo.respond_to?(:params_permitt) && modelo.params_permitt.include?(field[:attribute].to_sym)))
|
220
222
|
group[chave] << field[:attribute]
|
221
223
|
end
|
222
|
-
|
224
|
+
end
|
223
225
|
end
|
224
226
|
group
|
225
227
|
end
|
226
|
-
end
|
228
|
+
end
|
data/app/helpers/crud_helper.rb
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
module CrudHelper
|
2
|
-
|
2
|
+
|
3
3
|
def is_active_controller(controller_name)
|
4
4
|
params[:controller] == controller_name ? "active" : nil
|
5
5
|
end
|
@@ -7,7 +7,7 @@ module CrudHelper
|
|
7
7
|
def is_active_action(action_name)
|
8
8
|
params[:action] == action_name ? "active" : nil
|
9
9
|
end
|
10
|
-
|
10
|
+
|
11
11
|
def is_raro_crud(classe)
|
12
12
|
#if(Rails.env == "production")
|
13
13
|
# @@cruds = Dir[Rails.root.join("app","raro_crud","*.rb")].map{|f| f.split(/\//).last.gsub(/_crud\.rb/,'')} unless @@cruds
|
@@ -16,7 +16,7 @@ module CrudHelper
|
|
16
16
|
#end
|
17
17
|
return @@cruds.include?(classe.underscore.to_s)
|
18
18
|
end
|
19
|
-
|
19
|
+
|
20
20
|
def lista_menus_crud(raro_models)
|
21
21
|
menus = []
|
22
22
|
raro_models.each do |modelo|
|
@@ -24,7 +24,7 @@ module CrudHelper
|
|
24
24
|
end
|
25
25
|
menus
|
26
26
|
end
|
27
|
-
|
27
|
+
|
28
28
|
def menu_helper_crud(modelo, url, nome, classe, icon='')
|
29
29
|
if can?(:read, classe)
|
30
30
|
buffer = ""
|
@@ -58,8 +58,8 @@ module CrudHelper
|
|
58
58
|
def is_action_query?
|
59
59
|
params[:action] == "query"
|
60
60
|
end
|
61
|
-
|
62
|
-
|
61
|
+
|
62
|
+
|
63
63
|
def render_link(link,url)
|
64
64
|
if link[:partial].present?
|
65
65
|
render link[:partial]
|
@@ -72,7 +72,7 @@ module CrudHelper
|
|
72
72
|
|
73
73
|
def gen_icon(i)
|
74
74
|
if i
|
75
|
-
"<i class='#{i}'></i>"
|
75
|
+
"<i class='#{i}'></i>"
|
76
76
|
else
|
77
77
|
""
|
78
78
|
end
|
@@ -94,7 +94,7 @@ module CrudHelper
|
|
94
94
|
end
|
95
95
|
models.uniq.flatten
|
96
96
|
end
|
97
|
-
|
97
|
+
|
98
98
|
def raro_permissions
|
99
99
|
permissions = []
|
100
100
|
Dir["#{Rails.root.to_s}/app/controllers/*"].each do |f|
|
@@ -113,7 +113,7 @@ module CrudHelper
|
|
113
113
|
field[:sf][:wrapper] = :with_button
|
114
114
|
render_field(field,f,modelo,record)
|
115
115
|
end
|
116
|
-
|
116
|
+
|
117
117
|
def render_field(field,f,modelo,record)
|
118
118
|
field[:sf][:wrapper] ||= :default
|
119
119
|
if field[:sf].present? && field[:sf][:if].present?
|
@@ -125,22 +125,22 @@ module CrudHelper
|
|
125
125
|
end
|
126
126
|
if !field[:sf][:edit].nil? || !field[:sf][:create].nil?
|
127
127
|
if !field[:sf][:edit].nil? && !field[:sf][:edit] && !record.new_record?
|
128
|
-
elsif !field[:sf][:create].nil? && !field[:sf][:create] && record.new_record?
|
129
|
-
else
|
128
|
+
elsif !field[:sf][:create].nil? && !field[:sf][:create] && record.new_record?
|
129
|
+
else
|
130
130
|
unless modelo.reflect_on_association(field[:attribute])
|
131
131
|
if modelo.new.send(field[:attribute]).class.to_s =~ /Uploader/ and f.object.send(field[:attribute]).present?
|
132
132
|
f.input field[:attribute], field[:sf].merge(hint: "Arquivo Atual: #{f.object.send(field[:attribute]).file.filename}")
|
133
133
|
else
|
134
134
|
f.input field[:attribute], field[:sf]
|
135
135
|
end
|
136
|
-
else
|
136
|
+
else
|
137
137
|
f.association field[:attribute], field[:sf]
|
138
|
-
end
|
139
|
-
end
|
138
|
+
end
|
139
|
+
end
|
140
140
|
else
|
141
141
|
if field[:sf][:value] and field[:sf][:value].class == Proc
|
142
|
-
field[:sf][:input_html] ||= {}
|
143
|
-
field[:sf][:input_html][:value] = f.instance_eval &field[:sf][:value]
|
142
|
+
field[:sf][:input_html] ||= {}
|
143
|
+
field[:sf][:input_html][:value] = f.instance_eval &field[:sf][:value]
|
144
144
|
end
|
145
145
|
if field[:sf][:collection_if] and field[:sf][:collection_if].class == Proc
|
146
146
|
field[:sf][:collection] = f.instance_eval &field[:sf][:collection_if]
|
@@ -151,24 +151,24 @@ module CrudHelper
|
|
151
151
|
else
|
152
152
|
f.input field[:attribute], field[:sf]
|
153
153
|
end
|
154
|
-
else
|
154
|
+
else
|
155
155
|
f.association field[:attribute], field[:sf]
|
156
|
-
end
|
156
|
+
end
|
157
157
|
end
|
158
158
|
end
|
159
|
-
|
159
|
+
|
160
160
|
def imagem?(file)
|
161
161
|
file.present? && file.content_type.start_with?('image')
|
162
162
|
end
|
163
163
|
|
164
164
|
def video?(file)
|
165
165
|
file.present? && file.content_type.start_with?('video')
|
166
|
-
end
|
167
|
-
|
166
|
+
end
|
167
|
+
|
168
168
|
def documento?(file)
|
169
169
|
!(video?(file) || imagem?(file))
|
170
170
|
end
|
171
|
-
|
171
|
+
|
172
172
|
def render_field_file(field)
|
173
173
|
if imagem?(field) && field.url(:thumb)
|
174
174
|
image_tag(field.url(:thumb))
|
@@ -178,31 +178,31 @@ module CrudHelper
|
|
178
178
|
link_to field, field.url, target: "_blank"
|
179
179
|
end
|
180
180
|
end
|
181
|
-
|
181
|
+
|
182
182
|
def render_crud(&block)
|
183
183
|
render "/crud/shared", block: block
|
184
184
|
end
|
185
|
-
|
185
|
+
|
186
186
|
def render_default_actions_crud
|
187
187
|
render "default_actions_crud"
|
188
188
|
end
|
189
|
-
|
189
|
+
|
190
190
|
#Permissions
|
191
|
-
def
|
191
|
+
def should_view?(crud_helper,record)
|
192
192
|
return false unless can?(:read, record)
|
193
193
|
return true if crud_helper.condition_view_action.nil?
|
194
194
|
crud_helper.condition_view_action.call(record)
|
195
195
|
end
|
196
196
|
|
197
|
-
def
|
197
|
+
def should_edit?(crud_helper,record)
|
198
198
|
return false unless can?(:update, record)
|
199
199
|
return true if crud_helper.condition_edit_action.nil?
|
200
200
|
crud_helper.condition_edit_action.call(record)
|
201
201
|
end
|
202
202
|
|
203
|
-
def
|
203
|
+
def should_destroy?(crud_helper,record)
|
204
204
|
return false unless can?(:destroy, record)
|
205
205
|
return true if crud_helper.condition_destroy_action.nil?
|
206
206
|
crud_helper.condition_destroy_action.call(record)
|
207
207
|
end
|
208
|
-
end
|
208
|
+
end
|
data/app/raro_crud/raro_crud.rb
CHANGED
@@ -72,7 +72,7 @@ class RaroCrud
|
|
72
72
|
end
|
73
73
|
|
74
74
|
def self.root_path
|
75
|
-
|
75
|
+
self.to_s.gsub('Crud', '').underscore
|
76
76
|
end
|
77
77
|
|
78
78
|
def self.index_path str
|
@@ -238,7 +238,7 @@ class RaroCrud
|
|
238
238
|
if opts.present? && opts[:autocomplete].present?
|
239
239
|
opts[:as] = :autocomplete
|
240
240
|
label_method = opts[:autocomplete][:label_method] || opts[:autocomplete][:campo]
|
241
|
-
opts[:url] =
|
241
|
+
opts[:url] = autocomplete_crud_path(model: opts[:autocomplete][:classe], campo: opts[:autocomplete][:campo], tipo: "start", label: label_method)
|
242
242
|
name = "#{opts[:autocomplete][:campo]}_#{opts[:autocomplete][:classe]}"
|
243
243
|
opts[:input_html] = {name: name, id: name}
|
244
244
|
opts[:id_element] = "##{self.modelo}_#{nome}_id"
|
@@ -3,7 +3,7 @@
|
|
3
3
|
<% if @crud_associacao.present? %>
|
4
4
|
<li class=""><%= link_to @crud_associacao.title, @crud_associacao.root_path %></li>
|
5
5
|
<% end %>
|
6
|
-
<li class=""><%= link_to @crud_helper.title, @crud_helper.root_path %></li>
|
6
|
+
<li class=""><%= link_to @crud_helper.title, crud_models_path(model: @crud_helper.root_path) %></li>
|
7
7
|
<% end %>
|
8
8
|
|
9
9
|
|
@@ -1,2 +1,2 @@
|
|
1
1
|
<%= submit_tag("Salvar", class: "btn btn-primary") %>
|
2
|
-
<%= link_to "Voltar", @url, class: 'btn btn-default', data: {push: 'partial', target: "#form"} %>
|
2
|
+
<%= link_to "Voltar", @url, class: 'btn btn-default', data: {push: 'partial', target: "#form"} %>
|
@@ -11,10 +11,22 @@
|
|
11
11
|
</div>
|
12
12
|
</div>
|
13
13
|
<%unless params[:render] == 'modal'%>
|
14
|
-
<%
|
14
|
+
<% if @record.new_record? %>
|
15
|
+
<% if @crud_associacao.present? %>
|
16
|
+
<% url = create_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao], page: params[:page], q: params[:q]) %>
|
17
|
+
<% else %>
|
18
|
+
<% url = create_crud_path(model: @model.name.underscore, page: params[:page], q: params[:q]) %>
|
19
|
+
<% end %>
|
20
|
+
<% else %>
|
21
|
+
<% if @crud_associacao.present? %>
|
22
|
+
<% url = update_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao], associacao_id: @record.id, page: params[:page], q: params[:q]) %>
|
23
|
+
<% else %>
|
24
|
+
<% url = update_crud_path(model: @model.name.underscore, id: @record.id, page: params[:page], q: params[:q]) %>
|
25
|
+
<% end %>
|
26
|
+
<% end %>
|
15
27
|
<% remote_form = false%>
|
16
28
|
<%else%>
|
17
|
-
<% url = "#{@
|
29
|
+
<% url = "#{@url_str}/#{@record.new_record? ? 'create?render=modal' : @record.id.to_s+'/create?render=modal'}" %>
|
18
30
|
<% remote_form = true%>
|
19
31
|
<%end%>
|
20
32
|
<%= simple_nested_form_for @record, remote: remote_form, html: {class: "form-horizontal"}, url: url do |f| %>
|
@@ -40,7 +52,7 @@
|
|
40
52
|
<div class="col-sm-4 col-sm-offset-2">
|
41
53
|
<%= f.submit "Salvar", class: 'btn btn-primary' %>
|
42
54
|
<%unless params[:render] == 'modal'%>
|
43
|
-
<%= link_to "Voltar",
|
55
|
+
<%= link_to "Voltar", @url, class: 'btn btn-default', data: {push: 'partial', target: "#form"} %>
|
44
56
|
<% end %>
|
45
57
|
</div>
|
46
58
|
</div>
|
@@ -29,12 +29,12 @@
|
|
29
29
|
<% end %>
|
30
30
|
</td>
|
31
31
|
<% elsif record.send(att[:attribute]).respond_to?(:url) and record.send(att[:attribute]).url(:thumb) %>
|
32
|
-
<td><%= image_tag(record.send(att[:attribute]).url(:thumb)) %></td>
|
32
|
+
<td><%= image_tag(record.send(att[:attribute]).url(:thumb)) %></td>
|
33
33
|
<% else %>
|
34
34
|
<% if record.send(att[:attribute]).to_s == "false" or record.send(att[:attribute]).to_s == "true" %>
|
35
|
-
<td><%= record.send(att[:attribute]) ? "Sim" : "Não" %></td>
|
35
|
+
<td><%= record.send(att[:attribute]) ? "Sim" : "Não" %></td>
|
36
36
|
<% else %>
|
37
|
-
<td><%= record.send(att[:attribute]).to_s %></td>
|
37
|
+
<td><%= record.send(att[:attribute]).to_s %></td>
|
38
38
|
<% end %>
|
39
39
|
<% end %>
|
40
40
|
<% else %>
|
@@ -44,8 +44,7 @@
|
|
44
44
|
<td>
|
45
45
|
<%@crud_helper.actions.each do |a|%>
|
46
46
|
<% if ((a[2].present? && a[2].call(record)) || !a[2].present?) %>
|
47
|
-
|
48
|
-
class="btn btn-primary btn-xs" data-push="partial" data-target="#form"><%=a[1]%></a>
|
47
|
+
<%= link_to a[1], action_crud_path(model: @model.name.underscore, id: record.id, acao: a[0], page: params[:page], q: params[:q]), class: "btn btn-primary btn-xs", data: {push: "partial", target: "#form"}%>
|
49
48
|
<% end %>
|
50
49
|
<% end %>
|
51
50
|
<%@crud_helper.actions_links.each do |name, options|%>
|
@@ -64,24 +63,31 @@
|
|
64
63
|
</a>
|
65
64
|
<% end %>
|
66
65
|
<% elsif options[:associacao].present? %>
|
67
|
-
|
68
|
-
<%=name%>
|
69
|
-
</a>
|
66
|
+
<%= link_to 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: "partial", target: "#form"} %>
|
70
67
|
<% elsif options[:partial].present? %>
|
71
68
|
<%= render options[:partial], record: record %>
|
72
69
|
<% end %>
|
73
70
|
<% end %>
|
74
|
-
<%if @crud_helper.view_action &&
|
75
|
-
|
76
|
-
class
|
71
|
+
<%if @crud_helper.view_action && should_view?(@crud_helper, record)%>
|
72
|
+
<% if @crud_associacao.present? %>
|
73
|
+
<%= link_to "Visualizar", 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'} %>
|
74
|
+
<% else %>
|
75
|
+
<%= link_to "Visualizar", 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'} %>
|
76
|
+
<% end %>
|
77
77
|
<% end %>
|
78
|
-
<%if @crud_helper.edit_action &&
|
79
|
-
|
80
|
-
class
|
78
|
+
<%if @crud_helper.edit_action && should_edit?(@crud_helper, record) %>
|
79
|
+
<% if @crud_associacao.present? %>
|
80
|
+
<%= link_to "Editar", 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'} %>
|
81
|
+
<% else %>
|
82
|
+
<%= link_to "Editar", 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'} %>
|
83
|
+
<% end %>
|
81
84
|
<% end %>
|
82
|
-
<%if @crud_helper.destroy_action &&
|
83
|
-
|
84
|
-
class
|
85
|
+
<%if @crud_helper.destroy_action && should_destroy?(@crud_helper, record)%>
|
86
|
+
<% if @crud_associacao.present? %>
|
87
|
+
<%= link_to "Excluir", 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: 'Você tem certeza?'} %>
|
88
|
+
<% else %>
|
89
|
+
<%= link_to "Excluir", 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: 'Você tem certeza?'} %>
|
90
|
+
<% end %>
|
85
91
|
<% end %>
|
86
|
-
</td>
|
92
|
+
</td>
|
87
93
|
<% end %>
|
@@ -1,8 +1,8 @@
|
|
1
1
|
<% if @crud_helper.layout[1].present? and @crud_helper.layout[1].call() and @crud_helper.layout[0] == "escopo_lateral" %>
|
2
2
|
<% if @crud_helper.scopes.present? %>
|
3
3
|
<div class="col-lg-3" style="padding-right:0;">
|
4
|
-
|
5
|
-
|
4
|
+
<div class="ibox float-e-margins" style="padding-top:40px">
|
5
|
+
<div class="ibox-content">
|
6
6
|
<div class="file-manager">
|
7
7
|
<%= render '/crud/scopes' %>
|
8
8
|
</div>
|
@@ -11,7 +11,7 @@
|
|
11
11
|
</div>
|
12
12
|
<% end %>
|
13
13
|
<% end %>
|
14
|
-
<div class="col-lg-<%= @crud_helper.layout[1].present?
|
14
|
+
<div class="col-lg-<%= @crud_helper.layout[1].present? && @crud_helper.layout[1].call() && @crud_helper.layout[0] == 'escopo_lateral' && @crud_helper.scopes.present? ? 9 : 12 %>" style="padding-left:0;">
|
15
15
|
<%= render_crud do %>
|
16
16
|
<div>
|
17
17
|
<%= render "/crud/links" %>
|
@@ -48,4 +48,4 @@
|
|
48
48
|
<%= paginate @records, target: '#form', theme: 'templus'%>
|
49
49
|
</div>
|
50
50
|
<% end %>
|
51
|
-
</div>
|
51
|
+
</div>
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<% if @crud_helper.scopes.present? %>
|
2
2
|
<% if @crud_helper.scopes.class == Array %>
|
3
3
|
<% @crud_helper.scopes.each do |escopo| %>
|
4
|
-
<%= link_to
|
4
|
+
<%= link_to crud_models_path(model: @model.name.underscore, scope: escopo[0]), id: "#{escopo[0]}", data: {push: true, crumb: 'wielka'} do%>
|
5
5
|
<div style="float: left; margin-left: 10px; min-width: 100px; position:relative;">
|
6
6
|
<div class="widget style1 gray-bg" style="padding:15px 0px!important;">
|
7
7
|
<div class="row vertical-align text-center" style="margin:0!important;">
|
@@ -23,4 +23,4 @@
|
|
23
23
|
<% else %>
|
24
24
|
<%= render @crud_helper.scopes %>
|
25
25
|
<% end %>
|
26
|
-
<% end %>
|
26
|
+
<% end %>
|
@@ -8,7 +8,12 @@
|
|
8
8
|
<small class="font-bold"></small>
|
9
9
|
</div>
|
10
10
|
<div class="modal-body">
|
11
|
-
|
11
|
+
<% if @crud_associacao.present? %>
|
12
|
+
<% url = query_crud_associacao_path(model: params[:model], id: params[:id], associacao: params[:associacao]) %>
|
13
|
+
<% else %>
|
14
|
+
<% url = query_crud_path(model: @model.name.underscore) %>
|
15
|
+
<% end %>
|
16
|
+
<%=raro_search_form(@model, 'records','records', url) do%>
|
12
17
|
<%raro_group "#{@crud_helper.title}"%>
|
13
18
|
<%@crud_helper.search_fields.each do |att| %>
|
14
19
|
<% if att[:sf].present? && !att[:sf][:visible_if].nil?%>
|
@@ -22,4 +27,4 @@
|
|
22
27
|
</div>
|
23
28
|
</div>
|
24
29
|
</div>
|
25
|
-
</div>
|
30
|
+
</div>
|
@@ -26,9 +26,9 @@
|
|
26
26
|
<div class="pull-right actions">
|
27
27
|
<% @crud_helper.top_links.each do |link| %>
|
28
28
|
<% if link[:can].present? %>
|
29
|
-
<%=render_link(link,@
|
29
|
+
<%=render_link(link,@url_str) if self.instance_eval &link[:can]%>
|
30
30
|
<% else %>
|
31
|
-
<%=render_link(link,@
|
31
|
+
<%=render_link(link,@url_str)%>
|
32
32
|
<% end %>
|
33
33
|
<%end%>
|
34
34
|
<% if @crud_helper.search_fields.present? %>
|
@@ -37,6 +37,21 @@
|
|
37
37
|
</button>
|
38
38
|
<% end %>
|
39
39
|
</div>
|
40
|
+
<% elsif is_action_show? %>
|
41
|
+
<% if (@crud_helper.present? && @crud_helper.destroy_action) && should_destroy?(@crud_helper, @record) %>
|
42
|
+
<% if @crud_associacao.present? %>
|
43
|
+
<%= link_to "Excluir", 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 pull-right m-l-xs', data: {method: 'delete', confirm: 'Você tem certeza?'} %>
|
44
|
+
<% else %>
|
45
|
+
<%= link_to "Excluir", destroy_crud_path(model: @model.name.underscore, id: @record.id, page: params[:page], q: params[:q]), class: 'btn btn-danger btn-xs pull-right m-l-xs', data: {method: 'delete', confirm: 'Você tem certeza?'} %>
|
46
|
+
<% end %>
|
47
|
+
<% end %>
|
48
|
+
<% if (@crud_helper.present? && @crud_helper.edit_action) && should_edit?(@crud_helper, @record) %>
|
49
|
+
<% if @crud_associacao.present? %>
|
50
|
+
<%= link_to "Editar", 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 pull-right m-l-xs', data: {push: 'partial', target: '#form'} %>
|
51
|
+
<% else %>
|
52
|
+
<%= link_to "Editar", edit_crud_path(model: @model.name.underscore, id: @record.id, page: params[:page], q: params[:q]), class: 'btn btn-primary btn-xs pull-right m-l-xs', data: {push: 'partial', target: '#form'} %>
|
53
|
+
<% end %>
|
54
|
+
<% end %>
|
40
55
|
<% end %>
|
41
56
|
</div>
|
42
57
|
<div class="ibox-content">
|
@@ -48,4 +63,4 @@
|
|
48
63
|
</div>
|
49
64
|
<% else %>
|
50
65
|
<% block.call %>
|
51
|
-
<% end %>
|
66
|
+
<% end %>
|
@@ -1,6 +1,12 @@
|
|
1
1
|
<% content_for :corpo do %>
|
2
2
|
<div id="form" >
|
3
|
-
|
3
|
+
<% if @crud_helper.layout[1].present? and @crud_helper.layout[1].call() and @crud_helper.layout[0] == "escopo_lateral" %>
|
4
|
+
<div class="row">
|
5
|
+
<%= render '/crud/records' %>
|
6
|
+
</div>
|
7
|
+
<% else %>
|
8
|
+
<%= render '/crud/records' %>
|
9
|
+
<% end %>
|
4
10
|
</div>
|
5
11
|
<% end %>
|
6
12
|
|
@@ -1,6 +1,21 @@
|
|
1
1
|
<%= paginator.render do -%>
|
2
2
|
<div class="row">
|
3
|
-
<div class="col-xs-
|
3
|
+
<div class="col-xs-4">
|
4
|
+
<div class="pagination pull-left">
|
5
|
+
<% if @options[:current_page].number < 2 %>
|
6
|
+
<% inicio = 1 %>
|
7
|
+
<% else %>
|
8
|
+
<% inicio = ((@options[:current_page].number - 1) * @options[:per_page]) + 1 %>
|
9
|
+
<% end %>
|
10
|
+
<% if @options[:current_page].last? %>
|
11
|
+
<% fim = @options[:total_count] %>
|
12
|
+
<% else %>
|
13
|
+
<% fim = @options[:current_page].number * @options[:per_page] %>
|
14
|
+
<% end %>
|
15
|
+
Exibindo <%= inicio %> - <%= fim %> de um total de <%= @options[:total_count] %>
|
16
|
+
</div>
|
17
|
+
</div>
|
18
|
+
<div class="col-xs-8">
|
4
19
|
<div class="dataTables_paginate paging_simple_numbers">
|
5
20
|
<ul class="pagination">
|
6
21
|
<%= first_page_tag unless current_page.first? %>
|
data/config/routes.rb
CHANGED
@@ -1,25 +1,25 @@
|
|
1
1
|
Rails.application.routes.draw do
|
2
2
|
# Routes for RaroCrud
|
3
|
-
get '/crud/:model' => "crud#index"
|
4
|
-
get '/crud/:model/:id/edit' => "crud#edit"
|
5
|
-
delete '/crud/:model/:id/destroy' => "crud#destroy"
|
6
|
-
get '/crud/:model/new' => "crud#new"
|
7
|
-
get '/crud/:model/query' => "crud#query"
|
8
|
-
get '/crud/:model/autocomplete' => "crud#autocomplete"
|
9
|
-
post '/crud/:model/create' => "crud#create"
|
10
|
-
patch '/crud/:model/:id/create' => "crud#create"
|
11
|
-
get '/crud/:model/:id/acao/:acao' => "crud#action"
|
12
|
-
get '/crud/:model/:id' => "crud#show"
|
3
|
+
get '/crud/:model' => "crud#index", as: :crud_models
|
4
|
+
get '/crud/:model/:id/edit' => "crud#edit", as: :edit_crud
|
5
|
+
delete '/crud/:model/:id/destroy' => "crud#destroy", as: :destroy_crud
|
6
|
+
get '/crud/:model/new' => "crud#new", as: :new_crud
|
7
|
+
get '/crud/:model/query' => "crud#query", as: :query_crud
|
8
|
+
get '/crud/:model/autocomplete' => "crud#autocomplete", as: :autocomplete_crud
|
9
|
+
post '/crud/:model/create' => "crud#create", as: :create_crud
|
10
|
+
patch '/crud/:model/:id/create' => "crud#create", as: :update_crud
|
11
|
+
get '/crud/:model/:id/acao/:acao' => "crud#action", as: :action_crud
|
12
|
+
get '/crud/:model/:id' => "crud#show", as: :crud_model
|
13
13
|
|
14
14
|
#Routes for RaroCrud Associations
|
15
|
-
get '/crud/:model/:id/:associacao' => "crud#index"
|
16
|
-
get '/crud/:model/:id/:associacao/:associacao_id/edit' => "crud#edit"
|
17
|
-
delete '/crud/:model/:id/:associacao/:associacao_id/destroy' => "crud#destroy"
|
18
|
-
get '/crud/:model/:id/:associacao/new' => "crud#new"
|
19
|
-
get '/crud/:model/:id/:associacao/query' => "crud#query"
|
20
|
-
get '/crud/:model/:id/:associacao/autocomplete' => "crud#autocomplete"
|
21
|
-
post '/crud/:model/:id/:associacao/create' => "crud#create"
|
22
|
-
patch '/crud/:model/:id/:associacao/:associacao_id/create' => "crud#create"
|
23
|
-
get '/crud/:model/:id/:associacao/:associacao_id/acao/:acao' => "crud#action"
|
24
|
-
get '/crud/:model/:id/:associacao/:associacao_id' => "crud#show"
|
15
|
+
get '/crud/:model/:id/:associacao' => "crud#index", as: :crud_associacao_models
|
16
|
+
get '/crud/:model/:id/:associacao/:associacao_id/edit' => "crud#edit", as: :edit_crud_associacao
|
17
|
+
delete '/crud/:model/:id/:associacao/:associacao_id/destroy' => "crud#destroy", as: :destroy_crud_associacao
|
18
|
+
get '/crud/:model/:id/:associacao/new' => "crud#new", as: :new_crud_associacao
|
19
|
+
get '/crud/:model/:id/:associacao/query' => "crud#query", as: :query_crud_associacao
|
20
|
+
get '/crud/:model/:id/:associacao/autocomplete' => "crud#autocomplete", as: :autocomplete_crud_associacao
|
21
|
+
post '/crud/:model/:id/:associacao/create' => "crud#create", as: :create_crud_associacao
|
22
|
+
patch '/crud/:model/:id/:associacao/:associacao_id/create' => "crud#create", as: :update_crud_associacao
|
23
|
+
get '/crud/:model/:id/:associacao/:associacao_id/acao/:acao' => "crud#action", as: :action_crud_associacao
|
24
|
+
get '/crud/:model/:id/:associacao/:associacao_id' => "crud#show", as: :crud_associacao_model
|
25
25
|
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: 1.
|
4
|
+
version: 1.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rodrigo Sol
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2016-
|
12
|
+
date: 2016-05-31 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -133,6 +133,7 @@ extra_rdoc_files: []
|
|
133
133
|
files:
|
134
134
|
- MIT-LICENSE
|
135
135
|
- Rakefile
|
136
|
+
- app/assets/javascripts/link_to.js.erb
|
136
137
|
- app/assets/javascripts/raro_crud.js
|
137
138
|
- app/assets/javascripts/templus_models.js.coffee
|
138
139
|
- app/controllers/crud_controller.rb
|