Skip to content
Snippets Groups Projects
Unverified Commit e56381cd authored by Pierre-André Boissinot's avatar Pierre-André Boissinot Committed by GitHub
Browse files

Merge pull request #944 from noesya/extranet_abilities

Edition partielle des extranets par les admins
parents 0693d84e 536e4879
No related branches found
No related tags found
No related merge requests found
......@@ -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 += [
: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
......@@ -101,7 +101,7 @@ class Ability
can :manage, Communication::Website::Imported::Website, university_id: @user.university_id
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 [:read, :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
......
......@@ -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 %>
......
......@@ -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"
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment