templus_models 1.3.0 → 1.3.1

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
  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