templus_models 1.3.7 → 1.3.8

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: 510e27295e23305a90f21a16b6b705e37f685d0d
4
- data.tar.gz: c7552b4d59c22c3d82575bbfe1e746d628af581a
3
+ metadata.gz: 28d3a455c28b41654369312ed6014300fe3dc8bc
4
+ data.tar.gz: 996142cde911189c50002f296e13837456e7cc72
5
5
  SHA512:
6
- metadata.gz: 96d1b417fdddf97c81f2a8db388f8a0e5b8875b64bd8a398ef6b89bdd3cd788b716d9248dba6408885b8f061dd9b5069587529ba66537f5013b157c465ca2fb7
7
- data.tar.gz: cd6debffb370af594778f22e5073bff6cf10365cd980a25210dbd95be35d0d21b3593541541f82cb46a1e953b59337435ce3f9a158ebe5677ba8cb1b98f7f2af
6
+ metadata.gz: d2d5e917161cc7b28cb02f61546982772daad1b3fba5f3190fa9d9d4e079b433bfbaed3c64e748f5302931f2a0937e229780a55f02d36c15a7c7608b89b71e68
7
+ data.tar.gz: e6a791963701601dad16721f905e5b4157015159460603bd9b59c77d415711101ff213c6d3616fe300ca3d8606936ba7020d69a7a3e6aec0c63d51a151e4a027
@@ -1,5 +1,7 @@
1
1
  function new_record(id,name,model_name){
2
- model_name = name.split("[")[1].split("_id]")[0];
2
+ model_name = name.split("[")
3
+ class_name = model_name[0]
4
+ model_name = model_name[model_name.length - 1].split("_id]")[0];
3
5
 
4
6
  $('#modal_new_record').attr("class","modal inmodal")
5
7
  $('#modal_new_record').addClass(model_name);
@@ -7,7 +9,7 @@ function new_record(id,name,model_name){
7
9
  var model_target = "#modal_new_record." + model_name;
8
10
 
9
11
 
10
- var url = "/crud/" + model_name + "/new.js?render=modal";
12
+ var url = "/crud/" + class_name + "/new.js?render=modal&attribute="+ model_name;
11
13
  var jqxhr = $.ajax(url)
12
14
  .done(function(result) {
13
15
  $(model_target).attr('data-source',id);
@@ -31,6 +31,14 @@ class CrudController < ApplicationController
31
31
 
32
32
  def new
33
33
  authorize! :create, @model if respond_to?(:current_usuario)
34
+ if params[:render] == "modal"
35
+ if @model.reflect_on_association(params[:attribute].to_s).present?
36
+ @model = @model.reflect_on_association(params[:attribute].to_s).class_name.constantize
37
+ else
38
+ @model = params[:attribute].to_s.camelcase.constantize
39
+ end
40
+ end
41
+ @crud_helper = Module.const_get("#{@model}Crud".camelize)
34
42
  @record = @model.new
35
43
  end
36
44
 
@@ -149,21 +157,41 @@ class CrudController < ApplicationController
149
157
  def fields_model
150
158
  fields = []
151
159
  @crud_helper.form_fields.each do |field|
152
- if @model.reflect_on_association(field[:attribute])
153
- if @model.reflect_on_association(field[:attribute]).macro == :belongs_to
154
- fields << @model.reflect_on_association(field[:attribute]).foreign_key
155
- else
156
- fields << {"#{field[:attribute].to_s.singularize}_ids".to_sym => []}
160
+ if field[:sf].present? && field[:sf][:grupo].present?
161
+ fields << permitt_group(fields, field[:attribute], field[:sf][:fields],@model)
162
+ else
163
+ if @model.reflect_on_association(field[:attribute])
164
+ if @model.reflect_on_association(field[:attribute]).macro == :belongs_to
165
+ fields << @model.reflect_on_association(field[:attribute]).foreign_key
166
+ else
167
+ fields << {"#{field[:attribute].to_s.singularize}_ids".to_sym => []}
168
+ end
169
+ elsif @model.columns_hash[field[:attribute].to_s]
170
+ fields << field[:attribute]
157
171
  end
158
- elsif @model.columns_hash[field[:attribute].to_s]
159
- fields << field[:attribute]
160
172
  end
161
173
  end
174
+ #TODO - Deprecated
162
175
  @crud_helper.form_groups.each do |key, groups|
163
- chave = "#{key}_attributes"
164
- group = {chave => [:id, :_destroy]}
165
- groups.each do |field|
166
- modelo = @model.reflect_on_association(key.to_s).class_name.constantize
176
+ fields << permitt_group(fields, key, groups[:fields],@model)
177
+ end
178
+ #Fim - Deprecated
179
+ if @model.respond_to?(:params_permitt)
180
+ @model.params_permitt.each do |field|
181
+ fields << field
182
+ end
183
+ end
184
+ fields
185
+ end
186
+
187
+ def permitt_group(fields, key, groups,mod)
188
+ chave = "#{key}_attributes"
189
+ group = {chave => [:id, :_destroy]}
190
+ groups.each do |field|
191
+ if field[:sf].present? && field[:sf][:grupo].present?
192
+ group[chave] << permitt_group(fields, field[:attribute], field[:sf][:fields], key.to_s.camelcase.singularize.constantize)
193
+ else
194
+ modelo = mod.reflect_on_association(key.to_s).class_name.constantize
167
195
  if modelo.reflect_on_association(field[:attribute])
168
196
  if modelo.reflect_on_association(field[:attribute]).macro == :belongs_to
169
197
  group[chave] << "#{field[:attribute]}_id".to_sym
@@ -173,14 +201,8 @@ class CrudController < ApplicationController
173
201
  elsif (modelo.columns_hash[field[:attribute].to_s] || (modelo.respond_to?(:params_permitt) && modelo.params_permitt.include?(field[:attribute].to_sym)))
174
202
  group[chave] << field[:attribute]
175
203
  end
176
- end
177
- fields << group
204
+ end
178
205
  end
179
- if @model.respond_to?(:params_permitt)
180
- @model.params_permitt.each do |field|
181
- fields << field
182
- end
183
- end
184
- fields
206
+ group
185
207
  end
186
208
  end
@@ -233,7 +233,16 @@ class RaroCrud
233
233
  opts[:input_html] = {name: name, id: name}
234
234
  opts[:id_element] = "##{self.modelo}_#{nome}_id"
235
235
  end
236
-
236
+ if opts.present? && opts[:grupo].present?
237
+ opts[:fields] = []
238
+ opts[:grupo].each do |field|
239
+ attribute = field[:campo]
240
+ field.delete(:campo)
241
+ add_group_formulario(field) if field[:grupo].present?
242
+ opts[:fields].push({attribute: attribute,sf: field})
243
+ end
244
+ opts[:grupo] = true if opts[:grupo].present?
245
+ end
237
246
  @@form_fields[self.to_s.to_sym].push(
238
247
  {
239
248
  attribute: nome
@@ -242,8 +251,21 @@ class RaroCrud
242
251
  if opts.present? && opts[:autocomplete].present?
243
252
  campo_formulario(nome, {as: :hidden})
244
253
  end
245
- end
254
+ end
255
+
256
+ private
257
+ def self.add_group_formulario(field)
258
+ field[:fields] = []
259
+ field[:grupo].each do |f|
260
+ attribute = f[:campo]
261
+ f.delete(:campo)
262
+ add_group_formulario(f) if f[:grupo].present?
263
+ field[:fields].push({attribute: attribute, sf: f})
264
+ end
265
+ field[:grupo] = true
266
+ end
246
267
 
268
+ public
247
269
  def self.campo_visualizacao nome, opts = nil
248
270
  @@view_fields[self.to_s.to_sym] = [] unless @@view_fields[self.to_s.to_sym]
249
271
  @@view_fields[self.to_s.to_sym].push(
@@ -305,9 +327,13 @@ class RaroCrud
305
327
  @@scopes[self.to_s.to_sym] = scopes
306
328
  end
307
329
 
308
- def self.grupo_formulario(attribute,fields)
330
+ def self.grupo_formulario(attribute,name,fields=nil)
331
+ if fields.nil?
332
+ fields = name
333
+ name = attribute.to_s.singularize.titleize
334
+ end
309
335
  @@form_group[self.to_s.to_sym] ||= {}
310
- @@form_group[self.to_s.to_sym][attribute] ||= []
336
+ @@form_group[self.to_s.to_sym][attribute] = {label: name, fields: []}
311
337
  fields.each do |field|
312
338
  value = {}
313
339
  field.each do |atr|
@@ -318,13 +344,14 @@ class RaroCrud
318
344
  value[:sf][atr[0]] = atr[1]
319
345
  end
320
346
  end
321
- @@form_group[self.to_s.to_sym][attribute].push({attribute: value[:attribute],sf: value[:sf]})
347
+ @@form_group[self.to_s.to_sym][attribute][:fields].push({attribute: value[:attribute],sf: value[:sf]})
322
348
  end
323
349
  end
324
350
 
325
351
  def self.adicionar_endereco
326
- @@form_group[self.to_s.to_sym] ||= {}
327
- @@form_group[self.to_s.to_sym][:endereco] ||= []
352
+ @@form_fields[self.to_s.to_sym] = [] unless @@form_fields[self.to_s.to_sym]
353
+ opts = {}
354
+ opts[:fields] = []
328
355
  [
329
356
  {campo: :cep, label: "CEP"},
330
357
  {campo: :logradouro, label: "Endereço"},
@@ -334,17 +361,16 @@ class RaroCrud
334
361
  {campo: :estado, label: "Estado", collection: Estado.order(:sigla).pluck(:sigla)},
335
362
  {campo: :cidade_id, label: "Cidade", collection_if: Proc.new{|f| f.try(:object).try(:estado).try(:present?) ? (f.try(:object).try(:estado).try(:cidades) || []) : []}}
336
363
  ].each do |field|
337
- value = {}
338
- field.each do |atr|
339
- if atr[0] == :campo
340
- value[:attribute] = atr[1]
341
- else
342
- value[:sf] ||= {}
343
- value[:sf][atr[0]] = atr[1]
344
- end
345
- end
346
- @@form_group[self.to_s.to_sym][:endereco].push({attribute: value[:attribute],sf: value[:sf]})
364
+ attribute = field[:campo]
365
+ field.delete(:campo)
366
+ opts[:fields].push({attribute: attribute,sf: field})
347
367
  end
368
+ opts[:grupo] = true
369
+ @@form_fields[self.to_s.to_sym].push(
370
+ {
371
+ attribute: :endereco
372
+ }.merge({sf: opts})
373
+ )
348
374
  @@form_scripts[self.to_s.to_sym] ||= []
349
375
  @@form_scripts[self.to_s.to_sym] << "cidade_estado"
350
376
  end
@@ -20,43 +20,18 @@
20
20
  <%= simple_nested_form_for @record, remote: remote_form, html: {class: "form-horizontal"}, url: url do |f| %>
21
21
  <%= flash_messages_error(@record.errors) %>
22
22
  <%@crud_helper.form_fields.each do |field|%>
23
- <% 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?%>
24
- <%= render_plus_button(field,f,@model,@record) %>
25
- <%else%>
26
- <%= render_field(field,f,@model,@record) %>
27
- <%end%>
23
+ <% if field[:sf].present? && field[:sf][:grupo].present? %>
24
+ <%= render "/crud/form_group", f: f, key: field[:attribute], groups: field[:sf] %>
25
+ <% else %>
26
+ <% 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?%>
27
+ <%= render_plus_button(field,f,@model,@record) %>
28
+ <%else%>
29
+ <%= render_field(field,f,@model,@record) %>
30
+ <%end%>
31
+ <% end %>
28
32
  <% end %>
29
33
  <%@crud_helper.form_groups.each do |key, groups|%>
30
- <% modelo = @model.reflect_on_association(key.to_s).class_name.constantize %>
31
- <% if @record.present? && !@record.send(key).present? %>
32
- <% if [:has_many,:has_and_belongs_to_many].include?(@model.reflect_on_association(key).macro) %>
33
- <% @record.send(key).build %>
34
- <% else %>
35
- <% @record.send("build_#{key}") %>
36
- <% end %>
37
- <% end %>
38
- <%= f.simple_fields_for key do |g| %>
39
- <div class="col-sm-12">
40
- <h3 class="col-sm-2"><%= key.to_s.singularize.titleize %></h3>
41
- </div>
42
- <% groups.each do |field| %>
43
- <%= render_field(field,g,modelo,@record) %>
44
- <% end %>
45
- <% if [:has_many,:has_and_belongs_to_many].include?(@model.reflect_on_association(key).macro) %>
46
- <div class="form-group">
47
- <div class="col-sm-10 col-sm-offset-2">
48
- <%= g.link_to_remove "Remover #{key.to_s.singularize}" %>
49
- </div>
50
- </div>
51
- <% end %>
52
- <% end %>
53
- <% if [:has_many,:has_and_belongs_to_many].include?(@model.reflect_on_association(key).macro) %>
54
- <div class="form-group">
55
- <div class="col-sm-12">
56
- <%= f.link_to_add "Adicionar #{key.to_s.singularize}", key %>
57
- </div>
58
- </div>
59
- <% end %>
34
+ <%= render "/crud/form_group", f: f, key: key, groups: groups %>
60
35
  <% end %>
61
36
  <div class="form-group">
62
37
  <div class="col-sm-4 col-sm-offset-2">
@@ -0,0 +1,38 @@
1
+ <% modelo = f.object.class.reflect_on_association(key.to_s).class_name.constantize %>
2
+ <% if f.object.present? && !f.object.send(key).present? %>
3
+ <% if [:has_many,:has_and_belongs_to_many].include?(f.object.class.reflect_on_association(key).macro) %>
4
+ <% f.object.send(key).build %>
5
+ <% else %>
6
+ <% f.object.send("build_#{key}") %>
7
+ <% end %>
8
+ <% end %>
9
+ <%= f.simple_fields_for key do |g| %>
10
+ <div class="col-sm-12">
11
+ <h3><%= groups[:label] %></h3>
12
+ </div>
13
+ <% groups[:fields].each do |field| %>
14
+ <% if field[:sf].present? && field[:sf][:grupo].present? %>
15
+ <%= render "/crud/form_group", f: g, key: field[:attribute], groups: field[:sf] %>
16
+ <% else %>
17
+ <% if modelo.reflect_on_association(field[:attribute]).class == ActiveRecord::Reflection::BelongsToReflection && is_raro_crud(modelo.reflect_on_association(field[:attribute]).class_name) && field[:sf][:add_registro].nil?%>
18
+ <%= render_plus_button(field,g,modelo,f.object) %>
19
+ <%else%>
20
+ <%= render_field(field,g,modelo,f.object) %>
21
+ <%end%>
22
+ <% end %>
23
+ <% end %>
24
+ <% if [:has_many,:has_and_belongs_to_many].include?(f.object.class.reflect_on_association(key).macro) %>
25
+ <div class="form-group">
26
+ <div class="col-sm-10 col-sm-offset-2">
27
+ <%= g.link_to_remove "Remover #{groups[:label].downcase}" %>
28
+ </div>
29
+ </div>
30
+ <% end %>
31
+ <% end %>
32
+ <% if [:has_many,:has_and_belongs_to_many].include?(f.object.class.reflect_on_association(key).macro) %>
33
+ <div class="form-group">
34
+ <div class="col-sm-12">
35
+ <%= f.link_to_add "Adicionar #{groups[:label].downcase}", key %>
36
+ </div>
37
+ </div>
38
+ <% end %>
@@ -1,7 +1,7 @@
1
1
  <%= content_tag :tr, id: "record-#{record.id}" do %>
2
2
  <%@crud_helper.index_fields.each do |att| %>
3
3
  <% if !att[:visible_if].nil?%>
4
- <% if ((att[:visible_if].class == Proc && !att[:visible_if].call(att)) || (att[:visible_if].class != Proc && !att[:visible_if])) %>
4
+ <% if ((att[:visible_if].class == Proc && !att[:visible_if].call(record)) || (att[:visible_if].class != Proc && !att[:visible_if])) %>
5
5
  <% next %>
6
6
  <% end %>
7
7
  <% end %>
@@ -42,6 +42,9 @@
42
42
  <% end %>
43
43
  <%@crud_helper.actions_links.each do |name, options|%>
44
44
  <% if options[:url].present? %>
45
+ <% if options[:id] %>
46
+ <% options[:url] += options[:url].include?("?") ? "&id=#{record.id}" : "?id=#{record.id}" %>
47
+ <% end %>
45
48
  <% if options[:wiselink].present? && options[:wiselink] %>
46
49
  <a href="<%= options[:url] %>" class="btn btn-success btn-xs" data-push="partial" data-target="#form">
47
50
  <%=name%>
@@ -55,6 +58,8 @@
55
58
  <a href="/crud/<%= options[:associacao].to_s.singularize %>/query?model=<%= options[:associacao].to_s.singularize.camelcase.constantize %>&partial=records&var=records&q[<%= @model.name.underscore %>_id_eq]=<%= record.id %>" class="btn btn-success btn-xs">
56
59
  <%=name%>
57
60
  </a>
61
+ <% elsif options[:partial].present? %>
62
+ <%= render options[:partial], record: record %>
58
63
  <% end %>
59
64
  <% end %>
60
65
  <%if @crud_helper.view_action && shold_view?(@crud_helper, record)%>
@@ -7,7 +7,11 @@
7
7
  <h3 class="font-bold">
8
8
  <%= escopo[1] %>
9
9
  <span class="label label-success pull-right" style="margin-left: 10px;">
10
- <%= @model.send(escopo[0]).count %>
10
+ <% if current_usuario.present? %>
11
+ <%= @model.send(escopo[0]).accessible_by(current_ability, :read).count %>
12
+ <% else %>
13
+ <%= @model.send(escopo[0]).count %>
14
+ <% end %>
11
15
  </span>
12
16
  </h3>
13
17
  </div>
@@ -7,14 +7,14 @@
7
7
  <% @crud_helper.view_fields.each do |field|%>
8
8
  <tr>
9
9
  <% if field[:sf].present? && !field[:sf][:visible_if].nil?%>
10
- <% if ((field[:sf][:visible_if].class == Proc && !field[:sf][:visible_if].call(field)) || (field[:sf][:visible_if].class != Proc && !field[:sf][:visible_if])) %>
10
+ <% if ((field[:sf][:visible_if].class == Proc && !field[:sf][:visible_if].call(@record)) || (field[:sf][:visible_if].class != Proc && !field[:sf][:visible_if])) %>
11
11
  <% next %>
12
12
  <% end %>
13
13
  <% end %>
14
14
  <% if field[:sf].present? && field[:sf][:label].present? %>
15
- <th><%= field[:sf][:label].upcase.to_s %></th>
15
+ <th><%= field[:sf][:label].to_s.mb_chars.upcase.to_s %></th>
16
16
  <% else %>
17
- <th><%= field[:attribute].upcase.to_s %></th>
17
+ <th><%= field[:attribute].to_s.mb_chars.upcase.to_s %></th>
18
18
  <% end %>
19
19
  <% if @model.columns_hash[field[:attribute].to_s].present? && [:date, :datetime].include?(@model.columns_hash[field[:attribute].to_s].type)%>
20
20
  <% if field[:date_format].present?%>
@@ -1,3 +1,3 @@
1
1
  module TemplusModels
2
- VERSION = "1.3.7"
2
+ VERSION = "1.3.8"
3
3
  end
@@ -0,0 +1,5 @@
1
+ class Contato < ActiveRecord::Base
2
+ has_many :telefones
3
+ accepts_nested_attributes_for :telefones, :allow_destroy => true
4
+
5
+ end
@@ -0,0 +1,3 @@
1
+ class Telefone < ActiveRecord::Base
2
+ belongs_to :contato
3
+ end
@@ -6,7 +6,13 @@ class Usuario < ActiveRecord::Base
6
6
 
7
7
  # belongs_to :papel
8
8
  belongs_to :perfil, :class_name => "Papel", :foreign_key => "papel_id"
9
+ belongs_to :novo_papel, :class_name => "Papel", :foreign_key => "novo_papel_id"
9
10
  validates_presence_of :nome, :email
11
+ has_many :contatos
12
+
13
+ accepts_nested_attributes_for :contatos, :allow_destroy => true
14
+
15
+
10
16
 
11
17
  def to_s
12
18
  nome
@@ -18,8 +18,12 @@ class TesteCrud < RaroCrud
18
18
 
19
19
  campo_formulario :nome, label: "Nome"
20
20
  campo_formulario :nome, label: "Nome", if: Proc.new{|o| o.try(:nome) == "Leonardo Raro" || o.new_record?}, value: Proc.new{|o| o.object.try(:teste1).try(:descricao)}
21
+ campo_formulario :teste1, label: "Formulário Teste Grupo", grupo: [
22
+ {campo: :descricao, label: "Descrição"},
23
+ {campo: :descricao, label: "Descrição2"}
24
+ ]
21
25
  grupo_formulario :teste1, [
22
- {campo: :descricao, label: "Descrição"}
26
+ {campo: :descricao, label: "Descrição"},
23
27
  ]
24
28
 
25
29
 
@@ -18,6 +18,10 @@ class UsuarioCrud < RaroCrud
18
18
  campo_formulario :password, label: "Senha", default_test: "12345678", edit: false
19
19
  campo_formulario :password_confirmation, label: "Confirmação Senha", default_test: "12345678", edit: false
20
20
  campo_formulario :perfil, label: "Perfil", label_method: :descricao, input_html: {class: "chosen" , "data-placeholder" => "Escolha o perfil..."}, if: Proc.new {|obj| Usuario.current.root? }
21
+ campo_formulario :novo_papel, label: "Novo Papel", label_method: :descricao, input_html: {class: "chosen" , "data-placeholder" => "Escolha o papel..."}, if: Proc.new {|obj| Usuario.current.root? }
22
+ campo_formulario :contatos, label: "Contatos", grupo: [{campo: :nome, label: "Nome"},
23
+ {campo: :email, label: "Email"},
24
+ {campo: :telefones, label: "Telefones do contato", grupo: [{campo: :numero, label: "Número"}]}]
21
25
 
22
26
  campo_visualizacao :nome, label: "Nome"
23
27
  campo_visualizacao :email, label: "email"
Binary file
@@ -0,0 +1,11 @@
1
+ class CreateContatos < ActiveRecord::Migration
2
+ def change
3
+ create_table :contatos do |t|
4
+ t.string :nome
5
+ t.string :email
6
+ t.references :usuario, index: true, foreign_key: true
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,10 @@
1
+ class CreateTelefones < ActiveRecord::Migration
2
+ def change
3
+ create_table :telefones do |t|
4
+ t.string :numero
5
+ t.references :contato, index: true, foreign_key: true
6
+
7
+ t.timestamps null: false
8
+ end
9
+ end
10
+ end
@@ -0,0 +1,5 @@
1
+ class AddNovoPapelIdToUsuarios < ActiveRecord::Migration
2
+ def change
3
+ add_column :usuarios, :novo_papel_id, :integer
4
+ end
5
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20150422191007) do
14
+ ActiveRecord::Schema.define(version: 20150813200710) do
15
15
 
16
16
  create_table "cidades", force: :cascade do |t|
17
17
  t.string "nome"
@@ -22,6 +22,16 @@ ActiveRecord::Schema.define(version: 20150422191007) do
22
22
 
23
23
  add_index "cidades", ["estado_id"], name: "index_cidades_on_estado_id"
24
24
 
25
+ create_table "contatos", force: :cascade do |t|
26
+ t.string "nome"
27
+ t.string "email"
28
+ t.integer "usuario_id"
29
+ t.datetime "created_at", null: false
30
+ t.datetime "updated_at", null: false
31
+ end
32
+
33
+ add_index "contatos", ["usuario_id"], name: "index_contatos_on_usuario_id"
34
+
25
35
  create_table "enderecos", force: :cascade do |t|
26
36
  t.string "cep"
27
37
  t.string "logradouro"
@@ -67,6 +77,15 @@ ActiveRecord::Schema.define(version: 20150422191007) do
67
77
 
68
78
  add_index "permissoes", ["papel_id"], name: "index_permissoes_on_papel_id"
69
79
 
80
+ create_table "telefones", force: :cascade do |t|
81
+ t.string "numero"
82
+ t.integer "contato_id"
83
+ t.datetime "created_at", null: false
84
+ t.datetime "updated_at", null: false
85
+ end
86
+
87
+ add_index "telefones", ["contato_id"], name: "index_telefones_on_contato_id"
88
+
70
89
  create_table "teste1s", force: :cascade do |t|
71
90
  t.string "descricao"
72
91
  t.integer "teste_id"
@@ -77,7 +96,7 @@ ActiveRecord::Schema.define(version: 20150422191007) do
77
96
  add_index "teste1s", ["teste_id"], name: "index_teste1s_on_teste_id"
78
97
 
79
98
  create_table "testes", force: :cascade do |t|
80
- t.string "nome", limit: 255
99
+ t.string "nome"
81
100
  t.datetime "created_at"
82
101
  t.datetime "updated_at"
83
102
  end
@@ -97,9 +116,11 @@ ActiveRecord::Schema.define(version: 20150422191007) do
97
116
  t.datetime "locked_at"
98
117
  t.integer "papel_id"
99
118
  t.boolean "root", default: false
119
+ t.integer "referencia_id"
100
120
  t.string "nome"
101
121
  t.datetime "created_at"
102
122
  t.datetime "updated_at"
123
+ t.integer "novo_papel_id"
103
124
  end
104
125
 
105
126
  add_index "usuarios", ["email"], name: "index_usuarios_on_email", unique: true
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ nome: MyString
5
+ email: MyString
6
+
7
+ two:
8
+ nome: MyString
9
+ email: MyString
@@ -0,0 +1,9 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ numero: MyString
5
+ contato_id:
6
+
7
+ two:
8
+ numero: MyString
9
+ contato_id:
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class ContatoTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class TelefoneTest < ActiveSupport::TestCase
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ 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.3.7
4
+ version: 1.3.8
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-27 00:00:00.000000000 Z
12
+ date: 2015-08-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
@@ -144,6 +144,7 @@ files:
144
144
  - app/views/crud/_default_actions_crud.html.erb
145
145
  - app/views/crud/_edit.html.erb
146
146
  - app/views/crud/_form.html.erb
147
+ - app/views/crud/_form_group.html.erb
147
148
  - app/views/crud/_links.html.erb
148
149
  - app/views/crud/_new.html.erb
149
150
  - app/views/crud/_record.html.erb
@@ -321,11 +322,13 @@ files:
321
322
  - test/dummy/app/helpers/menu_helper.rb
322
323
  - test/dummy/app/models/ability.rb
323
324
  - test/dummy/app/models/cidade.rb
325
+ - test/dummy/app/models/contato.rb
324
326
  - test/dummy/app/models/endereco.rb
325
327
  - test/dummy/app/models/estado.rb
326
328
  - test/dummy/app/models/papel.rb
327
329
  - test/dummy/app/models/permissao.rb
328
330
  - test/dummy/app/models/reference_observer.rb
331
+ - test/dummy/app/models/telefone.rb
329
332
  - test/dummy/app/models/templus.rb
330
333
  - test/dummy/app/models/teste.rb
331
334
  - test/dummy/app/models/teste1.rb
@@ -388,6 +391,9 @@ files:
388
391
  - test/dummy/db/migrate/20150422182314_create_estados.rb
389
392
  - test/dummy/db/migrate/20150422182356_create_cidades.rb
390
393
  - test/dummy/db/migrate/20150422191007_create_enderecos.rb
394
+ - test/dummy/db/migrate/20150813125909_create_contatos.rb
395
+ - test/dummy/db/migrate/20150813125926_create_telefones.rb
396
+ - test/dummy/db/migrate/20150813200710_add_novo_papel_id_to_usuarios.rb
391
397
  - test/dummy/db/schema.rb
392
398
  - test/dummy/db/seeds.rb
393
399
  - test/dummy/lib/generators/branco/USAGE
@@ -400,8 +406,12 @@ files:
400
406
  - test/dummy/public/500.html
401
407
  - test/dummy/public/favicon.ico
402
408
  - test/dummy/test/controllers/home_controller_test.rb
409
+ - test/dummy/test/fixtures/contatos.yml
410
+ - test/dummy/test/fixtures/telefones.yml
403
411
  - test/dummy/test/fixtures/teste1s.yml
404
412
  - test/dummy/test/fixtures/testes.yml
413
+ - test/dummy/test/models/contato_test.rb
414
+ - test/dummy/test/models/telefone_test.rb
405
415
  - test/dummy/test/models/teste1_test.rb
406
416
  - test/dummy/test/models/teste_test.rb
407
417
  - test/dummy/vendor/assets/images/animated-overlay.gif
@@ -1094,11 +1104,13 @@ test_files:
1094
1104
  - test/dummy/app/helpers/menu_helper.rb
1095
1105
  - test/dummy/app/models/ability.rb
1096
1106
  - test/dummy/app/models/cidade.rb
1107
+ - test/dummy/app/models/contato.rb
1097
1108
  - test/dummy/app/models/endereco.rb
1098
1109
  - test/dummy/app/models/estado.rb
1099
1110
  - test/dummy/app/models/papel.rb
1100
1111
  - test/dummy/app/models/permissao.rb
1101
1112
  - test/dummy/app/models/reference_observer.rb
1113
+ - test/dummy/app/models/telefone.rb
1102
1114
  - test/dummy/app/models/templus.rb
1103
1115
  - test/dummy/app/models/teste.rb
1104
1116
  - test/dummy/app/models/teste1.rb
@@ -1161,6 +1173,9 @@ test_files:
1161
1173
  - test/dummy/db/migrate/20150422182314_create_estados.rb
1162
1174
  - test/dummy/db/migrate/20150422182356_create_cidades.rb
1163
1175
  - test/dummy/db/migrate/20150422191007_create_enderecos.rb
1176
+ - test/dummy/db/migrate/20150813125909_create_contatos.rb
1177
+ - test/dummy/db/migrate/20150813125926_create_telefones.rb
1178
+ - test/dummy/db/migrate/20150813200710_add_novo_papel_id_to_usuarios.rb
1164
1179
  - test/dummy/db/schema.rb
1165
1180
  - test/dummy/db/seeds.rb
1166
1181
  - test/dummy/lib/generators/branco/branco_generator.rb
@@ -1175,8 +1190,12 @@ test_files:
1175
1190
  - test/dummy/Rakefile
1176
1191
  - test/dummy/README.rdoc
1177
1192
  - test/dummy/test/controllers/home_controller_test.rb
1193
+ - test/dummy/test/fixtures/contatos.yml
1194
+ - test/dummy/test/fixtures/telefones.yml
1178
1195
  - test/dummy/test/fixtures/teste1s.yml
1179
1196
  - test/dummy/test/fixtures/testes.yml
1197
+ - test/dummy/test/models/contato_test.rb
1198
+ - test/dummy/test/models/telefone_test.rb
1180
1199
  - test/dummy/test/models/teste1_test.rb
1181
1200
  - test/dummy/test/models/teste_test.rb
1182
1201
  - test/dummy/vendor/assets/images/animated-overlay.gif