]> git.openstreetmap.org Git - rails.git/blob - app/views/notes/show.html.erb
Merge remote-tracking branch 'upstream/pull/4565'
[rails.git] / app / views / notes / show.html.erb
1 <% set_title(t(".title", :id => @note.id)) %>
2
3 <%= render "sidebar_header", :title => t(".#{@note.status}_title", :note_name => @note.id) %>
4
5 <div>
6   <h4><%= t(".description") %></h4>
7   <div class="overflow-hidden ms-2">
8     <%= h(@note_comments.first.body.to_html) %>
9   </div>
10
11   <div class="details" data-coordinates="<%= @note.lat %>,<%= @note.lon %>" data-status="<%= @note.status %>">
12     <ul class="list-unstyled">
13       <li><%= note_event("opened", @note.created_at, @note.author) %></li>
14       <% if @note.status == "closed" %>
15         <li><%= note_event(@note.status, @note.closed_at, @note.all_comments.last.author) %></li>
16       <% end %>
17       <li>
18         <%= t "browse.location" %>
19         <%= link_to(t(".coordinates_html",
20                       :latitude => tag.span(number_with_delimiter(@note.lat), :class => "latitude"),
21                       :longitude => tag.span(number_with_delimiter(@note.lon), :class => "longitude")),
22                     root_path(:anchor => "map=18/#{@note.lat}/#{@note.lon}")) %>
23       </li>
24     </ul>
25   </div>
26
27   <% if @note_comments.find { |comment| comment.author.nil? } -%>
28     <p class='alert alert-warning'><%= t ".anonymous_warning" %></p>
29   <% end -%>
30
31   <% if @note_comments.length > 1 %>
32     <div class='note-comments'>
33       <ul class="list-unstyled">
34         <% @note_comments.drop(1).each do |comment| %>
35           <li id="c<%= comment.id %>">
36             <small class='text-body-secondary'><%= note_event(comment.event, comment.created_at, comment.author) %></small>
37             <div class="mx-2">
38               <%= comment.body.to_html %>
39             </div>
40           </li>
41         <% end %>
42       </ul>
43     </div>
44   <% end %>
45
46   <% if @note.status == "open" %>
47     <% if current_user -%>
48       <form class="mb-3" action="#">
49         <div class="mb-3">
50           <textarea class="form-control" name="text" cols="40" rows="5" maxlength="2000"></textarea>
51         </div>
52         <div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
53         </div>
54         <div class="d-flex flex-wrap gap-1">
55           <% if current_user.moderator? -%>
56             <%= button_tag t(".hide"), :name => "hide", :class => "btn btn-light",
57                                        :data => { :method => "DELETE",
58                                                   :url => api_note_url(@note, "json") } %>
59           <% end -%>
60           <%= button_tag t(".resolve"), :name => "close", :class => "btn btn-primary",
61                                         :data => { :method => "POST",
62                                                    :url => close_api_note_url(@note, "json"),
63                                                    :default_action_text => t(".resolve"),
64                                                    :comment_action_text => t(".comment_and_resolve") } %>
65           <%= button_tag t(".comment"), :name => "comment", :class => "btn btn-primary", :disabled => true,
66                                         :data => { :method => "POST",
67                                                    :url => comment_api_note_url(@note, "json") } %>
68         </div>
69       </form>
70     <% else -%>
71       <p>
72         <%= link_to t(".log_in_to_comment"), login_path(:referer => request.fullpath) %>
73       </p>
74     <% end -%>
75   <% else %>
76     <form class="mb-3" action="#">
77       <input type="hidden" name="text" value="" autocomplete="off">
78       <div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
79       </div>
80       <div class="d-flex flex-wrap gap-1">
81         <% if @note.status != "hidden" and current_user and current_user.moderator? -%>
82           <%= button_tag t(".hide"), :name => "hide", :class => "btn btn-light",
83                                      :data => { :method => "DELETE",
84                                                 :url => api_note_url(@note, "json") } %>
85         <% end -%>
86         <% if current_user -%>
87           <%= button_tag t(".reactivate"), :name => "reopen", :class => "btn btn-primary",
88                                            :data => { :method => "POST",
89                                                       :url => reopen_api_note_url(@note, "json") } %>
90         <% end -%>
91       </div>
92     </form>
93   <% end %>
94
95   <% if current_user && current_user != @note.author %>
96     <p>
97       <small class="text-body-secondary">
98         <%= t ".report_link_html", :link => report_link(t(".report"), @note) %>
99         <% if @note.status == "open" %>
100           <%= t ".other_problems_resolve", :link => report_link(t(".report"), @note) %>
101         <% elsif @note.status == "closed" %>
102           <%= t ".other_problems_resolved" %>
103         <% end %>
104       </small>
105     </p>
106   <% end %>
107
108   <% if @note.freshly_closed? %>
109     <small class="text-body-secondary">
110       <%= t ".disappear_date_html", :disappear_in => friendly_date(@note.freshly_closed_until) %>
111     </small>
112   <% end %>
113 </div>