mdwa_endereco 0.0.1 → 1.0.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.
Files changed (56) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +6 -5
  3. data/Gemfile.lock +135 -0
  4. data/README.md +42 -17
  5. data/lib/generators/mdwa_endereco/install/install_generator.rb +85 -0
  6. data/lib/generators/mdwa_endereco/install/templates/assets/js/endereco.js +35 -0
  7. data/lib/generators/mdwa_endereco/install/templates/db/seeds.rb +5605 -0
  8. data/lib/generators/mdwa_endereco/install/templates/entidades/cidade.rb +32 -0
  9. data/lib/generators/mdwa_endereco/install/templates/entidades/endereco.rb +26 -0
  10. data/lib/generators/mdwa_endereco/install/templates/entidades/estado.rb +20 -0
  11. data/lib/generators/mdwa_endereco/install/templates/locales/mdwa.endereco.en.yml +105 -0
  12. data/lib/generators/mdwa_endereco/install/templates/locales/mdwa.endereco.pt-BR.yml +105 -0
  13. data/lib/generators/mdwa_endereco/install/templates/requisitos/armazenar_enderecos.rb +10 -0
  14. data/lib/generators/mdwa_endereco/install/templates/templates/controllers/cidades_controller.rb +167 -0
  15. data/lib/generators/mdwa_endereco/install/templates/templates/controllers/cidades_controller.rb~ +81 -0
  16. data/lib/generators/mdwa_endereco/install/templates/templates/controllers/enderecos_controller.rb +36 -0
  17. data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb +167 -0
  18. data/lib/generators/mdwa_endereco/install/templates/templates/controllers/estados_controller.rb~ +81 -0
  19. data/lib/generators/mdwa_endereco/install/templates/templates/helpers/cidade.rb +7 -0
  20. data/lib/generators/mdwa_endereco/install/templates/templates/helpers/endereco.rb +7 -0
  21. data/lib/generators/mdwa_endereco/install/templates/templates/helpers/estado.rb +7 -0
  22. data/lib/generators/mdwa_endereco/install/templates/templates/models/cidade.rb +14 -0
  23. data/lib/generators/mdwa_endereco/install/templates/templates/models/endereco.rb +24 -0
  24. data/lib/generators/mdwa_endereco/install/templates/templates/models/estado.rb +10 -0
  25. data/lib/generators/mdwa_endereco/install/templates/templates/models/geoposicionamento.rb +46 -0
  26. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_form.html.erb +18 -0
  27. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_form_fields.html.erb +31 -0
  28. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/_list.html.erb +36 -0
  29. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/create.js.erb +7 -0
  30. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/destroy.js.erb +2 -0
  31. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/edit.html.erb +9 -0
  32. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/index.html.erb +53 -0
  33. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/index.js.erb +1 -0
  34. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/new.html.erb +9 -0
  35. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/show.html.erb +54 -0
  36. data/lib/generators/mdwa_endereco/install/templates/templates/views/cidades/update.js.erb +12 -0
  37. data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form.html.erb +18 -0
  38. data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form_fields.html.erb +50 -0
  39. data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/_form_fields_formatado.html.erb +65 -0
  40. data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/atualizar_dados_cep.js.erb +17 -0
  41. data/lib/generators/mdwa_endereco/install/templates/templates/views/enderecos/gerar_combobox_cidade.js.erb +5 -0
  42. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_form.html.erb +18 -0
  43. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_form_fields.html.erb +13 -0
  44. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/_list.html.erb +31 -0
  45. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/create.js.erb +7 -0
  46. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/destroy.js.erb +2 -0
  47. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/edit.html.erb +9 -0
  48. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/index.html.erb +45 -0
  49. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/index.js.erb +1 -0
  50. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/new.html.erb +9 -0
  51. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/show.html.erb +39 -0
  52. data/lib/generators/mdwa_endereco/install/templates/templates/views/estados/update.js.erb +12 -0
  53. data/lib/mdwa_endereco.rb +1 -0
  54. data/lib/mdwa_endereco/version.rb +2 -1
  55. data/mdwa_endereco.gemspec +1 -0
  56. metadata +75 -18
@@ -0,0 +1,81 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Cidade')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ class A::CidadesController < A::BackendController
7
+
8
+ load_and_authorize_resource :class => "A::Cidade"
9
+
10
+ # Hook for code generations. Do not delete.
11
+ #===controller_init===
12
+
13
+ def index
14
+ @cidades = A::Cidade.paginate :page => params[:page]
15
+
16
+ respond_to do |format|
17
+ format.html
18
+ format.js
19
+ end
20
+ end
21
+
22
+
23
+ def show
24
+ @cidade = A::Cidade.find(params[:id])
25
+
26
+ render :layout => false
27
+ end
28
+
29
+ def new
30
+ @cidade = A::Cidade.new
31
+
32
+ render :layout => false
33
+ end
34
+
35
+ def edit
36
+ @cidade = A::Cidade.find(params[:id])
37
+
38
+ render :layout => false
39
+ end
40
+
41
+ def create
42
+ @cidade = A::Cidade.new(params[:a_cidade])
43
+ saved_ok = @cidade.save
44
+ @system_notice = t('cidades.create_success') if saved_ok
45
+ load_list # loads all cidades to display in the list
46
+
47
+
48
+ respond_to do |format|
49
+ format.js
50
+ end
51
+ end
52
+
53
+ def update
54
+ @cidade = A::Cidade.find(params[:id])
55
+ saved_ok = @cidade.update_attributes(params[:a_cidade])
56
+ @system_notice = t('cidades.update_success') if saved_ok
57
+ load_list # loads all cidades to display in the list
58
+
59
+
60
+ respond_to do |format|
61
+ format.js
62
+ end
63
+ end
64
+
65
+ def destroy
66
+ @cidade = A::Cidade.find(params[:id])
67
+ @system_notice = t('cidades.destroy_success') if @cidade.destroy
68
+ load_list # loads all cidades to display in the list
69
+
70
+ respond_to do |format|
71
+ format.js
72
+ end
73
+ end
74
+
75
+
76
+ private
77
+ def load_list
78
+ @cidades = A::Cidade.paginate :page => 1
79
+ end
80
+
81
+ end
@@ -0,0 +1,36 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Endereco')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ class A::EnderecosController < A::BackendController
7
+
8
+ load_and_authorize_resource :class => "A::Endereco"
9
+
10
+ # Hook for code generations. Do not delete.
11
+ #===controller_init===
12
+
13
+ def gerar_combobox_cidade
14
+ @estado_id = params[:estado] unless params[:estado].blank?
15
+ @cidades = A::Cidade.where( :estado_id => @estado_id )
16
+ respond_to do |format|
17
+ format.js
18
+ end
19
+ end
20
+
21
+ def atualizar_dados_cep
22
+ begin
23
+ @endereco = BuscaEndereco.por_cep(params[:cep])
24
+ @tipo = params[:endereco_tipo]
25
+
26
+ @estado = A::Estado.find_by_acronimo( @endereco[4].downcase )
27
+ @cidade = A::Cidade.where( :nome => @endereco[3], :estado_id => @estado.id ).first
28
+ rescue
29
+ end
30
+
31
+ respond_to do |format|
32
+ format.js
33
+ end
34
+ end
35
+
36
+ end
@@ -0,0 +1,167 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Estado')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ class <%= @model.controller_name %>Controller < <%= (@model.space == 'a') ? 'A::BackendController' : 'ApplicationController' %>
7
+
8
+ <%- if @entity.resource? -%>
9
+ load_and_authorize_resource :class => "<%= @model.klass %>"
10
+ <%- end -%>
11
+
12
+ # Hook for code generations. Do not delete.
13
+ #===controller_init===
14
+
15
+ def index
16
+ conditions = []
17
+ <%-
18
+ atributos_com_filtro = @entity.attributes.values.select {|attr| attr.options[:filtered]}
19
+ associacoes_com_filtro = @entity.associations.values.select {|assoc| assoc.options[:filtered]}
20
+ -%>
21
+ <%- if !atributos_com_filtro.count.zero? -%>
22
+ <%- atributos_com_filtro.each do |atributo| -%>
23
+ <%- if [:integer, :float, :decimal, :boolean].include? atributo.type.to_sym -%>
24
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> = '#{params[:<%= atributo.name %>]}')" unless params[:<%= atributo.name %>].blank?
25
+ <%- elsif [:string, :text].include? atributo.type.to_sym -%>
26
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> LIKE '%#{params[:<%= atributo.name %>]}%')" unless params[:<%= atributo.name %>].blank?
27
+ <%- elsif [:date].include? atributo.type.to_sym -%>
28
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> BETWEEN '#{params[:<%= atributo.name %>_0].to_date}' AND '#{params[:<%= atributo.name %>_1].to_date}')" if !params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
29
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> >= '#{params[:<%= atributo.name %>_0].to_date}')" if !params[:<%= atributo.name %>_0].blank? and params[:<%= atributo.name %>_0].blank?
30
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> <= '#{params[:<%= atributo.name %>_1].to_date}')" if params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
31
+ <%- elsif [:datetime, :timestamp].include? atributo.type.to_sym -%>
32
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> BETWEEN '#{params[:<%= atributo.name %>_0].to_date.beginning_of_day}' AND '#{params[:<%= atributo.name %>_1].to_date.end_of_day}')" if !params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
33
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> >= '#{params[:<%= atributo.name %>_0].to_date.beginning_of_day}')" if !params[:<%= atributo.name %>_0].blank? and params[:<%= atributo.name %>_0].blank?
34
+ conditions << "(<%= @model.plural_name %>.<%= atributo.name %> <= '#{params[:<%= atributo.name %>_1].to_date.end_of_day}')" if params[:<%= atributo.name %>_0].blank? and !params[:<%= atributo.name %>_1].blank?
35
+ <%- end -%>
36
+ <%- end -%>
37
+ <%- end -%>
38
+
39
+ <%- associacoes_com_filtro.each do |associacao| -%>
40
+ conditions << "(<%= @model.plural_name %>.<%= associacao.name %>_id = #{params[:<%= associacao.name %>_id]})" unless params[:<%= associacao.name %>_id].blank?
41
+ <%- end -%>
42
+
43
+ @<%= @model.plural_name %> = <%= @model.klass %>.paginate :page => params[:page], :conditions => conditions.join(' AND ')
44
+
45
+ respond_to do |format|
46
+ format.html
47
+ format.js
48
+ end
49
+ end
50
+
51
+
52
+ def show
53
+ @<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
54
+
55
+ <%- if @entity.ajax? -%>
56
+ render :layout => false
57
+ <%- else -%>
58
+ respond_to do |format|
59
+ format.html
60
+ end
61
+ <%- end -%>
62
+ end
63
+
64
+ def new
65
+ @<%= @model.singular_name %> = <%= @model.klass %>.new
66
+ <%- @model.associations.select {|a| a.nested_one?}.each do |assoc| -%>
67
+ @<%= @model.singular_name %>.<%= assoc.model2.singular_name %> = <%= assoc.model2.klass %>.new
68
+ <%- end -%>
69
+
70
+ <%- if @entity.ajax? -%>
71
+ render :layout => false
72
+ <%- else -%>
73
+ respond_to do |format|
74
+ format.html
75
+ end
76
+ <%- end -%>
77
+ end
78
+
79
+ def edit
80
+ @<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
81
+
82
+ <%- if @entity.ajax? -%>
83
+ render :layout => false
84
+ <%- else -%>
85
+ respond_to do |format|
86
+ format.html
87
+ end
88
+ <%- end -%>
89
+ end
90
+
91
+ def create
92
+ @<%= @model.singular_name %> = <%= @model.klass %>.new(params[:<%= @model.to_params %>])
93
+ saved_ok = @<%= @model.singular_name %>.save
94
+ @system_notice = t('<%= @model.plural_name %>.notice.create') if saved_ok
95
+
96
+ <%- @model.associations.select{|a| a.has_and_belongs_to_many? and a.composition?}.each do |association| -%>
97
+ unless params[:<%= association.model2.plural_name %>].nil?
98
+ @<%= @model.singular_name %>.<%= association.model2.plural_name %>.clear
99
+ params[:<%= association.model2.plural_name %>].each do |<%= association.model2.singular_name.foreign_key %>|
100
+ @<%= @model.singular_name %>.<%= association.model2.plural_name %>.push <%= association.model2.klass %>.find <%= association.model2.singular_name.foreign_key %>
101
+ end
102
+ end
103
+ <%- end -%>
104
+
105
+ respond_to do |format|
106
+ <%- if @entity.ajax? -%>
107
+ format.js
108
+ <%- else -%>
109
+ if saved_ok
110
+ format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
111
+ else
112
+ format.html { render action: "new" }
113
+ end
114
+ <%- end -%>
115
+ end
116
+ end
117
+
118
+ def update
119
+ @<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
120
+ <%- if @entity.user? -%>
121
+ # if password is blank, delete from params
122
+ if params[:<%= @model.object_name %>][:password].blank?
123
+ params[:<%= @model.object_name %>].delete :password
124
+ params[:<%= @model.object_name %>].delete :password_confirmation
125
+ end
126
+ <%- end -%>
127
+ @<%= @model.singular_name %>.attributes = params[:<%= @model.to_params %>]
128
+ saved_ok = @<%= @model.singular_name %>.save
129
+ @system_notice = t('<%= @model.plural_name %>.notice.update') if saved_ok
130
+
131
+ <%- @model.associations.select{|a| a.has_and_belongs_to_many? and a.composition?}.each do |association| -%>
132
+ unless params[:<%= association.model2.plural_name %>].nil?
133
+ @<%= @model.singular_name %>.<%= association.model2.plural_name %>.clear
134
+ params[:<%= association.model2.plural_name %>].each do |<%= association.model2.singular_name.foreign_key %>|
135
+ @<%= @model.singular_name %>.<%= association.model2.plural_name %>.push <%= association.model2.klass %>.find <%= association.model2.singular_name.foreign_key %>
136
+ end
137
+ end
138
+ <%- end -%>
139
+
140
+ respond_to do |format|
141
+ <%- if @entity.ajax? -%>
142
+ format.js
143
+ <%- else -%>
144
+ if saved_ok
145
+ format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
146
+ else
147
+ format.html { render action: "edit" }
148
+ end
149
+ <%- end -%>
150
+ end
151
+ end
152
+
153
+ def destroy
154
+ @<%= @model.singular_name %> = <%= @model.klass %>.find(params[:id])
155
+ @system_notice = t('<%= @model.plural_name %>.notice.destroy') if @<%= @model.singular_name %>.destroy
156
+
157
+ respond_to do |format|
158
+ <%- if @entity.ajax? -%>
159
+ format.js
160
+ <%- else -%>
161
+ format.html { redirect_to <%= @model.object_name.pluralize %>_path, notice: @system_notice }
162
+ <%- end -%>
163
+ end
164
+ end
165
+
166
+
167
+ end
@@ -0,0 +1,81 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Estado')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ class A::EstadosController < A::BackendController
7
+
8
+ load_and_authorize_resource :class => "A::Estado"
9
+
10
+ # Hook for code generations. Do not delete.
11
+ #===controller_init===
12
+
13
+ def index
14
+ @estados = A::Estado.paginate :page => params[:page]
15
+
16
+ respond_to do |format|
17
+ format.html
18
+ format.js
19
+ end
20
+ end
21
+
22
+
23
+ def show
24
+ @estado = A::Estado.find(params[:id])
25
+
26
+ render :layout => false
27
+ end
28
+
29
+ def new
30
+ @estado = A::Estado.new
31
+
32
+ render :layout => false
33
+ end
34
+
35
+ def edit
36
+ @estado = A::Estado.find(params[:id])
37
+
38
+ render :layout => false
39
+ end
40
+
41
+ def create
42
+ @estado = A::Estado.new(params[:a_estado])
43
+ saved_ok = @estado.save
44
+ @system_notice = t('estados.create_success') if saved_ok
45
+ load_list # loads all estados to display in the list
46
+
47
+
48
+ respond_to do |format|
49
+ format.js
50
+ end
51
+ end
52
+
53
+ def update
54
+ @estado = A::Estado.find(params[:id])
55
+ saved_ok = @estado.update_attributes(params[:a_estado])
56
+ @system_notice = t('estados.update_success') if saved_ok
57
+ load_list # loads all estados to display in the list
58
+
59
+
60
+ respond_to do |format|
61
+ format.js
62
+ end
63
+ end
64
+
65
+ def destroy
66
+ @estado = A::Estado.find(params[:id])
67
+ @system_notice = t('estados.destroy_success') if @estado.destroy
68
+ load_list # loads all estados to display in the list
69
+
70
+ respond_to do |format|
71
+ format.js
72
+ end
73
+ end
74
+
75
+
76
+ private
77
+ def load_list
78
+ @estados = A::Estado.paginate :page => 1
79
+ end
80
+
81
+ end
@@ -0,0 +1,7 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Cidade')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ module A::CidadesHelper
7
+ end
@@ -0,0 +1,7 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Endereco')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ module A::EnderecosHelper
7
+ end
@@ -0,0 +1,7 @@
1
+ # -*- encoding : utf-8 -*-
2
+ <%-
3
+ @entity = MDWA::DSL.entity('Estado')
4
+ @model = @entity.generator_model
5
+ -%>
6
+ module A::EstadosHelper
7
+ end
@@ -0,0 +1,14 @@
1
+ # -*- encoding : utf-8 -*-
2
+ class A::Cidade < ActiveRecord::Base
3
+
4
+ attr_accessible :nome, :latitude, :longitude, :populacao, :estado
5
+
6
+ has_many :enderecos, :class_name => 'A::Endereco'
7
+ belongs_to :estado, :class_name => 'A::Estado'
8
+ attr_accessible :estado_id
9
+
10
+ def nome_completo
11
+ "#{nome} - #{estado.acronimo.upcase}"
12
+ end
13
+
14
+ end
@@ -0,0 +1,24 @@
1
+ # -*- encoding : utf-8 -*-
2
+ module A
3
+ class Endereco < ActiveRecord::Base
4
+
5
+ attr_accessible :rua, :numero, :cep, :complemento, :bairro, :cidade_id
6
+
7
+ belongs_to :cidade, :class_name => 'A::Cidade'
8
+
9
+ validates :rua, :cep, :bairro, :cidade_id, :presence => true
10
+
11
+ def nome_completo
12
+ nome = []
13
+ nome << self.rua
14
+ nome << ", #{self.numero}" unless self.numero.blank?
15
+ nome << " - #{self.complemento}" unless self.complemento.blank?
16
+ nome << " - #{self.bairro}"
17
+ nome << " - #{self.cep}"
18
+ nome << " - #{self.cidade.nome_completo}"
19
+ nome.join
20
+ end
21
+
22
+ end
23
+
24
+ end
@@ -0,0 +1,10 @@
1
+ # -*- encoding : utf-8 -*-
2
+
3
+ class A::Estado < ActiveRecord::Base
4
+
5
+ attr_accessible :nome, :acronimo
6
+
7
+
8
+ has_many :cidades, :class_name => 'A::Cidade'
9
+
10
+ end