diff --git a/app/models/university/organization/category.rb b/app/models/university/organization/category.rb index cd1d492f675ff381dbdd0fbb047970081129e1ed..7feb2e668bdd0800368650fa0007de9c5e66bcc0 100644 --- a/app/models/university/organization/category.rb +++ b/app/models/university/organization/category.rb @@ -17,4 +17,12 @@ # fk_rails_f610c7eb13 (university_id => universities.id) # class University::Organization::Category < ApplicationRecord + include WithUniversity + + scope :ordered, -> { order(:name) } + + def to_s + "#{name}" + end + end diff --git a/app/models/university/person/category.rb b/app/models/university/person/category.rb index 7f56735dcbabc9203d3bbb8583fcfc32cc01e8c7..11bcaecfb20932e88872ad682ff79243842918b3 100644 --- a/app/models/university/person/category.rb +++ b/app/models/university/person/category.rb @@ -17,4 +17,12 @@ # fk_rails_134ac9c0b6 (university_id => universities.id) # class University::Person::Category < ApplicationRecord + include WithUniversity + + scope :ordered, -> { order(:name) } + + def to_s + "#{name}" + end + end diff --git a/app/models/university/with_people_and_organizations.rb b/app/models/university/with_people_and_organizations.rb index 13f708c2d2aa65a92aca10aa177703603da58744..95f04c2c252def0ecf626aa102d63770227bc3af 100644 --- a/app/models/university/with_people_and_organizations.rb +++ b/app/models/university/with_people_and_organizations.rb @@ -7,11 +7,21 @@ module University::WithPeopleAndOrganizations dependent: :destroy alias_attribute :people, :university_people + has_many :university_people_categories, + class_name: 'University::Person::Category', + dependent: :destroy + alias_attribute :people_categories, :university_people_categories + has_many :university_organizations, class_name: 'University::Organization', dependent: :destroy alias_attribute :organizations, :university_organizations + has_many :university_organizations_categories, + class_name: 'University::Organization::Category', + dependent: :destroy + alias_attribute :organizations_categories, :university_organizations_categories + has_many :person_experiences, class_name: 'University::Person::Experience', dependent: :destroy diff --git a/config/locales/university/en.yml b/config/locales/university/en.yml index b681492b3a478c70796c3d221a13bda8e9935c7d..d5e6415ae1c7b1483657dea46c82c6a68626bd98 100644 --- a/config/locales/university/en.yml +++ b/config/locales/university/en.yml @@ -72,6 +72,8 @@ en: url: Website user: User zipcode: Zipcode + university/person/category: + name: Name university/person/experience: description: Description edit: Edit experience @@ -109,6 +111,8 @@ en: twitter: Twitter url: Website zipcode: Zipcode + university/organization/category: + name: Name university/role: description: Description people: People @@ -125,6 +129,9 @@ en: university/person: one: Person other: People + university/person/category: + one: Category + other: Categories university/person/involvement: one: Involvement other: Involvements @@ -137,6 +144,9 @@ en: university/organization: one: Organization other: Organizations + university/organization/category: + one: Category + other: Categories university/role: one: Role other: Roles diff --git a/config/locales/university/fr.yml b/config/locales/university/fr.yml index 2adbfaf37179e61069498280868d3204bf736a14..45ef1c7ddc506806493ad216e50410aaa31e267d 100644 --- a/config/locales/university/fr.yml +++ b/config/locales/university/fr.yml @@ -72,6 +72,8 @@ fr: url: Site web user: Utilisateur zipcode: Code postal + university/person/category: + name: Nom university/person/experience: description: Description edit: Modifier l'expérience @@ -109,6 +111,8 @@ fr: twitter: Twitter url: Site Web zipcode: Code postal + university/organization/category: + name: Nom university/role: description: Description people: Personnes @@ -125,6 +129,9 @@ fr: university/person: one: Personne other: Personnes + university/person/category: + one: Catégorie + other: Catégories university/person/involvement: one: Implication other: Implications @@ -137,6 +144,9 @@ fr: university/organization: one: Organisation other: Organisations + university/organization/category: + one: Catégorie + other: Catégories university/role: one: Rôle other: Rôles diff --git a/config/routes/admin/university.rb b/config/routes/admin/university.rb index 8a573a0a173b23a2f24c546b7bd5582f2a936e1e..7e9810dde7cabacae1790c7fdb2c88c295397b4b 100644 --- a/config/routes/admin/university.rb +++ b/config/routes/admin/university.rb @@ -15,6 +15,9 @@ namespace :university do end end resources :people do + collection do + resources :categories, controller: 'people/categories', as: 'person_categories' + end member do get :static get "/translations/:lang" => "people#in_language", as: :show_in_language @@ -28,6 +31,9 @@ namespace :university do end end resources :organizations do + collection do + resources :categories, controller: 'organizations/categories', as: 'organization_categories' + end member do get :static end