pg_rails 7.0.8.pre.alpha.21 → 7.0.8.pre.alpha.23
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_engine/app/controllers/admin/users_controller.rb +1 -1
- data/pg_engine/app/controllers/pg_engine/base_controller.rb +3 -1
- data/pg_engine/app/controllers/pg_engine/devise_controller.rb +6 -6
- data/pg_engine/app/controllers/users/confirmations_controller.rb +17 -0
- data/pg_engine/app/controllers/users/registrations_controller.rb +23 -3
- data/pg_engine/app/views/pg_engine/base/index.html.slim +22 -20
- data/pg_engine/config/initializers/rollbar.rb +2 -2
- data/pg_engine/config/locales/es.yml +14 -0
- data/pg_engine/config/routes.rb +4 -1
- data/pg_engine/lib/pg_engine/engine.rb +4 -6
- data/pg_engine/lib/tasks/auto_anotar_modelos.rake +1 -1
- data/pg_engine/spec/controllers/users/confirmations_controller_spec.rb +33 -0
- data/pg_engine/spec/controllers/users/registrations_controller_spec.rb +32 -0
- data/pg_layout/app/javascript/application.js +13 -2
- data/pg_layout/app/views/devise/registrations/edit.html.erb +6 -0
- data/pg_layout/app/views/devise/registrations/new.html.erb +23 -21
- data/pg_layout/app/views/devise/sessions/new.html.erb +2 -1
- data/pg_layout/app/views/devise/shared/_links.html.erb +30 -19
- data/pg_layout/app/views/layouts/pg_layout/{layout.html.slim → base.html.slim} +1 -1
- data/pg_layout/app/views/layouts/pg_layout/containerized.html.slim +5 -0
- data/pg_layout/app/views/layouts/pg_layout/devise.html.slim +10 -24
- data/pg_layout/app/views/pg_layout/_flash.html.slim +1 -2
- data/pg_layout/app/views/pg_layout/_navbar.html.erb +6 -3
- data/pg_layout/app/views/pg_layout/_rollbar.html.erb +2 -2
- data/pg_rails/lib/version.rb +1 -1
- metadata +6 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 791fd0883c4eaa68bdcdac6f07a6fe6a9aa7d8a3766fb4f6e46d655bb20ff502
|
4
|
+
data.tar.gz: b95cb120a61526e67b647c7531eaf8b306edd9ef7dab778e6f90f33134547415
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 2cc9a7cb7e04cda3597faf07a4fdd22832bdf9cf4abb299f762eec83eb87338ee4e4b65b1381d5b75ace96787e8c71356ed27f9ada651d1553c6b1055fe62fdf
|
7
|
+
data.tar.gz: 41d07925fd7565e2ce348df8c747502c2cdf78540bfa6e672dfb2e1fb753885e1dbbff249106d1fea13218f69b587d6053dbbec29302fbeaa83823b946a369ee
|
@@ -18,7 +18,7 @@ module PgEngine
|
|
18
18
|
|
19
19
|
helper_method :mobile_device?
|
20
20
|
|
21
|
-
layout 'pg_layout/
|
21
|
+
layout 'pg_layout/base'
|
22
22
|
|
23
23
|
# Los flash_types resultantes serían:
|
24
24
|
# [:alert, :notice, :warning, :success]
|
@@ -67,6 +67,8 @@ module PgEngine
|
|
67
67
|
end
|
68
68
|
format.html do
|
69
69
|
if request.path == root_path
|
70
|
+
# TODO!: renderear un 500.html y pg_err
|
71
|
+
sign_out(current_user) if current_user.present?
|
70
72
|
render plain: 'Not authorized'
|
71
73
|
else
|
72
74
|
go_back('Not authorized')
|
@@ -4,15 +4,15 @@ module PgEngine
|
|
4
4
|
|
5
5
|
layout :layout_by_resource
|
6
6
|
|
7
|
+
protected
|
8
|
+
|
7
9
|
def layout_by_resource
|
8
|
-
|
9
|
-
'pg_layout/layout'
|
10
|
-
else
|
11
|
-
'pg_layout/devise'
|
12
|
-
end
|
10
|
+
edit_registration? ? 'pg_layout/devise' : 'pg_layout/containerized'
|
13
11
|
end
|
14
12
|
|
15
|
-
|
13
|
+
def edit_registration?
|
14
|
+
!(controller_name == 'registrations' && action_name.in?(%w[edit update]))
|
15
|
+
end
|
16
16
|
|
17
17
|
def configure_permitted_parameters
|
18
18
|
devise_parameter_sanitizer.permit(:sign_up, keys: %i[nombre apellido])
|
@@ -0,0 +1,17 @@
|
|
1
|
+
module Users
|
2
|
+
class ConfirmationsController < Devise::ConfirmationsController
|
3
|
+
# GET /resource/confirmation?confirmation_token=abcdef
|
4
|
+
def show # rubocop:disable Metrics/AbcSize
|
5
|
+
self.resource = resource_class.confirm_by_token(params[:confirmation_token])
|
6
|
+
yield resource if block_given?
|
7
|
+
|
8
|
+
if resource.errors.empty?
|
9
|
+
flash[:toast] = false
|
10
|
+
set_flash_message!(:notice, :confirmed)
|
11
|
+
respond_with_navigational(resource) { redirect_to after_confirmation_path_for(resource_name, resource) }
|
12
|
+
else
|
13
|
+
respond_with_navigational(resource.errors, status: :unprocessable_entity) { render :new }
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -1,8 +1,28 @@
|
|
1
1
|
module Users
|
2
2
|
class RegistrationsController < Devise::RegistrationsController
|
3
|
-
|
4
|
-
|
5
|
-
|
3
|
+
# POST /resource
|
4
|
+
def create
|
5
|
+
build_resource(sign_up_params)
|
6
|
+
|
7
|
+
resource.save
|
8
|
+
yield resource if block_given?
|
9
|
+
if resource.persisted?
|
10
|
+
expire_data_after_sign_in!
|
11
|
+
render_message
|
12
|
+
else
|
13
|
+
clean_up_passwords resource
|
14
|
+
set_minimum_password_length
|
15
|
+
respond_with resource
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def render_message
|
20
|
+
msg = <<~HTML
|
21
|
+
<div class="alert alert-info">
|
22
|
+
#{I18n.t 'devise.registrations.signed_up_but_unconfirmed'}
|
23
|
+
</div>
|
24
|
+
HTML
|
25
|
+
render turbo_stream: turbo_stream.update('form-signup', msg)
|
6
26
|
end
|
7
27
|
end
|
8
28
|
end
|
@@ -1,27 +1,29 @@
|
|
1
1
|
- content_for(:title, @clase_modelo.nombre_plural)
|
2
2
|
- content_for :actions do
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
3
|
+
- if @filtros.present?
|
4
|
+
button.btn.btn-sm.btn-outline-primary[type="button" data-bs-toggle="collapse"
|
5
|
+
data-bs-target="#filtros" aria-expanded="false"
|
6
|
+
aria-controls="filtros"]
|
7
|
+
span.bi.bi-funnel-fill
|
8
|
+
span.d-none.d-sm-inline Filtrar
|
9
|
+
.ms-1
|
9
10
|
= @clase_modelo.new.decorate.new_link
|
10
11
|
|
11
|
-
|
12
|
-
.
|
13
|
-
.
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
12
|
+
- if @filtros.present?
|
13
|
+
.collapse.border-bottom#filtros class="#{ 'show' if any_filter? }"
|
14
|
+
.d-flex.align-items-center.p-2
|
15
|
+
.px-2.d-none.d-sm-inline-block
|
16
|
+
span.bi.bi-funnel-fill
|
17
|
+
= form_tag nil, class: '', method: :get do
|
18
|
+
.row.g-1
|
19
|
+
= @filtros.filtros_html
|
20
|
+
.col-auto
|
21
|
+
= button_tag class: 'btn btn-sm btn-primary col-auto' do
|
22
|
+
span.bi.bi-search
|
23
|
+
.col-auto
|
24
|
+
= link_to namespaced_path(@clase_modelo, clean: true),
|
25
|
+
class: 'btn btn-sm btn-secondary col-auto' do
|
26
|
+
| Limpiar
|
25
27
|
|
26
28
|
div
|
27
29
|
- if @collection.any?
|
@@ -2,10 +2,10 @@ Rollbar.configure do |config|
|
|
2
2
|
# Without configuration, Rollbar is enabled in all environments.
|
3
3
|
# To disable in specific environments, set config.enabled=false.
|
4
4
|
|
5
|
-
config.access_token = Rails.application.credentials.rollbar
|
5
|
+
config.access_token = Rails.application.credentials.rollbar&.access_token_server
|
6
6
|
|
7
7
|
# Here we'll disable in 'test':
|
8
|
-
if Rails.env.
|
8
|
+
if Rails.env.local?
|
9
9
|
config.enabled = false
|
10
10
|
end
|
11
11
|
|
@@ -46,3 +46,17 @@ es:
|
|
46
46
|
messages:
|
47
47
|
blank: ''
|
48
48
|
empty: ''
|
49
|
+
devise:
|
50
|
+
registrations:
|
51
|
+
new:
|
52
|
+
sign_up: Crear una cuenta
|
53
|
+
passwords:
|
54
|
+
new:
|
55
|
+
send_me_reset_password_instructions: Enviar instrucciones para restablecer contraseña
|
56
|
+
forgot_your_password: ¿Olvidaste tu contraseña?
|
57
|
+
shared:
|
58
|
+
links:
|
59
|
+
sign_up: Crear una cuenta
|
60
|
+
forgot_your_password: ¿Olvidaste tu contraseña?
|
61
|
+
sign_out: Cerrar sesión
|
62
|
+
didn_t_receive_confirmation_instructions: ¿No recibiste las instrucciones para confirmar tu cuenta?
|
data/pg_engine/config/routes.rb
CHANGED
@@ -1,7 +1,10 @@
|
|
1
1
|
include PgEngine::RouteHelpers
|
2
2
|
|
3
3
|
Rails.application.routes.draw do
|
4
|
-
devise_for :users, controllers: {
|
4
|
+
devise_for :users, controllers: {
|
5
|
+
confirmations: 'users/confirmations',
|
6
|
+
registrations: 'users/registrations'
|
7
|
+
}
|
5
8
|
namespace :admin, path: 'a' do
|
6
9
|
pg_resource(:users)
|
7
10
|
pg_resource(:accounts)
|
@@ -13,12 +13,10 @@ module PgEngine
|
|
13
13
|
g.fallbacks[:pg_active_record] = :active_record
|
14
14
|
end
|
15
15
|
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
FactoryBot.definition_file_paths << "#{root}/spec/factories"
|
21
|
-
end
|
16
|
+
initializer 'pg_engine.set_factory_paths', after: 'factory_bot.set_factory_paths' do
|
17
|
+
# Para que tome las factories de pg_engine/spec/factories
|
18
|
+
# además de las de dummy/spec/factories
|
19
|
+
FactoryBot.definition_file_paths << "#{root}/spec/factories"
|
22
20
|
end
|
23
21
|
|
24
22
|
initializer 'configurar_pg_rails' do
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'rails_helper'
|
2
|
+
|
3
|
+
describe Users::ConfirmationsController do
|
4
|
+
render_views
|
5
|
+
|
6
|
+
before do
|
7
|
+
@request.env['devise.mapping'] = Devise.mappings[:user] # rubocop:disable RSpec/InstanceVariable
|
8
|
+
end
|
9
|
+
|
10
|
+
describe '#show sin el token' do
|
11
|
+
subject { get :show }
|
12
|
+
|
13
|
+
it do
|
14
|
+
subject
|
15
|
+
expect(response).to have_http_status(:ok)
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe '#show con el token' do
|
20
|
+
subject { get :show, params: { confirmation_token: 'bla' } }
|
21
|
+
|
22
|
+
let(:user) { create :user, confirmed_at: nil, confirmation_token: 'bla' }
|
23
|
+
|
24
|
+
it do
|
25
|
+
subject
|
26
|
+
expect(response).to have_http_status(:ok)
|
27
|
+
end
|
28
|
+
|
29
|
+
it do
|
30
|
+
expect { subject }.to change { user.reload.confirmed_at }.from(nil).to(be_present)
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'rails_helper'
|
2
2
|
|
3
3
|
describe Users::RegistrationsController do
|
4
|
+
render_views
|
5
|
+
|
4
6
|
before do
|
5
7
|
# rubocop:disable RSpec/InstanceVariable
|
6
8
|
@request.env['devise.mapping'] = Devise.mappings[:user]
|
@@ -16,6 +18,36 @@ describe Users::RegistrationsController do
|
|
16
18
|
end
|
17
19
|
end
|
18
20
|
|
21
|
+
describe '#create' do
|
22
|
+
subject do
|
23
|
+
post :create, params: { user: { nombre:, apellido:, email:, password:, password_confirmation: } }
|
24
|
+
end
|
25
|
+
|
26
|
+
let(:nombre) { Faker::Name.first_name }
|
27
|
+
let(:apellido) { Faker::Name.last_name }
|
28
|
+
let(:email) { Faker::Internet.email }
|
29
|
+
let(:password) { '123123' }
|
30
|
+
let(:password_confirmation) { password }
|
31
|
+
|
32
|
+
it do
|
33
|
+
expect { subject }.to change(User, :count).by(1)
|
34
|
+
end
|
35
|
+
|
36
|
+
it do
|
37
|
+
subject
|
38
|
+
expect(response.body).to include I18n.t('devise.registrations.signed_up_but_unconfirmed')
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'cuando no coinciden los passwords' do
|
42
|
+
let(:password_confirmation) { 'bla' }
|
43
|
+
|
44
|
+
it do
|
45
|
+
subject
|
46
|
+
expect(response).not_to be_successful
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
50
|
+
|
19
51
|
describe '#edit' do
|
20
52
|
subject { get :edit }
|
21
53
|
|
@@ -5,7 +5,10 @@ import './controllers'
|
|
5
5
|
// Bootstrap's toasts
|
6
6
|
import * as bootstrap from 'bootstrap'
|
7
7
|
|
8
|
-
document.addEventListener('turbo:load',
|
8
|
+
document.addEventListener('turbo:load', bindToasts)
|
9
|
+
document.addEventListener('turbo:render', bindToasts)
|
10
|
+
|
11
|
+
function bindToasts () {
|
9
12
|
const toastElList = document.querySelectorAll('.toast:not(.hide):not(.show)')
|
10
13
|
Array.from(toastElList).map(toastEl => new bootstrap.Toast(toastEl).show())
|
11
14
|
|
@@ -33,4 +36,12 @@ document.addEventListener('turbo:load', function () {
|
|
33
36
|
|
34
37
|
// Start observing the target node for configured mutations
|
35
38
|
observer.observe(targetNode, config)
|
36
|
-
}
|
39
|
+
}
|
40
|
+
|
41
|
+
// document.addEventListener('turbo:before-stream-render', function () { console.log('turbo:before-stream-render') })
|
42
|
+
// document.addEventListener('turbo:render', function () { console.log('turbo:render') })
|
43
|
+
// document.addEventListener('turbo:before-render', function () { console.log('turbo:before-render') })
|
44
|
+
// document.addEventListener('turbo:before-frame-render', function () { console.log('turbo:before-frame-render') })
|
45
|
+
// document.addEventListener('turbo:frame-load', function () { console.log('turbo:frame-load') })
|
46
|
+
// document.addEventListener('turbo:before-fetch-request', function () { console.log('turbo:before-fetch-request') })
|
47
|
+
// document.addEventListener('turbo:fetch-request-error', function () { console.log('turbo:fetch-request-error') })
|
@@ -35,3 +35,9 @@
|
|
35
35
|
<div><%= t(".unhappy") %> <%= button_to t(".cancel_my_account"), registration_path(resource_name), data: { confirm: t(".are_you_sure"), turbo_confirm: t(".are_you_sure") }, method: :delete %></div>
|
36
36
|
|
37
37
|
<%= link_to t("devise.shared.links.back"), :back %>
|
38
|
+
|
39
|
+
<style type="text/css" media="screen">
|
40
|
+
form {
|
41
|
+
max-width: 22em;
|
42
|
+
}
|
43
|
+
</style>
|
@@ -1,26 +1,28 @@
|
|
1
1
|
<h2><%= t(".sign_up") %></h2>
|
2
|
+
<div id="form-signup" data-controller="pg_form">
|
3
|
+
<%= pg_form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
|
4
|
+
<%= f.mensajes_de_error %>
|
2
5
|
|
3
|
-
|
4
|
-
|
6
|
+
<div class="form-inputs">
|
7
|
+
<%= f.input :nombre, required: true, autofocus: true %>
|
8
|
+
<%= f.input :apellido, required: true %>
|
9
|
+
<%= f.input :email,
|
10
|
+
required: true,
|
11
|
+
input_html: { autocomplete: "email" }%>
|
12
|
+
<%= f.input :password,
|
13
|
+
required: true,
|
14
|
+
hint: (t('devise.shared.minimum_password_length', count: @minimum_password_length) if @minimum_password_length),
|
15
|
+
input_html: { autocomplete: "new-password" } %>
|
16
|
+
<%= f.input :password_confirmation,
|
17
|
+
required: true,
|
18
|
+
input_html: { autocomplete: "new-password" } %>
|
19
|
+
</div>
|
5
20
|
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
required: true,
|
11
|
-
input_html: { autocomplete: "email" }%>
|
12
|
-
<%= f.input :password,
|
13
|
-
required: true,
|
14
|
-
hint: (t('devise.shared.minimum_password_length', count: @minimum_password_length) if @minimum_password_length),
|
15
|
-
input_html: { autocomplete: "new-password" } %>
|
16
|
-
<%= f.input :password_confirmation,
|
17
|
-
required: true,
|
18
|
-
input_html: { autocomplete: "new-password" } %>
|
19
|
-
</div>
|
21
|
+
<div class="form-actions">
|
22
|
+
<%= f.button :submit, t(".sign_up") %>
|
23
|
+
</div>
|
24
|
+
<% end %>
|
20
25
|
|
21
|
-
|
22
|
-
|
23
|
-
</div>
|
24
|
-
<% end %>
|
26
|
+
<%= render "devise/shared/links" %>
|
27
|
+
</div>
|
25
28
|
|
26
|
-
<%= render "devise/shared/links" %>
|
@@ -9,7 +9,8 @@
|
|
9
9
|
<%= f.input :password,
|
10
10
|
required: false,
|
11
11
|
input_html: { autocomplete: "current-password" } %>
|
12
|
-
|
12
|
+
<%# TODO!: corregir style de checkbox %>
|
13
|
+
<%#= f.input :remember_me, as: :boolean if devise_mapping.rememberable? %>
|
13
14
|
</div>
|
14
15
|
|
15
16
|
<div class="form-actions">
|
@@ -1,25 +1,36 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
1
|
+
<div class="devise-links">
|
2
|
+
<%- if controller_name != 'sessions' %>
|
3
|
+
<%= link_to t(".sign_in"), new_session_path(resource_name) %>
|
4
|
+
<% end %>
|
4
5
|
|
5
|
-
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
6
|
-
|
7
|
-
<% end %>
|
6
|
+
<%- if devise_mapping.registerable? && controller_name != 'registrations' %>
|
7
|
+
<%= link_to t(".sign_up"), new_registration_path(resource_name) %>
|
8
|
+
<% end %>
|
8
9
|
|
9
|
-
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
|
10
|
-
|
11
|
-
<% end %>
|
10
|
+
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
|
11
|
+
<%= link_to t(".forgot_your_password"), new_password_path(resource_name) %>
|
12
|
+
<% end %>
|
12
13
|
|
13
|
-
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
14
|
-
|
15
|
-
<% end %>
|
14
|
+
<%- if devise_mapping.confirmable? && controller_name != 'confirmations' %>
|
15
|
+
<%= link_to t('.didn_t_receive_confirmation_instructions'), new_confirmation_path(resource_name) %>
|
16
|
+
<% end %>
|
16
17
|
|
17
|
-
<%- if devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
18
|
-
|
19
|
-
<% end %>
|
18
|
+
<%- if false # devise_mapping.lockable? && resource_class.unlock_strategy_enabled?(:email) && controller_name != 'unlocks' %>
|
19
|
+
<%= link_to t('.didn_t_receive_unlock_instructions'), new_unlock_path(resource_name) %>
|
20
|
+
<% end %>
|
20
21
|
|
21
|
-
<%- if devise_mapping.omniauthable? %>
|
22
|
-
|
23
|
-
|
22
|
+
<%- if devise_mapping.omniauthable? %>
|
23
|
+
<%- resource_class.omniauth_providers.each do |provider| %>
|
24
|
+
<%= button_to t('.sign_in_with_provider', provider: OmniAuth::Utils.camelize(provider)), omniauth_authorize_path(resource_name, provider), data: { turbo: false } %>
|
25
|
+
<% end %>
|
24
26
|
<% end %>
|
25
|
-
|
27
|
+
</div>
|
28
|
+
<style type="text/css">
|
29
|
+
.devise-links {
|
30
|
+
margin-top: 3em;
|
31
|
+
}
|
32
|
+
.devise-links a {
|
33
|
+
display: block;
|
34
|
+
margin-top: 1em;
|
35
|
+
}
|
36
|
+
</style>
|
@@ -1,25 +1,11 @@
|
|
1
|
-
|
2
|
-
|
3
|
-
|
4
|
-
title = Rails.application.class.module_parent_name
|
5
|
-
meta name="viewport" content="width=device-width,initial-scale=1"
|
6
|
-
= csrf_meta_tags
|
7
|
-
= csp_meta_tag
|
8
|
-
meta name="cable-history-timestamp" content="#{Time.now.to_i}"
|
9
|
-
= action_cable_with_jwt_meta_tag
|
10
|
-
= stylesheet_link_tag 'application', 'data-turbo-track': 'reload'
|
11
|
-
= javascript_include_tag 'application', 'data-turbo-track': 'reload', type: 'module'
|
12
|
-
body
|
13
|
-
div
|
14
|
-
.text-center
|
15
|
-
#flash.flash.d-inline-block
|
16
|
-
= render partial: 'pg_layout/flash'
|
17
|
-
.container.text-center
|
18
|
-
= yield
|
19
|
-
= render_turbo_stream_title
|
1
|
+
- content_for :content do
|
2
|
+
.container.text-center
|
3
|
+
= yield
|
20
4
|
|
21
|
-
css:
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
5
|
+
css:
|
6
|
+
.pg-form {
|
7
|
+
max-width: 30em;
|
8
|
+
margin: auto;
|
9
|
+
}
|
10
|
+
|
11
|
+
= render template: 'layouts/pg_layout/base'
|
@@ -8,6 +8,5 @@
|
|
8
8
|
- flash_to_show.each do |flash_type, message|
|
9
9
|
.toast(class="bg-#{flash_type_to_class(flash_type)}-subtle" role="alert" data-bs-autohide="true"
|
10
10
|
data-xturbo-temporary="true" aria-live="assertive" aria-atomic="true")
|
11
|
-
.toast-body
|
11
|
+
.toast-body.text-center
|
12
12
|
= message
|
13
|
-
/ TODO: centrar texto
|
@@ -31,7 +31,7 @@
|
|
31
31
|
<% end %>
|
32
32
|
|
33
33
|
<li>
|
34
|
-
<%= link_to "
|
34
|
+
<%= link_to t("devise.shared.links.sign_out"), destroy_user_session_path, data: { 'turbo-method': 'delete' }, class: 'dropdown-item' %>
|
35
35
|
</li>
|
36
36
|
</ul>
|
37
37
|
</li>
|
@@ -47,11 +47,14 @@
|
|
47
47
|
|
48
48
|
<% else %>
|
49
49
|
<li class="nav-item">
|
50
|
-
<%= link_to
|
50
|
+
<%= link_to t("devise.shared.links.sign_in"), new_user_session_path, class: 'nav-link' %>
|
51
|
+
</li>
|
52
|
+
<li class="nav-item">
|
53
|
+
<%= link_to t("devise.shared.links.sign_up"), new_user_registration_path, class: 'nav-link' %>
|
51
54
|
</li>
|
52
55
|
<% end %>
|
53
56
|
</ul>
|
54
|
-
<%=
|
57
|
+
<%= @navbar_ext %>
|
55
58
|
|
56
59
|
</div>
|
57
60
|
</div>
|
@@ -1,11 +1,11 @@
|
|
1
|
-
<% if Rails.application.credentials.rollbar.present? %>
|
1
|
+
<% if Rollbar.configuration.enabled && Rails.application.credentials.rollbar.present? %>
|
2
2
|
<script>
|
3
3
|
var _rollbarConfig = {
|
4
4
|
accessToken: '<%= Rails.application.credentials.rollbar.access_token_client %>',
|
5
5
|
captureUncaught: true,
|
6
6
|
captureUnhandledRejections: true,
|
7
7
|
payload: {
|
8
|
-
environment:
|
8
|
+
environment: <%= Rails.env %>,
|
9
9
|
//trace_id: 'abc',
|
10
10
|
client: {
|
11
11
|
javascript: {
|
data/pg_rails/lib/version.rb
CHANGED
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.0.8.pre.alpha.
|
4
|
+
version: 7.0.8.pre.alpha.23
|
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-03
|
11
|
+
date: 2024-04-03 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Rails goodies.
|
14
14
|
email:
|
@@ -46,6 +46,7 @@ files:
|
|
46
46
|
- pg_engine/app/controllers/pg_engine/base_controller.rb
|
47
47
|
- pg_engine/app/controllers/pg_engine/devise_controller.rb
|
48
48
|
- pg_engine/app/controllers/pg_engine/require_sign_in.rb
|
49
|
+
- pg_engine/app/controllers/users/confirmations_controller.rb
|
49
50
|
- pg_engine/app/controllers/users/registrations_controller.rb
|
50
51
|
- pg_engine/app/decorators/account_decorator.rb
|
51
52
|
- pg_engine/app/decorators/pg_engine/base_decorator.rb
|
@@ -125,6 +126,7 @@ files:
|
|
125
126
|
- pg_engine/spec/controllers/admin/users_controller_spec.rb
|
126
127
|
- pg_engine/spec/controllers/concerns/pg_engine/resource_helper_spec.rb
|
127
128
|
- pg_engine/spec/controllers/devise/sessions_controller_spec.rb
|
129
|
+
- pg_engine/spec/controllers/users/confirmations_controller_spec.rb
|
128
130
|
- pg_engine/spec/controllers/users/registrations_controller_spec.rb
|
129
131
|
- pg_engine/spec/factories/accounts.rb
|
130
132
|
- pg_engine/spec/factories/user_accounts.rb
|
@@ -176,8 +178,9 @@ files:
|
|
176
178
|
- pg_layout/app/views/kaminari/_page.html.slim
|
177
179
|
- pg_layout/app/views/kaminari/_paginator.html.slim
|
178
180
|
- pg_layout/app/views/kaminari/_prev_page.html.slim
|
181
|
+
- pg_layout/app/views/layouts/pg_layout/base.html.slim
|
182
|
+
- pg_layout/app/views/layouts/pg_layout/containerized.html.slim
|
179
183
|
- pg_layout/app/views/layouts/pg_layout/devise.html.slim
|
180
|
-
- pg_layout/app/views/layouts/pg_layout/layout.html.slim
|
181
184
|
- pg_layout/app/views/pg_layout/_flash.html.slim
|
182
185
|
- pg_layout/app/views/pg_layout/_flash_alert.html.slim
|
183
186
|
- pg_layout/app/views/pg_layout/_navbar.html.erb
|