diff --git a/app/controllers/admin/communication/extranets_controller.rb b/app/controllers/admin/communication/extranets_controller.rb index d39eec4d35a5566e1812755435602e2dcaae1d17..cd81f46d3fcc033e4f370a5de6c168f5f436e3f5 100644 --- a/app/controllers/admin/communication/extranets_controller.rb +++ b/app/controllers/admin/communication/extranets_controller.rb @@ -58,18 +58,22 @@ class Admin::Communication::ExtranetsController < Admin::Communication::Applicat end def extranet_params + allowed_params = [ + :name, + :registration_contact, + :logo, :logo_delete, :favicon, :favicon_delete, :color, + :home_sentence, + :terms, :privacy_policy, :cookies_policy + ] + if can?(:create, Communication::Extranet) + allowed_params = allowed_params + [ + :host, :about_id, :about_type, + :sass, + :feature_alumni, :feature_library, :feature_contacts, :feature_jobs, :feature_posts, + :has_sso, :sso_target_url, :sso_cert, :sso_name_identifier_format, :sso_mapping, :sso_button_label + ] + end params.require(:communication_extranet) - .permit( - :about_id, :about_type, - :color, :cookies_policy, - :favicon, :favicon_delete, :feature_alumni, :feature_library, :feature_contacts, :feature_jobs, :feature_posts, - :has_sso, :host, :home_sentence, - :logo, :logo_delete, - :name, - :privacy_policy, - :registration_contact, - :sass, :sso_target_url, :sso_cert, :sso_name_identifier_format, :sso_mapping, :sso_button_label, - :terms, - ) + .permit(allowed_params) end end diff --git a/app/models/ability.rb b/app/models/ability.rb index dccd90c6820e58789085eb949822f5a129daaa8a..be182cb9a6dae913dac04b2bb1724bdc62cb7007 100644 --- a/app/models/ability.rb +++ b/app/models/ability.rb @@ -102,6 +102,7 @@ class Ability can :manage, Communication::Website::Imported::Page, university_id: @user.university_id can :manage, Communication::Website::Imported::Post, university_id: @user.university_id can :read, Communication::Extranet, university_id: @user.university_id + can :update, Communication::Extranet, university_id: @user.university_id can :manage, Communication::Extranet::Post, university_id: @user.university_id can :manage, Communication::Extranet::Post::Category, university_id: @user.university_id can :manage, Communication::Extranet::Document, university_id: @user.university_id diff --git a/app/views/admin/communication/extranets/_form.html.erb b/app/views/admin/communication/extranets/_form.html.erb index bcd8c3d72b1a3ef086441a29c6caa0d9082d59a3..5d1895677ba9aaaf1314ab4a94b85de2b1a0368d 100644 --- a/app/views/admin/communication/extranets/_form.html.erb +++ b/app/views/admin/communication/extranets/_form.html.erb @@ -6,8 +6,10 @@ <div class="col-xl-6"> <%= osuny_panel t('metadata') do %> <%= f.input :name %> - <%= f.input :host %> - <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/extranet.about_' %> + <% if can?(:create, Communication::Extranet) %> + <%= f.input :host %> + <%= render 'admin/communication/abouts', f: f, i18n_key: 'activerecord.attributes.communication/extranet.about_' %> + <% end %> <%= f.input :registration_contact %> <% end %> <%= osuny_panel t('look_feel') do %> @@ -23,7 +25,8 @@ direct_upload: true %> <%= f.input :color, as: :color %> <%= f.input :home_sentence, as: :summernote, input_html: { data: { 'summernote-config': 'link' } } %> - <%= f.input :sass, + <% if can?(:create, Communication::Extranet) %> + <%= f.input :sass, input_html: { data: { provider: 'codemirror', @@ -31,15 +34,18 @@ "codemirror-indentation": 4 } } %> + <% end %> <% end %> </div> <div class="col-xl-6"> - <%= osuny_panel t('extranet.features') do %> - <%= f.input :feature_alumni %> - <%= f.input :feature_contacts %> - <%= f.input :feature_library %> - <%= f.input :feature_posts %> - <%= f.input :feature_jobs %> + <% if can?(:create, Communication::Extranet) %> + <%= osuny_panel t('extranet.features') do %> + <%= f.input :feature_alumni %> + <%= f.input :feature_contacts %> + <%= f.input :feature_library %> + <%= f.input :feature_posts %> + <%= f.input :feature_jobs %> + <% end %> <% end %> <%= osuny_panel t('legal') do %> <%= f.input :terms, as: :summernote %> @@ -49,23 +55,25 @@ </div> </div> - <%= osuny_panel t('university.sso') do %> - <div class="row"> - <div class="col-xl-6"> - <%= f.input :has_sso %> - <div class="sso-inputs"> - <%= f.input :sso_target_url, required: true %> - <%= f.input :sso_cert, required: true %> - <%= f.input :sso_name_identifier_format, required: true %> - <%= f.input :sso_button_label %> + <% if can?(:create, Communication::Extranet) %> + <%= osuny_panel t('university.sso') do %> + <div class="row"> + <div class="col-xl-6"> + <%= f.input :has_sso %> + <div class="sso-inputs"> + <%= f.input :sso_target_url, required: true %> + <%= f.input :sso_cert, required: true %> + <%= f.input :sso_name_identifier_format, required: true %> + <%= f.input :sso_button_label %> + </div> + </div> + <div class="col-xl-6 sso-inputs"> + <h4 class="mb-4"><%= University.human_attribute_name('sso_mapping') %></h4> + <%= f.error_notification message: f.object.errors[:sso_mapping].to_sentence if f.object.errors[:sso_mapping].present? %> + <%= render 'server/universities/sso_mapping', object: extranet %> </div> </div> - <div class="col-xl-6 sso-inputs"> - <h4 class="mb-4"><%= University.human_attribute_name('sso_mapping') %></h4> - <%= f.error_notification message: f.object.errors[:sso_mapping].to_sentence if f.object.errors[:sso_mapping].present? %> - <%= render 'server/universities/sso_mapping', object: extranet %> - </div> - </div> + <% end %> <% end %> <% content_for :action_bar_right do %> diff --git a/db/schema.rb b/db/schema.rb index 3fccca92202f4d5023daf89b57fc72f79ab2193f..3138922510c8581dae988381d3dfee33a3d3f23e 100644 --- a/db/schema.rb +++ b/db/schema.rb @@ -16,7 +16,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do enable_extension "plpgsql" enable_extension "unaccent" - create_table "action_text_rich_texts", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "action_text_rich_texts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name", null: false t.text "body" t.string "record_type", null: false @@ -26,7 +26,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["record_type", "record_id", "name"], name: "index_action_text_rich_texts_uniqueness", unique: true end - create_table "active_storage_attachments", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "active_storage_attachments", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name", null: false t.string "record_type", null: false t.uuid "record_id", null: false @@ -36,7 +36,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["record_type", "record_id", "name", "blob_id"], name: "index_active_storage_attachments_uniqueness", unique: true end - create_table "active_storage_blobs", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "active_storage_blobs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "key", null: false t.string "filename", null: false t.string "content_type" @@ -50,13 +50,13 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_active_storage_blobs_on_university_id" end - create_table "active_storage_variant_records", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "active_storage_variant_records", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "blob_id", null: false t.string "variation_digest", null: false t.index ["blob_id", "variation_digest"], name: "index_active_storage_variant_records_uniqueness", unique: true end - create_table "administration_qualiopi_criterions", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "administration_qualiopi_criterions", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.integer "number" t.text "name" t.text "description" @@ -64,7 +64,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.datetime "updated_at", null: false end - create_table "administration_qualiopi_indicators", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "administration_qualiopi_indicators", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "criterion_id", null: false t.integer "number" t.text "name" @@ -78,7 +78,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["criterion_id"], name: "index_administration_qualiopi_indicators_on_criterion_id" end - create_table "communication_blocks", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_blocks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "about_type" t.uuid "about_id" @@ -174,7 +174,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_communication_extranet_posts_on_university_id" end - create_table "communication_extranets", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_extranets", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.uuid "university_id", null: false t.string "host" @@ -206,7 +206,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_communication_extranets_on_university_id" end - create_table "communication_website_categories", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_categories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "communication_website_id", null: false t.string "name" @@ -245,14 +245,17 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.uuid "website_id", null: false t.string "object_type", null: false t.uuid "object_id", null: false + t.string "source_type" + t.uuid "source_id" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.index ["object_type", "object_id"], name: "index_communication_website_connections_on_object" + t.index ["source_type", "source_id"], name: "index_communication_website_connections_on_source" t.index ["university_id"], name: "index_communication_website_connections_on_university_id" t.index ["website_id"], name: "index_communication_website_connections_on_website_id" end - create_table "communication_website_git_files", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_git_files", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "previous_path" t.string "about_type", null: false t.uuid "about_id", null: false @@ -264,7 +267,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_git_files_on_website_id" end - create_table "communication_website_imported_authors", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_authors", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.uuid "author_id" @@ -280,7 +283,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "idx_communication_website_imported_auth_on_website" end - create_table "communication_website_imported_categories", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_categories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.uuid "category_id" @@ -298,7 +301,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "idx_communication_website_imported_cat_on_website" end - create_table "communication_website_imported_media", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_media", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "identifier" t.jsonb "data" t.text "file_url" @@ -313,7 +316,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_imported_media_on_website_id" end - create_table "communication_website_imported_pages", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_pages", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.uuid "page_id" @@ -337,7 +340,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_imported_pages_on_website_id" end - create_table "communication_website_imported_posts", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_posts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.uuid "post_id" @@ -362,7 +365,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_imported_posts_on_website_id" end - create_table "communication_website_imported_websites", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_imported_websites", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.integer "status", default: 0 @@ -372,7 +375,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_imported_websites_on_website_id" end - create_table "communication_website_menu_items", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_menu_items", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.uuid "menu_id", null: false @@ -392,7 +395,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_menu_items_on_website_id" end - create_table "communication_website_menus", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_menus", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "communication_website_id", null: false t.string "title" @@ -408,7 +411,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_communication_website_menus_on_university_id" end - create_table "communication_website_pages", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_pages", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "communication_website_id", null: false t.string "title" @@ -423,10 +426,10 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.text "github_path" t.string "featured_image_alt" t.text "text" - t.text "summary" t.string "breadcrumb_title" t.text "header_text" t.integer "kind" + t.text "summary" t.string "bodyclass" t.uuid "language_id", null: false t.text "featured_image_credit" @@ -440,7 +443,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_communication_website_pages_on_university_id" end - create_table "communication_website_permalinks", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_permalinks", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "website_id", null: false t.string "about_type", null: false @@ -454,7 +457,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["website_id"], name: "index_communication_website_permalinks_on_website_id" end - create_table "communication_website_posts", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_website_posts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "communication_website_id", null: false t.string "title" @@ -480,7 +483,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_communication_website_posts_on_university_id" end - create_table "communication_websites", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "communication_websites", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "name" t.string "url" @@ -532,7 +535,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["priority", "run_at"], name: "delayed_jobs_priority" end - create_table "education_academic_years", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "education_academic_years", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.integer "year" t.datetime "created_at", null: false @@ -547,7 +550,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_person_id", "education_academic_year_id"], name: "index_person_academic_year" end - create_table "education_cohorts", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "education_cohorts", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "program_id", null: false t.uuid "academic_year_id", null: false @@ -568,7 +571,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_person_id", "education_cohort_id"], name: "index_person_cohort" end - create_table "education_diplomas", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "education_diplomas", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "short_name" t.integer "level", default: 0 @@ -582,7 +585,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_education_diplomas_on_university_id" end - create_table "education_programs", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "education_programs", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "name" t.integer "capacity" @@ -642,7 +645,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["education_program_id", "user_id"], name: "index_education_programs_users_on_program_id_and_user_id" end - create_table "education_schools", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "education_schools", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "name" t.string "address" @@ -657,7 +660,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_education_schools_on_university_id" end - create_table "imports", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "imports", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.integer "number_of_lines" t.jsonb "processing_errors" t.integer "kind" @@ -670,7 +673,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["user_id"], name: "index_imports_on_user_id" end - create_table "languages", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "languages", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "iso_code" t.datetime "created_at", null: false @@ -737,7 +740,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_journal_paper_kinds_on_university_id" end - create_table "research_journal_papers", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_journal_papers", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "title" t.datetime "published_at", precision: nil t.uuid "university_id", null: false @@ -770,7 +773,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["researcher_id"], name: "index_research_journal_papers_researchers_on_researcher_id" end - create_table "research_journal_volumes", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_journal_volumes", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "research_journal_id", null: false t.string "title" @@ -790,7 +793,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_journal_volumes_on_university_id" end - create_table "research_journals", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_journals", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "title" t.text "meta_description" @@ -801,7 +804,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_journals_on_university_id" end - create_table "research_laboratories", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_laboratories", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "name" t.string "address" @@ -813,7 +816,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_laboratories_on_university_id" end - create_table "research_laboratory_axes", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_laboratory_axes", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "research_laboratory_id", null: false t.string "name" @@ -827,7 +830,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_laboratory_axes_on_university_id" end - create_table "research_theses", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "research_theses", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "research_laboratory_id", null: false t.uuid "author_id", null: false @@ -845,7 +848,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_research_theses_on_university_id" end - create_table "universities", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "universities", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "identifier" t.string "address" @@ -884,7 +887,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_university_organization_categories_on_university_id" end - create_table "university_organizations", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "university_organizations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "name" t.string "long_name" @@ -922,7 +925,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["organization_id"], name: "index_university_organizations_categories_on_organization_id" end - create_table "university_people", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "university_people", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "user_id" t.string "last_name" @@ -978,7 +981,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_university_person_categories_on_university_id" end - create_table "university_person_experiences", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "university_person_experiences", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "person_id", null: false t.uuid "organization_id", null: false @@ -992,7 +995,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_university_person_experiences_on_university_id" end - create_table "university_person_involvements", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "university_person_involvements", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.uuid "person_id", null: false t.integer "kind" @@ -1007,7 +1010,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_university_person_involvements_on_university_id" end - create_table "university_roles", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "university_roles", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "target_type" t.uuid "target_id" @@ -1019,7 +1022,7 @@ ActiveRecord::Schema[7.0].define(version: 2023_03_13_144352) do t.index ["university_id"], name: "index_university_roles_on_university_id" end - create_table "users", id: :uuid, default: -> { "public.gen_random_uuid()" }, force: :cascade do |t| + create_table "users", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.uuid "university_id", null: false t.string "first_name" t.string "last_name"