Configure letter opener to read emails via web UI
Some checks failed
Check usage of free licenses / check-licenses (pull_request) Successful in 1m25s
Add copyright notice / copyright_notice (pull_request) Failing after 2m19s
Run unit tests / unit_tests (pull_request) Successful in 5m32s

This commit is contained in:
Manuel Bustillo 2024-11-30 19:09:04 +01:00
parent b0124fbd26
commit b892d4006f
7 changed files with 30 additions and 5 deletions

View File

@ -35,6 +35,7 @@ end
group :development do
gem 'rubocop'
gem 'web-console'
gem 'letter_opener_web'
end
gem 'chroma'

View File

@ -88,6 +88,8 @@ GEM
bootsnap (1.18.4)
msgpack (~> 1.2)
builder (3.3.0)
childprocess (5.1.0)
logger (~> 1.5)
chroma (0.2.0)
coderay (1.1.3)
concurrent-ruby (1.3.4)
@ -150,6 +152,16 @@ GEM
jsonapi-serializable (0.3.1)
jsonapi-renderer (~> 0.2.0)
language_server-protocol (3.17.0.3)
launchy (3.0.1)
addressable (~> 2.8)
childprocess (~> 5.0)
letter_opener (1.10.0)
launchy (>= 2.2, < 4)
letter_opener_web (3.0.0)
actionmailer (>= 6.1)
letter_opener (~> 1.9)
railties (>= 6.1)
rexml
license_finder (7.2.1)
bundler
csv (~> 3.2)
@ -386,6 +398,7 @@ DEPENDENCIES
importmap-rails
jbuilder
jsonapi-rails
letter_opener_web
license_finder
money
pg (~> 1.1)

View File

@ -31,7 +31,7 @@ class ApplicationController < ActionController::Base
def development_swagger?
Rails.env.test? ||
Rails.env.development? && request.headers['referer'].include?('/api-docs/index.html')
Rails.env.development? && request.headers['referer']&.include?('/api-docs/index.html')
end
def set_csrf_cookie

View File

@ -5,7 +5,10 @@ class Users::ConfirmationsController < Devise::ConfirmationsController
def show
super do |resource|
if resource.errors.empty?
render json: resource, status: :ok
respond_to do |format|
format.json { render json: resource, status: :ok }
format.any { redirect_to root_path }
end
else
render json: {
message: 'Record invalid',

View File

@ -40,10 +40,10 @@ Rails.application.configure do
# Don't care if the mailer can't send.
config.action_mailer.raise_delivery_errors = false
config.action_mailer.perform_caching = false
config.action_mailer.default_url_options = { host: 'libre-wedding-planner.app.localhost' }
config.action_mailer.default_url_options = { host: 'libre-wedding-planner.app.localhost/api' }
config.action_mailer.delivery_method = :letter_opener_web
config.action_mailer.perform_deliveries = true
# Print deprecation notices to the Rails logger.
config.active_support.deprecation = :log

View File

@ -1,6 +1,7 @@
# Copyright (C) 2024 Manuel Bustillo
Rails.application.routes.draw do
mount LetterOpenerWeb::Engine, at: "/letter_opener" if Rails.env.development?
devise_for :users, skip: [:registration, :session, :confirmation]
devise_scope :user do
post 'users', to: 'users/registrations#create'
@ -23,4 +24,6 @@ Rails.application.routes.draw do
resources :tables_arrangements, only: %i[index show]
get 'up' => 'rails/health#show', as: :rails_health_check
root to: redirect('/dashboard')
end

View File

@ -7,6 +7,11 @@ server {
proxy_set_header Host $http_host;
}
location /letter_opener/ {
proxy_pass http://backend:3000/letter_opener/;
proxy_set_header Host $http_host;
}
location / {
proxy_pass http://frontend:3000;
proxy_set_header Host $http_host;