X-Git-Url: https://git.openstreetmap.org/rails.git/blobdiff_plain/e670da54cbc4a7b00525b8decb506a23deddd918..f433fb3d4eb9ba9d26aad2070d316e2e7d35b8b9:/app/views/browse/changeset.html.erb?ds=sidebyside diff --git a/app/views/browse/changeset.html.erb b/app/views/browse/changeset.html.erb index 8d4aa8afa..523cb84d6 100644 --- a/app/views/browse/changeset.html.erb +++ b/app/views/browse/changeset.html.erb @@ -1,55 +1,135 @@ -<% set_title("#{t('browse.changeset.title')} | #{@changeset.id}") %> +<% set_title(t(".title", :id => @changeset.id)) %> -<h2> - <a class="geolink" href="<%= root_path %>"><span class="icon close"></span></a> - <%= t 'browse.changeset.changeset', :id => @changeset.id %> -</h2> +<%= render "sidebar_header", :title => t(".title", :id => @changeset.id) %> <div class="browse-section"> - <h4><%= @changeset.tags['comment'].to_s.presence || t('browse.no_comment') %></h4> - <div class="details"><%= changeset_details(@changeset) %></div> + <p class="font-italic"> + <%= linkify(@changeset.tags["comment"].to_s.presence || t("browse.no_comment")) %> + </p> + <p class="details"><%= changeset_details(@changeset) %></p> - <%= render :partial => "tag_details", :object => @changeset.tags.except('comment') %> + <%= render :partial => "tag_details", :object => @changeset.tags.except("comment") %> - <% unless @nodes.empty? %> - <h4> - <%= type_and_paginated_count('node', @node_pages) %> - <%= render :partial => 'paging_nav', :locals => { :pages => @node_pages, :page_param => "node_page"} %> - </h4> - <ul> - <% @nodes.each do |node| %> - <li><%= link_to h(printable_name(node, true)), { :action => "node", :id => node.node_id.to_s }, :class => link_class('node', node), :title => link_title(node) %></li> - <% end %> - </ul> + <h4 class="comments-header"><%= t(".discussion") %></h4> + + <% if current_user %> + <div class="buttons clearfix subscribe-buttons"> + <form action="#"> + <% if @changeset.subscribers.exists?(current_user.id) %> + <input class="action-button btn btn-sm btn-primary" type="submit" name="unsubscribe" value="<%= t("javascripts.changesets.show.unsubscribe") %>" data-method="POST" data-url="<%= changeset_unsubscribe_url(@changeset) %>" /> + <% else %> + <input class="action-button btn btn-sm btn-primary" type="submit" name="subscribe" value="<%= t("javascripts.changesets.show.subscribe") %>" data-method="POST" data-url="<%= changeset_subscribe_url(@changeset) %>" /> + <% end %> + </form> + </div> + <% end %> + + <div class="clearfix"></div> + + <% if @comments.length > 0 %> + <div class='changeset-comments'> + <form action="#"> + <ul class="list-unstyled"> + <% @comments.each do |comment| %> + <% if comment.visible %> + <li id="c<%= comment.id %>"> + <small class='text-muted'> + <%= t(".commented_by_html", + :when => friendly_date_ago(comment.created_at), + :exact_time => l(comment.created_at), + :user => link_to(comment.author.display_name, user_path(comment.author))) %> + <% if current_user and current_user.moderator? %> + â <span class="action-button" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_hide_url(comment.id) %>"><%= t("javascripts.changesets.show.hide_comment") %></span> + <% end %> + </small> + <%= comment.body.to_html %> + </li> + <% elsif current_user and current_user.moderator? %> + <li id="c<%= comment.id %>"> + <small class='text-muted'> + <%= t(".hidden_commented_by_html", + :when => friendly_date_ago(comment.created_at), + :exact_time => l(comment.created_at), + :user => link_to(comment.author.display_name, user_path(comment.author))) %> + â <span class="action-button text-muted" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_unhide_url(comment.id) %>"><%= t("javascripts.changesets.show.unhide_comment") %></span> + </small> + <%= comment.body.to_html %> + </li> + <% end %> + <% end %> + </ul> + </form> + </div> + <% end %> + + <% unless current_user %> + <p class="notice"> + <%= link_to(t(".join_discussion"), login_path(:referer => request.fullpath)) %> + </p> + <% end %> + + <% if current_user %> + <% unless @changeset.is_open? %> + <form action="#" class="mb-3"> + <div class="form-group"> + <textarea class="form-control" name="text" cols="40" rows="5"></textarea> + </div> + <div class="buttons clearfix"> + <input type="submit" name="comment" value="<%= t("javascripts.changesets.show.comment") %>" data-changeset-id="<%= @changeset.id %>" data-method="POST" data-url="<%= changeset_comment_url(@changeset) %>" disabled="1" class="btn btn-sm btn-primary" /> + </div> + </form> + <% else %> + <p class="notice"> + <%= t(".still_open") %> + </p> + <% end %> <% end %> <% unless @ways.empty? %> - <h4> - <%= type_and_paginated_count('way', @way_pages) %> - <%= render :partial => 'paging_nav', :locals => { :pages => @way_pages, :page_param => "way_page" } %> - </h4> - <ul> + <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("way", @way_pages), :pages => @way_pages, :page_param => "way_page" } %> + <ul class="list-unstyled"> <% @ways.each do |way| %> - <li><%= link_to h(printable_name(way, true)), { :action => "way", :id => way.way_id.to_s }, :class => link_class('way', way), :title => link_title(way) %></li> + <li><%= link_to printable_name(way, :version => true), { :action => "way", :id => way.way_id.to_s }, { :class => link_class("way", way), :title => link_title(way) } %></li> <% end %> </ul> <% end %> <% unless @relations.empty? %> - <h4> - <%= type_and_paginated_count('relation', @relation_pages) %> - <%= render :partial => 'paging_nav', :locals => { :pages => @relation_pages, :page_param => "relation_page" } %> - </h4> - <ul> + <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("relation", @relation_pages), :pages => @relation_pages, :page_param => "relation_page" } %> + <ul class="list-unstyled"> <% @relations.each do |relation| %> - <li><%= link_to h(printable_name(relation, true)), { :action => "relation", :id => relation.relation_id.to_s }, :class => link_class('relation', relation), :title => link_title(relation) %></li> + <li><%= link_to printable_name(relation, :version => true), { :action => "relation", :id => relation.relation_id.to_s }, { :class => link_class("relation", relation), :title => link_title(relation) } %></li> + <% end %> + </ul> + <% end %> + + <% unless @nodes.empty? %> + <%= render :partial => "paging_nav", :locals => { :heading => type_and_paginated_count("node", @node_pages), :pages => @node_pages, :page_param => "node_page" } %> + <ul class="list-unstyled"> + <% @nodes.each do |node| %> + <li><%= link_to printable_name(node, :version => true), { :action => "node", :id => node.node_id.to_s }, { :class => link_class("node", node), :title => link_title(node), :rel => link_follow(node) } %></li> <% end %> </ul> <% end %> </div> +<% if @next_by_user || @prev_by_user %> + <div class='secondary-actions'> + <% if @prev_by_user %> + <%= link_to "<< #{@prev_by_user.id}", :id => @prev_by_user.id %> + · + <% end %> + <%= user = (@prev_by_user || @next_by_user).user.display_name + link_to tag.bdi(user), :controller => "changesets", :action => "index", :display_name => user %> + <% if @next_by_user %> + · + <%= link_to "#{@next_by_user.id} >>", :id => @next_by_user.id %> + <% end %> + </div> +<% end %> + <div class='secondary-actions'> - <%= link_to(t('browse.changeset.changesetxml'), :controller => "changeset", :action => "read") %> + <%= link_to(t(".changesetxml"), :controller => "api/changesets", :action => "show") %> · - <%= link_to(t('browse.changeset.osmchangexml'), :controller => "changeset", :action => "download") %> + <%= link_to(t(".osmchangexml"), :controller => "api/changesets", :action => "download") %> </div>