Remove Developer Newsletter from initial setup

The first-run setup flow ended by redirecting the new admin to a
DocuSeal-branded newsletter signup that POSTed to the upstream
project's mailing-list endpoint. That has no place in WaboSign —
strip the controller, view, route, helper constant, i18n keys (7
locales), and system spec, and redirect setup#create straight to
root_path.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
pull/687/head
Wabo 1 month ago
parent 5d1422d37b
commit 27af280dee

@ -1,21 +0,0 @@
# frozen_string_literal: true
class NewslettersController < ApplicationController
skip_authorization_check
def show; end
def update
Faraday.post(Wabosign::NEWSLETTER_URL, newsletter_params.to_json, 'Content-Type' => 'application/json')
rescue StandardError => e
Rails.logger.error(e)
ensure
redirect_to root_path
end
private
def newsletter_params
params.require(:user).permit(:email)
end
end

@ -40,7 +40,7 @@ class SetupController < ApplicationController
sign_in(@user) sign_in(@user)
redirect_to newsletter_path redirect_to root_path
else else
render :index, status: :unprocessable_content render :index, status: :unprocessable_content
end end

@ -1,14 +0,0 @@
<div class="max-w-xl mx-auto px-2">
<h1 class="text-4xl font-bold text-center my-8">👨‍💻 <%= t('developer_newsletters') %></h1>
<%= form_for current_user, url: newsletter_path do |f| %>
<div class="form-control">
<%= f.email_field :email, placeholder: t('email'), required: true, class: 'base-input' %>
</div>
<div class="form-control mt-4">
<%= f.button button_title, class: 'base-button' %>
</div>
<div class="text-center mt-2">
<a href="/" class="link"><%= t('skip') %></a>
</div>
<% end %>
</div>

@ -291,7 +291,6 @@ en: &en
code_is_invalid: Code is invalid code_is_invalid: Code is invalid
2fa_has_been_removed: 2FA has been removed. 2fa_has_been_removed: 2FA has been removed.
2fa_has_been_set_up_already: 2FA has been set up already. 2fa_has_been_set_up_already: 2FA has been set up already.
developer_newsletters: Developer Newsletters
skip: Skip skip: Skip
email_notifications: Email Notifications email_notifications: Email Notifications
receive_notification_emails_on_completed_submission: Receive notification emails on completed submission receive_notification_emails_on_completed_submission: Receive notification emails on completed submission
@ -1343,7 +1342,6 @@ es: &es
code_is_invalid: El código no es válido code_is_invalid: El código no es válido
2fa_has_been_removed: 2FA ha sido eliminado. 2fa_has_been_removed: 2FA ha sido eliminado.
2fa_has_been_set_up_already: 2FA ya ha sido configurado. 2fa_has_been_set_up_already: 2FA ya ha sido configurado.
developer_newsletters: Boletines para desarrolladores
skip: Omitir skip: Omitir
email_notifications: Notificaciones por correo electrónico email_notifications: Notificaciones por correo electrónico
receive_notification_emails_on_completed_submission: Recibir notificaciones por correo electrónico sobre formularios completados receive_notification_emails_on_completed_submission: Recibir notificaciones por correo electrónico sobre formularios completados
@ -2392,7 +2390,6 @@ it: &it
code_is_invalid: Il codice non è valido code_is_invalid: Il codice non è valido
2fa_has_been_removed: 2FA è stata rimossa. 2fa_has_been_removed: 2FA è stata rimossa.
2fa_has_been_set_up_already: 2FA è già stata configurata. 2fa_has_been_set_up_already: 2FA è già stata configurata.
developer_newsletters: Newsletter per sviluppatori
skip: Salta skip: Salta
email_notifications: Notifiche email email_notifications: Notifiche email
receive_notification_emails_on_completed_submission: Ricevi notifiche email su moduli completati receive_notification_emails_on_completed_submission: Ricevi notifiche email su moduli completati
@ -3441,7 +3438,6 @@ fr: &fr
code_is_invalid: Le code est invalide code_is_invalid: Le code est invalide
2fa_has_been_removed: La 2FA a été supprimée. 2fa_has_been_removed: La 2FA a été supprimée.
2fa_has_been_set_up_already: La 2FA est déjà configurée. 2fa_has_been_set_up_already: La 2FA est déjà configurée.
developer_newsletters: Newsletters développeur
skip: Ignorer skip: Ignorer
email_notifications: Notifications par email email_notifications: Notifications par email
receive_notification_emails_on_completed_submission: Recevoir des emails de notification lors de la finalisation dune soumission receive_notification_emails_on_completed_submission: Recevoir des emails de notification lors de la finalisation dune soumission
@ -4487,7 +4483,6 @@ pt: &pt
code_is_invalid: O código é inválido code_is_invalid: O código é inválido
2fa_has_been_removed: 2FA foi removido. 2fa_has_been_removed: 2FA foi removido.
2fa_has_been_set_up_already: 2FA já foi configurado. 2fa_has_been_set_up_already: 2FA já foi configurado.
developer_newsletters: Newsletters para desenvolvedores
skip: Pular skip: Pular
email_notifications: Notificações por e-mail email_notifications: Notificações por e-mail
receive_notification_emails_on_completed_submission: Receber notificações por e-mail ao concluir uma submissão receive_notification_emails_on_completed_submission: Receber notificações por e-mail ao concluir uma submissão
@ -5536,7 +5531,6 @@ de: &de
code_is_invalid: Der Code ist ungültig code_is_invalid: Der Code ist ungültig
2fa_has_been_removed: 2FA wurde entfernt. 2fa_has_been_removed: 2FA wurde entfernt.
2fa_has_been_set_up_already: 2FA wurde bereits eingerichtet. 2fa_has_been_set_up_already: 2FA wurde bereits eingerichtet.
developer_newsletters: Entwickler-Newsletter
skip: Überspringen skip: Überspringen
email_notifications: E-Mail-Benachrichtigungen email_notifications: E-Mail-Benachrichtigungen
receive_notification_emails_on_completed_submission: Benachrichtigungs-E-Mails bei abgeschlossener Einreichung erhalten receive_notification_emails_on_completed_submission: Benachrichtigungs-E-Mails bei abgeschlossener Einreichung erhalten
@ -6998,7 +6992,6 @@ nl: &nl
code_is_invalid: Code is ongeldig code_is_invalid: Code is ongeldig
2fa_has_been_removed: 2FA is verwijderd. 2fa_has_been_removed: 2FA is verwijderd.
2fa_has_been_set_up_already: 2FA is al ingesteld. 2fa_has_been_set_up_already: 2FA is al ingesteld.
developer_newsletters: Nieuwsbrieven voor ontwikkelaars
skip: Overslaan skip: Overslaan
email_notifications: E-mailmeldingen email_notifications: E-mailmeldingen
receive_notification_emails_on_completed_submission: Ontvang e-mailmeldingen bij voltooide inzendingen receive_notification_emails_on_completed_submission: Ontvang e-mailmeldingen bij voltooide inzendingen

@ -66,7 +66,6 @@ Rails.application.routes.draw do
resources :timestamp_server, only: %i[create] resources :timestamp_server, only: %i[create]
resources :dashboard, only: %i[index] resources :dashboard, only: %i[index]
resources :setup, only: %i[index create] resources :setup, only: %i[index create]
resource :newsletter, only: %i[show update]
resources :enquiries, only: %i[create] resources :enquiries, only: %i[create]
resources :users, only: %i[new create edit update destroy] do resources :users, only: %i[new create edit update destroy] do
resource :send_reset_password, only: %i[update], controller: 'users_send_reset_password' resource :send_reset_password, only: %i[update], controller: 'users_send_reset_password'

@ -3,7 +3,6 @@
module Wabosign module Wabosign
PRODUCT_URL = ENV.fetch('PRODUCT_URL', 'https://sign.wabo.cc') PRODUCT_URL = ENV.fetch('PRODUCT_URL', 'https://sign.wabo.cc')
PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL) PRODUCT_EMAIL_URL = ENV.fetch('PRODUCT_EMAIL_URL', PRODUCT_URL)
NEWSLETTER_URL = "#{PRODUCT_URL}/newsletters".freeze
ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze ENQUIRIES_URL = "#{PRODUCT_URL}/enquiries".freeze
PRODUCT_NAME = 'WaboSign' PRODUCT_NAME = 'WaboSign'
# AGPLv3 §7(b) upstream attribution — must remain visible in interactive UIs. # AGPLv3 §7(b) upstream attribution — must remain visible in interactive UIs.

@ -1,30 +0,0 @@
# frozen_string_literal: true
RSpec.describe 'Newsletter' do
let(:user) { create(:user, account: create(:account)) }
before do
sign_in(user)
stub_request(:post, Wabosign::NEWSLETTER_URL).to_return(status: 200)
visit newsletter_path
end
it 'shows the newsletter page' do
expect(page).to have_content('Developer Newsletters')
expect(page).to have_button('Submit')
expect(page).to have_content('Skip')
expect(page).to have_field('user[email]', with: user.email)
end
it 'submits the newsletter form' do
click_button 'Submit'
expect(a_request(:post, Wabosign::NEWSLETTER_URL)).to have_been_made.once
end
it 'skips the newsletter form' do
click_on 'Skip'
expect(page).to have_current_path(root_path, ignore_query: true)
end
end
Loading…
Cancel
Save