pg_rails 7.6.0 → 7.6.2

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