pg_rails 7.4.3 → 7.5.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.
- 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
|