diff --git a/app/controllers/admin/communication/websites/posts_controller.rb b/app/controllers/admin/communication/websites/posts_controller.rb index 218f0c8285e70aea9cf9f55adbc9468445387339..28286de7f97f6f66c220e81ec7bc6df54608bbf3 100644 --- a/app/controllers/admin/communication/websites/posts_controller.rb +++ b/app/controllers/admin/communication/websites/posts_controller.rb @@ -110,7 +110,7 @@ class Admin::Communication::Websites::PostsController < Admin::Communication::We def post_params params.require(:communication_website_post) .permit( - :author_id, category_ids: [], + :full_width, :author_id, category_ids: [], localizations_attributes: [ :id, :title, :subtitle, :meta_description, :summary, :text, :published, :published_at, :slug, :pinned, diff --git a/app/views/admin/communication/websites/posts/_form.html.erb b/app/views/admin/communication/websites/posts/_form.html.erb index a0fd93b0a80381225df821490b04d58837169441..8f7482b62e8973dec0ca116a5a5fddd759075285 100644 --- a/app/views/admin/communication/websites/posts/_form.html.erb +++ b/app/views/admin/communication/websites/posts/_form.html.erb @@ -38,6 +38,7 @@ <%= render "admin/application/slug/form", f: lf, source: '#communication_website_post_localizations_attributes_0_title' %> + <%= f.input :full_width %> <% end %> <%= render 'admin/application/featured_image/edit', f: lf, about: @l10n %> <%= render 'admin/application/shared_image/edit', f: lf, about: @l10n %> diff --git a/app/views/admin/communication/websites/posts/static.html.erb b/app/views/admin/communication/websites/posts/static.html.erb index 66e6b02dde7f64deddb92ae3928d92cbf03781c8..0799829a25389fc9bcc2e66a6ccb6e82ad3e2d5b 100644 --- a/app/views/admin/communication/websites/posts/static.html.erb +++ b/app/views/admin/communication/websites/posts/static.html.erb @@ -4,11 +4,7 @@ language = @l10n.language %>--- <%= render 'admin/application/static/core', about: @l10n %> <%= render 'admin/application/static/breadcrumbs', about: @l10n %> -<%= render 'admin/application/static/design', - about: post, - l10n: @l10n, - full_width: false, - toc_offcanvas: false %> +<%= render 'admin/application/static/design', about: post, l10n: @l10n %> <% if @l10n.pinned %> weight: 1 <% end %> diff --git a/config/locales/communication/en.yml b/config/locales/communication/en.yml index cf408ad413848ff53a9cf34183fa8b61af3162dd..8fc53f0a7dd8e0d8b0b6e0c39e611bc4137be988 100644 --- a/config/locales/communication/en.yml +++ b/config/locales/communication/en.yml @@ -216,6 +216,7 @@ en: communication/website/post: author: Author categories: Categories + full_width: Full width website: Website communication/website/post/category: children: Children categories @@ -621,4 +622,5 @@ en: communication_website_permalink: path: "Must be an URL path. Example: /old/path" communication_website_post: + full_width: On large screens, a full width post uses all available space for the content. text: This field is deprecated, content will not be displayed on the website. diff --git a/config/locales/communication/fr.yml b/config/locales/communication/fr.yml index 15c841616be107ba7ce58bffdcc19ec3476267b0..51409105ed6d63a386be6a55f57f9ba925103761 100644 --- a/config/locales/communication/fr.yml +++ b/config/locales/communication/fr.yml @@ -216,6 +216,7 @@ fr: communication/website/post: author: Auteur·rice categories: Catégories + full_width: Pleine largeur website: Site Web communication/website/post/category: children: Catégories enfants @@ -621,4 +622,5 @@ fr: communication_website_permalink: path: "Doit être un chemin d'URL. Exemple : /ancien/chemin" communication_website_post: + full_width: Sur de grands écrans, l'actualité en pleine largeur utilisera tout l'espace disponible. text: Ce champ est déprécié, le contenu ne s'affichera pas sur le site. diff --git a/db/migrate/20241112132644_add_full_width_to_communication_posts.rb b/db/migrate/20241112132644_add_full_width_to_communication_posts.rb new file mode 100644 index 0000000000000000000000000000000000000000..a267b969ce7115368acb5bf5bc69c57e3ab6db4e --- /dev/null +++ b/db/migrate/20241112132644_add_full_width_to_communication_posts.rb @@ -0,0 +1,5 @@ +class AddFullWidthToCommunicationPosts < ActiveRecord::Migration[7.2] + def change + add_column :communication_website_posts, :full_width, :boolean, default: false + end +end diff --git a/db/schema.rb b/db/schema.rb index 9a265ed834aad91ce4c57572d048dffea1c1030b..a5029f88c828158ef8e99283d532b817f41f5ef9 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -10,7 +10,7 @@ # # It's strongly recommended that you check this file into your version control system. -ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do +ActiveRecord::Schema[7.2].define(version: 2024_11_12_132644) do # These are extensions that must be enabled in order to support this database enable_extension "pg_trgm" enable_extension "pgcrypto" @@ -334,7 +334,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do t.boolean "feature_jobs", default: false t.text "sass" t.text "css" - t.uuid "default_language_id" + t.uuid "default_language_id", null: false t.index ["about_type", "about_id"], name: "index_communication_extranets_on_about" t.index ["default_language_id"], name: "index_communication_extranets_on_default_language_id" t.index ["university_id"], name: "index_communication_extranets_on_university_id" @@ -550,7 +550,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do t.boolean "header_cta" t.string "header_cta_label" t.string "header_cta_url" - t.string "header_text" + t.text "header_text" t.string "meta_description" t.string "migration_identifier" t.boolean "published" @@ -749,11 +749,19 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do t.datetime "updated_at", null: false t.uuid "author_id" t.string "migration_identifier" + t.boolean "full_width", default: false t.index ["author_id"], name: "index_communication_website_posts_on_author_id" t.index ["communication_website_id"], name: "index_communication_website_posts_on_communication_website_id" t.index ["university_id"], name: "index_communication_website_posts_on_university_id" end + create_table "communication_website_posts_university_persons", id: false, force: :cascade do |t| + t.uuid "communication_website_post_id", null: false + t.uuid "university_person_id", null: false + t.index ["communication_website_post_id", "university_person_id"], name: "post_person" + t.index ["university_person_id", "communication_website_post_id"], name: "person_post" + end + create_table "communication_website_showcase_tags", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "slug" @@ -1450,6 +1458,27 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do t.index ["university_id"], name: "index_research_thesis_localizations_on_university_id" end + create_table "search_index", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| + t.uuid "university_id", null: false + t.string "title" + t.text "text" + t.uuid "language_id", null: false + t.string "about_object_type", null: false + t.uuid "about_object_id", null: false + t.string "about_localization_type", null: false + t.uuid "about_localization_id", null: false + t.uuid "website_id" + t.uuid "extranet_id" + t.datetime "created_at", null: false + t.datetime "updated_at", null: false + t.index ["about_localization_type", "about_localization_id"], name: "index_search_on_about_localization" + t.index ["about_object_type", "about_object_id"], name: "index_search_on_about_object" + t.index ["extranet_id"], name: "index_search_index_on_extranet_id" + t.index ["language_id"], name: "index_search_index_on_language_id" + t.index ["university_id"], name: "index_search_index_on_university_id" + t.index ["website_id"], name: "index_search_index_on_website_id" + end + create_table "universities", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "identifier" @@ -1684,7 +1713,7 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do end create_table "university_person_localizations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.string "biography" + t.text "biography" t.string "first_name" t.string "last_name" t.string "linkedin" @@ -1977,6 +2006,9 @@ ActiveRecord::Schema[7.2].define(version: 2024_10_31_101804) do add_foreign_key "research_thesis_localizations", "languages" add_foreign_key "research_thesis_localizations", "research_theses", column: "about_id" add_foreign_key "research_thesis_localizations", "universities" + add_foreign_key "search_index", "communication_extranets", column: "extranet_id" + add_foreign_key "search_index", "communication_websites", column: "website_id" + add_foreign_key "search_index", "universities" add_foreign_key "universities", "languages", column: "default_language_id" add_foreign_key "university_apps", "universities" add_foreign_key "university_organization_categories", "universities"