Skip to content

Commit

Permalink
backoffice: display message status and message translation everywhere
Browse files Browse the repository at this point in the history
  • Loading branch information
nicolas-entourage committed Mar 11, 2025
1 parent 5e656cf commit f2c1118
Show file tree
Hide file tree
Showing 11 changed files with 39 additions and 79 deletions.
4 changes: 2 additions & 2 deletions app/controllers/admin/entourages_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ def show_messages
.includes(:user)
.to_a

@chat_messages = @entourage.parent_conversation_messages.includes(:survey).order(created_at: :desc)
@chat_messages = @entourage.parent_conversation_messages.includes(:survey, :translation).order(created_at: :desc)
.includes(:user)
.with_content
.page(params[:page])
Expand All @@ -132,7 +132,7 @@ def show_messages

def show_comments
@post = ChatMessage.find(params[:message_id])
@comments = ChatMessage.find(params[:message_id]).children.order(created_at: :desc).page(page).per(per)
@comments = ChatMessage.find(params[:message_id]).children.order(created_at: :desc).page(page).per(per).includes(:translation)

render :show
end
Expand Down
8 changes: 4 additions & 4 deletions app/controllers/admin/neighborhoods_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -109,7 +109,7 @@ def show_outings

def show_outing_posts
@outing = Outing.find(params[:outing_id])
@posts = @outing.parent_chat_messages.order(created_at: :desc).page(page).per(per)
@posts = @outing.parent_chat_messages.order(created_at: :desc).page(page).per(per).includes(:user, :translation)
end

def show_outing_post_comments
Expand All @@ -119,22 +119,22 @@ def show_outing_post_comments

if messageable.is_a?(Entourage) && messageable.outing?
@outing = messageable
@comments = @post.children.ordered.page(page).per(per).includes([:user])
@comments = @post.children.ordered.page(page).per(per).includes(:user, :translation)
else
redirect_to edit_admin_neighborhood_path(@neighborhood), alert: "La page n'est pas disponible"
end
end

def show_posts
@posts = @neighborhood.posts.includes(:survey).order(created_at: :desc).page(page).per(per).includes([:user])
@posts = @neighborhood.posts.order(created_at: :desc).page(page).per(per).includes(:user, :survey, :translation)
@moderator_read = @neighborhood.moderator_read_for(user: current_user)
end

def show_post_comments
@post = ChatMessage.find(params[:post_id])

if @post.messageable == @neighborhood
@comments = @post.children.order(created_at: :desc).page(page).per(per).includes([:user])
@comments = @post.children.order(created_at: :desc).page(page).per(per).includes(:user, :translation)
else
redirect_to edit_admin_neighborhood_path(@neighborhood), alert: "La page n'est pas disponible"
end
Expand Down
23 changes: 23 additions & 0 deletions app/helpers/conversations_helper.rb
Original file line number Diff line number Diff line change
Expand Up @@ -33,4 +33,27 @@ def archived_for_user? conversation, user
join_request.archived_at >= (conversation.feed_updated_at || conversation.updated_at)
end
end

def chat_message_with_status(chat_message)
message_html = if chat_message.deleted?
content_tag(:p, "Ce message a été supprimé par #{chat_message.deleter&.full_name} le #{l(chat_message.deleted_at, format: :short)} :", style: "color: red;") +
content_tag(:em, simple_format(chat_message.content(true)).html_safe)
elsif chat_message.offensible?
content_tag(:p, "Ce message a été détecté automatiquement comme offensant :", style: "color: red;") +
content_tag(:em, simple_format(chat_message.content(true)).html_safe)
elsif chat_message.offensive?
content_tag(:p, "Ce message a été modéré comme offensant :", style: "color: red;") +
content_tag(:em, simple_format(chat_message.content(true)).html_safe)
else
content_tag(:div, simple_format(chat_message.content).html_safe, id: "chat-message-#{chat_message.id}")
end

if chat_message.translation&.foreign?
translation_html = content_tag(:i, "Traduction: #{object_translation(chat_message, :content, :fr)}")
message_html += translation_html
end

message_html
end

end
11 changes: 1 addition & 10 deletions app/views/admin/conversations/_chat_messages_content.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -28,16 +28,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<%= simple_format message.content %>

<% if message.translation && message.translation.foreign? %>
<i>Traduction: <%= object_translation(message, :content, :fr) %></i>
<% end %>
<% end %>
<%= chat_message_with_status(message) %>
</div>
<div class="conversation-actions">
<div class="dropdown" style="display: inline-block">
Expand Down
11 changes: 1 addition & 10 deletions app/views/admin/conversations/_chat_messages_list.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -155,16 +155,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<%= simple_format message.content %>

<% if message.translation && message.translation.foreign? %>
<i>Traduction: <%= object_translation(message, :content, :fr) %></i>
<% end %>
<% end %>
<%= chat_message_with_status(message) %>

<% if @last_reads[message.id].any? %>
<div style="display: flex; align-items: center; font-size: 12px; margin-top: -10px; margin-right: -40px; justify-content: end; ; padding-right: 2px;">
Expand Down
9 changes: 1 addition & 8 deletions app/views/admin/entourages/show/_show_comments.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -50,14 +50,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<div id="chat-message-<%= message.id %>">
<%= simple_format message.content %>
</div>
<% end %>
<%= chat_message_with_status(message) %>
</div>

<div class="conversation-actions">
Expand Down
12 changes: 3 additions & 9 deletions app/views/admin/entourages/show/_show_messages.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -76,15 +76,9 @@
<div>
<%= link_to message.user.full_name, admin_user_path(message.user), class: "conversation-sender" %>
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>
<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<div id="chat-message-<%= message.id %>">
<%= simple_format message.content %>
</div>
<% end %>
</div>*

<%= chat_message_with_status(message) %>

<% if message.survey.present? %>
<p><strong>Sondage</strong></p>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -60,12 +60,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<%= simple_format message.content %>
<% end %>
<%= chat_message_with_status(message) %>
</div>

<div class="conversation-actions">
Expand Down
9 changes: 1 addition & 8 deletions app/views/admin/neighborhoods/show_outing_posts.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -62,14 +62,7 @@
<span class="conversation-timestamp"><%= l post.created_at, format: "%H h %M" %></span>
</div>

<% if post.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= post.deleter&.full_name %> le <%= l post.deleted_at, format: :short %> : </p>
<em><%= simple_format post.content(true) %></em>
<% else %>
<div id="chat-message-<%= post.id %>">
<%= simple_format post.content %>
</div>
<% end %>
<%= chat_message_with_status(post) %>

<% if post.survey.present? %>
<p><strong>Sondage</strong></p>
Expand Down
9 changes: 1 addition & 8 deletions app/views/admin/neighborhoods/show_post_comments.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -60,14 +60,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<div id="chat-message-<%= message.id %>">
<%= simple_format message.content %>
</div>
<% end %>
<%= chat_message_with_status(message) %>
</div>

<div class="conversation-actions">
Expand Down
15 changes: 1 addition & 14 deletions app/views/admin/neighborhoods/show_posts.html.erb
Original file line number Diff line number Diff line change
Expand Up @@ -76,20 +76,7 @@
<span class="conversation-timestamp"><%= l message.created_at, format: "%H h %M" %></span>
</div>

<% if message.deleted? %>
<p style="color: red;"> Ce message a été supprimé par <%= message.deleter&.full_name %> le <%= l message.deleted_at, format: :short %> : </p>
<em><%= simple_format message.content(true) %></em>
<% elsif message.offensible? %>
<p style="color: red;"> Ce message a été détecté automatiquement comme offensant : </p>
<em><%= simple_format message.content(true) %></em>
<% elsif message.offensive? %>
<p style="color: red;"> Ce message a été modéré comme offensant : </p>
<em><%= simple_format message.content(true) %></em>
<% else %>
<div id="chat-message-<%= message.id %>">
<%= simple_format message.content %>
</div>
<% end %>
<%= chat_message_with_status(message) %>

<% if message.survey.present? %>
<p><strong>Sondage</strong></p>
Expand Down

0 comments on commit f2c1118

Please sign in to comment.