diff --git a/app/controllers/admin/university/people_controller.rb b/app/controllers/admin/university/people_controller.rb index fa8a15a9ce0bea0cd811bf5075ce9683b0017da8..8babe56ea328c2158113c84cb111edb2bd879053 100644 --- a/app/controllers/admin/university/people_controller.rb +++ b/app/controllers/admin/university/people_controller.rb @@ -63,8 +63,8 @@ class Admin::University::PeopleController < Admin::University::ApplicationContro params.require(:university_person).permit( :slug, :first_name, :last_name, :email, :phone, :description, :biography, :picture, :picture_delete, :picture_infos, - :habilitation, :tenure, :is_researcher, :is_teacher, - :is_administration, :user_id + :habilitation, :tenure, :url, :linkedin, :twitter, + :is_researcher, :is_teacher, :is_administration, :user_id ).merge(university_id: current_university.id) end end diff --git a/app/models/administration/qualiopi/indicator.rb b/app/models/administration/qualiopi/indicator.rb index 6e06a027333a734dbc6b5b039d18b1b21626969a..300286f22c2b5b35c92568f4cde1b0c4b2bd6691 100644 --- a/app/models/administration/qualiopi/indicator.rb +++ b/app/models/administration/qualiopi/indicator.rb @@ -20,7 +20,7 @@ # # Foreign Keys # -# fk_rails_eed87f7acf (criterion_id => administration_qualiopi_criterions.id) +# fk_rails_31f1a0a2c9 (criterion_id => administration_qualiopi_criterions.id) # class Administration::Qualiopi::Indicator < ApplicationRecord include Sanitizable diff --git a/app/models/communication/website.rb b/app/models/communication/website.rb index f235303488e854edb39273990f23fab9251a1208..5d96aa34c6bb028927cea9148eaa5f09b873f644 100644 --- a/app/models/communication/website.rb +++ b/app/models/communication/website.rb @@ -22,7 +22,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website < ApplicationRecord include WithUniversity diff --git a/app/models/communication/website/configs/base_url.rb b/app/models/communication/website/configs/base_url.rb index a2510c716f8662e46e01f66222730e6c680e3505..a712220143d13d8a738a26397046788eaa4154fc 100644 --- a/app/models/communication/website/configs/base_url.rb +++ b/app/models/communication/website/configs/base_url.rb @@ -22,7 +22,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website::Configs::BaseUrl < Communication::Website diff --git a/app/models/communication/website/configs/permalinks.rb b/app/models/communication/website/configs/permalinks.rb index 04a9cc323c8d694bff15d5cfa331c933edde9025..387417dae992281b04074f4b723cace9a2c19b2a 100644 --- a/app/models/communication/website/configs/permalinks.rb +++ b/app/models/communication/website/configs/permalinks.rb @@ -22,7 +22,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # class Communication::Website::Configs::Permalinks < Communication::Website diff --git a/app/models/education/program.rb b/app/models/education/program.rb index 360d5ba5f7ddf67fe2e8f92e2b5115037db5dd4e..a88582d9d6912e44045e221613087f2b5dc28326 100644 --- a/app/models/education/program.rb +++ b/app/models/education/program.rb @@ -39,7 +39,7 @@ # # Foreign Keys # -# fk_rails_08b351087c (university_id => universities.id) +# fk_rails_6e16107511 (university_id => universities.id) # fk_rails_ec1f16f607 (parent_id => education_programs.id) # class Education::Program < ApplicationRecord diff --git a/app/models/university/person.rb b/app/models/university/person.rb index c98f4d96f03c82f3520e8866c0a90c016f48b3fd..de5dd5cceeccccc96dc41f5e3e25555d762a2afb 100644 --- a/app/models/university/person.rb +++ b/app/models/university/person.rb @@ -12,9 +12,12 @@ # is_researcher :boolean # is_teacher :boolean # last_name :string +# linkedin :string # phone :string # slug :string # tenure :boolean default(FALSE) +# twitter :string +# url :string # created_at :datetime not null # updated_at :datetime not null # university_id :uuid not null, indexed diff --git a/app/models/university/person/administrator.rb b/app/models/university/person/administrator.rb index b7bca44426417b0705317eb94dbdb4af47d11eeb..9399c21e3598e8d82ece6e5b747392203ef24646 100644 --- a/app/models/university/person/administrator.rb +++ b/app/models/university/person/administrator.rb @@ -12,9 +12,12 @@ # is_researcher :boolean # is_teacher :boolean # last_name :string +# linkedin :string # phone :string # slug :string # tenure :boolean default(FALSE) +# twitter :string +# url :string # created_at :datetime not null # updated_at :datetime not null # university_id :uuid not null, indexed diff --git a/app/models/university/person/author.rb b/app/models/university/person/author.rb index 5bf2ee2c4a68b86044a237691a08fd9b4391e150..60b4ff63931f09a75103d8d843c181572bbacc0e 100644 --- a/app/models/university/person/author.rb +++ b/app/models/university/person/author.rb @@ -12,9 +12,12 @@ # is_researcher :boolean # is_teacher :boolean # last_name :string +# linkedin :string # phone :string # slug :string # tenure :boolean default(FALSE) +# twitter :string +# url :string # created_at :datetime not null # updated_at :datetime not null # university_id :uuid not null, indexed diff --git a/app/models/university/person/researcher.rb b/app/models/university/person/researcher.rb index 9ca52242568e5da3fee487a5a4868d3bb28aaa88..396d77c3cfec3df45e51de28f523d2ac0bdd4e04 100644 --- a/app/models/university/person/researcher.rb +++ b/app/models/university/person/researcher.rb @@ -12,9 +12,12 @@ # is_researcher :boolean # is_teacher :boolean # last_name :string +# linkedin :string # phone :string # slug :string # tenure :boolean default(FALSE) +# twitter :string +# url :string # created_at :datetime not null # updated_at :datetime not null # university_id :uuid not null, indexed diff --git a/app/models/university/person/teacher.rb b/app/models/university/person/teacher.rb index 2f75bd1ab96b16846fa83af4670c2724d9d116e4..69724392c474760be6e1dc99e2556c0cad1a667d 100644 --- a/app/models/university/person/teacher.rb +++ b/app/models/university/person/teacher.rb @@ -12,9 +12,12 @@ # is_researcher :boolean # is_teacher :boolean # last_name :string +# linkedin :string # phone :string # slug :string # tenure :boolean default(FALSE) +# twitter :string +# url :string # created_at :datetime not null # updated_at :datetime not null # university_id :uuid not null, indexed diff --git a/app/views/admin/university/people/_form.html.erb b/app/views/admin/university/people/_form.html.erb index 278b7f696934f12a9f5a6188acedad977ffe6752..21eb1486ae4133c7ec0d927773206b4406e57c3a 100644 --- a/app/views/admin/university/people/_form.html.erb +++ b/app/views/admin/university/people/_form.html.erb @@ -26,6 +26,22 @@ <%= f.input :biography, as: :summernote %> </div> </div> + <div class="card flex-fill w-100"> + <div class="card-header"> + <h5 class="card-title mb-0"><%= University::Person.human_attribute_name('socials') %></h5> + </div> + <div class="card-body"> + <%= f.input :url %> + <div class="row"> + <div class="col-md-6"> + <%= f.input :linkedin %> + </div> + <div class="col-md-6"> + <%= f.input :twitter %> + </div> + </div> + </div> + </div> <div class="card flex-fill w-100"> <div class="card-header"> <h5 class="card-title mb-0"><%= University::Person.human_attribute_name('abilities') %></h5> diff --git a/app/views/admin/university/people/static.html.erb b/app/views/admin/university/people/static.html.erb index 90fc834a163a18bc0c97ae399a18bf537e09681a..23bf15b2879c26f37c6d66b9bcc7175fd73c4c7d 100644 --- a/app/views/admin/university/people/static.html.erb +++ b/app/views/admin/university/people/static.html.erb @@ -6,6 +6,11 @@ first_name: "<%= @about.first_name %>" last_name: "<%= @about.last_name %>" phone: "<%= @about.phone %>" email: "<%= @about.email %>" +twitter: "<%= @about.twitter %>" +linkedin: >- + <%= @about.linkedin %> +website: >- + <%= @about.url %> <% if @about.best_picture.attached? %> image: "<%= @about.best_picture.blob.id %>" <% end %> diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml index 56710d4f7cd6f71c8f667cdcf9718bfd11274af4..9204e1417459ddd7190ad073d768e78e082c7dcc 100644 --- a/config/locales/university/en.yml +++ b/config/locales/university/en.yml @@ -30,12 +30,16 @@ en: is_researcher: Researcher is_teacher: Teacher last_name: Last name + linkedin: LinkedIn URL name: Name phone: Phone picture: Profile picture research_journal_articles: Articles slug: Slug + socials: Socials tenure: Has tenure? + twitter: Twitter username + url: Website user: User university/person/involvement: description: Mission (in this context) @@ -79,7 +83,9 @@ en: is_author: "Writes posts for websites." is_researcher: "Writes articles for journals." is_teacher: "Teaches in Schools." + linkedin: "Example: https://www.linkedin.com/in/osuny" tenure: "To differ from temporary lecturer." + twitter: "Example: osuny" university: invoice_informations: Invoice informations person: diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml index 34e714b191d8d043cecaeb555508c2648b0f6de9..418aefe390cd75ee2c928a8b9ea93c7d24487e0f 100644 --- a/config/locales/university/fr.yml +++ b/config/locales/university/fr.yml @@ -30,12 +30,16 @@ fr: is_researcher: Chercheur·se is_teacher: Enseignant·e last_name: Nom de famille + linkedin: LinkedIn (URL) name: Nom phone: Téléphone picture: Photo de profil research_journal_articles: Articles slug: Slug + socials: Réseaux sociaux tenure: Titulaire ? + twitter: Twitter (nom d'utilisateur) + url: Site web user: Utilisateur university/person/involvement: description: Mission (dans ce contexte) @@ -79,7 +83,9 @@ fr: is_author: "Écrit des articles pour les sites." is_researcher: "Écrit des articles dans des revues scientifiques." is_teacher: "Enseigne dans des formations." + linkedin: "Exemple : https://www.linkedin.com/in/osuny" tenure: "A différencier d'une personne vacataire." + twitter: "Exemple : osuny" university: invoice_informations: Données de facturation person: diff --git a/db/migrate/20220308114213_add_socials_to_university_people.rb b/db/migrate/20220308114213_add_socials_to_university_people.rb new file mode 100644 index 0000000000000000000000000000000000000000..5665a9b7e4efb81cf2cb7d7f81652da0c217e4e3 --- /dev/null +++ b/db/migrate/20220308114213_add_socials_to_university_people.rb @@ -0,0 +1,7 @@ +class AddSocialsToUniversityPeople < ActiveRecord::Migration[6.1] + def change + add_column :university_people, :url, :string + add_column :university_people, :twitter, :string + add_column :university_people, :linkedin, :string + end +end diff --git a/db/schema.rb b/db/schema.rb index 2210243fa5bcd73b70a9a4197cef4ccfff3ad8cf..dac80d4a28d8a245a9a178d73857ec7ab0286b75 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.define(version: 2022_03_07_164108) do +ActiveRecord::Schema.define(version: 2022_03_08_114213) do # These are extensions that must be enabled in order to support this database enable_extension "pgcrypto" @@ -445,23 +445,6 @@ ActiveRecord::Schema.define(version: 2022_03_07_164108) do t.index ["university_id"], name: "index_education_schools_on_university_id" end - create_table "external_organizations", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| - t.string "title" - t.text "description" - t.string "address" - t.string "zipcode" - t.string "city" - t.string "country" - t.string "website" - t.string "phone" - t.string "mail" - t.boolean "active" - t.string "sirene" - t.integer "kind" - t.datetime "created_at", precision: 6, null: false - t.datetime "updated_at", precision: 6, null: false - end - create_table "languages", id: :uuid, default: -> { "gen_random_uuid()" }, force: :cascade do |t| t.string "name" t.string "iso_code" @@ -635,6 +618,9 @@ ActiveRecord::Schema.define(version: 2022_03_07_164108) do t.boolean "habilitation", default: false t.boolean "tenure", default: false t.text "biography" + t.string "url" + t.string "twitter" + t.string "linkedin" t.index ["university_id"], name: "index_university_people_on_university_id" t.index ["user_id"], name: "index_university_people_on_user_id" end diff --git a/test/fixtures/communication/websites.yml b/test/fixtures/communication/websites.yml index aea91b89aedf7bdf88dc35453d5b5aaa4d1d2f25..44c31f2ca94a0d3ec0e718052cc4147f24dabf95 100644 --- a/test/fixtures/communication/websites.yml +++ b/test/fixtures/communication/websites.yml @@ -22,7 +22,7 @@ # # Foreign Keys # -# fk_rails_bb6a496c08 (university_id => universities.id) +# fk_rails_94b0abd85b (university_id => universities.id) # website_with_github: university: default_university