opf/openproject

View on GitHub
app/views/news/show.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.

++#%>

<%= toolbar title: "#{avatar(@news.author)}  #{h @news.title}".html_safe do %>
  <% if User.current.allowed_in_project?(:manage_news, @project) %>
    <li class="toolbar-item">
      <%= link_to(edit_news_path(@news),
        accesskey: accesskey(:edit),
        class: 'button edit-news-button') do %>
        <%= op_icon('button--icon icon-edit') %>
        <span class="button--text"><%= t(:button_edit) %></span>
      <% end %>
      <% csp_onclick('jQuery("#edit-news").show()', '.edit-news-button') %>
    </li>
  <% end %>
  <li class="toolbar-item">
    <%= watcher_link(@news, User.current) %>
  </li>
  <% if User.current.allowed_in_project?(:manage_news, @project) %>
    <li class="toolbar-item">
      <%= link_to(news_path(@news),
        data: { confirm: t(:text_are_you_sure) },
        method: :delete,
        class: 'button') do %>
        <%= op_icon('button--icon icon-delete') %>
        <span class="button--text"><%= t(:button_delete) %></span>
      <% end %>
    </li>
  <% end %>
<% end %>

<% if authorize_for('news', 'edit') %>
  <div id="edit-news" style="display:none;">
    <%= labelled_tabular_form_for @news, html: { id: 'news-form' } do |f| %>
      <%= render partial: 'form', locals: { f: f } %>
      <%= styled_button_tag t(:button_save), class: '-primary -with-icon icon-checkmark' %>
      <%= link_to_function t(:button_cancel), 'jQuery("#edit-news").hide()', class: 'button -with-icon icon-cancel'%>
    <% end %>
  </div>
<% end %>
<% if @news.summary.present? %>
  <div class="summary">
    <%= format_text(@news.summary, object: @news) %>
  </div>
<% end %>
  <p class="author additional-information"><%= authoring @news.created_at, @news.author %></p>
<div class="op-uc-container">
  <%= format_text(@news.description, object: @news) %>
</div>
<br />
<div id="comments" class="news--comments comments">
  <h3 class="icon-context icon-quote"><%= t(:label_comment_plural) %></h3>
  <% @comments.each do |comment| %>
    <% next if comment.new_record? %>
      <div class="comment">
        <div class="contextual">
          <%= link_to_if_authorized icon_wrapper('icon-context icon-delete', t(:button_delete)),
                                {controller: '/news/comments', action: 'destroy', id: comment},
                                data: { confirm: t(:text_are_you_sure) },
                                method: :delete,
                                class: 'no-decoration-on-hover',
                                title: t(:button_delete),
                                alt: t(:button_delete) %>
        </div>
        <h4 class="author additional-information"><%= avatar(comment.author) %><%= authoring comment.created_at, comment.author %></h4>
        <%= format_text(comment.comments, object: comment) %>
      </div>
    <% end %>
  </div>
  <% if authorize_for 'news/comments', 'create' %>
    <%= form_for([@news, Comment.new], html: { id: "add_comment_form" }) do %>
      <div>
        <%= label_tag 'comment_comments', Journal.human_attribute_name(:notes), class: 'hidden-for-sighted' %>
        <%= text_area 'comment',
                      'comments',
                      class: 'wiki-edit' %>
        <%= wikitoolbar_for 'comment_comments', preview_context: preview_context(@news) %>
      </div>
      <p>
        <%= submit_tag t(:button_add_comment), class: 'button -primary' %>
      </p>
    <% end %>
  <% end %>
  <% html_title h(@news.title) -%>