mirror of
https://github.com/meineerde/redmine.git
synced 2026-03-28 11:41:08 +00:00
Don't use a global variable for storing context menu URL.
git-svn-id: http://svn.redmine.org/redmine/trunk@15936 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
7cce582c14
commit
18073c971e
@ -1165,7 +1165,7 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def context_menu(url)
|
def context_menu
|
||||||
unless @context_menu_included
|
unless @context_menu_included
|
||||||
content_for :header_tags do
|
content_for :header_tags do
|
||||||
javascript_include_tag('context_menu') +
|
javascript_include_tag('context_menu') +
|
||||||
@ -1178,7 +1178,7 @@ module ApplicationHelper
|
|||||||
end
|
end
|
||||||
@context_menu_included = true
|
@context_menu_included = true
|
||||||
end
|
end
|
||||||
javascript_tag "contextMenuInit('#{ url_for(url) }')"
|
nil
|
||||||
end
|
end
|
||||||
|
|
||||||
def calendar_for(field_id)
|
def calendar_for(field_id)
|
||||||
|
|||||||
@ -90,7 +90,7 @@ module IssuesHelper
|
|||||||
end
|
end
|
||||||
|
|
||||||
def render_descendants_tree(issue)
|
def render_descendants_tree(issue)
|
||||||
s = '<form><table class="list issues">'
|
s = '<table class="list issues">'
|
||||||
issue_list(issue.descendants.visible.preload(:status, :priority, :tracker, :assigned_to).sort_by(&:lft)) do |child, level|
|
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 = "issue issue-#{child.id} hascontextmenu #{child.css_classes}"
|
||||||
css << " idnt idnt-#{level}" if level > 0
|
css << " idnt idnt-#{level}" if level > 0
|
||||||
@ -102,7 +102,7 @@ module IssuesHelper
|
|||||||
content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio'),
|
content_tag('td', child.disabled_core_fields.include?('done_ratio') ? '' : progress_bar(child.done_ratio), :class=> 'done_ratio'),
|
||||||
:class => css)
|
:class => css)
|
||||||
end
|
end
|
||||||
s << '</table></form>'
|
s << '</table>'
|
||||||
s.html_safe
|
s.html_safe
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<%= form_tag({}) do -%>
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%>
|
||||||
<%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %>
|
<%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %>
|
||||||
<div class="autoscroll">
|
<div class="autoscroll">
|
||||||
<table class="list issues <%= sort_css_classes %>">
|
<table class="list issues <%= sort_css_classes %>">
|
||||||
|
|||||||
@ -1,5 +1,5 @@
|
|||||||
<% if issues && issues.any? %>
|
<% if issues && issues.any? %>
|
||||||
<%= form_tag({}) do %>
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %>
|
||||||
<table class="list list-simple issues">
|
<table class="list list-simple issues">
|
||||||
<thead><tr>
|
<thead><tr>
|
||||||
<th class="id">#</th>
|
<th class="id">#</th>
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
<p><strong><%=l(:label_related_issues)%></strong></p>
|
<p><strong><%=l(:label_related_issues)%></strong></p>
|
||||||
|
|
||||||
<% if @relations.present? %>
|
<% if @relations.present? %>
|
||||||
<form>
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %>
|
||||||
<table class="list issues">
|
<table class="list issues">
|
||||||
<% @relations.each do |relation| %>
|
<% @relations.each do |relation| %>
|
||||||
<% other_issue = relation.other_issue(@issue) -%>
|
<% other_issue = relation.other_issue(@issue) -%>
|
||||||
@ -30,7 +30,7 @@
|
|||||||
</tr>
|
</tr>
|
||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
</form>
|
<% end %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= form_for @relation, {
|
<%= form_for @relation, {
|
||||||
|
|||||||
@ -69,4 +69,4 @@
|
|||||||
:title => l(:label_changes_details)) %>
|
:title => l(:label_changes_details)) %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= context_menu issues_context_menu_path %>
|
<%= context_menu %>
|
||||||
|
|||||||
@ -96,7 +96,9 @@ end %>
|
|||||||
<%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
|
<%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
|
||||||
</div>
|
</div>
|
||||||
<p><strong><%=l(:label_subtask_plural)%></strong></p>
|
<p><strong><%=l(:label_subtask_plural)%></strong></p>
|
||||||
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %>
|
||||||
<%= render_descendants_tree(@issue) unless @issue.leaf? %>
|
<%= render_descendants_tree(@issue) unless @issue.leaf? %>
|
||||||
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
@ -157,4 +159,4 @@ end %>
|
|||||||
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
|
<%= auto_discovery_link_tag(:atom, {:format => 'atom', :key => User.current.rss_key}, :title => "#{@issue.project} - #{@issue.tracker} ##{@issue.id}: #{@issue.subject}") %>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
||||||
<%= context_menu issues_context_menu_path %>
|
<%= context_menu %>
|
||||||
|
|||||||
@ -16,6 +16,6 @@
|
|||||||
<%= render_blocks(@blocks['right'], @user) %>
|
<%= render_blocks(@blocks['right'], @user) %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<%= context_menu issues_context_menu_path %>
|
<%= context_menu %>
|
||||||
|
|
||||||
<% html_title(l(:label_my_page)) -%>
|
<% html_title(l(:label_my_page)) -%>
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
<%= form_tag({}) do -%>
|
<%= form_tag({}, :data => {:cm_url => time_entries_context_menu_path}) do -%>
|
||||||
<%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %>
|
<%= hidden_field_tag 'back_url', url_for(:params => request.query_parameters), :id => nil %>
|
||||||
<div class="autoscroll">
|
<div class="autoscroll">
|
||||||
<table class="list time-entries">
|
<table class="list time-entries">
|
||||||
@ -60,4 +60,4 @@
|
|||||||
</div>
|
</div>
|
||||||
<% end -%>
|
<% end -%>
|
||||||
|
|
||||||
<%= context_menu time_entries_context_menu_path %>
|
<%= context_menu %>
|
||||||
|
|||||||
@ -23,7 +23,7 @@
|
|||||||
<%= render(:partial => "wiki/content",
|
<%= render(:partial => "wiki/content",
|
||||||
:locals => {:content => version.wiki_page.content}) if version.wiki_page %>
|
:locals => {:content => version.wiki_page.content}) if version.wiki_page %>
|
||||||
<% if (issues = @issues_by_version[version]) && issues.size > 0 %>
|
<% if (issues = @issues_by_version[version]) && issues.size > 0 %>
|
||||||
<%= form_tag({}) do -%>
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%>
|
||||||
<table class="list related-issues">
|
<table class="list related-issues">
|
||||||
<caption><%= l(:label_related_issues) %></caption>
|
<caption><%= l(:label_related_issues) %></caption>
|
||||||
<% issues.each do |issue| -%>
|
<% issues.each do |issue| -%>
|
||||||
@ -99,4 +99,4 @@
|
|||||||
|
|
||||||
<% html_title(l(:label_roadmap)) %>
|
<% html_title(l(:label_roadmap)) %>
|
||||||
|
|
||||||
<%= context_menu issues_context_menu_path %>
|
<%= context_menu %>
|
||||||
|
|||||||
@ -36,7 +36,7 @@
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<% if @issues.present? %>
|
<% if @issues.present? %>
|
||||||
<%= form_tag({}) do -%>
|
<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%>
|
||||||
<table class="list related-issues">
|
<table class="list related-issues">
|
||||||
<caption><%= l(:label_related_issues) %></caption>
|
<caption><%= l(:label_related_issues) %></caption>
|
||||||
<%- @issues.each do |issue| -%>
|
<%- @issues.each do |issue| -%>
|
||||||
@ -47,7 +47,7 @@
|
|||||||
<% end %>
|
<% end %>
|
||||||
</table>
|
</table>
|
||||||
<% end %>
|
<% end %>
|
||||||
<%= context_menu issues_context_menu_path %>
|
<%= context_menu %>
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|||||||
@ -2,7 +2,6 @@
|
|||||||
Copyright (C) 2006-2016 Jean-Philippe Lang */
|
Copyright (C) 2006-2016 Jean-Philippe Lang */
|
||||||
|
|
||||||
var contextMenuObserving;
|
var contextMenuObserving;
|
||||||
var contextMenuUrl;
|
|
||||||
|
|
||||||
function contextMenuRightClick(event) {
|
function contextMenuRightClick(event) {
|
||||||
var target = $(event.target);
|
var target = $(event.target);
|
||||||
@ -98,13 +97,16 @@ function contextMenuShow(event) {
|
|||||||
var window_height;
|
var window_height;
|
||||||
var max_width;
|
var max_width;
|
||||||
var max_height;
|
var max_height;
|
||||||
|
var url;
|
||||||
|
|
||||||
$('#context-menu').css('left', (render_x + 'px'));
|
$('#context-menu').css('left', (render_x + 'px'));
|
||||||
$('#context-menu').css('top', (render_y + 'px'));
|
$('#context-menu').css('top', (render_y + 'px'));
|
||||||
$('#context-menu').html('');
|
$('#context-menu').html('');
|
||||||
|
|
||||||
|
url = $(event.target).parents('form').first().data('cm-url');
|
||||||
|
|
||||||
$.ajax({
|
$.ajax({
|
||||||
url: contextMenuUrl,
|
url: url,
|
||||||
data: $(event.target).parents('form').first().serialize(),
|
data: $(event.target).parents('form').first().serialize(),
|
||||||
success: function(data, textStatus, jqXHR) {
|
success: function(data, textStatus, jqXHR) {
|
||||||
$('#context-menu').html(data);
|
$('#context-menu').html(data);
|
||||||
@ -208,8 +210,7 @@ function contextMenuClearDocumentSelection() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function contextMenuInit(url) {
|
function contextMenuInit() {
|
||||||
contextMenuUrl = url;
|
|
||||||
contextMenuCreate();
|
contextMenuCreate();
|
||||||
contextMenuUnselectAll();
|
contextMenuUnselectAll();
|
||||||
|
|
||||||
@ -243,5 +244,6 @@ function window_size() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
$(document).ready(function(){
|
$(document).ready(function(){
|
||||||
|
contextMenuInit();
|
||||||
$('input[type=checkbox].toggle-selection').on('change', toggleIssuesSelection);
|
$('input[type=checkbox].toggle-selection').on('change', toggleIssuesSelection);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -36,7 +36,7 @@ class VersionsControllerTest < Redmine::ControllerTest
|
|||||||
assert_select 'h3', :text => Version.find(1).name, :count => 0
|
assert_select 'h3', :text => Version.find(1).name, :count => 0
|
||||||
|
|
||||||
# Context menu on issues
|
# Context menu on issues
|
||||||
assert_select "script", :text => Regexp.new(Regexp.escape("contextMenuInit('/issues/context_menu')"))
|
assert_select "form[data-cm-url=?]", '/issues/context_menu'
|
||||||
assert_select "div#sidebar" do
|
assert_select "div#sidebar" do
|
||||||
# Links to versions anchors
|
# Links to versions anchors
|
||||||
assert_select 'a[href=?]', '#2.0'
|
assert_select 'a[href=?]', '#2.0'
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user