Fixed changeset time inconsistencies
authorAaron Lidman <aaronlidman@gmail.com>
Thu, 7 Nov 2013 20:18:52 +0000 (12:18 -0800)
committerAaron Lidman <aaronlidman@gmail.com>
Thu, 7 Nov 2013 20:19:00 +0000 (12:19 -0800)
app/assets/stylesheets/common.css.scss
app/helpers/changeset_helper.rb
app/views/browse/changeset.html.erb
app/views/changeset/_changeset.html.erb

index 8e43e0d095d336330d7d94358383fd3476fda002..21ed6930b75a42db2532897351bb951eed319d59 100644 (file)
@@ -644,7 +644,7 @@ nav.secondary {
       padding: $lineheight $lineheight $lineheight/2;
     }
 
-    h4, span.user, span.date {
+    h4 {
       font-weight: normal;
       color: #666;
       font-size: 12px;
@@ -1053,6 +1053,10 @@ a.donate {
 
     &.selected { background: #FFFFE6; }
     /* color is derived from changeset bbox fillColor in history.js */
+
+    h4 {
+      padding: 0;
+    }
   }
 
   .comment a {
index b71c353713644afc6a5e82ee340d9fbc6ddbd54b..262500355e3a249caff4aac9c5a6d20d5ddd7346 100644 (file)
@@ -1,23 +1,32 @@
 module ChangesetHelper
-  def changeset_time_ago(changeset)
+  def changeset_details(changeset)
     out = ''
     created_at = distance_of_time_in_words_to_now(changeset.created_at)
     closed_at = distance_of_time_in_words_to_now(changeset.closed_at)
-    if created_at == closed_at
-      out << t('browse.changeset_details.closed_at') + ' '
+    date = ''
+    if changeset.closed_at > DateTime.now
+      date << t('browse.changeset_details.created_at') + ' '
+      date << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: l(changeset.created_at))
+    else
+      date << t('browse.changeset_details.closed_at') + ' '
       both_times = t('browse.changeset_details.created_at') + ': ' + l(changeset.created_at)
       both_times << '&#10;'
       both_times << t('browse.changeset_details.closed_at') + ': ' + l(changeset.closed_at)
-      out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: both_times.html_safe)
-    else
-      out << t('browse.changeset_details.created_at') + ' '
-      out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: l(changeset.created_at))
-      out << t('browse.changeset_details.closed_at') + ' '
-      out << content_tag(:abbr, t('browse.changeset_details.ago', :ago => closed_at), title: l(changeset.closed_at))
+      date << content_tag(:abbr, t('browse.changeset_details.ago', :ago => created_at), title: both_times.html_safe)
     end
-    if changeset.user.data_public?
-      out << ' ' + t('browse.changeset_details.by') + ' '
-      out << link_to(h(changeset.user.display_name), :controller => "user", :action => "view", :display_name => changeset.user.display_name)
+    out << content_tag(:span, date.html_safe, class: 'date')
+    unless params.key?(:display_name)
+      userspan = ''
+      if changeset.user.data_public?
+        userspan << ' ' + t('browse.changeset_details.by') + ' '
+        if changeset.user.data_public?
+          user = link_to changeset.user.display_name, user_path(changeset.user.display_name)
+        else
+          user = t('changeset.changeset.anonymous')
+        end
+        userspan << content_tag(:span, user, class: 'user')
+      end
+      out << content_tag(:span, userspan.html_safe, class: 'user')
     end
     return out.html_safe
   end
index 3a9136f52db24351ba85b5a00344327f3ba2a4e6..4e74c5ee07d5e220687f02a21464480937756477 100644 (file)
@@ -5,7 +5,7 @@
 
 <div class="browse-section">
   <p><%= @changeset.tags['comment'].to_s.presence || t('browse.changeset_details.no_comment') %></p>
-  <h4><%= changeset_time_ago(@changeset) %></h4>
+  <h4><%= changeset_details(@changeset) %></h4>
 </div>
 
 <%= render :partial => "tag_details", :object => @changeset.tags.except('comment') %>
index 4bccbe516ad929778959046921577b47b9fdeada..3f2cb319bf4de9b532367a9370c343918bbfaf5c 100644 (file)
         <% end %>
       </a>
   </p>
-
-  <span class='date'>
-    <% if changeset.closed_at > DateTime.now %>
-      <%= t 'changeset.changeset.still_editing' %>
-    <% else %>
-      <% closed_at = l changeset.closed_at, :format => :long %>
-      <abbr title='<%= closed_at %>'><%= distance_of_time_in_words_to_now(closed_at) %></abbr>
-    <% end %>
-  </span>
-
-  <% unless params.key?(:display_name) %>
-    <span class="user"> by 
-      <% if changeset.user.data_public? %>
-        <%= link_to changeset.user.display_name, user_path(changeset.user.display_name) %>
-      <% else %>
-        <i><%= t 'changeset.changeset.anonymous' %></i>
-      <% end %>
-    </span>
-  <% end %>
+  <h4><%= changeset_details(changeset) %></h4>
 <% end %>