Skip to content
Snippets Groups Projects
Unverified Commit e0e1cf25 authored by Sébastien Gaya's avatar Sébastien Gaya
Browse files

University::Person

parent 88b7cfcf
No related branches found
No related tags found
No related merge requests found
Showing
with 227 additions and 106 deletions
<table class="<%= table_classes %>">
<thead>
<tr>
<th><%= Administration::Member.human_attribute_name('last_name') %></th>
<th><%= Administration::Member.human_attribute_name('first_name') %></th>
<th><%= University::Person.human_attribute_name('last_name') %></th>
<th><%= University::Person.human_attribute_name('first_name') %></th>
<th></th>
</tr>
</thead>
<tbody>
<% members.each do |member| %>
<% people.each do |person| %>
<tr>
<td><%= link_to member.last_name, admin_administration_member_path(member) %></td>
<td><%= link_to member.first_name, admin_administration_member_path(member) %></td>
<td><%= link_to person.last_name, admin_university_person_path(person) %></td>
<td><%= link_to person.first_name, admin_university_person_path(person) %></td>
<td class="text-end">
<div class="btn-group" role="group">
<%= link_to t('edit'),
edit_admin_administration_member_path(member),
edit_admin_university_person_path(person),
class: button_classes %>
<%= link_to t('delete'),
admin_administration_member_path(member),
admin_university_person_path(person),
method: :delete,
data: { confirm: t('please_confirm') },
class: button_classes_danger %>
......
......@@ -5,16 +5,16 @@
<h2 class="card-title mb-0 h5"><%= t('content') %></h2>
</div>
<div class="card-body">
<% unless member.email.blank? %>
<h3 class="h5"><%= Administration::Member.human_attribute_name('email') %></h3>
<p><%= link_to member.email, "mailto:#{member.email}", target: '_blank' %></p>
<% unless person.email.blank? %>
<h3 class="h5"><%= University::Person.human_attribute_name('email') %></h3>
<p><%= link_to person.email, "mailto:#{person.email}", target: '_blank' %></p>
<% end %>
<% unless member.phone.blank? %>
<h3 class="h5"><%= Administration::Member.human_attribute_name('phone') %></h3>
<p><%= link_to member.phone, "tel:#{member.phone}", target: '_blank' %></p>
<% unless person.phone.blank? %>
<h3 class="h5"><%= University::Person.human_attribute_name('phone') %></h3>
<p><%= link_to person.phone, "tel:#{person.phone}", target: '_blank' %></p>
<% end %>
<h3 class="h5"><%= Administration::Member.human_attribute_name('biography') %></h3>
<%= member.biography %>
<h3 class="h5"><%= University::Person.human_attribute_name('biography') %></h3>
<%= person.biography %>
</div>
</div>
</div>
......@@ -24,11 +24,11 @@
<h2 class="card-title mb-0 h5"><%= t('metadata') %></h2>
</div>
<div class="card-body">
<h3 class="h5"><%= Administration::Member.human_attribute_name('slug') %></h3>
<p><%= member.slug %></p>
<% if member.user.present? %>
<h3 class="h5"><%= Administration::Member.human_attribute_name('user') %></h3>
<p><%= link_to_if can?(:read, member.user), member.user, admin_user_path(member.user) %></p>
<h3 class="h5"><%= University::Person.human_attribute_name('slug') %></h3>
<p><%= person.slug %></p>
<% if person.user.present? %>
<h3 class="h5"><%= University::Person.human_attribute_name('user') %></h3>
<p><%= link_to_if can?(:read, person.user), person.user, admin_user_path(person.user) %></p>
<% end %>
</div>
</div>
......
---
title: >
Responsabilités de <%= @person.to_s %>
person: >
<%= @person.to_s %>
slug: "<%= @person.slug %>"
---
---
title: >
Actualités de <%= @person.to_s %>
person: >
<%= @person.to_s %>
slug: "<%= @person.slug %>"
---
<% content_for :title, @person %>
<%= render 'form', person: @person %>
<% content_for :title, "#{University::Person.model_name.human(count: 2)} (#{@people.total_count})" %>
<%= render 'admin/university/people/list', people: @people %>
<%= paginate @people, theme: 'bootstrap-5' %>
<% content_for :action_bar_right do %>
<%= create_link University::Person %>
<% end %>
<% content_for :title, University::Person.model_name.human %>
<%= render 'form', person: @person %>
---
title: >
Publications de <%= @person.to_s %>
person: >
<%= @person.to_s %>
slug: "<%= @person.slug %>"
---
<% content_for :title, @member %>
<% content_for :title, @person %>
<%= render 'main_infos', member: @member %>
<%= render 'main_infos', person: @person %>
<% content_for :action_bar_right do %>
<%= edit_link @member %>
<%= edit_link @person %>
<% end %>
---
title: >
<%= @person.to_s %>
slug: "<%= @person.slug %>"
first_name: "<%= @person.first_name %>"
last_name: "<%= @person.last_name %>"
phone: "<%= @person.phone %>"
email: "<%= @person.email %>"
roles:
<% if @person.is_author %>
- author
<% end %>
<% if @person.is_teacher %>
- teacher
<% end %>
<% if @person.is_researcher %>
- researcher
<% end %>
<% if @person.is_administrative %>
- administrator
<% end %>
---
<%= prepare_for_github @person.biography, @person.university %>
---
title: >
Enseignements de <%= @person.to_s %>
person: >
<%= @person.to_s %>
slug: "<%= @person.slug %>"
---
......@@ -23,10 +23,10 @@
<td><%= User.human_attribute_name('language') %></td>
<td class="text-end"><%= t("languages.#{@user.language.iso_code.to_s}") %></td>
</tr>
<% if @user.member %>
<% if @user.person %>
<tr>
<td><%= User.human_attribute_name('member') %></td>
<td class="text-end"><%= link_to @user.member, [:admin, @user.member] %></td>
<td><%= User.human_attribute_name('person') %></td>
<td class="text-end"><%= link_to @user.person, [:admin, @user.person] %></td>
</tr>
<% end %>
</table>
......
......@@ -6,9 +6,14 @@ SimpleNavigation::Configuration.run do |navigation|
navigation.items do |primary|
primary.item :dashboard, t('dashboard'), admin_root_path, { icon: 'tachometer-alt', highlights_on: /admin$/ }
if can?(:read, User) || can?(:read, University::Person)
primary.item :university, University.model_name.human, nil, { kind: :header }
primary.item :university, University::Person.model_name.human(count: 2), admin_university_people_path, { icon: 'users-cog' }
end
if can?(:read, Education::Program)
primary.item :education, Education.model_name.human, nil, { kind: :header }
primary.item :education, t('education.teachers', count: 2), admin_education_teachers_path, { icon: 'user-graduate' } if can?(:read, Administration::Member)
primary.item :education, t('education.teachers', count: 2), admin_education_teachers_path, { icon: 'user-graduate' } if can?(:read, University::Person)
primary.item :education, Education::School.model_name.human(count: 2), admin_education_schools_path, { icon: 'university' } if can?(:read, Education::School)
primary.item :education_programs, Education::Program.model_name.human(count: 2), admin_education_programs_path, { icon: 'graduation-cap' } if can?(:read, Education::Program)
primary.item :education, 'Ressources éducatives', nil, { icon: 'laptop' }
......@@ -17,7 +22,7 @@ SimpleNavigation::Configuration.run do |navigation|
if can?(:read, Research::Journal)
primary.item :research, Research.model_name.human, nil, { kind: :header }
primary.item :research_researchers, t('research.researchers', count: 2), admin_research_researchers_path(journal_id: nil), { icon: 'microscope' } if can?(:read, Administration::Member)
primary.item :research_researchers, t('research.researchers', count: 2), admin_research_researchers_path(journal_id: nil), { icon: 'microscope' } if can?(:read, University::Person)
primary.item :research, 'Laboratoires', nil, { icon: 'flask' }
primary.item :research, 'Veille', nil, { icon: 'eye' }
primary.item :research_journals, Research::Journal.model_name.human(count: 2), admin_research_journals_path, { icon: 'newspaper' } if can?(:read, Research::Journal)
......@@ -30,9 +35,8 @@ SimpleNavigation::Configuration.run do |navigation|
primary.item :communication, 'Alumni', nil, { icon: 'users' }
end
if can?(:read, User) || can?(:read, Administration::Qualiopi::Criterion)
if can?(:read, Administration::Qualiopi::Criterion)
primary.item :administration, 'Administration', nil, { kind: :header }
primary.item :administration, Administration::Member.model_name.human(count: 2), admin_administration_members_path, { icon: 'users-cog' }
primary.item :administration, 'Campus', nil, { icon: 'map-marker-alt' }
primary.item :administration, 'Admissions', nil, { icon: 'door-open' }
primary.item :administration, 'Statistiques', nil, { icon: 'cog' }
......
......@@ -10,27 +10,7 @@ en:
administration/qualiopi/indicator:
one: Indicator
other: Indicators
administration/member:
one: Staff
other: Staff
attributes:
administration/member:
abilities: Abilities
biography: Biography
communication_website_posts: Posts
education_programs: Programs
email: Email
first_name: First name
is_administrative: Administrative staff
is_author: Author
is_researcher: Researcher
is_teacher: Teacher
last_name: Last name
name: Name
phone: Phone
research_journal_articles: Articles
slug: Slug
user: User
administration/qualiopi/criterion:
number: Number
name: Name
......@@ -45,10 +25,3 @@ en:
requirement: Requirement
non_conformity: Non-conformity
glossary: Glossary
simple_form:
hints:
administration_member:
is_administrative: "Is part of administrative staff for a school."
is_author: "Writes posts for websites."
is_researcher: "Writes articles for journals."
is_teacher: "Teaches in Schools."
......@@ -10,27 +10,7 @@ fr:
administration/qualiopi/indicator:
one: Indicateur
other: Indicateurs
administration/member:
one: Personnel
other: Personnel
attributes:
administration/member:
abilities: Responsabilités
biography: Biographie
communication_website_posts: Actualités
education_programs: Formations
email: Email
first_name: Prénom
is_administrative: Personnel administratif
is_author: Auteur·rice
is_researcher: Chercheur·se
is_teacher: Enseignant·e
last_name: Nom de famille
name: Nom
phone: Téléphone
research_journal_articles: Articles
slug: Slug
user: Utilisateur
administration/qualiopi/criterion:
number: Numéro
name: Nom
......@@ -45,10 +25,3 @@ fr:
requirement: Obligations spécifiques
non_conformity: Non-conformité
glossary: Glossaire
simple_form:
hints:
administration_member:
is_administrative: "Fait partie du personnel administratif d'une école."
is_author: "Écrit des articles pour les sites."
is_researcher: "Écrit des articles dans des revues scientifiques."
is_teacher: "Enseigne dans des formations."
......@@ -4,25 +4,12 @@ en:
language:
iso_code: Iso code
name: Name
university:
address: Address
city: City
country: Country
identifier: Identifier
logo: Logo
name: Name
private: Private
public: Public
public_or_private: Public/private
sms_sender_name: SMS sender name
url: 'URL'
zipcode: Zipcode
user:
email: Email
first_name: First name
language: Favourite language
last_name: Last name
member: Member
person: Person
mobile_phone: Mobile phone
picture: Profile picture
role: Role
......@@ -36,9 +23,6 @@ en:
language:
one: Language
other: Languages
university:
one: University
other: Universities
user:
one: User
other: Users
......@@ -122,8 +106,6 @@ en:
error_notification:
default_message: "Please review the problems below:"
hints:
university:
sms_sender_name: "11 characters max."
user:
mobile_phone: "International format (+XX). By filling this field, you accept to receive your two-factor authentication codes via SMS."
simple_form_password_with_hints:
......
......@@ -4,25 +4,12 @@ fr:
language:
iso_code: Code Iso
name: Nom
university:
address: Adresse
city: Ville
country: Pays
identifier: Identifiant
logo: Logo
name: Nom
private: Etablissement privé
public: Public
public_or_private: Public/privé
sms_sender_name: Nom de l'expéditeur SMS
url: 'URL'
zipcode: Code postal
user:
email: Email
first_name: Prénom
language: Langue préférée
last_name: Nom
member: Personnel
person: Personne
mobile_phone: Téléphone portable
picture: Photo de profil
role: Rôle
......@@ -36,9 +23,6 @@ fr:
language:
one: Langue
other: Langues
university:
one: Université
other: Universités
user:
one: Utilisateur·rice
other: Utilisateur·rice·s
......@@ -122,8 +106,6 @@ fr:
error_notification:
default_message: "Les erreurs ci-dessous empêchent la validation :"
hints:
university:
sms_sender_name: "11 caractères maximum."
user:
mobile_phone: "Format international (+XX). En renseignant ce champ, vous acceptez de recevoir vos codes de double authentification par SMS."
simple_form_password_with_hints:
......
en:
activerecord:
attributes:
university:
address: Address
city: City
country: Country
identifier: Identifier
logo: Logo
name: Name
private: Private
public: Public
public_or_private: Public/private
sms_sender_name: SMS sender name
url: 'URL'
zipcode: Zipcode
university/person:
abilities: Abilities
biography: Biography
communication_website_posts: Posts
education_programs: Programs
email: Email
first_name: First name
is_administrative: Administrative staff
is_author: Author
is_researcher: Researcher
is_teacher: Teacher
last_name: Last name
name: Name
phone: Phone
research_journal_articles: Articles
slug: Slug
user: User
models:
university:
one: University
other: Universities
university/person:
one: Person
other: People
simple_form:
hints:
university:
sms_sender_name: "11 characters max."
university_person:
is_administrative: "Is part of administrative staff for a school."
is_author: "Writes posts for websites."
is_researcher: "Writes articles for journals."
is_teacher: "Teaches in Schools."
fr:
activerecord:
attributes:
university:
address: Adresse
city: Ville
country: Pays
identifier: Identifiant
logo: Logo
name: Nom
private: Etablissement privé
public: Public
public_or_private: Public/privé
sms_sender_name: Nom de l'expéditeur SMS
url: 'URL'
zipcode: Code postal
university/person:
abilities: Responsabilités
biography: Biographie
communication_website_posts: Actualités
education_programs: Formations
email: Email
first_name: Prénom
is_administrative: Personnel administratif
is_author: Auteur·rice
is_researcher: Chercheur·se
is_teacher: Enseignant·e
last_name: Nom de famille
name: Nom
phone: Téléphone
research_journal_articles: Articles
slug: Slug
user: Utilisateur
models:
university:
one: Université
other: Universités
university/person:
one: Personne
other: Personnes
simple_form:
hints:
university:
sms_sender_name: "11 caractères maximum."
university_person:
is_administrative: "Fait partie du personnel administratif d'une école."
is_author: "Écrit des articles pour les sites."
is_researcher: "Écrit des articles dans des revues scientifiques."
is_teacher: "Enseigne dans des formations."
......@@ -17,6 +17,7 @@ Rails.application.routes.draw do
draw 'admin/communication'
draw 'admin/education'
draw 'admin/research'
draw 'admin/university'
root to: 'dashboard#index'
end
......
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