OpenProject is the leading open source project management software.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openproject/app/views/boards/show.html.erb

153 lines
5.7 KiB

<%#-- copyright
OpenProject is a project management system.
Copyright (C) 2012-2017 the OpenProject Foundation (OPF)
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-2017 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 doc/COPYRIGHT.rdoc for more details.
++#%>
<%= include_gon %>
<div id="add-message" style="display:none;">
<% if authorize_for('messages', 'new') %>
<h2><%= link_to h(@board.name), project_board_path(@project, @board) %> &#187; <%= t(:label_message_new) %></h2>
10 years ago
<%= labelled_tabular_form_for Message.new,
url: board_topics_path(@board),
Angular 4 support and upgraded timeline header directive (#5984) * Added Angular4 dependency and initial setup * Angular 4 transition: timeline header directive * removed superfluous require declaration * moved Angular4 dependencies to vendor.js * Angular4: upgraded timeline relations directive * Fixes karma tests. However, logging seems to be broken now. * Angular4: upgraded directive wpTimelineStaticElements * dev rebase * WIP Angular 4+ transition * converted WorkPackageTableTimelineGrid to Angular4+ * start migrating WorkPackageTimelineTableController to Angular4+ * completed migration of component tree WorkPackageTimelineTableController * Fix Pagination directive * set any to scope for TS warnings * Convert wp-table-pagination * merged changes from Oliver * begin migrating WorkPackagesTableController * begin migrating WorkPackagesTableController * Apply karma fix to PR * Fix pagination options * WIP Angular migration wp-table.directive * Angular4 migration - table sums * Angular4 migration: fixed error message when no sums are displayed * Angular4 migration: removed superfluous Angular1 registration * WIP Angular4 migration * WIP Angular4 migration - removed unused directives - start migartion sortHeader directive * WIP Angular4 migration - sortHeader directive * WIP Angular4 migration: sort header * Angular4 migration: implemented dropDown directive for Angular4 * merged origin/dev * updated package-lock.json * use shrinkwrap instead of package-lock * Angular4 migration: fixed accessible_by_keyboard directive * WIP #26714 * reformat code * fixes #26714 pass projectIdentifier to wpTable * cleanup * fixes #26716 * WIP Angular4 migration: added support for test execution * wpTablePagination: convertered reasonable tests to Angular4 * merged dev branch, updated dependencies * fixed #26727 * Replace openproject initialization in head * fixed #26728 * Replace time entries and messages ng1 controllers * Remove unused timeline reference * Fix OP Helpers for member page * Fix initial cached paged options * Fixed broken inlineCreate * Only nil-check for table, projectIdentifier CAN be null
7 years ago
html: {multipart: true,
id: 'message-form',
class: 'form'} do |f| %>
10 years ago
<%= render partial: 'messages/form', locals: {f: f} %>
Angular 4 support and upgraded timeline header directive (#5984) * Added Angular4 dependency and initial setup * Angular 4 transition: timeline header directive * removed superfluous require declaration * moved Angular4 dependencies to vendor.js * Angular4: upgraded timeline relations directive * Fixes karma tests. However, logging seems to be broken now. * Angular4: upgraded directive wpTimelineStaticElements * dev rebase * WIP Angular 4+ transition * converted WorkPackageTableTimelineGrid to Angular4+ * start migrating WorkPackageTimelineTableController to Angular4+ * completed migration of component tree WorkPackageTimelineTableController * Fix Pagination directive * set any to scope for TS warnings * Convert wp-table-pagination * merged changes from Oliver * begin migrating WorkPackagesTableController * begin migrating WorkPackagesTableController * Apply karma fix to PR * Fix pagination options * WIP Angular migration wp-table.directive * Angular4 migration - table sums * Angular4 migration: fixed error message when no sums are displayed * Angular4 migration: removed superfluous Angular1 registration * WIP Angular4 migration * WIP Angular4 migration - removed unused directives - start migartion sortHeader directive * WIP Angular4 migration - sortHeader directive * WIP Angular4 migration: sort header * Angular4 migration: implemented dropDown directive for Angular4 * merged origin/dev * updated package-lock.json * use shrinkwrap instead of package-lock * Angular4 migration: fixed accessible_by_keyboard directive * WIP #26714 * reformat code * fixes #26714 pass projectIdentifier to wpTable * cleanup * fixes #26716 * WIP Angular4 migration: added support for test execution * wpTablePagination: convertered reasonable tests to Angular4 * merged dev branch, updated dependencies * fixed #26727 * Replace openproject initialization in head * fixed #26728 * Replace time entries and messages ng1 controllers * Remove unused timeline reference * Fix OP Helpers for member page * Fix initial cached paged options * Fixed broken inlineCreate * Only nil-check for table, projectIdentifier CAN be null
7 years ago
<hr class="form--separator"/>
<%= styled_button_tag t(:button_create), class: '-highlight -with-icon icon-checkmark' %>
<%= preview_link preview_board_topics_path(@board), 'message-form-preview' %>
<%= link_to t(:button_cancel), '', onclick: 'jQuery("#add-message").hide();', class: 'button' %>
<% end %>
<div id="preview"></div>
<% end %>
</div>
10 years ago
<%= toolbar title: @board.name, subtitle: format_text(@board.description) do %>
<% if authorize_for(:messages, :new) %>
<li class="toolbar-item">
Angular 4 support and upgraded timeline header directive (#5984) * Added Angular4 dependency and initial setup * Angular 4 transition: timeline header directive * removed superfluous require declaration * moved Angular4 dependencies to vendor.js * Angular4: upgraded timeline relations directive * Fixes karma tests. However, logging seems to be broken now. * Angular4: upgraded directive wpTimelineStaticElements * dev rebase * WIP Angular 4+ transition * converted WorkPackageTableTimelineGrid to Angular4+ * start migrating WorkPackageTimelineTableController to Angular4+ * completed migration of component tree WorkPackageTimelineTableController * Fix Pagination directive * set any to scope for TS warnings * Convert wp-table-pagination * merged changes from Oliver * begin migrating WorkPackagesTableController * begin migrating WorkPackagesTableController * Apply karma fix to PR * Fix pagination options * WIP Angular migration wp-table.directive * Angular4 migration - table sums * Angular4 migration: fixed error message when no sums are displayed * Angular4 migration: removed superfluous Angular1 registration * WIP Angular4 migration * WIP Angular4 migration - removed unused directives - start migartion sortHeader directive * WIP Angular4 migration - sortHeader directive * WIP Angular4 migration: sort header * Angular4 migration: implemented dropDown directive for Angular4 * merged origin/dev * updated package-lock.json * use shrinkwrap instead of package-lock * Angular4 migration: fixed accessible_by_keyboard directive * WIP #26714 * reformat code * fixes #26714 pass projectIdentifier to wpTable * cleanup * fixes #26716 * WIP Angular4 migration: added support for test execution * wpTablePagination: convertered reasonable tests to Angular4 * merged dev branch, updated dependencies * fixed #26727 * Replace openproject initialization in head * fixed #26728 * Replace time entries and messages ng1 controllers * Remove unused timeline reference * Fix OP Helpers for member page * Fix initial cached paged options * Fixed broken inlineCreate * Only nil-check for table, projectIdentifier CAN be null
7 years ago
<%= link_to({controller: '/messages', action: 'new', board_id: @board},
{class: 'button -alt-highlight',
aria: {label: t(:label_message_new)},
title: t(:label_message_new)},
onclick: 'jQuery("#add-message").show(); jQuery("#message_subject").focus(); return false;') do %>
<%= op_icon('button--icon icon-add') %>
<span class="button--text"><%= t(:label_message) %></span>
<% end %>
</li>
<% end %>
<% unless User.current.anonymous? %>
<li class="toolbar-item">
<%= watcher_link(@board, User.current) %>
</li>
<% end %>
<% end %>
Angular 4 support and upgraded timeline header directive (#5984) * Added Angular4 dependency and initial setup * Angular 4 transition: timeline header directive * removed superfluous require declaration * moved Angular4 dependencies to vendor.js * Angular4: upgraded timeline relations directive * Fixes karma tests. However, logging seems to be broken now. * Angular4: upgraded directive wpTimelineStaticElements * dev rebase * WIP Angular 4+ transition * converted WorkPackageTableTimelineGrid to Angular4+ * start migrating WorkPackageTimelineTableController to Angular4+ * completed migration of component tree WorkPackageTimelineTableController * Fix Pagination directive * set any to scope for TS warnings * Convert wp-table-pagination * merged changes from Oliver * begin migrating WorkPackagesTableController * begin migrating WorkPackagesTableController * Apply karma fix to PR * Fix pagination options * WIP Angular migration wp-table.directive * Angular4 migration - table sums * Angular4 migration: fixed error message when no sums are displayed * Angular4 migration: removed superfluous Angular1 registration * WIP Angular4 migration * WIP Angular4 migration - removed unused directives - start migartion sortHeader directive * WIP Angular4 migration - sortHeader directive * WIP Angular4 migration: sort header * Angular4 migration: implemented dropDown directive for Angular4 * merged origin/dev * updated package-lock.json * use shrinkwrap instead of package-lock * Angular4 migration: fixed accessible_by_keyboard directive * WIP #26714 * reformat code * fixes #26714 pass projectIdentifier to wpTable * cleanup * fixes #26716 * WIP Angular4 migration: added support for test execution * wpTablePagination: convertered reasonable tests to Angular4 * merged dev branch, updated dependencies * fixed #26727 * Replace openproject initialization in head * fixed #26728 * Replace time entries and messages ng1 controllers * Remove unused timeline reference * Fix OP Helpers for member page * Fix initial cached paged options * Fixed broken inlineCreate * Only nil-check for table, projectIdentifier CAN be null
7 years ago
<% if @topics.any? %>
<div class="generic-table--container">
<div class="generic-table--results-container">
<table class="generic-table">
<colgroup>
<col highlight-col>
<col highlight-col>
<col highlight-col>
<col highlight-col>
<col highlight-col>
</colgroup>
<thead>
<tr>
<th>
<div class="generic-table--sort-header-outer">
<div class="generic-table--sort-header">
<span>
<%= Message.human_attribute_name(:subject) %>
</span>
</div>
</div>
</th>
<th>
<div class="generic-table--sort-header-outer">
<div class="generic-table--sort-header">
<span>
<%= Message.human_attribute_name(:author) %>
</span>
</div>
</div>
</th>
<%= sort_header_tag("created_on", caption: Message.human_attribute_name(:created_on)) %>
<%= sort_header_tag("replies", caption: t(:label_reply_plural)) %>
<%= sort_header_tag("updated_on", caption: t(:label_message_last)) %>
</tr>
</thead>
<tbody>
<% @topics.each do |message| %>
<tr>
<td class="subject">
<% if message.sticky? %>
<%= op_icon('icon-wiki', title: I18n.t('js.label_board_sticky')) %>
<% end %>
<% if message.locked? %>
<%= op_icon('icon-locked', title: I18n.t('js.label_board_locked')) %>
<% end %>
<%= link_to message.subject, topic_path(message) %>
</td>
<td class="author">
<% if message.author %>
<%= link_to message.author.name, user_path(message.author) %>
<% end %>
</td>
<td class="created_on">
<%= format_time message.created_on %>
</td>
<td class="replies"><%= message.replies_count %></td>
<td class="last_message">
<% if message.last_reply %>
<%= authoring message.last_reply.created_on, message.last_reply.author %><br/>
<br/>
<%= link_to message.subject, topic_path(message.last_reply) %>
<% end %>
</td>
</tr>
<% end %>
</tbody>
</table>
</div>
</div>
<%= pagination_links_full @topics %>
<% else %>
<%= no_results_box %>
<% end %>
<%= other_formats_links do |f| %>
10 years ago
<%= f.link_to 'Atom', url: {key: User.current.rss_key} %>
<% end %>
<% html_title h(@board.name) %>
<% content_for :header_tags do %>
10 years ago
<%= auto_discovery_link_tag(:atom, {format: 'atom', key: User.current.rss_key}, title: "#{@project}: #{@board}") %>
<% end %>