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

University::Person#picture

parent f4568a22
No related branches found
No related tags found
No related merge requests found
......@@ -56,8 +56,9 @@ class Admin::University::PeopleController < Admin::University::ApplicationContro
def person_params
params.require(:university_person).permit(
:first_name, :last_name, :email, :phone, :biography, :slug, :user_id,
:is_researcher, :is_teacher, :is_administration
:slug, :first_name, :last_name, :email, :phone,
:biography, :picture, :picture_delete, :picture_infos,
:is_researcher, :is_teacher, :is_administration, :user_id
).merge(university_id: current_university.id)
end
end
......@@ -29,6 +29,7 @@
class University::Person < ApplicationRecord
include WithGit
include WithSlug
include WithPicture
has_rich_text :biography
......@@ -107,7 +108,10 @@ class University::Person < ApplicationRecord
def git_dependencies(website)
dependencies = []
dependencies << self if for_website?(website)
if for_website?(website)
dependencies << self
dependencies << best_picture.blob
end
dependencies << administrator if administrator.for_website?(website)
dependencies << author if author.for_website?(website)
dependencies << researcher if researcher.for_website?(website)
......
module University::Person::WithPicture
extend ActiveSupport::Concern
included do
has_one_attached_deletable :picture
end
def best_picture
@best_picture ||= begin
best_picture = picture
best_picture = user.picture if !picture.attached? && user.present?
best_picture
end
end
def best_picture_inherits_from_user?
user.present? && best_picture == user.picture
end
end
......@@ -25,6 +25,24 @@
<%= f.input :biography, as: :rich_text_area %>
</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>
</div>
<div class="card-body">
<div class="row">
<div class="col-md-6">
<%= f.input :is_teacher %>
</div>
<div class="col-md-6">
<%= f.input :is_researcher %>
</div>
<div class="col-md-6">
<%= f.input :is_administration %>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-4">
<div class="card flex-fill w-100">
......@@ -43,12 +61,16 @@
</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>
<h5 class="card-title mb-0"><%= University::Person.human_attribute_name('picture') %></h5>
</div>
<div class="card-body">
<%= f.input :is_teacher %>
<%= f.input :is_researcher %>
<%= f.input :is_administration %>
<%= f.input :picture,
as: :single_deletable_file,
label: false,
input_html: { accept: '.jpg,.jpeg,.png' },
preview: 200,
resize: 1,
direct_upload: true %>
</div>
</div>
</div>
......
......@@ -32,5 +32,22 @@
<% end %>
</div>
</div>
<% if person.best_picture.attached? %>
<div class="card flex-fill w-100">
<div class="card-header">
<h2 class="card-title mb-0 h5"><%= t('activerecord.attributes.university/person.picture') %></h2>
</div>
<div class="card-body">
<% if person.best_picture_inherits_from_user? %>
<p>
<span class="small text-muted">
<%= t 'admin.inheritance.sentence_html', link: link_to(person.user, [:admin, person.user]) %>
</span>
</p>
<% end %>
<%= kamifusen_tag person.best_picture, class: 'img-fluid' %>
</div>
</div>
<% end %>
</div>
</div>
......@@ -6,6 +6,9 @@ first_name: "<%= @person.first_name %>"
last_name: "<%= @person.last_name %>"
phone: "<%= @person.phone %>"
email: "<%= @person.email %>"
<% if @person.best_picture.attached? %>
image: "<%= @person.best_picture.blob.id %>"
<% end %>
roles:
<% if @person.author.for_website?(@website) %>
- author
......
......@@ -28,6 +28,7 @@ en:
last_name: Last name
name: Name
phone: Phone
picture: Profile picture
research_journal_articles: Articles
slug: Slug
user: User
......
......@@ -28,6 +28,7 @@ fr:
last_name: Nom de famille
name: Nom
phone: Téléphone
picture: Photo de profil
research_journal_articles: Articles
slug: Slug
user: Utilisateur
......
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