Merge pull request #10723 from demarches-simplifiees/multiple_urls
Ajoute la possibilité d'avoir plusieurs urls pour une démarche (HACK à ne pas utiliser)
This commit is contained in:
commit
ad6aa84774
5 changed files with 49 additions and 1 deletions
|
@ -4,6 +4,17 @@ module Users
|
|||
class CommencerController < ApplicationController
|
||||
layout 'procedure_context'
|
||||
|
||||
before_action :path_rewrite, only: [:commencer, :commencer_test, :dossier_vide_pdf, :dossier_vide_pdf_test, :sign_in, :sign_up, :france_connect, :procedure_for_help, :closing_details]
|
||||
|
||||
# TODO: REMOVE THIS
|
||||
# this was only added because a administration needed new urls
|
||||
# check from 07/2025 if this is still needed
|
||||
def path_rewrite
|
||||
path_rewrite = PathRewrite.find_by(from: params[:path])
|
||||
|
||||
params[:path] = path_rewrite.to if path_rewrite.present?
|
||||
end
|
||||
|
||||
def commencer
|
||||
@procedure = retrieve_procedure
|
||||
|
||||
|
|
4
app/models/path_rewrite.rb
Normal file
4
app/models/path_rewrite.rb
Normal file
|
@ -0,0 +1,4 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class PathRewrite < ApplicationRecord
|
||||
end
|
13
db/migrate/20240829141049_create_path_rewrites.rb
Normal file
13
db/migrate/20240829141049_create_path_rewrites.rb
Normal file
|
@ -0,0 +1,13 @@
|
|||
# frozen_string_literal: true
|
||||
|
||||
class CreatePathRewrites < ActiveRecord::Migration[7.0]
|
||||
def change
|
||||
create_table :path_rewrites do |t|
|
||||
t.string :from, null: false
|
||||
t.string :to, null: false
|
||||
|
||||
t.timestamps
|
||||
end
|
||||
add_index :path_rewrites, :from, unique: true
|
||||
end
|
||||
end
|
10
db/schema.rb
10
db/schema.rb
|
@ -10,7 +10,7 @@
|
|||
#
|
||||
# It's strongly recommended that you check this file into your version control system.
|
||||
|
||||
ActiveRecord::Schema[7.0].define(version: 2024_08_26_130121) do
|
||||
ActiveRecord::Schema[7.0].define(version: 2024_08_29_141049) do
|
||||
# These are extensions that must be enabled in order to support this database
|
||||
enable_extension "pg_buffercache"
|
||||
enable_extension "pg_stat_statements"
|
||||
|
@ -858,6 +858,14 @@ ActiveRecord::Schema[7.0].define(version: 2024_08_26_130121) do
|
|||
t.index ["procedure_id"], name: "index_module_api_cartos_on_procedure_id", unique: true
|
||||
end
|
||||
|
||||
create_table "path_rewrites", force: :cascade do |t|
|
||||
t.datetime "created_at", null: false
|
||||
t.string "from", null: false
|
||||
t.string "to", null: false
|
||||
t.datetime "updated_at", null: false
|
||||
t.index ["from"], name: "index_path_rewrites_on_from", unique: true
|
||||
end
|
||||
|
||||
create_table "procedure_presentations", id: :serial, force: :cascade do |t|
|
||||
t.integer "assign_to_id"
|
||||
t.datetime "created_at", precision: nil
|
||||
|
|
|
@ -19,6 +19,18 @@ describe Users::CommencerController, type: :controller do
|
|||
end
|
||||
end
|
||||
|
||||
context 'when a path rewrite is present' do
|
||||
let(:path) { 'from' }
|
||||
let!(:path_rewrite) { PathRewrite.create(from: 'from', to: published_procedure.path) }
|
||||
|
||||
it 'redirects to the new path' do
|
||||
expect(subject.status).to eq(200)
|
||||
expect(subject).to render_template('show')
|
||||
expect(assigns(:procedure)).to eq published_procedure
|
||||
expect(assigns(:revision)).to eq published_procedure.published_revision
|
||||
end
|
||||
end
|
||||
|
||||
context 'when the path is for a draft procedure' do
|
||||
let(:path) { draft_procedure.path }
|
||||
|
||||
|
|
Loading…
Reference in a new issue