From e23ee170f5c5ebeeb516be269017037a17be0561 Mon Sep 17 00:00:00 2001
From: BrokenEagle
').html_safe if previous.blank?
+ def diff_body_html(record, other, field)
+ if record.blank? || other.blank?
+ diff_record = other.presence || record
+ return h(diff_record[field]).gsub(/\r?\n/, '¶
').html_safe
+ end
pattern = Regexp.new('(?:<.+?>)|(?:\w+)|(?:[ \t]+)|(?:\r?\n)|(?:.+?)')
- DiffBuilder.new(record[field], previous[field], pattern).build
+ DiffBuilder.new(record[field], other[field], pattern).build
end
- def status_diff_html(record)
- previous = record.previous
+ def status_diff_html(record, type)
+ other = record.send(type)
- return "New" if previous.blank?
+ if other.blank?
+ return type == "previous" ? "New" : ""
+ end
statuses = []
record.class.status_fields.each do |field, status|
if record.has_attribute?(field)
- statuses += [status] if record[field] != previous[field]
+ statuses += [status] if record[field] != other[field]
else
- statuses += [status] if record.send(field)
+ statuses += [status] if record.send(field, type)
end
end
- statuses.join("
").html_safe
+
+ altered = record.updater_id != other.updater_id
+
+ %(
")}
Rename:
#{name_diff}
Showing differences between <%= compact_time @pool_version.updated_at %> (<%= link_to_user @pool_version.updater %>) and <%= compact_time @other_version.updated_at %> (<%= link_to_user @other_version.updater %>)
+ <% if @pool_version.id != @other_version.id %> +Showing differences between <%= compact_time @pool_version.updated_at %> (<%= link_to_user @pool_version.updater %>) and <%= compact_time @other_version.updated_at %> (<%= link_to_user @other_version.updater %>)
- <% if @pool_version.description != @other_version.description %> -No changes to description.
+ <% end %> <% else %> -No changes to description.
+Version is latest!
<% end %> + <% else %> +No versions to compare!
<% end %>Showing differences between <%= compact_time @thispage.updated_at %> (<%= link_to_user @thispage.updater %>) and <%= compact_time @otherpage.updated_at %> (<%= link_to_user @otherpage.updater %>)
- - <% if wiki_version_show_other_names(@thispage, @otherpage) %> -<%= wiki_version_other_names_diff(@thispage, @otherpage) %>
- <% else %> -No changes to other names.
+ <% if params[:type].present? %> + <%= render "versions/types" %> <% end %> - <% if @thispage.body != @otherpage.body %> -Showing differences between <%= compact_time @thispage.updated_at %> (<%= link_to_user @thispage.updater %>) and <%= compact_time @otherpage.updated_at %> (<%= link_to_user @otherpage.updater %>)
+ + <% if wiki_version_show_other_names(@thispage, @otherpage) %> +<%= wiki_version_other_names_diff(@thispage, @otherpage) %>
+ <% else %> +No changes to other names.
+ <% end %> + + <% if @thispage.body != @otherpage.body %> +No changes to body.
+ <% end %> + <% else %> +Version is latest!
+ <% end %> <% else %> -No changes to body.
+No versions to compare!
<% end %> <% end %> diff --git a/app/views/wiki_page_versions/index.html.erb b/app/views/wiki_page_versions/index.html.erb index 33613d14f..382ecf479 100644 --- a/app/views/wiki_page_versions/index.html.erb +++ b/app/views/wiki_page_versions/index.html.erb @@ -3,6 +3,8 @@ <% content_for(:content) do %>