From 7a3eedf461bfce2dd07515f66846491da43b49fb Mon Sep 17 00:00:00 2001 From: aignatov-bio <47317017+aignatov-bio@users.noreply.github.com> Date: Fri, 14 Jun 2019 16:20:13 +0200 Subject: [PATCH 01/11] Adding missing avatars to comments (#1838) --- app/assets/stylesheets/shared/comments.scss | 15 +++++++++++++++ app/helpers/application_helper.rb | 11 +---------- app/models/user.rb | 16 ++++++++++++++++ .../elements/_result_comments_element.html.erb | 15 +++------------ .../elements/_step_comments_element.html.erb | 15 +++------------ app/views/shared/comments/_item.html.erb | 18 ++++++++++++------ 6 files changed, 50 insertions(+), 40 deletions(-) diff --git a/app/assets/stylesheets/shared/comments.scss b/app/assets/stylesheets/shared/comments.scss index b0746a06b..b321ef775 100644 --- a/app/assets/stylesheets/shared/comments.scss +++ b/app/assets/stylesheets/shared/comments.scss @@ -144,6 +144,21 @@ } } + // Looks like PDF has some specail CSS rules, here is some hack + &.report { + display: block; + float: left; + width: 100%; + + .avatar-placehodler { + float: left; + } + + .content-placeholder { + float: left; + } + } + &[data-edit-mode="0"]:hover, &[data-edit-mode="1"] { .comment-right { diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 56ef2b58c..e093d5cdc 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -196,16 +196,7 @@ module ApplicationHelper # No more dirty hack def user_avatar_absolute_url(user, style) begin - unless missing_avatar(user, style) - image = if user.avatar.options[:storage].to_sym == :s3 - URI.parse(user.avatar.url(style)).open.to_a.join - else - File.open(user.avatar.path(style)).to_a.join - end - encoded_data = Base64.strict_encode64(image) - avatar_base64 = "data:#{user.avatar_content_type};base64,#{encoded_data}" - return avatar_base64 - end + return user.avatar_base64(style) unless missing_avatar(user, style) rescue StandardError => e Rails.logger.error e.message end diff --git a/app/models/user.rb b/app/models/user.rb index 8228f67e0..6a46a7f47 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -559,6 +559,22 @@ class User < ApplicationRecord .map { |i| { name: escape_input(i[:full_name]), id: i[:id] } } end + def avatar_base64(style) + unless avatar.present? + missing_link = File.open("#{Rails.root}/app/assets/images/#{style}/missing.png").to_a.join + return "data:image/png;base64,#{Base64.strict_encode64(missing_link)}" + end + + avatar_uri = if avatar.options[:storage].to_sym == :s3 + URI.parse(avatar.url(style)).open.to_a.join + else + File.open(avatar.path(style)).to_a.join + end + + encoded_data = Base64.strict_encode64(avatar_uri) + "data:#{avatar_content_type};base64,#{encoded_data}" + end + protected def confirmation_required? diff --git a/app/views/reports/elements/_result_comments_element.html.erb b/app/views/reports/elements/_result_comments_element.html.erb index 68614856f..b6635caef 100644 --- a/app/views/reports/elements/_result_comments_element.html.erb +++ b/app/views/reports/elements/_result_comments_element.html.erb @@ -18,22 +18,13 @@
-
+
<% if comments.count == 0 %> <%=t "projects.reports.elements.result_comments.no_comments" %> <% else %> -
    +
      <% comments.each do |comment| %> - <% comment_ts = comment.created_at %> -
    • - - <%=t "projects.reports.elements.result_comments.comment_prefix", user: comment.user.full_name, date: l(comment_ts, format: :full_date), time: l(comment_ts, format: :time) %> - - -   - <%= custom_auto_link(comment.message, team: current_team) %> - -
    • + <%= render partial: 'shared/comments/item.html.erb', locals: { comment: comment, readonly: true, report: true } %> <% end %>
    <% end %> diff --git a/app/views/reports/elements/_step_comments_element.html.erb b/app/views/reports/elements/_step_comments_element.html.erb index 00f279c7a..5bf307378 100644 --- a/app/views/reports/elements/_step_comments_element.html.erb +++ b/app/views/reports/elements/_step_comments_element.html.erb @@ -18,22 +18,13 @@
-
+
<% if comments.count == 0 %> <%=t "projects.reports.elements.step_comments.no_comments" %> <% else %> -