pg_rails 7.6.0 → 7.6.2

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
  SHA256:
3
- metadata.gz: 65d8b10e159a9378f670fed6dac91756cc87b27c66d3aa776803f010eff4fd34
4
- data.tar.gz: e27911e05aa920930ef4a25a47f4a25d2d9dcd237b535e2b7ff35e1872464319
3
+ metadata.gz: 49f9abe4c2e4521dd99abe5a9220e3bece6ceb0e182c1a7d1fe252d836977bbf
4
+ data.tar.gz: 105da76663a6b29c338c45cb0e46d2663b99c7463a91beb734771f34dd668319
5
5
  SHA512:
6
- metadata.gz: b9a503a2eebcce6024f305a06629deebf419beca24b2a2fb9e5e8b8f0fc7d071beb8175eabaa2da25cbe428dc141001f92dfaca71acdbf6d218062c81042aa01
7
- data.tar.gz: d978b0345f61e377aa98ac94d194cdf9342ef6affd812b57300390cfc82a3c34dc7a11d32c4603026f286da6e3a43fb88f558a46774b7fb2c6e2a460a612bb3b
6
+ metadata.gz: 344c3c89251c75d50c9ace0a1dac02d69ecb1d04e1392d330225c4496e7bfc5c24718cfb98c0c6843c24e5402d22b399d203cdbd6c3826c6f2cb9b8271b7da9e
7
+ data.tar.gz: bb74de3073bb722ee4444a726306db6759c21e3ddc61e3f2a36e988b4ff688d72e31611d6168c2e936366d79c503924056da03ebd8f23dc7e07750cfb0ec2231
@@ -9,9 +9,5 @@ module PgEngine
9
9
 
10
10
  add_breadcrumb 'Inicio', :users_root_path unless using_modal2? || frame_embedded?
11
11
  end
12
-
13
- def home
14
- render html: '<h1>Inicio</h1>'.html_safe, layout: 'pg_layout/centered'
15
- end
16
12
  end
17
13
  end
@@ -8,6 +8,7 @@ module PgEngine
8
8
  def show
9
9
  check_redis
10
10
  check_postgres
11
+ check_websocket
11
12
  render_up
12
13
  end
13
14
 
@@ -25,6 +26,35 @@ module PgEngine
25
26
  raise PgEngine::Error, 'redis is down'
26
27
  end
27
28
 
29
+ # rubocop:disable Metrics/MethodLength
30
+ def check_websocket
31
+ result = nil
32
+ begin
33
+ Timeout.timeout(5) do
34
+ EM.run do
35
+ url = Rails.application.config.action_cable.url
36
+ ws = Faye::WebSocket::Client.new(url)
37
+
38
+ ws.on :message do |event|
39
+ type = JSON.parse(event.data)['type']
40
+ if type == 'welcome'
41
+ result = :success
42
+ ws.close
43
+ EM.stop
44
+ end
45
+ end
46
+ end
47
+ end
48
+ rescue Timeout::Error
49
+ raise PgEngine::Error, 'websocket server is down'
50
+ end
51
+
52
+ return if result == :success
53
+
54
+ raise PgEngine::Error, 'websocket server is down'
55
+ end
56
+ # rubocop:enable Metrics/MethodLength
57
+
28
58
  def render_up
29
59
  render html: html_status(color: '#005500')
30
60
  end
@@ -0,0 +1,9 @@
1
+ module Users
2
+ class DashboardController < PgEngine.config.users_controller
3
+ layout 'pg_layout/containerized'
4
+
5
+ def dashboard
6
+ add_breadcrumb 'Resumen'
7
+ end
8
+ end
9
+ end
@@ -11,7 +11,7 @@ module Users
11
11
  resource.save
12
12
  yield resource if block_given?
13
13
  if resource.persisted?
14
- create_account_for(resource)
14
+ create_account_for(resource) if ActsAsTenant.current_tenant.blank?
15
15
 
16
16
  expire_data_after_sign_in!
17
17
  render_message
@@ -0,0 +1 @@
1
+ h1 Dashboard
@@ -16,6 +16,11 @@ es:
16
16
  index:
17
17
  empty: 'No hay %{model} que mostrar'
18
18
  empty_but_filtered: 'No hay %{model} para los filtros aplicados'
19
+ gender:
20
+ reset_password_token: m
21
+ confirmation_token: m
22
+ unlock_token: m
23
+ current_password: f
19
24
  attributes:
20
25
  external_labels: Etiquetas externas
21
26
  external_source: Fuente externa
@@ -21,6 +21,7 @@ Rails.application.routes.draw do
21
21
  registrations: 'users/registrations'
22
22
  }, failure_app: PgEngine::DeviseFailureApp
23
23
  namespace :users, path: 'u' do
24
+ get 'dashboard', to: 'dashboard#dashboard'
24
25
  post 'notifications/mark_as_seen', to: 'notifications#mark_as_seen'
25
26
  post 'notifications/mark_as_unseen', to: 'notifications#mark_as_unseen'
26
27
  get 'date_jumper/jump'
@@ -33,7 +34,7 @@ Rails.application.routes.draw do
33
34
  # get 'account', to: 'accounts#show'
34
35
  end
35
36
 
36
- get '/u', to: 'users#home', as: :users_root
37
+ get '/u', to: 'users/dashboard#dashboard', as: :users_root
37
38
 
38
39
  namespace :admin, path: 'a' do
39
40
  pg_resource(:emails)
@@ -55,6 +55,8 @@ require 'noticed'
55
55
  require 'ransack'
56
56
  require 'ransack_memory'
57
57
  require 'holidays'
58
+ require 'faye/websocket'
59
+ require 'eventmachine'
58
60
 
59
61
  if Rails.env.local?
60
62
  require 'letter_opener'
@@ -0,0 +1,19 @@
1
+ require 'rails_helper'
2
+
3
+ describe 'DASHBOARD' do
4
+ let(:logged_user) { create :user }
5
+
6
+ before do
7
+ sign_in logged_user
8
+ end
9
+
10
+ it 'when requesting /u' do
11
+ get '/u'
12
+ expect(response.body).to include '<h1>Dashboard</h1>'
13
+ end
14
+
15
+ it 'when requesting /u/dashboard' do
16
+ get '/u/dashboard'
17
+ expect(response.body).to include '<h1>Dashboard</h1>'
18
+ end
19
+ end
@@ -69,6 +69,25 @@ describe 'registrations controller' do
69
69
  expect { subject }.not_to change(Account, :count)
70
70
  end
71
71
  end
72
+
73
+ context 'cuando hay tenant' do
74
+ before do
75
+ host! 'bien.localhost.com'
76
+ create :account, subdomain: 'bien'
77
+ end
78
+
79
+ it do
80
+ expect { subject }.to change(User, :count).by(1)
81
+ end
82
+
83
+ it do
84
+ expect { subject }.to change(UserAccount, :count).by(1)
85
+ end
86
+
87
+ it do
88
+ expect { subject }.not_to change(Account, :count)
89
+ end
90
+ end
72
91
  end
73
92
 
74
93
  describe '#edit' do
@@ -8,7 +8,6 @@ describe 'Notifications' do
8
8
  let(:user) { create :user }
9
9
 
10
10
  before do
11
- driven_by ENV['DRIVER']&.to_sym || :selenium_chrome_headless_iphone
12
11
  login_as user
13
12
  end
14
13
 
@@ -49,4 +49,4 @@ Capybara.register_driver :selenium_chrome_headless_iphone,
49
49
  &chrome_driver_gen(headless: true, emulate_device: 'iPhone 6')
50
50
  Capybara.register_driver :selenium_chrome_debugger, &chrome_driver_gen(headless: false, debugger: true)
51
51
 
52
- Capybara.javascript_driver = ENV.fetch('WEBDRIVER') { 'selenium_chrome_notebook' }.to_sym
52
+ Capybara.javascript_driver = ENV.fetch('DRIVER') { 'selenium_chrome_notebook' }.to_sym
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PgRails
4
- VERSION = '7.6.0'
4
+ VERSION = '7.6.2'
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pg_rails
3
3
  version: !ruby/object:Gem::Version
4
- version: 7.6.0
4
+ version: 7.6.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Martín Rosso
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-09-29 00:00:00.000000000 Z
11
+ date: 2024-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - "~>"
81
81
  - !ruby/object:Gem::Version
82
82
  version: '5.0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: faye-websocket
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.11'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.11'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: acts_as_tenant
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -691,6 +705,7 @@ files:
691
705
  - pg_engine/app/controllers/users/account_switcher_controller.rb
692
706
  - pg_engine/app/controllers/users/accounts_controller.rb
693
707
  - pg_engine/app/controllers/users/confirmations_controller.rb
708
+ - pg_engine/app/controllers/users/dashboard_controller.rb
694
709
  - pg_engine/app/controllers/users/date_jumper_controller.rb
695
710
  - pg_engine/app/controllers/users/notifications_controller.rb
696
711
  - pg_engine/app/controllers/users/registrations_controller.rb
@@ -779,6 +794,7 @@ files:
779
794
  - pg_engine/app/views/public/mensaje_contactos/new.html.slim
780
795
  - pg_engine/app/views/users/account_switcher/list.html.slim
781
796
  - pg_engine/app/views/users/accounts/show.html.slim
797
+ - pg_engine/app/views/users/dashboard/dashboard.html.slim
782
798
  - pg_engine/config/initializers/action_controller.rb
783
799
  - pg_engine/config/initializers/action_mailer.rb
784
800
  - pg_engine/config/initializers/active_admin.rb
@@ -884,6 +900,7 @@ files:
884
900
  - pg_engine/spec/requests/public/webhooks_spec.rb
885
901
  - pg_engine/spec/requests/users/accounts_spec.rb
886
902
  - pg_engine/spec/requests/users/base_controller_spec.rb
903
+ - pg_engine/spec/requests/users/dashboard_spec.rb
887
904
  - pg_engine/spec/requests/users/date_jumper_spec.rb
888
905
  - pg_engine/spec/requests/users/registrations_spec.rb
889
906
  - pg_engine/spec/requests/users/switcher_spec.rb