pg_rails 7.4.3 → 7.5.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/pg_associable/spec/system/associable_spec.rb +5 -4
- data/pg_engine/app/controllers/admin/accounts_controller.rb +4 -6
- data/pg_engine/app/controllers/admin/email_logs_controller.rb +0 -2
- data/pg_engine/app/controllers/admin/emails_controller.rb +0 -2
- data/pg_engine/app/controllers/admin/user_accounts_controller.rb +0 -2
- data/pg_engine/app/controllers/admin/users_controller.rb +2 -3
- data/pg_engine/app/controllers/concerns/pg_engine/require_tenant_set.rb +15 -0
- data/pg_engine/app/controllers/concerns/pg_engine/resource.rb +3 -0
- data/pg_engine/app/controllers/pg_engine/base_controller.rb +49 -7
- data/pg_engine/app/controllers/pg_engine/require_sign_in.rb +1 -1
- data/pg_engine/app/controllers/users/account_switcher_controller.rb +19 -0
- data/pg_engine/app/helpers/pg_engine/form_helper.rb +0 -1
- data/pg_engine/app/helpers/pg_engine/route_helper.rb +11 -5
- data/pg_engine/app/lib/pg_engine/filtros_builder.rb +2 -1
- data/pg_engine/app/models/account.rb +4 -0
- data/pg_engine/app/models/current.rb +5 -5
- data/pg_engine/app/models/user.rb +36 -5
- data/pg_engine/app/models/user_account.rb +1 -0
- data/pg_engine/app/policies/user_account_policy.rb +1 -0
- data/pg_engine/app/policies/user_policy.rb +6 -13
- data/pg_engine/app/views/admin/accounts/_form.html.slim +2 -0
- data/pg_engine/app/views/users/account_switcher/list.html.slim +6 -0
- data/pg_engine/config/initializers/acts_as_tenant.rb +38 -0
- data/pg_engine/config/routes.rb +4 -0
- data/pg_engine/db/migrate/20240905154330_account_tenant_columns.rb +10 -0
- data/pg_engine/db/seeds.rb +13 -4
- data/pg_engine/lib/pg_engine/configuracion.rb +3 -17
- data/pg_engine/lib/pg_engine/engine.rb +0 -1
- data/pg_engine/lib/pg_engine/utils/pg_logger.rb +2 -1
- data/pg_engine/lib/pg_engine.rb +5 -0
- data/pg_engine/spec/controllers/admin/accounts_controller_spec.rb +2 -2
- data/pg_engine/spec/controllers/admin/user_accounts_controller_spec.rb +4 -3
- data/pg_engine/spec/controllers/admin/users_controller_spec.rb +9 -3
- data/pg_engine/spec/models/user_spec.rb +11 -4
- data/pg_engine/spec/requests/base_controller_requests_spec.rb +1 -1
- data/pg_engine/spec/requests/users/base_controller_spec.rb +15 -0
- data/pg_engine/spec/requests/users/switcher_spec.rb +60 -0
- data/pg_engine/spec/system/breadcrumbs_spec.rb +6 -6
- data/pg_engine/spec/system/date_selector_spec.rb +1 -1
- data/pg_engine/spec/system/destroy_spec.rb +3 -3
- data/pg_engine/spec/system/modal_windows_spec.rb +5 -5
- data/pg_engine/spec/system/page_sizes_spec.rb +2 -2
- data/pg_engine/spec/system/signup_spec.rb +4 -4
- data/pg_engine/spec/system/tenants_spec.rb +55 -0
- data/pg_engine/spec/system/tooltips_spec.rb +0 -1
- data/pg_layout/app/views/devise/sessions/new.html.erb +4 -0
- data/pg_layout/app/views/pg_layout/_sidebar.html.erb +8 -0
- data/pg_rails/lib/version.rb +1 -1
- data/pg_scaffold/lib/generators/pg_pundit/templates/policy.rb +1 -1
- data/pg_scaffold/lib/generators/pg_rails/system_spec/templates/system_spec.rb +1 -1
- data/pg_scaffold/lib/generators/pg_rspec/scaffold/templates/controller_spec.rb +0 -2
- metadata +24 -2
@@ -130,7 +130,7 @@ RSpec.describe Admin::AccountsController do
|
|
130
130
|
|
131
131
|
it 'redirects to the created account' do
|
132
132
|
post :create, params: { account: valid_attributes }
|
133
|
-
expect(response).to redirect_to(Account.last
|
133
|
+
expect(response).to redirect_to([:admin, Account.last])
|
134
134
|
end
|
135
135
|
end
|
136
136
|
|
@@ -163,7 +163,7 @@ RSpec.describe Admin::AccountsController do
|
|
163
163
|
it 'redirects to the account' do
|
164
164
|
account = create(:account)
|
165
165
|
put :update, params: { id: account.to_param, account: valid_attributes }
|
166
|
-
expect(response).to redirect_to(
|
166
|
+
expect(response).to redirect_to([:admin, Account.last])
|
167
167
|
end
|
168
168
|
end
|
169
169
|
|
@@ -31,7 +31,7 @@ RSpec.describe Admin::UserAccountsController do
|
|
31
31
|
render_views
|
32
32
|
let!(:user) { create :user }
|
33
33
|
|
34
|
-
let!(:account) {
|
34
|
+
let!(:account) { ActsAsTenant.current_tenant }
|
35
35
|
|
36
36
|
# This should return the minimal set of attributes required to create a valid
|
37
37
|
# UserAccount. As you add validations to UserAccount, be sure to
|
@@ -125,7 +125,7 @@ RSpec.describe Admin::UserAccountsController do
|
|
125
125
|
|
126
126
|
it 'redirects to the created user_account' do
|
127
127
|
post :create, params: { user_account: valid_attributes }
|
128
|
-
expect(response).to redirect_to(UserAccount.last
|
128
|
+
expect(response).to redirect_to([:admin, UserAccount.last])
|
129
129
|
end
|
130
130
|
end
|
131
131
|
|
@@ -151,7 +151,8 @@ RSpec.describe Admin::UserAccountsController do
|
|
151
151
|
it 'redirects to the user_account' do
|
152
152
|
user_account = create(:user_account)
|
153
153
|
put :update, params: { id: user_account.to_param, user_account: valid_attributes }
|
154
|
-
|
154
|
+
|
155
|
+
expect(response).to redirect_to([:admin, UserAccount.last])
|
155
156
|
end
|
156
157
|
end
|
157
158
|
|
@@ -99,12 +99,18 @@ RSpec.describe Admin::UsersController do
|
|
99
99
|
it 'creates a new User' do
|
100
100
|
expect do
|
101
101
|
post :create, params: { user: valid_attributes }
|
102
|
-
end.to change(User, :count).by(1)
|
102
|
+
end.to change(User.unscoped, :count).by(1)
|
103
|
+
end
|
104
|
+
|
105
|
+
it 'dont creates a new account' do
|
106
|
+
expect do
|
107
|
+
post :create, params: { user: valid_attributes }
|
108
|
+
end.not_to change(Account.unscoped, :count)
|
103
109
|
end
|
104
110
|
|
105
111
|
it 'redirects to the created user' do
|
106
112
|
post :create, params: { user: valid_attributes }
|
107
|
-
expect(response).to redirect_to(User.last
|
113
|
+
expect(response).to redirect_to([:admin, User.unscoped.last])
|
108
114
|
end
|
109
115
|
end
|
110
116
|
|
@@ -137,7 +143,7 @@ RSpec.describe Admin::UsersController do
|
|
137
143
|
it 'redirects to the user' do
|
138
144
|
user = create(:user)
|
139
145
|
put :update, params: { id: user.to_param, user: valid_attributes }
|
140
|
-
expect(response).to redirect_to(user.decorate
|
146
|
+
expect(response).to redirect_to([:admin, user.decorate])
|
141
147
|
end
|
142
148
|
end
|
143
149
|
|
@@ -12,7 +12,7 @@ RSpec.describe User do
|
|
12
12
|
end
|
13
13
|
|
14
14
|
it do
|
15
|
-
expect(user.
|
15
|
+
expect(user.default_account).to be_present
|
16
16
|
end
|
17
17
|
|
18
18
|
context 'si es orphan' do
|
@@ -23,11 +23,18 @@ RSpec.describe User do
|
|
23
23
|
end
|
24
24
|
|
25
25
|
it do
|
26
|
-
expect { user.
|
26
|
+
expect { user.default_account }.to raise_error(User::Error)
|
27
27
|
end
|
28
28
|
end
|
29
29
|
|
30
30
|
context 'Si falla la creación de cuenta, que rollbackee la transaction de create user' do
|
31
|
+
# rubocop:disable Lint/SuppressedException
|
32
|
+
subject do
|
33
|
+
user.save
|
34
|
+
rescue User::Error
|
35
|
+
end
|
36
|
+
# rubocop:enable Lint/SuppressedException
|
37
|
+
|
31
38
|
let(:user) do
|
32
39
|
build(:user)
|
33
40
|
end
|
@@ -41,11 +48,11 @@ RSpec.describe User do
|
|
41
48
|
end
|
42
49
|
|
43
50
|
it do
|
44
|
-
expect {
|
51
|
+
expect { subject }.not_to change(described_class, :count)
|
45
52
|
end
|
46
53
|
|
47
54
|
it do
|
48
|
-
|
55
|
+
subject
|
49
56
|
expect(user).not_to be_persisted
|
50
57
|
end
|
51
58
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe 'redirection' do
|
4
|
+
context 'when public controller raises no tenant set' do
|
5
|
+
before do
|
6
|
+
allow(MensajeContacto).to receive(:new).and_raise(ActsAsTenant::Errors::NoTenantSet)
|
7
|
+
end
|
8
|
+
|
9
|
+
it 'shows the error' do
|
10
|
+
get '/contacto'
|
11
|
+
|
12
|
+
expect(response).to have_http_status(:internal_server_error)
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,60 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe 'redirection' do
|
4
|
+
let(:logged_user) { create :user }
|
5
|
+
|
6
|
+
before do
|
7
|
+
sign_in logged_user
|
8
|
+
end
|
9
|
+
|
10
|
+
context 'when switcher controller raises no tenant set' do
|
11
|
+
# This is to prevent a redirect loop
|
12
|
+
before do
|
13
|
+
allow_any_instance_of(User).to receive(:user_accounts).and_raise(ActsAsTenant::Errors::NoTenantSet)
|
14
|
+
end
|
15
|
+
|
16
|
+
it 'shows the error' do
|
17
|
+
get '/u/switcher'
|
18
|
+
|
19
|
+
expect(response).to have_http_status(:internal_server_error)
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
it do
|
24
|
+
get '/u/cosas'
|
25
|
+
|
26
|
+
expect(response).to have_http_status(:ok)
|
27
|
+
end
|
28
|
+
|
29
|
+
context 'when has been removed from account' do
|
30
|
+
let!(:other_account) { create :account }
|
31
|
+
let!(:other_user_account) { logged_user.user_accounts.create(account: other_account) }
|
32
|
+
|
33
|
+
it 'redirects to switcher' do
|
34
|
+
get '/u/cosas'
|
35
|
+
expect(response).to redirect_to users_account_switcher_path
|
36
|
+
follow_redirect!
|
37
|
+
expect(response.body).to include 'Switcher'
|
38
|
+
post "/u/switcher/#{other_user_account.to_param}"
|
39
|
+
expect(response).to redirect_to(root_path)
|
40
|
+
follow_redirect!
|
41
|
+
expect(response.body).to include other_account.to_s
|
42
|
+
other_user_account.destroy!
|
43
|
+
get '/'
|
44
|
+
expect(response).to redirect_to users_account_switcher_path
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
context 'when belongs to other account' do
|
49
|
+
before do
|
50
|
+
create :account, subdomain: 'other'
|
51
|
+
host! 'other.example.com'
|
52
|
+
end
|
53
|
+
|
54
|
+
it do
|
55
|
+
get '/u/cosas'
|
56
|
+
|
57
|
+
expect(response).to redirect_to new_user_session_path
|
58
|
+
end
|
59
|
+
end
|
60
|
+
end
|
@@ -12,7 +12,7 @@ describe 'Breadcrumbs' do
|
|
12
12
|
visit path
|
13
13
|
end
|
14
14
|
|
15
|
-
let(:path) { "/
|
15
|
+
let(:path) { "/a/cosas/#{cosa.id}" }
|
16
16
|
let(:cosa) { create :cosa }
|
17
17
|
let(:logged_user) { create :user, :developer }
|
18
18
|
let(:account) { logged_user.current_account }
|
@@ -25,20 +25,20 @@ describe 'Breadcrumbs' do
|
|
25
25
|
it do
|
26
26
|
visitar
|
27
27
|
|
28
|
-
expect(page).to have_css('nav ol.breadcrumb li').exactly(
|
28
|
+
expect(page).to have_css('nav ol.breadcrumb li').exactly(3)
|
29
29
|
expect(page).to have_css('nav ol.breadcrumb li a').exactly(1)
|
30
30
|
end
|
31
31
|
|
32
32
|
context 'cuando es con nested' do
|
33
33
|
let(:path) do
|
34
34
|
hashid = cosa.categoria_de_cosa.hashid
|
35
|
-
"/
|
35
|
+
"/a/categoria_de_cosas/#{hashid}/cosas/#{cosa.id}"
|
36
36
|
end
|
37
37
|
|
38
38
|
it do
|
39
39
|
visitar
|
40
40
|
|
41
|
-
expect(page).to have_css('nav ol.breadcrumb li').exactly(
|
41
|
+
expect(page).to have_css('nav ol.breadcrumb li').exactly(4)
|
42
42
|
expect(page).to have_css('nav ol.breadcrumb li a').exactly(1)
|
43
43
|
end
|
44
44
|
end
|
@@ -46,14 +46,14 @@ describe 'Breadcrumbs' do
|
|
46
46
|
context 'cuando es con nested y modal' do
|
47
47
|
let(:path) do
|
48
48
|
hashid = cosa.categoria_de_cosa.hashid
|
49
|
-
"/
|
49
|
+
"/a/categoria_de_cosas/#{hashid}"
|
50
50
|
end
|
51
51
|
|
52
52
|
it do
|
53
53
|
visitar
|
54
54
|
find('td span[title=Ver] a').click
|
55
55
|
|
56
|
-
expect(page).to have_css('.modal nav ol.breadcrumb li').exactly(
|
56
|
+
expect(page).to have_css('.modal nav ol.breadcrumb li').exactly(4)
|
57
57
|
expect(page).to have_no_css('.modal nav ol.breadcrumb li a')
|
58
58
|
end
|
59
59
|
end
|
@@ -12,7 +12,7 @@ describe 'Date selector' do
|
|
12
12
|
visit edit_admin_categoria_de_cosa_path(categoria_de_cosa)
|
13
13
|
end
|
14
14
|
|
15
|
-
let(:logged_user) { create :user }
|
15
|
+
let(:logged_user) { create :user, :developer }
|
16
16
|
let(:account) { logged_user.current_account }
|
17
17
|
let(:categoria_de_cosa) { create :categoria_de_cosa, fecha: }
|
18
18
|
let(:fecha) { Date.new(2024, 8, 12) }
|
@@ -19,7 +19,7 @@ describe 'Sign in' do
|
|
19
19
|
before do
|
20
20
|
create_list :cosa, 5
|
21
21
|
login_as user
|
22
|
-
visit '/
|
22
|
+
visit '/a/cosas'
|
23
23
|
end
|
24
24
|
|
25
25
|
it do
|
@@ -40,12 +40,12 @@ describe 'Sign in' do
|
|
40
40
|
|
41
41
|
before do
|
42
42
|
login_as user
|
43
|
-
visit "/
|
43
|
+
visit "/a/cosas/#{cosa.to_param}"
|
44
44
|
end
|
45
45
|
|
46
46
|
it 'muestra el flash' do
|
47
47
|
subject
|
48
|
-
expect(page).to have_current_path('/
|
48
|
+
expect(page).to have_current_path('/a/cosas')
|
49
49
|
expect(page).to have_text('Coso borrado')
|
50
50
|
end
|
51
51
|
end
|
@@ -9,7 +9,7 @@ require 'rails_helper'
|
|
9
9
|
# DRIVER=selenium rspec
|
10
10
|
describe 'Modal windows' do
|
11
11
|
subject(:visitar) do
|
12
|
-
visit '/
|
12
|
+
visit '/a/cosas'
|
13
13
|
end
|
14
14
|
|
15
15
|
let(:logged_user) { create :user, :developer }
|
@@ -38,7 +38,7 @@ describe 'Modal windows' do
|
|
38
38
|
let!(:cosa) { create :cosa, categoria_de_cosa: }
|
39
39
|
|
40
40
|
it do
|
41
|
-
visit '/
|
41
|
+
visit '/a/cosas/' + cosa.to_param
|
42
42
|
click_on 'Ver categoría'
|
43
43
|
expect(page).to have_css '.modal', text: categoria_de_cosa.nombre
|
44
44
|
end
|
@@ -48,7 +48,7 @@ describe 'Modal windows' do
|
|
48
48
|
let!(:cosa) { create :cosa, categoria_de_cosa: }
|
49
49
|
|
50
50
|
it do
|
51
|
-
visit '/
|
51
|
+
visit '/a/cosas/' + cosa.to_param
|
52
52
|
click_on 'Modificar'
|
53
53
|
fill_in 'Nombre', with: ''
|
54
54
|
find('.modal input[type=submit]').click
|
@@ -63,7 +63,7 @@ describe 'Modal windows' do
|
|
63
63
|
before { create :cosa, categoria_de_cosa: }
|
64
64
|
|
65
65
|
it do
|
66
|
-
visit '/
|
66
|
+
visit '/a/cosas'
|
67
67
|
find('span[title=Ver] a').click
|
68
68
|
accept_confirm do
|
69
69
|
find('.modal span[title=Eliminar] a').click
|
@@ -77,7 +77,7 @@ describe 'Modal windows' do
|
|
77
77
|
end
|
78
78
|
|
79
79
|
it do
|
80
|
-
visit '/
|
80
|
+
visit '/a/cosas'
|
81
81
|
find('span[title=Ver] a').click
|
82
82
|
accept_confirm do
|
83
83
|
find('.modal span[title=Eliminar] a').click
|
@@ -17,9 +17,9 @@ describe 'Page sizes' do
|
|
17
17
|
|
18
18
|
describe 'some case' do
|
19
19
|
it do
|
20
|
-
visit '/
|
20
|
+
visit '/a/cosas?page_size=2'
|
21
21
|
expect(page).to have_css('.page-item', count: 6)
|
22
|
-
visit '/
|
22
|
+
visit '/a/cosas?page_size=5'
|
23
23
|
expect(page).to have_css('.page-item', count: 4)
|
24
24
|
end
|
25
25
|
end
|
@@ -34,8 +34,10 @@ describe 'Al Registrarse' do
|
|
34
34
|
check 'user_accept_terms'
|
35
35
|
end
|
36
36
|
|
37
|
+
pending 'expect new account created also'
|
38
|
+
|
37
39
|
it 'guarda el user' do
|
38
|
-
expect { subject }.to change(User, :count).by(1)
|
40
|
+
expect { subject }.to change(User.unscoped, :count).by(1)
|
39
41
|
expect(page).to have_text('Te enviamos un correo electrónico con instrucciones')
|
40
42
|
end
|
41
43
|
end
|
@@ -57,8 +59,6 @@ describe 'Al Registrarse' do
|
|
57
59
|
fill_in 'user_nombre', with: 'despues'
|
58
60
|
fill_in 'user_current_password', with: password
|
59
61
|
instance_exec('input[type=submit]', &find_scroll).click
|
60
|
-
# find('').click
|
61
|
-
sleep 1
|
62
62
|
end
|
63
63
|
|
64
64
|
let(:password) { 'pass1234' }
|
@@ -71,7 +71,7 @@ describe 'Al Registrarse' do
|
|
71
71
|
end
|
72
72
|
|
73
73
|
it do
|
74
|
-
|
74
|
+
subject
|
75
75
|
expect(page).to have_text('Tu cuenta se ha actualizado')
|
76
76
|
end
|
77
77
|
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# Initially generated with PgRails::SystemSpecGenerator
|
2
|
+
# https://github.com/martin-rosso/pg_rails
|
3
|
+
|
4
|
+
require 'rails_helper'
|
5
|
+
|
6
|
+
# By default uses selenium_chrome_headless_iphone driver
|
7
|
+
# run with DRIVER environment variable to override, eg:
|
8
|
+
#
|
9
|
+
# DRIVER=selenium rspec
|
10
|
+
describe 'Tenants' do
|
11
|
+
subject(:visitar) do
|
12
|
+
visit '/u/cosas'
|
13
|
+
end
|
14
|
+
|
15
|
+
let(:logged_user) { create :user }
|
16
|
+
|
17
|
+
before do
|
18
|
+
login_as logged_user
|
19
|
+
end
|
20
|
+
|
21
|
+
describe 'switcher' do
|
22
|
+
it do
|
23
|
+
visitar
|
24
|
+
|
25
|
+
expect(page).to have_text 'No hay cosos que mostrar'
|
26
|
+
end
|
27
|
+
|
28
|
+
context 'when belongs to multiple accounts' do
|
29
|
+
let(:other_account) { create :account }
|
30
|
+
|
31
|
+
before do
|
32
|
+
logged_user.user_accounts.create!(account: other_account)
|
33
|
+
end
|
34
|
+
|
35
|
+
it 'shows the switcher' do
|
36
|
+
visitar
|
37
|
+
|
38
|
+
expect(page).to have_text 'Switcher'
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'switches to account' do
|
42
|
+
visitar
|
43
|
+
|
44
|
+
click_on other_account.to_s
|
45
|
+
expect(page).to have_text 'No hay categorías de cosas que mostrar'
|
46
|
+
end
|
47
|
+
|
48
|
+
it 'shows the profile form' do
|
49
|
+
visit '/users/edit'
|
50
|
+
|
51
|
+
expect(page).to have_text 'Editar Usuario'
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -5,6 +5,14 @@
|
|
5
5
|
</div>
|
6
6
|
<% if user_signed_in? %>
|
7
7
|
<span class="d-inline-block px-3 text-end text-light"><%= Current.user %></span>
|
8
|
+
<%= link_to users_account_switcher_path do %>
|
9
|
+
<% if Rails.env.development? %>
|
10
|
+
<span class="d-block px-3 text-secondary">Tenant: <%= ActsAsTenant.current_tenant || 'Global' %></span>
|
11
|
+
<span class="d-block px-3 text-secondary">Cuenta: <%= Current.account || 'Global' %></span>
|
12
|
+
<% elsif Current.account.present? %>
|
13
|
+
<span class="d-block px-3 text-secondary"><%= Current.account %></span>
|
14
|
+
<% end %>
|
15
|
+
<% end %>
|
8
16
|
<hr>
|
9
17
|
<% end %>
|
10
18
|
<ul class="list-unstyled ps-0">
|
data/pg_rails/lib/version.rb
CHANGED
@@ -31,7 +31,7 @@ class <%= class_name %>Policy < ApplicationPolicy
|
|
31
31
|
# end
|
32
32
|
|
33
33
|
# def base_access_to_record?
|
34
|
-
# base_access_to_collection? && record.account ==
|
34
|
+
# base_access_to_collection? && record.account == ActsAsTenant.current_tenant
|
35
35
|
# end
|
36
36
|
|
37
37
|
# def base_access_to_collection?
|
@@ -170,7 +170,6 @@ RSpec.describe <%= controller_class_name %>Controller do
|
|
170
170
|
<% else -%>
|
171
171
|
post :create, params: { <%= nombre_tabla_completo_singular %>: valid_attributes }
|
172
172
|
<% end -%>
|
173
|
-
# FIXME: redirect to target object
|
174
173
|
expect(response).to redirect_to([:<%= ns_prefix.first %>, <%= class_name %>.last])
|
175
174
|
end
|
176
175
|
end
|
@@ -219,7 +218,6 @@ RSpec.describe <%= controller_class_name %>Controller do
|
|
219
218
|
<% else -%>
|
220
219
|
put :update, params: { id: <%= file_name %>.to_param, <%= nombre_tabla_completo_singular %>: valid_attributes }
|
221
220
|
<% end -%>
|
222
|
-
# FIXME: redirect to target object
|
223
221
|
expect(response).to redirect_to([:<%= ns_prefix.first %>, <%= file_name %>])
|
224
222
|
end
|
225
223
|
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.
|
4
|
+
version: 7.5.1
|
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-
|
11
|
+
date: 2024-09-10 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: acts_as_tenant
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - "~>"
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '1.0'
|
90
|
+
type: :runtime
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - "~>"
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '1.0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
98
|
name: caxlsx_rails
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
@@ -663,6 +677,7 @@ files:
|
|
663
677
|
- pg_engine/app/controllers/admin/eventos_controller.rb
|
664
678
|
- pg_engine/app/controllers/admin/user_accounts_controller.rb
|
665
679
|
- pg_engine/app/controllers/admin/users_controller.rb
|
680
|
+
- pg_engine/app/controllers/concerns/pg_engine/require_tenant_set.rb
|
666
681
|
- pg_engine/app/controllers/concerns/pg_engine/resource.rb
|
667
682
|
- pg_engine/app/controllers/pg_engine/base_controller.rb
|
668
683
|
- pg_engine/app/controllers/pg_engine/devise_controller.rb
|
@@ -670,6 +685,7 @@ files:
|
|
670
685
|
- pg_engine/app/controllers/pg_engine/require_sign_in.rb
|
671
686
|
- pg_engine/app/controllers/public/mensaje_contactos_controller.rb
|
672
687
|
- pg_engine/app/controllers/public/webhooks_controller.rb
|
688
|
+
- pg_engine/app/controllers/users/account_switcher_controller.rb
|
673
689
|
- pg_engine/app/controllers/users/confirmations_controller.rb
|
674
690
|
- pg_engine/app/controllers/users/date_jumper_controller.rb
|
675
691
|
- pg_engine/app/controllers/users/notifications_controller.rb
|
@@ -756,8 +772,10 @@ files:
|
|
756
772
|
- pg_engine/app/views/pg_engine/user_mailer/notification.text.slim
|
757
773
|
- pg_engine/app/views/public/mensaje_contactos/_gracias.html.slim
|
758
774
|
- pg_engine/app/views/public/mensaje_contactos/new.html.slim
|
775
|
+
- pg_engine/app/views/users/account_switcher/list.html.slim
|
759
776
|
- pg_engine/config/initializers/action_mailer.rb
|
760
777
|
- pg_engine/config/initializers/active_admin.rb
|
778
|
+
- pg_engine/config/initializers/acts_as_tenant.rb
|
761
779
|
- pg_engine/config/initializers/anycable.rb
|
762
780
|
- pg_engine/config/initializers/cable_ready.rb
|
763
781
|
- pg_engine/config/initializers/devise.rb
|
@@ -789,6 +807,7 @@ files:
|
|
789
807
|
- pg_engine/db/migrate/20240611000219_create_noticed_tables.noticed.rb
|
790
808
|
- pg_engine/db/migrate/20240611000220_add_notifications_count_to_noticed_event.noticed.rb
|
791
809
|
- pg_engine/db/migrate/20240614130246_create_action_text_tables.action_text.rb
|
810
|
+
- pg_engine/db/migrate/20240905154330_account_tenant_columns.rb
|
792
811
|
- pg_engine/db/seeds.rb
|
793
812
|
- pg_engine/lib/pg_engine.rb
|
794
813
|
- pg_engine/lib/pg_engine/configuracion.rb
|
@@ -852,7 +871,9 @@ files:
|
|
852
871
|
- pg_engine/spec/pg_engine/pdf_preview_generator_spec.rb
|
853
872
|
- pg_engine/spec/requests/admin/eventos_spec.rb
|
854
873
|
- pg_engine/spec/requests/base_controller_requests_spec.rb
|
874
|
+
- pg_engine/spec/requests/users/base_controller_spec.rb
|
855
875
|
- pg_engine/spec/requests/users/date_jumper_spec.rb
|
876
|
+
- pg_engine/spec/requests/users/switcher_spec.rb
|
856
877
|
- pg_engine/spec/system/alerts_spec.rb
|
857
878
|
- pg_engine/spec/system/breadcrumbs_spec.rb
|
858
879
|
- pg_engine/spec/system/date_selector_spec.rb
|
@@ -863,6 +884,7 @@ files:
|
|
863
884
|
- pg_engine/spec/system/page_sizes_spec.rb
|
864
885
|
- pg_engine/spec/system/send_mail_spec.rb
|
865
886
|
- pg_engine/spec/system/signup_spec.rb
|
887
|
+
- pg_engine/spec/system/tenants_spec.rb
|
866
888
|
- pg_engine/spec/system/tooltips_spec.rb
|
867
889
|
- pg_layout/app/assets/stylesheets/animations.scss
|
868
890
|
- pg_layout/app/assets/stylesheets/sidebar.scss
|