From 4065042989674b8066fe347230de3ea00b2c2f1b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Gaya?= <sebastien.gaya@gmail.com> Date: Tue, 8 Mar 2022 13:04:57 +0100 Subject: [PATCH] university person socials --- .../admin/university/people_controller.rb | 4 ++-- .../administration/qualiopi/indicator.rb | 2 +- app/models/communication/website.rb | 2 +- .../communication/website/configs/base_url.rb | 2 +- .../website/configs/permalinks.rb | 2 +- app/models/education/program.rb | 2 +- app/models/university/person.rb | 3 +++ app/models/university/person/administrator.rb | 3 +++ app/models/university/person/author.rb | 3 +++ app/models/university/person/researcher.rb | 3 +++ app/models/university/person/teacher.rb | 3 +++ .../admin/university/people/_form.html.erb | 16 ++++++++++++++ .../admin/university/people/static.html.erb | 5 +++++ config/locales/university/en.yml | 6 +++++ config/locales/university/fr.yml | 6 +++++ ...114213_add_socials_to_university_people.rb | 7 ++++++ db/schema.rb | 22 ++++--------------- test/fixtures/communication/websites.yml | 2 +- 18 files changed, 67 insertions(+), 26 deletions(-) create mode 100644 db/migrate/20220308114213_add_socials_to_university_people.rb diff --git a/app/controllers/admin/university/people_controller.rb b/app/controllers/admin/university/people_controller.rb index fa8a15a9c..8babe56ea 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 6e06a0273..300286f22 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 f23530348..5d96aa34c 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 a2510c716..a71222014 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 04a9cc323..387417dae 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 360d5ba5f..a88582d9d 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 c98f4d96f..de5dd5cce 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 b7bca4442..9399c21e3 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 5bf2ee2c4..60b4ff639 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 9ca522425..396d77c3c 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 2f75bd1ab..69724392c 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 278b7f696..21eb1486a 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 90fc834a1..23bf15b28 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 56710d4f7..9204e1417 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 34e714b19..418aefe39 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 000000000..5665a9b7e --- /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 2210243fa..dac80d4a2 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 aea91b89a..44c31f2ca 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 -- GitLab