kanbanworkflowstimelinescrumrubyroadmapproject-planningproject-managementopenprojectangularissue-trackerifcgantt-chartganttbug-trackerboardsbcf
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.
160 lines
5.8 KiB
160 lines
5.8 KiB
<%#-- copyright
|
|
OpenProject is a project management system.
|
|
|
|
Copyright (C) 2012-2013 the OpenProject Team
|
|
|
|
This program is free software; you can redistribute it and/or
|
|
modify it under the terms of the GNU General Public License version 3.
|
|
|
|
See doc/COPYRIGHT.rdoc for more details.
|
|
|
|
++#%>
|
|
|
|
<%= header_tags %>
|
|
<%= render :partial => 'work_packages/action_menu', :locals => { work_package: controller.work_package } %>
|
|
|
|
<% work_package_breadcrumb %>
|
|
|
|
<%= content_tag('h2', controller.work_package.to_s) %>
|
|
|
|
<div class = "details">
|
|
<div class="profile-wrap">
|
|
<%= avatar(controller.work_package.author, :size => "40") %>
|
|
</div>
|
|
|
|
<p class="author">
|
|
<%= authoring controller.work_package.created_at, controller.work_package.author %>.
|
|
<% if controller.work_package.created_at != controller.work_package.updated_at %>
|
|
<%= l(:label_updated_time, time_tag(controller.work_package.updated_at)).html_safe %>.
|
|
<% end %>
|
|
</p>
|
|
|
|
<hr />
|
|
|
|
<div class="issue details">
|
|
<div class="meta">
|
|
<table class="attributes">
|
|
<% controller.work_package_attributes.each_slice(2) do |attributes| %>
|
|
<tr>
|
|
<% attributes.each do |attribute| %>
|
|
<th class="<%= attribute.html_class %>"><%= Issue.human_attribute_name(attribute.attribute)%>:</th>
|
|
|
|
<% if attribute.is_a? ::WorkPackagesController::WorkPackageAttribute %>
|
|
<td class="<%= attribute.html_class %>"><%= h(attribute.value) %></td>
|
|
|
|
<% elsif attribute.is_a? ::WorkPackagesController::WorkPackageUserAttribute %>
|
|
<td class="<%= attribute.html_class %>">
|
|
<%= avatar(attribute.value, :size => "14") %>
|
|
<%= attribute.value ? link_to_user(attribute.value) : "-" %>
|
|
</td>
|
|
|
|
<% elsif attribute.is_a? ::WorkPackagesController::WorkPackageProgressAttribute %>
|
|
<td class="<%= attribute.html_class %>">
|
|
<%= progress_bar attribute.value, :width => '80px', :legend => "#{attribute.value}%" %>
|
|
</td>
|
|
|
|
<% elsif attribute.is_a? ::WorkPackagesController::WorkPackagePlanningElementTypeAttribute %>
|
|
<td class="<%= attribute.html_class %>">
|
|
<%= icon_for_planning_element_type(attribute.value) %>
|
|
<%= h attribute.value.try(:name) %>
|
|
</td>
|
|
<% end %>
|
|
<% end %>
|
|
</tr>
|
|
<% end %>
|
|
|
|
<%= render_custom_fields_rows(controller.work_package) %>
|
|
<%= call_hook(:view_issues_show_details_bottom, :issue => controller.work_package) %>
|
|
</table>
|
|
</div>
|
|
</div>
|
|
|
|
<% if controller.work_package.description? %>
|
|
<div class="description">
|
|
<hr />
|
|
<div class="contextual">
|
|
<%= link_to_if_authorized(l(:button_quote), { :controller => '/issues', :action => 'quoted', :id => controller.work_package }, :class => 'quote-link icon icon-comment') %>
|
|
</div>
|
|
<p><strong><%= Issue.human_attribute_name(:description)%></strong></p>
|
|
<div class="wiki wikicontent" data-user="<%= controller.work_package.author %>">
|
|
<%= textilizable controller.work_package, :description, :attachments => controller.work_package.attachments %>
|
|
</div>
|
|
<hr />
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if controller.work_package.attachments.any? -%>
|
|
<%= link_to_attachments controller.work_package %>
|
|
<% end -%>
|
|
|
|
<%= call_hook(:view_issues_show_description_bottom, :issue => controller.work_package) %>
|
|
|
|
<hr />
|
|
|
|
<%= render :partial => 'subwork_packages_paragraph' %>
|
|
|
|
<% if authorize_for('work_package_relations', 'create') || controller.relations.present? %>
|
|
<div id="relations">
|
|
<hr />
|
|
<%= render :partial => 'relations', :locals => { :work_package => controller.work_package,
|
|
:relations => controller.relations } %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if User.current.allowed_to?(:add_work_package_watchers, controller.project) ||
|
|
(controller.work_package.watchers.present? && User.current.allowed_to?(:view_work_package_watchers, controller.project)) %>
|
|
<div id="watchers">
|
|
<hr />
|
|
<%= render :partial => 'watchers/watchers', :locals => {:watched => controller.work_package} %>
|
|
</div>
|
|
<% end %>
|
|
</div>
|
|
<div style="clear: both;"></div>
|
|
|
|
<% if controller.changesets.present? %>
|
|
<div id="issue-changesets">
|
|
<h3><%=l(:label_associated_revisions)%></h3>
|
|
<%= render :partial => 'changesets', :locals => { :changesets => controller.changesets} %>
|
|
</div>
|
|
<% end %>
|
|
|
|
<% if controller.journals.present? %>
|
|
<div id="history">
|
|
<h3><%=l(:label_history)%></h3>
|
|
<%= render :partial => 'history', :locals => { :issue => controller.work_package, :journals => controller.journals } %>
|
|
</div>
|
|
<% end %>
|
|
|
|
|
|
<div style="clear: both;"></div>
|
|
|
|
<div class="title-bar" id="lower-title-bar">
|
|
<%= render :partial => 'layouts/action_menu' %>
|
|
</div>
|
|
|
|
<div style="clear: both;"></div>
|
|
<% if authorize_for('issues', 'edit') %>
|
|
<div id="update">
|
|
</div>
|
|
<% end %>
|
|
|
|
<%= other_formats_links do |f| %>
|
|
<%= f.link_to 'Atom', :url => {:key => User.current.rss_key} %>
|
|
<%= f.link_to 'PDF' %>
|
|
<% end %>
|
|
|
|
<%# html_title h("#{controller.work_package.tracker.name} ##{controller.work_package.id}: #{controller.work_package.subject}") %>
|
|
|
|
<% content_for :sidebar do %>
|
|
<%= render :partial => 'issues/sidebar' %>
|
|
<% end %>
|
|
|
|
<% content_for :header_tags do %>
|
|
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{controller.work_package.project} - #{controller.work_package.tracker} ##{controller.work_package.id}: #{controller.work_package.subject}") %>
|
|
<%= stylesheet_link_tag 'context_menu_rtl' if l(:direction) == 'rtl' %>
|
|
<% end %>
|
|
<div id="context-menu" style="display: none;"></div>
|
|
<%= javascript_tag "new ContextMenu('#{issues_context_menu_path}')" %>
|
|
|
|
<% #include calendar js files in case they are needed for edit
|
|
include_calendar_headers_tags -%>
|
|
|