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/work_packages/index.html.erb

110 lines
5.2 KiB

<%#-- copyright
OpenProject is a project management system.
Copyright (C) 2012-2013 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-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 doc/COPYRIGHT.rdoc for more details.
++#%>
<% breadcrumb_paths(l(:label_work_package_plural)) %>
<% if !query.new_record? && query.editable_by?(User.current) %>
<% content_for :action_menu_specific do %>
<%= li_unless_nil link_to(l(:button_edit), {:controller => '/queries', :action => 'edit', :id => query}, :class => 'icon icon-edit') %>
<%= li_unless_nil link_to(l(:button_delete), {:controller => '/queries', :action => 'destroy', :id => query}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-delete') %>
<% end %>
<% unless project.nil? %>
<% content_for :action_menu_more do %>
<% if query.is_public? ? (current_user.allowed_to?(:manage_public_queries, project) || current_user.admin?) : current_user.allowed_to?(:save_queries, project, :global => true) %>
<% if query_menu_item = query.query_menu_item %>
<%= li_unless_nil link_to(l(:button_configure_menu_entry),edit_query_menu_item_path(project, query, query_menu_item)) %>
<%= li_unless_nil link_to(l(:button_delete_menu_entry), query_menu_item_path(project, query, query_menu_item), :method => :delete) %>
<% else %>
<%= li_unless_nil(link_to(l(:button_add_menu_entry), query_menu_items_path(project, query), :method => :create)) %>
<% end %>
<% end %>
<% end %>
<% end %>
<% end %>
<h2><%= query.new_record? ? l(:label_work_package_plural) : h(query.name) %></h2>
<%= render :partial => 'layouts/action_menu_specific' %>
<div id="work-packages-index" ng-controller="WorkPackagesController">
<div class="title-bar">
<div class="title-bar-extras">
<%= error_messages_for 'query' %>
<% html_title(query.new_record? ? l(:label_work_package_plural) : h(query.name)) %>
<% if visible_queries.any? %>
<div id='work-packages-query-selection'>
<%= label_tag 'query-select', l('apply_filter', :scope => 'queries') %>
<%= select :query, :id, grouped_options_for_select(grouped_query_options, query.id), {:include_blank => query.new_record?, :selected => query.id}, {:id => 'query-select'} %>
</div>
<% end %>
<%= render partial: 'query_form', locals: { project: project, query: query } %>
</div><!-- .title-bar-extras -->
</div><!-- .title-bar -->
<% if query.valid? %>
<% if work_packages.empty? %>
<p class="nodata"><%= l(:label_no_data) %></p>
<% else %>
<%= render :partial => 'work_packages/list', :locals => { :work_packages => work_packages,
:query => query,
:results => results } %>
<%= pagination_links_full work_packages %>
<% end %>
<%= other_formats_links do |f| %>
<%= f.link_to 'Atom', :url => { :project_id => project, :query_id => (query.new_record? ? nil : query), :key => User.current.rss_key } %>
<%= f.link_to 'CSV', :url => { :project_id => project } %>
<%= f.link_to 'PDF', :url => { :project_id => project } %>
<%= f.link_to I18n.t(:label_pdf_with_descriptions), :url => { :project_id => project,
:show_descriptions => true,
:format => 'pdf' } %>
<%= call_hook(:view_work_packages_index_other_formats, :link_formatter => f, :project => project) %>
<% end if User.current.allowed_to? :export_work_packages, project, :global => project.nil? %>
<% end %>
</div>
<%= call_hook(:view_work_packages_index_bottom, { :issues => work_packages, :project => project, :query => query }) %>
<% content_for :sidebar do %>
<%= render :partial => 'sidebar' %>
<% end %>
<% content_for :header_tags do %>
<%= auto_discovery_link_tag(:atom, {:query_id => query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_work_package_plural)) %>
<%= auto_discovery_link_tag(:atom, {:controller => '/journals', :action => 'index', :query_id => query, :format => 'atom', :page => nil, :key => User.current.rss_key}, :title => l(:label_changes_details)) %>
<% end %>
<%= context_menu work_packages_context_menu_path %>