eac_rails_base0 0.48.1 → 0.52.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
  SHA256:
3
- metadata.gz: d79378c7112a06fe0f45f800d7199755616c81ab22e8cae3a659c9e58c670a1e
4
- data.tar.gz: de9a2203bcb8d3c047f3b07d9e76e69f5607c289e34e6e3338e9442f888b114b
3
+ metadata.gz: 8e448e7de6f197a4764c52f7adff9462a934463cd03f0807c70e0724239e5559
4
+ data.tar.gz: dca62cf72477ae8e4f316938f3c13c2cd20259df15689e197f000434ad0294ec
5
5
  SHA512:
6
- metadata.gz: 623057d481929806d90b0cdd048ae54421ab8b50c68f6168786156dc96bf00e63b25fca2cbb3985e640945959b4e9f0827a5f03817bda9f44ef170a458ca0ba2
7
- data.tar.gz: bdf5b49636938c5bc82ffb02d41f4e7143dfc0058dfafef98048205e2f68619ede2a5c083f068e37dff42a8c90caebf6039a3781d21176e4e6d3abe7f20dc8ef
6
+ metadata.gz: 9fd308b092cc628c162325f8b126d570bb694369c1c5ee75e055e9cdf4dad7ff93dc49cd773c18926a6f098b59018e32211795eca31ec12cd7b3a66d5f588d33
7
+ data.tar.gz: a954391ed407a58fda0072d9fc36e7d837ec22518025582f2bbd5389a4fbfd41254ce18d484e69d1ac1c4f63094d545ba572ffc3ce80850a3651b737453e1687
@@ -7,9 +7,11 @@ module EacRailsBase0
7
7
  layout 'eac_rails_base0/application'
8
8
  helper ::EacRailsBase0::AppVersionHelper
9
9
  helper ::EacRailsBase0::LayoutHelper
10
+ helper ::EacRailsBase0::MainMenuHelper
10
11
  helper ::EacRailsUtils::FormatterHelper
11
12
  helper ::EacRailsUtils::LinksHelper
12
13
  helper ::EacRailsUtils::OpenGraphProtocolHelper
14
+ helper ::EacRailsBase0::UserMenuHelper
13
15
 
14
16
  # Prevent CSRF attacks by raising an exception.
15
17
  # For APIs, you may want to use :null_session instead.
@@ -3,8 +3,6 @@
3
3
  module EacRailsBase0
4
4
  module LayoutHelper
5
5
  APP_TITLE_METHOD = 'app_title'
6
- APP_MAIN_MENU_ENTRIES_METHOD = 'app_main_menu_entries'
7
- ADMIN_ENTRIES = %w[eac_users_support tasks_scheduler aranha br_railties mailer].freeze
8
6
 
9
7
  def base0_app_title
10
8
  if respond_to?(APP_TITLE_METHOD)
@@ -13,60 +11,5 @@ module EacRailsBase0
13
11
  "Implement the helper method \"#{APP_TITLE_METHOD}\""
14
12
  end
15
13
  end
16
-
17
- def base0_app_main_menu_entries
18
- if respond_to?(APP_MAIN_MENU_ENTRIES_METHOD)
19
- send(APP_MAIN_MENU_ENTRIES_METHOD, base0_app_main_menu_default_entries)
20
- else
21
- base0_app_main_menu_default_entries
22
- end
23
- end
24
-
25
- def base0_app_main_menu_default_entries
26
- {
27
- 'Administração' => base0_app_main_menu_admin_entries
28
- }
29
- end
30
-
31
- def base0_app_main_menu_admin_entries
32
- ADMIN_ENTRIES.map do |identifier|
33
- [::I18n.t("eac_rails_base0.main_menu.admin.#{identifier}"),
34
- send("#{identifier}_main_menu_admin_entries")]
35
- end.to_h
36
- end
37
-
38
- def mailer_main_menu_admin_entries
39
- %w[info send_test].map do |action|
40
- [
41
- t("eac_rails_base0.mailer.#{action}"),
42
- main_app.send("#{action}_eac_rails_base0_mailer_index_path")
43
- ]
44
- end.to_h
45
- end
46
-
47
- def eac_users_support_main_menu_admin_entries
48
- {
49
- ::EacUsersSupport::User.model_name.human(count: 2) => [eac_users_support.admin_users_path]
50
- }
51
- end
52
-
53
- def tasks_scheduler_main_menu_admin_entries
54
- {
55
- t('activerecord.models.scheduled_task.other') => [main_app.status_scheduled_tasks_path]
56
- }
57
- end
58
-
59
- def aranha_main_menu_admin_entries
60
- {
61
- ::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path]
62
- }
63
- end
64
-
65
- def br_railties_main_menu_admin_entries
66
- {
67
- ::BrRailties::FederalUnit.model_name.human(count: 2) => [br_railties.federal_units_path],
68
- ::BrRailties::Municipality.model_name.human(count: 2) => [br_railties.municipalities_path]
69
- }
70
- end
71
14
  end
72
15
  end
@@ -0,0 +1,64 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRailsBase0
4
+ module MainMenuHelper
5
+ APP_MAIN_MENU_ENTRIES_METHOD = 'app_main_menu_entries'
6
+ ADMIN_ENTRIES = %w[eac_users_support tasks_scheduler aranha br_railties mailer].freeze
7
+
8
+ def base0_app_main_menu_entries
9
+ if respond_to?(APP_MAIN_MENU_ENTRIES_METHOD)
10
+ send(APP_MAIN_MENU_ENTRIES_METHOD, base0_app_main_menu_default_entries)
11
+ else
12
+ base0_app_main_menu_default_entries
13
+ end
14
+ end
15
+
16
+ def base0_app_main_menu_default_entries
17
+ {
18
+ 'Administração' => base0_app_main_menu_admin_entries
19
+ }
20
+ end
21
+
22
+ def base0_app_main_menu_admin_entries
23
+ ADMIN_ENTRIES.map do |identifier|
24
+ [::I18n.t("eac_rails_base0.main_menu.admin.#{identifier}"),
25
+ send("#{identifier}_main_menu_admin_entries")]
26
+ end.to_h
27
+ end
28
+
29
+ def mailer_main_menu_admin_entries
30
+ %w[info send_test].map do |action|
31
+ [
32
+ t("eac_rails_base0.mailer.#{action}"),
33
+ main_app.send("#{action}_eac_rails_base0_mailer_index_path")
34
+ ]
35
+ end.to_h
36
+ end
37
+
38
+ def eac_users_support_main_menu_admin_entries
39
+ {
40
+ ::EacUsersSupport::User.model_name.human(count: 2) => [eac_users_support.admin_users_path]
41
+ }
42
+ end
43
+
44
+ def tasks_scheduler_main_menu_admin_entries
45
+ {
46
+ t('activerecord.models.scheduled_task.other') => [main_app.status_scheduled_tasks_path]
47
+ }
48
+ end
49
+
50
+ def aranha_main_menu_admin_entries
51
+ {
52
+ ::Aranha::Address.model_name.human(count: 2) => [aranha.addresses_path],
53
+ ::Aranha::StartPoint.model_name.human(count: 2) => [aranha.start_points_path]
54
+ }
55
+ end
56
+
57
+ def br_railties_main_menu_admin_entries
58
+ {
59
+ ::BrRailties::FederalUnit.model_name.human(count: 2) => [br_railties.federal_units_path],
60
+ ::BrRailties::Municipality.model_name.human(count: 2) => [br_railties.municipalities_path]
61
+ }
62
+ end
63
+ end
64
+ end
@@ -0,0 +1,18 @@
1
+ # frozen_string_literal: true
2
+
3
+ module EacRailsBase0
4
+ module UserMenuHelper
5
+ def base0_user_menu_entries
6
+ r = {}
7
+ if current_user
8
+ r[current_user.to_s] = {
9
+ 'Alterar senha' => [eac_users_support.edit_user_registration_path]
10
+ }
11
+ r['Sair'] = [eac_users_support.destroy_user_session_path, link_method: :delete]
12
+ else
13
+ r['Entrar'] = [eac_users_support.new_user_session_path]
14
+ end
15
+ r
16
+ end
17
+ end
18
+ end
@@ -1,10 +1 @@
1
- <%
2
- user_menu = {}
3
- if current_user
4
- user_menu[current_user.to_s] = [main_app.root_path]
5
- user_menu['Sair'] = [eac_users_support.destroy_user_session_path, link_method: :delete]
6
- else
7
- user_menu['Entrar'] = [eac_users_support.new_user_session_path]
8
- end
9
- %>
10
- <%= bootstrap_dropdown_menu(user_menu, class: 'navbar-right') %>
1
+ <%= bootstrap_dropdown_menu(base0_user_menu_entries, class: 'navbar-right') %>
@@ -1,11 +1,9 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/engine'
4
-
5
3
  Rails.application.routes.draw do
6
4
  mount ::EacRailsUtils::Engine => '/'
7
5
  mount ::EacUsersSupport::Engine => '/'
8
- mount ::Aranha::Engine => '/aranha'
6
+ mount ::Aranha::Rails::Engine => '/aranha'
9
7
  mount ::BrRailties::Engine => '/br_railties'
10
8
 
11
9
  namespace(:eac_rails_base0) do
@@ -58,6 +58,7 @@ module EacRailsBase0
58
58
 
59
59
  can :manage, ::EacUsersSupport::User
60
60
  can :manage, ::Aranha::Address
61
+ can :manage, ::Aranha::StartPoint
61
62
  can :manage, ::BrRailties::FederalUnit
62
63
  can :manage, ::BrRailties::Municipality
63
64
  can :manage, ::ScheduledTask
@@ -13,6 +13,7 @@ module EacRailsBase0
13
13
  map_devise_invitable
14
14
  map_controller 'EacUsersSupport::Admin::Users', :manage, ::EacUsersSupport::User
15
15
  map_controller 'Aranha::Addresses', :manage, ::Aranha::Address
16
+ map_controller 'Aranha::StartPoints', :manage, ::Aranha::StartPoint
16
17
  map_controller 'BrRailties::FederalUnits', :manage, ::BrRailties::FederalUnit
17
18
  map_controller 'BrRailties::Municipalities', :manage, ::BrRailties::Municipality
18
19
  map_controller 'ScheduledTasks', :manage, ::ScheduledTask
@@ -32,7 +32,7 @@ module EacRailsBase0App
32
32
  vars = ::EacRubyUtils::Yaml.load(path.read)
33
33
  raise "\"#{path}\" does not contain a Hash" unless vars.is_a?(::Hash)
34
34
 
35
- vars.each { |name, value| ENV[name.to_s] = value }
35
+ vars.each { |name, value| ENV[name.to_s] = value.to_s }
36
36
  end
37
37
 
38
38
  def setup_envvars
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'aranha/engine'
3
+ require 'aranha/rails/engine'
4
4
  require 'br_railties/engine'
5
5
  require 'eac_rails_utils/engine'
6
6
  require 'eac_users_support/engine'
@@ -12,15 +12,39 @@ RSpec.configure do |config|
12
12
  end
13
13
 
14
14
  FactoryBot.define do
15
- factory :user, class: ::EacUsersSupport::User do
15
+ factory :admin_user, class: ::EacUsersSupport::User do
16
16
  email { 'admin@example.com' }
17
17
  password { 'mysecret' }
18
18
  confirmed_at { ::Time.zone.now }
19
19
  end
20
+
21
+ factory :non_admin_user, class: ::EacUsersSupport::User do
22
+ email { 'nonadmin@example.com' }
23
+ password { 'mysecret' }
24
+ confirmed_at { ::Time.zone.now }
25
+ end
20
26
  end
21
27
 
22
28
  RSpec.shared_context 'when user is admin', shared_context: :metadata do
23
- let(:user) { ::FactoryBot.create(:user) }
29
+ let(:user) { ::FactoryBot.create(:admin_user) }
30
+
31
+ before do
32
+ visit '/users/sign_in'
33
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.email'),
34
+ with: user.email
35
+ fill_in ::I18n.translate!('activerecord.attributes.eac_users_support/user.password'),
36
+ with: user.password
37
+ click_button ::I18n.translate!('devise.log_in')
38
+ end
39
+
40
+ it 'user should be logged' do
41
+ expect(page).to have_content user.email
42
+ expect(::EacUsersSupport::User.current_user).not_to be_nil
43
+ end
44
+ end
45
+
46
+ RSpec.shared_context 'when user is non admin', shared_context: :metadata do
47
+ let(:user) { ::FactoryBot.create(:non_admin_user) }
24
48
 
25
49
  before do
26
50
  visit '/users/sign_in'
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module EacRailsBase0
4
- VERSION = '0.48.1'
4
+ VERSION = '0.52.1'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eac_rails_base0
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.48.1
4
+ version: 0.52.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Esquilo Azul Company
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-10-23 00:00:00.000000000 Z
11
+ date: 2020-12-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: active_scaffold
@@ -31,25 +31,33 @@ dependencies:
31
31
  - !ruby/object:Gem::Version
32
32
  version: 3.5.5
33
33
  - !ruby/object:Gem::Dependency
34
- name: aranha
34
+ name: aranha-parsers
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - "~>"
38
38
  - !ruby/object:Gem::Version
39
- version: '0.14'
40
- - - ">="
41
- - !ruby/object:Gem::Version
42
- version: 0.14.2
39
+ version: '0.6'
43
40
  type: :runtime
44
41
  prerelease: false
45
42
  version_requirements: !ruby/object:Gem::Requirement
46
43
  requirements:
47
44
  - - "~>"
48
45
  - !ruby/object:Gem::Version
49
- version: '0.14'
50
- - - ">="
46
+ version: '0.6'
47
+ - !ruby/object:Gem::Dependency
48
+ name: aranha-rails
49
+ requirement: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - "~>"
52
+ - !ruby/object:Gem::Version
53
+ version: '0.2'
54
+ type: :runtime
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - "~>"
51
59
  - !ruby/object:Gem::Version
52
- version: 0.14.2
60
+ version: '0.2'
53
61
  - !ruby/object:Gem::Dependency
54
62
  name: bootstrap-sass
55
63
  requirement: !ruby/object:Gem::Requirement
@@ -580,7 +588,9 @@ files:
580
588
  - app/controllers/eac_rails_base0/mailer_controller.rb
581
589
  - app/helpers/eac_rails_base0/app_version_helper.rb
582
590
  - app/helpers/eac_rails_base0/layout_helper.rb
591
+ - app/helpers/eac_rails_base0/main_menu_helper.rb
583
592
  - app/helpers/eac_rails_base0/panel_default_helper.rb
593
+ - app/helpers/eac_rails_base0/user_menu_helper.rb
584
594
  - app/mailers/eac_rails_base0/application_mailer.rb
585
595
  - app/mailers/eac_rails_base0/send_test_mailer.rb
586
596
  - app/models/eac_rails_base0/application_record.rb