opf/openproject

View on GitHub
app/views/wiki/annotate.html.erb

Summary

Maintainability
Test Coverage
<%#-- copyright
OpenProject is an open source project management software.
Copyright (C) 2012-2024 the OpenProject GmbH

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License version 3.

OpenProject is a fork of ChiliProject, which is a fork of Redmine. The copyright follows:
Copyright (C) 2006-2013 Jean-Philippe Lang
Copyright (C) 2010-2013 the ChiliProject Team

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

See COPYRIGHT and LICENSE files for more details.

++#%>

<% html_title t(:project_module_wiki), t(:label_history), t(:text_comment_wiki_page, page: @page.title)  %>
<% breadcrumb_paths(*(@page.ancestors.reverse.collect { |parent| link_to h(parent.breadcrumb_title), {id: parent, project_id: parent.project}} + [h(@page.breadcrumb_title)] )) %>

<%= toolbar title: h(@page.title) do %>
  <li class="toolbar-item">
    <%= link_to({action: 'edit', id: @page}, class: 'button', accesskey: accesskey(:edit)) do %>
      <%= op_icon('button--icon icon-edit') %>
      <span class="button--text"><%= t(:button_edit) %></span>
    <% end %>
  </li>
  <li class="toolbar-item">
    <%= link_to({action: 'history', id: @page}, class: 'button') do %>
      <%= op_icon('button--icon icon-wiki') %>
      <span class="button--text"><%= t(:label_history) %></span>
    <% end %>
  </li>
<% end %>

<p>
  <%= Version.model_name.human %> <%= link_to h(@annotate.content.version), action: 'show', id: @page, version: @annotate.content.version %>
  <em>(<%= h(@annotate.content.journable.author ? @annotate.content.journable.author.name : t(:label_user_anonymous)) %>, <%= format_time(@annotate.content.journable.updated_at) %>)</em>
</p>
<% colors = Hash.new {|k,v| k[v] = (k.size % 12) } %>
<table class="filecontent annotate">
  <tbody>
    <% line_num = 1 %>
    <% @annotate.lines.each do |line| -%>
      <tr class="bloc-<%= colors[line[0]] %>">
        <th class="line-num"><%= line_num %></th>
        <td class="revision"><%= link_to line[0], controller: '/wiki', action: 'show', project_id: @project, id: @page, version: line[0] %></td>
        <td class="author"><%= h(line[1]) %></td>
        <td class="line-code">
          <pre><%=h line[2] %></pre>
        </td>
      </tr>
      <% line_num += 1 %>
    <% end -%>
  </tbody>
</table>