diff --git a/app/services/filters/admin/communication/extranets.rb b/app/services/filters/admin/communication/extranets.rb index 059f47780f5044617515a9d2623f05a241845466..b91877418a18cbf010c865728ddc6061aa14970b 100644 --- a/app/services/filters/admin/communication/extranets.rb +++ b/app/services/filters/admin/communication/extranets.rb @@ -3,7 +3,9 @@ module Filters def initialize(user) super add_search - add :for_about_type, ::Communication::Extranet::about_types.compact.map { |r| { to_s: I18n.t("activerecord.attributes.communication/extranet.about_#{r}"), id: r } }, I18n.t('filters.attributes.kind') + add :for_about_type, + ::Communication::Extranet::about_types.compact.map { |r| { to_s: I18n.t("activerecord.attributes.communication/extranet.about_#{r}"), id: r } }, + I18n.t('filters.attributes.kind') end end end diff --git a/app/services/filters/admin/communication/website/posts.rb b/app/services/filters/admin/communication/website/posts.rb index 30559c526a843071b6d0eeae0caf055b38b20c77..634ee13591b2ca64d6aad1098ef5f97bc5f16351 100644 --- a/app/services/filters/admin/communication/website/posts.rb +++ b/app/services/filters/admin/communication/website/posts.rb @@ -3,9 +3,26 @@ module Filters def initialize(user, website) super(user) add_search - add :for_author, website.authors.ordered, I18n.t('filters.attributes.element', element: I18n.t('activerecord.attributes.communication/website/post.author').downcase) - add :for_category, website.categories, I18n.t('filters.attributes.element', element: I18n.t('activerecord.models.communication/website/category.one').downcase), false, true - add :for_pinned, [{ to_s: I18n.t('true'), id: 'true' }, { to_s: I18n.t('false'), id: 'false' }], I18n.t('filters.attributes.element', element: I18n.t('admin.communication.website.post.pinned_status').downcase) + add :for_author, + website.authors.ordered, + I18n.t( + 'filters.attributes.element', + element: I18n.t('activerecord.attributes.communication/website/post.author').downcase + ) + add :for_category, + website.categories, + I18n.t( + 'filters.attributes.element', + element: Communication::Website::Category.model_name.human.downcase + ), + false, + true + add :for_pinned, + [{ to_s: I18n.t('true'), id: 'true' }, { to_s: I18n.t('false'), id: 'false' }], + I18n.t( + 'filters.attributes.element', + element: I18n.t('admin.communication.website.post.pinned_status').downcase + ) end end end diff --git a/app/services/filters/admin/communication/websites.rb b/app/services/filters/admin/communication/websites.rb index 4f43797b3ddf3924495f9db791f6551c85fa71f2..418264cccc218644883880bb7444c46b05a55e4e 100644 --- a/app/services/filters/admin/communication/websites.rb +++ b/app/services/filters/admin/communication/websites.rb @@ -3,7 +3,9 @@ module Filters def initialize(user) super add_search - add :for_about_type, ::Communication::Website::about_types.compact.map { |r| { to_s: I18n.t("activerecord.attributes.communication/website.about_#{r}"), id: r } }, I18n.t('filters.attributes.kind') + add :for_about_type, + ::Communication::Website::about_types.compact.map { |r| { to_s: I18n.t("activerecord.attributes.communication/website.about_#{r}"), id: r } }, + I18n.t('filters.attributes.kind') end end end diff --git a/app/services/filters/admin/education/programs.rb b/app/services/filters/admin/education/programs.rb index 5680fa3aca700bf39c6fbb07d677c925fdad5843..e6eb599cb12ec41ddc99c510e890020d8c19375f 100644 --- a/app/services/filters/admin/education/programs.rb +++ b/app/services/filters/admin/education/programs.rb @@ -7,10 +7,8 @@ module Filters user.university.education_diplomas, I18n.t( 'filters.attributes.element', - element: I18n.t('activerecord.models.education/diploma.one').downcase - ), - false, - false + element: Education::Diploma.model_name.human.downcase + ) end end end diff --git a/app/services/filters/admin/education/schools.rb b/app/services/filters/admin/education/schools.rb index 89712eb5732d29ec356026e3d1a670535a3c0ebc..ab5c6070e671656ec3fdf73023e6e97dacff4875 100644 --- a/app/services/filters/admin/education/schools.rb +++ b/app/services/filters/admin/education/schools.rb @@ -7,7 +7,7 @@ module Filters user.university.education_programs, I18n.t( 'filters.attributes.element', - element: I18n.t('activerecord.models.education/program.one').downcase + element: Education::Program.model_name.human.downcase ), false, true diff --git a/app/services/filters/admin/education/teachers.rb b/app/services/filters/admin/education/teachers.rb index a6f2a0c04a84c4992a29a71e4bd3907d0c764d23..f7367c36ee391979fb18ae6c9d88baf2a20a91f4 100644 --- a/app/services/filters/admin/education/teachers.rb +++ b/app/services/filters/admin/education/teachers.rb @@ -7,7 +7,7 @@ module Filters user.university.education_programs, I18n.t( 'filters.attributes.element', - element: I18n.t('activerecord.models.education/program.one').downcase + element: Education::Program.model_name.human.downcase ), false, true diff --git a/app/services/filters/admin/university/organizations.rb b/app/services/filters/admin/university/organizations.rb index 85b22cef389ebb90507853371f0deb8f3076ba98..bfd4cbb4f71f712f85ffec85ed951710781bc7db 100644 --- a/app/services/filters/admin/university/organizations.rb +++ b/app/services/filters/admin/university/organizations.rb @@ -3,7 +3,9 @@ module Filters def initialize(user) super add_search - add :for_kind, ::University::Organization::kinds.keys.map { |r| { to_s: I18n.t("enums.university.organization.kind.#{r}"), id: r } }, I18n.t('filters.attributes.kind') + add :for_kind, + ::University::Organization::kinds.keys.map { |r| { to_s: I18n.t("enums.university.organization.kind.#{r}"), id: r } }, + I18n.t('filters.attributes.kind') end end end diff --git a/app/services/filters/admin/university/people.rb b/app/services/filters/admin/university/people.rb index 515697eafa3b0dc4ec161cd5d6715c283f5d9e02..138f8291dd3e6557dc484137732a2ac52b7c9f5c 100644 --- a/app/services/filters/admin/university/people.rb +++ b/app/services/filters/admin/university/people.rb @@ -3,7 +3,9 @@ module Filters def initialize(user) super add_search - add :for_role, ::University::Person::LIST_OF_ROLES.map { |r| { to_s: I18n.t("activerecord.attributes.university/person.#{r}"), id: r } }, I18n.t('filters.attributes.role') + add :for_role, + ::University::Person::LIST_OF_ROLES.map { |r| { to_s: I18n.t("activerecord.attributes.university/person.#{r}"), id: r } }, + I18n.t('filters.attributes.role') end end end diff --git a/app/services/filters/admin/university/people/alumni.rb b/app/services/filters/admin/university/people/alumni.rb new file mode 100644 index 0000000000000000000000000000000000000000..6495bda457a85b54e3f3116110bc572342204e09 --- /dev/null +++ b/app/services/filters/admin/university/people/alumni.rb @@ -0,0 +1,22 @@ +module Filters + class Admin::University::People::Alumni < Filters::Base + def initialize(user) + super + add_search + add :for_program, + user.university.education_programs, + I18n.t( + 'filters.attributes.element', + element: Education::Program.model_name.human.downcase + ), + false, + true + add :for_academic_year, + user.university.academic_years.ordered, + I18n.t( + 'filters.attributes.element', + element: Education::AcademicYear.model_name.human.downcase + ) + end + end +end diff --git a/app/services/filters/admin/university/person/alumni.rb b/app/services/filters/admin/university/person/alumni.rb deleted file mode 100644 index 923f4c5f45fb560f95e47258b0de10399b0c76d4..0000000000000000000000000000000000000000 --- a/app/services/filters/admin/university/person/alumni.rb +++ /dev/null @@ -1,8 +0,0 @@ -module Filters - class Admin::University::Person::Alumni < Filters::Base - def initialize(user) - super - add_search - end - end -end diff --git a/app/services/filters/admin/users.rb b/app/services/filters/admin/users.rb index bc431fa8eccedc0ecb727251214081bd884eeb65..5438038118677358d22fd77657476ee056b5660c 100644 --- a/app/services/filters/admin/users.rb +++ b/app/services/filters/admin/users.rb @@ -3,7 +3,9 @@ module Filters def initialize(user) super add_search - add :for_role, ::User.roles.keys.map { |r| { to_s: I18n.t("activerecord.attributes.user.roles.#{r}"), id: r } }, I18n.t('filters.attributes.role') + add :for_role, + ::User.roles.keys.map { |r| { to_s: I18n.t("activerecord.attributes.user.roles.#{r}"), id: r } }, + I18n.t('filters.attributes.role') end end end diff --git a/app/views/admin/education/cohorts/show.html.erb b/app/views/admin/education/cohorts/show.html.erb index f6e8735f6c31f4662dc5380956e0d970ea36fdbc..804ff183e37cc8d895ac5c5cce11290bf48c893b 100644 --- a/app/views/admin/education/cohorts/show.html.erb +++ b/app/views/admin/education/cohorts/show.html.erb @@ -1,14 +1,22 @@ <% content_for :title, @cohort %> -<p> - <strong>Program:</strong> - <%= link_to @cohort.program, [:admin, @cohort.program] %> -</p> - -<p> - <strong>Academic year:</strong> - <%= link_to @cohort.academic_year, [:admin, @cohort.academic_year] %> -</p> + +<div class="row"> + <div class="col-md-8"> + <div class="card flex-fill w-100"> + + <div class="card-body"> + <h3 class="h5"><%= Education::Cohort.human_attribute_name('program') %></h3> + <p><%= link_to_if can?(:read, @cohort.program), @cohort.program, [:admin, @cohort.program] %></p> + <h3 class="h5"><%= Education::Cohort.human_attribute_name('year') %></h3> + <p><%= link_to_if can?(:read, @cohort.academic_year), @cohort.academic_year, [:admin, @cohort.academic_year] %></p> + </div> + </div> + </div> +</div> + + + <h2><%= University::Person::Alumnus.model_name.human(count: 2) %></h2> diff --git a/config/locales/education/en.yml b/config/locales/education/en.yml index 3733fcfe16c790e762a09fc0d1dbea29ed507088..987d92601e68565c5265f47fa18c04ba71a478f4 100644 --- a/config/locales/education/en.yml +++ b/config/locales/education/en.yml @@ -21,8 +21,9 @@ en: other: Schools attributes: education/cohort: - year: Year alumni: Alumni + program: Program + year: Year education/diploma: name: Name short_name: Short name diff --git a/config/locales/education/fr.yml b/config/locales/education/fr.yml index ecd791e55169fec76e93ee6e8ee9c4fc942929df..6211e767b844055cab8fc785720bd0ac1d1b793f 100644 --- a/config/locales/education/fr.yml +++ b/config/locales/education/fr.yml @@ -21,8 +21,9 @@ fr: other: Écoles attributes: education/cohort: - year: Année alumni: Alumni + program: Formation + year: Année education/diploma: name: Nom short_name: Nom abrégé