summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2018-12-16 07:38:03 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2018-12-16 07:38:03 +0000
commitede29cde28fd5212473c3af03e2c49461f0fe16b (patch)
treed449ea3504ab84f51cf5cc9e2a1e8a1d1fb622e4
parentd4fdd9c5b976be1cff51e305bf124dc1becd83f9 (diff)
downloadredmine-ede29cde28fd5212473c3af03e2c49461f0fe16b.tar.gz
redmine-ede29cde28fd5212473c3af03e2c49461f0fe16b.zip
Adds a link to remove a subtask from its parent task (#23392).
Patch by Mizuki ISHIKAWA. git-svn-id: http://svn.redmine.org/redmine/trunk@17747 e93f8b46-1217-0410-a6f0-8f06a7374b81
-rw-r--r--app/controllers/issues_controller.rb2
-rw-r--r--app/helpers/issues_helper.rb12
-rw-r--r--config/locales/en.yml1
3 files changed, 13 insertions, 2 deletions
diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb
index 69a947b03..1f037817c 100644
--- a/app/controllers/issues_controller.rb
+++ b/app/controllers/issues_controller.rb
@@ -177,7 +177,7 @@ class IssuesController < ApplicationController
if saved
render_attachment_warning_if_needed(@issue)
- flash[:notice] = l(:notice_successful_update) unless @issue.current_journal.new_record?
+ flash[:notice] = l(:notice_successful_update) unless @issue.current_journal.new_record? || params[:no_flash]
respond_to do |format|
format.html { redirect_back_or_default issue_path(@issue, previous_and_next_issue_ids_params) }
diff --git a/app/helpers/issues_helper.rb b/app/helpers/issues_helper.rb
index aee8444f5..66d3e1f3e 100644
--- a/app/helpers/issues_helper.rb
+++ b/app/helpers/issues_helper.rb
@@ -90,17 +90,27 @@ module IssuesHelper
end
def render_descendants_tree(issue)
+ manage_relations = User.current.allowed_to?(:manage_subtasks, issue.project)
s = '<table class="list issues odd-even">'
issue_list(issue.descendants.visible.preload(:status, :priority, :tracker, :assigned_to).sort_by(&:lft)) do |child, level|
css = "issue issue-#{child.id} hascontextmenu #{child.css_classes}"
css << " idnt idnt-#{level}" if level > 0
+ buttons = manage_relations ? link_to(l(:label_delete_link_to_subtask),
+ issue_path({:id => child.id, :issue => {:parent_issue_id => ''}, :back_url => issue_path(issue.id), :no_flash => '1'}),
+ :method => :put,
+ :data => {:confirm => l(:text_are_you_sure)},
+ :title => l(:label_delete_link_to_subtask),
+ :class => 'icon-only icon-link-break'
+ ) : "".html_safe
+ buttons << link_to_context_menu
+
s << content_tag('tr',
content_tag('td', check_box_tag("ids[]", child.id, false, :id => nil), :class => 'checkbox') +
content_tag('td', link_to_issue(child, :project => (issue.project_id != child.project_id)), :class => 'subject', :style => 'width: 50%') +
content_tag('td', h(child.status), :class => 'status') +
content_tag('td', link_to_user(child.assigned_to), :class => 'assigned_to') +
content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio') +
- content_tag('td', link_to_context_menu, :class => 'buttons'),
+ content_tag('td', buttons, :class => 'buttons'),
:class => css)
end
s << '</table>'
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 28da4cecb..21b199147 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -830,6 +830,7 @@ en:
label_relation_new: New relation
label_relation_delete: Delete relation
label_relates_to: Related to
+ label_delete_link_to_subtask: Delete link to subtask
label_duplicates: Is duplicate of
label_duplicated_by: Has duplicate
label_blocks: Blocks