diff options
Diffstat (limited to 'app/views/revisions/diff.html.erb')
| -rw-r--r-- | app/views/revisions/diff.html.erb | 133 |
1 files changed, 81 insertions, 52 deletions
diff --git a/app/views/revisions/diff.html.erb b/app/views/revisions/diff.html.erb index 0fd9ccb9..25f5ad04 100644 --- a/app/views/revisions/diff.html.erb +++ b/app/views/revisions/diff.html.erb | |||
| @@ -48,7 +48,6 @@ | |||
| 48 | </p> | 48 | </p> |
| 49 | <% end %> | 49 | <% end %> |
| 50 | 50 | ||
| 51 | |||
| 52 | <% if @available_layer_pairs.present? %> | 51 | <% if @available_layer_pairs.present? %> |
| 53 | <div class="node_action_bar standalone_action_bar"> | 52 | <div class="node_action_bar standalone_action_bar"> |
| 54 | <% @available_layer_pairs.each do |pair| %> | 53 | <% @available_layer_pairs.each do |pair| %> |
| @@ -71,21 +70,88 @@ | |||
| 71 | <% end %> | 70 | <% end %> |
| 72 | 71 | ||
| 73 | <div id="diffview"> | 72 | <div id="diffview"> |
| 74 | <% current_summary = @locale_summary.find { |s| s[:locale] == @translation_locale } %> | 73 | <% meta_changed = @diff[:address][:changed] || @diff[:external_url][:changed] || |
| 75 | <% if current_summary && !current_summary[:changed] %> | 74 | @diff[:template_name][:changed] || |
| 76 | <% elsewhere = @locale_summary.select { |s| s[:changed] }.map { |s| | 75 | @diff[:published_at][:changed] || @diff[:user][:changed] || |
| 77 | link_to s[:locale].to_s.upcase, diff_node_revisions_path(@node, | 76 | @diff[:tags][:added].any? || @diff[:tags][:removed].any? || |
| 78 | start_revision: params[:start_revision], end_revision: params[:end_revision], | 77 | @diff[:assets][:added].any? || @diff[:assets][:removed].any? %> |
| 79 | view: @diff_view, translation_locale: s[:locale]) } %> | 78 | |
| 80 | <p class="diff_unchanged diff_locale_pointer"> | 79 | <div class="diff_preamble"> |
| 81 | <% if elsewhere.any? %> | 80 | <div class="diff_meta"> |
| 82 | <%= t(".unchanged_here_html", :lang => @translation_locale.to_s.upcase, | 81 | <% unless meta_changed %> |
| 83 | :others => safe_join(elsewhere, ", ")) %> | 82 | <p class="diff_unchanged"><%= t(".no_metadata_change") %></p> |
| 84 | <% else %> | 83 | <% end %> |
| 85 | <%= t(".unchanged_anywhere") %> | 84 | |
| 85 | <% if @diff[:address][:changed] %> | ||
| 86 | <h3><%= t(".address") %></h3> | ||
| 87 | <p> | ||
| 88 | <del><%= @diff[:address][:from] || t(".none_marker") %></del> | ||
| 89 | <ins><%= @diff[:address][:to] || t(".none_marker") %></ins> | ||
| 90 | </p> | ||
| 91 | <% end %> | ||
| 92 | |||
| 93 | <% if @diff[:external_url][:changed] %> | ||
| 94 | <h3><%= Page.human_attribute_name(:external_url) %></h3> | ||
| 95 | <p> | ||
| 96 | <del><%= @diff[:external_url][:from].presence || t(".none_marker") %></del> | ||
| 97 | <ins><%= @diff[:external_url][:to].presence || t(".none_marker") %></ins> | ||
| 98 | </p> | ||
| 99 | <% end %> | ||
| 100 | |||
| 101 | <% if @diff[:published_at][:changed] %> | ||
| 102 | <h3><%= Page.human_attribute_name(:published_at) %></h3> | ||
| 103 | <p> | ||
| 104 | <del><%= @diff[:published_at][:from] ? admin_datetime(@diff[:published_at][:from]) : t(".none_marker") %></del> | ||
| 105 | <ins><%= @diff[:published_at][:to] ? admin_datetime(@diff[:published_at][:to]) : t(".none_marker") %></ins> | ||
| 106 | </p> | ||
| 86 | <% end %> | 107 | <% end %> |
| 87 | </p> | 108 | |
| 88 | <% end %> | 109 | <% if @diff[:user][:changed] %> |
| 110 | <h3><%= Page.human_attribute_name(:user) %></h3> | ||
| 111 | <p> | ||
| 112 | <del><%= @diff[:user][:from]&.login || t(".none_marker") %></del> | ||
| 113 | <ins><%= @diff[:user][:to]&.login || t(".none_marker") %></ins> | ||
| 114 | </p> | ||
| 115 | <% end %> | ||
| 116 | |||
| 117 | <% if @diff[:tags][:added].any? || @diff[:tags][:removed].any? %> | ||
| 118 | <h3><%= Page.human_attribute_name(:tag_list) %></h3> | ||
| 119 | <ul class="diff_set_list"> | ||
| 120 | <% @diff[:tags][:added].each do |tag| %><li><ins><%= tag %></ins></li><% end %> | ||
| 121 | <% @diff[:tags][:removed].each do |tag| %><li><del><%= tag %></del></li><% end %> | ||
| 122 | </ul> | ||
| 123 | <% end %> | ||
| 124 | |||
| 125 | <% if @diff[:template_name][:changed] %> | ||
| 126 | <h3><%= Page.human_attribute_name(:template_name) %></h3> | ||
| 127 | <p><del><%= @diff[:template_name][:from] || t(".none_marker") %></del> <ins><%= @diff[:template_name][:to] || t(".none_marker") %></ins></p> | ||
| 128 | <% end %> | ||
| 129 | |||
| 130 | <% if @diff[:assets][:added].any? || @diff[:assets][:removed].any? %> | ||
| 131 | <h3><%= Page.human_attribute_name(:assets) %></h3> | ||
| 132 | <ul class="diff_set_list"> | ||
| 133 | <% @diff[:assets][:added].each do |asset| %><li><ins><%= asset.upload_file_name %></ins></li><% end %> | ||
| 134 | <% @diff[:assets][:removed].each do |asset| %><li><del><%= asset.upload_file_name %></del></li><% end %> | ||
| 135 | </ul> | ||
| 136 | <% end %> | ||
| 137 | </div> | ||
| 138 | |||
| 139 | <% current_summary = @locale_summary.find { |s| s[:locale] == @translation_locale } %> | ||
| 140 | <% if current_summary && !current_summary[:changed] %> | ||
| 141 | <% elsewhere = @locale_summary.select { |s| s[:changed] }.map { |s| | ||
| 142 | link_to s[:locale].to_s.upcase, diff_node_revisions_path(@node, | ||
| 143 | start_revision: params[:start_revision], end_revision: params[:end_revision], | ||
| 144 | view: @diff_view, translation_locale: s[:locale]) } %> | ||
| 145 | <p class="diff_unchanged diff_locale_pointer"> | ||
| 146 | <% if elsewhere.any? %> | ||
| 147 | <%= t(".unchanged_here_html", :lang => @translation_locale.to_s.upcase, | ||
| 148 | :others => safe_join(elsewhere, ", ")) %> | ||
| 149 | <% else %> | ||
| 150 | <%= t(".unchanged_anywhere") %> | ||
| 151 | <% end %> | ||
| 152 | </p> | ||
| 153 | <% end %> | ||
| 154 | </div> | ||
| 89 | 155 | ||
| 90 | <% if @diff_view == :side_by_side %> | 156 | <% if @diff_view == :side_by_side %> |
| 91 | <div class="diff_side_by_side"> | 157 | <div class="diff_side_by_side"> |
| @@ -114,41 +180,4 @@ | |||
| 114 | <h3><%= Page.human_attribute_name(:body) %></h3> | 180 | <h3><%= Page.human_attribute_name(:body) %></h3> |
| 115 | <%= raw @diff[:body] %> | 181 | <%= raw @diff[:body] %> |
| 116 | <% end %> | 182 | <% end %> |
| 117 | |||
| 118 | <h3><%= t(".address") %></h3> | ||
| 119 | <% if @diff[:address][:changed] %> | ||
| 120 | <p> | ||
| 121 | <del><%= @diff[:address][:from] || t(".none_marker") %></del> | ||
| 122 | <ins><%= @diff[:address][:to] || t(".none_marker") %></ins> | ||
| 123 | </p> | ||
| 124 | <% else %> | ||
| 125 | <p class="diff_unchanged"><%= t(".no_change") %></p> | ||
| 126 | <% end %> | ||
| 127 | |||
| 128 | <h3><%= Page.human_attribute_name(:tag_list) %></h3> | ||
| 129 | <% if @diff[:tags][:added].empty? && @diff[:tags][:removed].empty? %> | ||
| 130 | <p class="diff_unchanged"><%= t(".no_change") %></p> | ||
| 131 | <% else %> | ||
| 132 | <ul class="diff_set_list"> | ||
| 133 | <% @diff[:tags][:added].each do |tag| %><li><ins><%= tag %></ins></li><% end %> | ||
| 134 | <% @diff[:tags][:removed].each do |tag| %><li><del><%= tag %></del></li><% end %> | ||
| 135 | </ul> | ||
| 136 | <% end %> | ||
| 137 | |||
| 138 | <h3><%= Page.human_attribute_name(:template_name) %></h3> | ||
| 139 | <% if @diff[:template_name][:changed] %> | ||
| 140 | <p><del><%= @diff[:template_name][:from] || t(".none_marker") %></del> <ins><%= @diff[:template_name][:to] || t(".none_marker") %></ins></p> | ||
| 141 | <% else %> | ||
| 142 | <p class="diff_unchanged"><%= t(".no_change") %></p> | ||
| 143 | <% end %> | ||
| 144 | |||
| 145 | <h3><%= Page.human_attribute_name(:assets) %></h3> | ||
| 146 | <% if @diff[:assets][:added].empty? && @diff[:assets][:removed].empty? %> | ||
| 147 | <p class="diff_unchanged"><%= t(".no_change") %></p> | ||
| 148 | <% else %> | ||
| 149 | <ul class="diff_set_list"> | ||
| 150 | <% @diff[:assets][:added].each do |asset| %><li><ins><%= asset.upload_file_name %></ins></li><% end %> | ||
| 151 | <% @diff[:assets][:removed].each do |asset| %><li><del><%= asset.upload_file_name %></del></li><% end %> | ||
| 152 | </ul> | ||
| 153 | <% end %> | ||
| 154 | </div> | 183 | </div> |
