templus_models 1.3.0 → 1.3.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 75e5413045e53b19661f659bebb9b87f050a12dd
4
- data.tar.gz: 91595263113973c97aca2ec486e76cda7d6d3be6
3
+ metadata.gz: bfad85131bd19efb453328996e69385d9e4c9342
4
+ data.tar.gz: c8d4b46fddeda767f28b832c3ca9bd460a0aa74d
5
5
  SHA512:
6
- metadata.gz: 0edadf0231626d5bfeeb3ce0c2eb45c4753d85c6fdd7f1915c9f7853f10eb6255ac9868fcc29d51a8b3ab049d5595744e0e4c845290c3cd6d40b32ce8b142c34
7
- data.tar.gz: 6b28f98a08d8da8b056b2c0117e6632fec359a30c1d6387ce9c61dca601fff50a413c4764217c8abf74f74783e4f6fc781cd68a11694f9c480a40917c5cb2993
6
+ metadata.gz: 603316b3e62cc51bda580620a885b7731056106c9a7902735f5d0c6d7b6295b41d6cef997e200f49a37a2e7679fdd0bb7f24578efa61f6e7be1120395bd8a9aa
7
+ data.tar.gz: 483f928f955f6803c94c099bb0e70148848b9ebde9a18da9b2fcc68eb8abeb1773e392fb18e82b29731354e146b13747eda17428c6c2cb7ec8507ceff6df48e7
@@ -21,6 +21,9 @@ function new_record(id,name){
21
21
  text: entity_desc,
22
22
  selected: 'selected'
23
23
  }));
24
+ if($('#' + id).hasClass("chosen")){
25
+ $('#' + id).trigger("chosen:updated");
26
+ }
24
27
  $(model_target).attr('data-saved','false');
25
28
  $(model_target).attr('data-entity-name','')
26
29
  $(model_target).attr('data-entity-id','')
@@ -8,13 +8,13 @@ module CrudHelper
8
8
  params[:action] == action_name ? "active" : nil
9
9
  end
10
10
 
11
- def is_raro_crud(attribute)
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
14
14
  #else
15
15
  @@cruds = Dir[Rails.root.join("app","raro_crud","*.rb")].map{|f| f.split(/\//).last.gsub(/_crud\.rb/,'')}
16
16
  #end
17
- return @@cruds.include?(attribute.to_s)
17
+ return @@cruds.include?(classe.underscore.to_s)
18
18
  end
19
19
 
20
20
  def lista_menus_crud(raro_models)
@@ -109,6 +109,7 @@ module CrudHelper
109
109
  end
110
110
 
111
111
  def render_field(field,f,modelo,record)
112
+ field[:sf][:wrapper] ||= :default
112
113
  if field[:sf].present? && field[:sf][:if].present?
113
114
  return unless field[:sf][:if].call(f.object)
114
115
  end
@@ -167,4 +168,18 @@ module CrudHelper
167
168
  def render_default_actions_crud
168
169
  render "default_actions_crud"
169
170
  end
171
+
172
+ #Permissions
173
+ def shold_view?(crud_helper,record)
174
+ return true if crud_helper.condition_view_action.nil?
175
+ crud_helper.condition_view_action.call(record)
176
+ end
177
+ def shold_edit?(crud_helper,record)
178
+ return true if crud_helper.condition_edit_action.nil?
179
+ crud_helper.condition_edit_action.call(record)
180
+ end
181
+ def shold_destroy?(crud_helper,record)
182
+ return true if crud_helper.condition_destroy_action.nil?
183
+ crud_helper.condition_destroy_action.call(record)
184
+ end
170
185
  end
@@ -1,26 +1,29 @@
1
1
  class RaroCrud
2
- @@order_field = {}
3
- @@per_page = {}
4
- @@index_fields = {}
5
- @@form_fields = {}
6
- @@form_group = {}
7
- @@form_scripts = {}
8
- @@view_fields = {}
9
- @@search_fields = {}
10
- @@test_fields = {}
11
- @@top_links = {}
12
- @@title = {}
13
- @@subtitle_index = {}
14
- @@description_index = {}
15
- @@actions = {}
16
- @@links = {}
17
- @@edit_action = {}
18
- @@destroy_action = {}
19
- @@view_action = {}
20
- @@options_link = {}
21
- @@scopes = {}
22
- @@menus = []
23
- @@index_path = nil
2
+ @@order_field = {}
3
+ @@per_page = {}
4
+ @@index_fields = {}
5
+ @@form_fields = {}
6
+ @@form_group = {}
7
+ @@form_scripts = {}
8
+ @@view_fields = {}
9
+ @@search_fields = {}
10
+ @@test_fields = {}
11
+ @@top_links = {}
12
+ @@title = {}
13
+ @@subtitle_index = {}
14
+ @@description_index = {}
15
+ @@actions = {}
16
+ @@links = {}
17
+ @@edit_action = {}
18
+ @@condition_edit_action = {}
19
+ @@destroy_action = {}
20
+ @@condition_destroy_action = {}
21
+ @@view_action = {}
22
+ @@condition_view_action = {}
23
+ @@options_link = {}
24
+ @@scopes = {}
25
+ @@menus = []
26
+ @@index_path = nil
24
27
 
25
28
  def self.edit_action
26
29
  if @@edit_action[self.to_s.to_sym] == false
@@ -30,6 +33,10 @@ class RaroCrud
30
33
  end
31
34
  end
32
35
 
36
+ def self.condition_edit_action
37
+ (@@condition_edit_action[self.to_s.to_sym]) ? @@condition_edit_action[self.to_s.to_sym] : nil
38
+ end
39
+
33
40
  def self.destroy_action
34
41
  if @@destroy_action[self.to_s.to_sym] == false
35
42
  return false
@@ -37,6 +44,10 @@ class RaroCrud
37
44
  return true
38
45
  end
39
46
  end
47
+
48
+ def self.condition_destroy_action
49
+ (@@condition_destroy_action[self.to_s.to_sym]) ? @@condition_destroy_action[self.to_s.to_sym] : nil
50
+ end
40
51
 
41
52
  def self.view_action
42
53
  if @@view_action[self.to_s.to_sym] == false
@@ -45,6 +56,10 @@ class RaroCrud
45
56
  return true
46
57
  end
47
58
  end
59
+
60
+ def self.condition_view_action
61
+ (@@condition_view_action[self.to_s.to_sym]) ? @@condition_view_action[self.to_s.to_sym] : nil
62
+ end
48
63
 
49
64
  def self.root_path
50
65
  "/crud/#{self.to_s.gsub('Crud', '').underscore}"
@@ -248,15 +263,27 @@ class RaroCrud
248
263
  def self.sem_visualizacao
249
264
  @@view_action[self.to_s.to_sym] = false
250
265
  end
266
+
267
+ def self.visualizacao(condicao)
268
+ @@condition_view_action[self.to_s.to_sym] = condicao
269
+ end
251
270
 
252
271
  def self.sem_edicao
253
272
  @@edit_action[self.to_s.to_sym] = false
254
273
  end
274
+
275
+ def self.edicao(condicao)
276
+ @@condition_edit_action[self.to_s.to_sym] = condicao
277
+ end
255
278
 
256
279
  def self.sem_exclusao
257
280
  @@destroy_action[self.to_s.to_sym] = false
258
281
  end
259
282
 
283
+ def self.exclusao(condicao)
284
+ @@condition_destroy_action[self.to_s.to_sym] = condicao
285
+ end
286
+
260
287
  def self.acoes(method,desc,proc = nil)
261
288
  @@actions[self.to_s.to_sym] = [] unless @@actions[self.to_s.to_sym]
262
289
  @@actions[self.to_s.to_sym].push([method,desc,proc])
@@ -21,12 +21,11 @@
21
21
  <%= simple_nested_form_for @record, remote: remote_form, html: {class: "form-horizontal"}, url: url do |f| %>
22
22
  <%= flash_messages_error(@record.errors) %>
23
23
  <%@crud_helper.form_fields.each do |field|%>
24
- <% if @model.reflect_on_association(field[:attribute]).class == ActiveRecord::Reflection::BelongsToReflection and is_raro_crud(field[:attribute]) %>
24
+ <% if @model.reflect_on_association(field[:attribute]).class == ActiveRecord::Reflection::BelongsToReflection && is_raro_crud(@model.reflect_on_association(field[:attribute]).class_name) && field[:sf][:add_registro].nil?%>
25
25
  <%= render_plus_button(field,f,@model,@record) %>
26
26
  <%else%>
27
27
  <%= render_field(field,f,@model,@record) %>
28
28
  <%end%>
29
-
30
29
  <% end %>
31
30
  <%@crud_helper.form_groups.each do |key, groups|%>
32
31
  <% modelo = @model.reflect_on_association(key.to_s).class_name.constantize %>
@@ -52,15 +52,15 @@
52
52
  </a>
53
53
  <% end %>
54
54
  <% end %>
55
- <%if @crud_helper.view_action%>
55
+ <%if @crud_helper.view_action && shold_view?(@crud_helper, record)%>
56
56
  <a href="/crud/<%=@model.name.underscore%>/<%=record.id%>"
57
57
  class="btn btn-primary btn-xs" data-push="partial" data-target="#form">Visualizar</a>
58
58
  <% end %>
59
- <%if @crud_helper.edit_action%>
59
+ <%if @crud_helper.edit_action && shold_edit?(@crud_helper, record) %>
60
60
  <a href="/crud/<%=@model.name.underscore%>/<%=record.id%>/edit"
61
61
  class="btn btn-primary btn-xs" data-push="partial" data-target="#form">Editar</a>
62
62
  <% end %>
63
- <%if @crud_helper.destroy_action%>
63
+ <%if @crud_helper.destroy_action && shold_destroy?(@crud_helper, record)%>
64
64
  <a href="/crud/<%=@model.name.underscore%>/<%=record.id%>/destroy"
65
65
  class="btn btn-danger btn-xs" data-push="partial" data-target="#form" data-method="delete">Excluir</a>
66
66
  <% end %>
@@ -1,3 +1,4 @@
1
+ <%unless params[:render] == 'modal'%>
1
2
  <div class="wrapper wrapper-content animated fadeInRight">
2
3
  <div class="row">
3
4
  <div class="col-lg-12">
@@ -10,7 +11,7 @@
10
11
  </h5>
11
12
  <% elsif is_action_create? && @model.present? %>
12
13
  <h5>Cadastrar</h5>
13
- <% elsif @record.present? %>
14
+ <% elsif @record.present? && !@record.new_record? %>
14
15
  <h5>
15
16
  <%= @record.to_s %>
16
17
  <small style="margin-left: 2px;">#<%= @record.id %></small>
@@ -21,7 +22,7 @@
21
22
  <small><%= @crud_helper.description(:index) %></small>
22
23
  </h5>
23
24
  <% end %>
24
- <% if is_action_index? || is_action_query?%>
25
+ <% if (@crud_helper.present? && (is_action_index? || is_action_query?))%>
25
26
  <div class="pull-right actions">
26
27
  <% @crud_helper.top_links.each do |link| %>
27
28
  <% if link[:can].present? %>
@@ -44,4 +45,7 @@
44
45
  </div>
45
46
  </div>
46
47
  </div>
47
- </div>
48
+ </div>
49
+ <% else %>
50
+ <% block.call %>
51
+ <% end %>
@@ -4,7 +4,7 @@
4
4
  <%if @saved %>
5
5
  var modal_target = "#modal_new_record." + '<%=@model.name.underscore%>';
6
6
  $(modal_target).attr('data-saved','true')
7
- $(modal_target).attr('data-entity-name','<%=@record.to_s%>')
7
+ $(modal_target).attr('data-entity-name','<%=@record.to_s%>')
8
8
  $(modal_target).attr('data-entity-id','<%=@record.id%>')
9
9
  $(modal_target).modal('hide')
10
10
  <%else%>
@@ -23,11 +23,10 @@
23
23
  </div>
24
24
  </div>
25
25
  </div>
26
-
27
- <% if content_for? :corpo %>
28
- <%= yield :corpo %>
29
- <% end %>
30
- <% if content_for? :modal %>
31
- <%= yield :modal %>
32
- <% end %>
26
+ <% end %>
27
+ <% if content_for? :corpo %>
28
+ <%= yield :corpo %>
29
+ <% end %>
30
+ <% if content_for? :modal %>
31
+ <%= yield :modal %>
33
32
  <% end %>
@@ -1,3 +1,3 @@
1
1
  module TemplusModels
2
- VERSION = "1.3.0"
2
+ VERSION = "1.3.1"
3
3
  end
@@ -4,7 +4,8 @@ class Usuario < ActiveRecord::Base
4
4
  devise :database_authenticatable, :registerable,
5
5
  :recoverable, :rememberable, :trackable, :validatable
6
6
 
7
- belongs_to :papel
7
+ # belongs_to :papel
8
+ belongs_to :perfil, :class_name => "Papel", :foreign_key => "papel_id"
8
9
  validates_presence_of :nome, :email
9
10
 
10
11
  def to_s
@@ -4,21 +4,22 @@ class UsuarioCrud < RaroCrud
4
4
  link_superior "Novo Usuário", id: "novo-button", icon: "plus", link: "new"
5
5
 
6
6
  ordenar_por :nome
7
+ edicao Proc.new {|obj| !obj.root? }
8
+ exclusao Proc.new {|obj| !obj.root? }
9
+ visualizacao Proc.new {|obj| obj.root? }
7
10
 
8
11
  campo_tabela :nome, label: "Nome"
9
12
  campo_tabela :email, label: "email"
10
13
 
11
-
12
14
  campo_formulario :nome, label: "Nome"
13
15
  campo_formulario :email, label: "Email", default_test_pos: "@rarolabs.com"
14
16
  campo_formulario :password, label: "Senha", default_test: "12345678", edit: false
15
17
  campo_formulario :password_confirmation, label: "Confirmação Senha", default_test: "12345678", edit: false
16
- campo_formulario :papel, label: "Papel",
17
- label_method: :descricao
18
+ campo_formulario :perfil, label: "Perfil", label_method: :descricao, input_html: {class: "chosen" , "data-placeholder" => "Escolha o perfil..."}, if: Proc.new {|obj| Usuario.current.root? }
18
19
 
19
20
  campo_visualizacao :nome, label: "Nome"
20
21
  campo_visualizacao :email, label: "email"
21
- campo_visualizacao :papel, label: "Papel"
22
+ campo_visualizacao :perfil, label: "Papel"
22
23
 
23
24
  campo_busca :nome, label: "Nome"
24
25
  campo_busca :email, label: "email"
Binary file
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.3.0
4
+ version: 1.3.1
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: 2015-07-10 00:00:00.000000000 Z
12
+ date: 2015-07-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails