]> source.dussan.org Git - redmine.git/commitdiff
Don't use a global variable for storing context menu URL.
authorJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 29 Oct 2016 14:06:15 +0000 (14:06 +0000)
committerJean-Philippe Lang <jp_lang@yahoo.fr>
Sat, 29 Oct 2016 14:06:15 +0000 (14:06 +0000)
git-svn-id: http://svn.redmine.org/redmine/trunk@15936 e93f8b46-1217-0410-a6f0-8f06a7374b81

13 files changed:
app/helpers/application_helper.rb
app/helpers/issues_helper.rb
app/views/issues/_list.html.erb
app/views/issues/_list_simple.html.erb
app/views/issues/_relations.html.erb
app/views/issues/index.html.erb
app/views/issues/show.html.erb
app/views/my/page.html.erb
app/views/timelog/_list.html.erb
app/views/versions/index.html.erb
app/views/versions/show.html.erb
public/javascripts/context_menu.js
test/functional/versions_controller_test.rb

index c54858b6d4ffd7ef6c4429172eb0e3eaa02fce76..e1505f8241740b0a4657e9f8c3cc176dd1345a79 100644 (file)
@@ -1165,7 +1165,7 @@ module ApplicationHelper
     end
   end
 
-  def context_menu(url)
+  def context_menu
     unless @context_menu_included
       content_for :header_tags do
         javascript_include_tag('context_menu') +
@@ -1178,7 +1178,7 @@ module ApplicationHelper
       end
       @context_menu_included = true
     end
-    javascript_tag "contextMenuInit('#{ url_for(url) }')"
+    nil
   end
 
   def calendar_for(field_id)
index 08611c91e9912226dcd96a2162f5b529a7a55763..72f33da1d0cf9a34164919c0966a0a670c862938 100644 (file)
@@ -90,7 +90,7 @@ module IssuesHelper
   end
 
   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|
       css = "issue issue-#{child.id} hascontextmenu #{child.css_classes}"
       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'),
              :class => css)
     end
-    s << '</table></form>'
+    s << '</table>'
     s.html_safe
   end
 
index 2376a845bd40206ae9f3a3d4525f8b67734673dd..851fca1a329dcf612576946356a46eb2fb525b7c 100644 (file)
@@ -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 %>
 <div class="autoscroll">
 <table class="list issues <%= sort_css_classes %>">
index 8ce273db698952f2c808a009f6127adc63d4216a..0d2850cd035c6aa8ba1e062170ab08069a156944 100644 (file)
@@ -1,5 +1,5 @@
 <% if issues && issues.any? %>
-<%= form_tag({}) do %>
+<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %>
   <table class="list list-simple issues">
     <thead><tr>
     <th class="id">#</th>
index dcf0795647cbb8936db6889157e587df80c0de6e..cab1d0c1a083ec020295b76a962e5286884648c9 100644 (file)
@@ -7,7 +7,7 @@
 <p><strong><%=l(:label_related_issues)%></strong></p>
 
 <% if @relations.present? %>
-<form>
+<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do %>
 <table class="list issues">
 <% @relations.each do |relation| %>
   <% other_issue = relation.other_issue(@issue) -%>
@@ -30,7 +30,7 @@
   </tr>
 <% end %>
 </table>
-</form>
+<% end %>
 <% end %>
 
 <%= form_for @relation, {
index d0fd943f0f1fe1a9328034979c2acfc2d79a17db..a9f321c3da20859c351376e44f9bb7bb9dfa33ed 100644 (file)
@@ -69,4 +69,4 @@
                                 :title => l(:label_changes_details)) %>
 <% end %>
 
-<%= context_menu issues_context_menu_path %>
+<%= context_menu %>
index f8849052dd7cbf5382597b7f20e0fff93f3adb5a..b9e5111faed633c8ac2eacac0f6f85539e330417 100644 (file)
@@ -96,7 +96,9 @@ end %>
   <%= link_to_new_subtask(@issue) if User.current.allowed_to?(:manage_subtasks, @project) %>
 </div>
 <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? %>
+<% end %>
 </div>
 <% 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}") %>
 <% end %>
 
-<%= context_menu issues_context_menu_path %>
+<%= context_menu %>
index a9a02becb1c20130cac2f1d6a81a4d6734f73192..d5b8e3e309bf3823b9c67a4ac3a991c3827687bf 100644 (file)
@@ -16,6 +16,6 @@
   <%= render_blocks(@blocks['right'], @user) %>
 </div>
 
-<%= context_menu issues_context_menu_path %>
+<%= context_menu %>
 
 <% html_title(l(:label_my_page)) -%>
index be02adb5c161088cc1d7d8be418026c99199d355..3721df274bec7c8783cb5ecd9a8fffc93da89a0a 100644 (file)
@@ -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 %>
 <div class="autoscroll">
 <table class="list time-entries">
@@ -60,4 +60,4 @@
 </div>
 <% end -%>
 
-<%= context_menu time_entries_context_menu_path %>
+<%= context_menu %>
index 0f1d0b842b2f4e5ad3e332428b27fb5d09330c1b..ab6182033a861632283f89420d9e85cbd7b5d47e 100644 (file)
@@ -23,7 +23,7 @@
     <%= render(:partial => "wiki/content",
                :locals => {:content => version.wiki_page.content}) if version.wiki_page %>
     <% 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">
         <caption><%= l(:label_related_issues) %></caption>
         <% issues.each do |issue| -%>
@@ -99,4 +99,4 @@
 
 <% html_title(l(:label_roadmap)) %>
 
-<%= context_menu issues_context_menu_path %>
+<%= context_menu %>
index f018c2d8e89ea530809a38b896f0ddbbb3dae773..638a17af7ba418cab9ad1217df36512c3c914588 100644 (file)
@@ -36,7 +36,7 @@
 </div>
 
 <% if @issues.present? %>
-<%= form_tag({}) do -%>
+<%= form_tag({}, :data => {:cm_url => issues_context_menu_path}) do -%>
   <table class="list related-issues">
   <caption><%= l(:label_related_issues) %></caption>
   <%- @issues.each do |issue| -%>
@@ -47,7 +47,7 @@
   <% end %>
   </table>
 <% end %>
-<%= context_menu issues_context_menu_path %>
+<%= context_menu %>
 <% end %>
 </div>
 
index ca2a9bec99daa6670ceda43eeaed4f410074f7fe..6fd509ea66d095ccea83e9194120edff37c0f0dd 100644 (file)
@@ -2,7 +2,6 @@
    Copyright (C) 2006-2016  Jean-Philippe Lang */
 
 var contextMenuObserving;
-var contextMenuUrl;
 
 function contextMenuRightClick(event) {
   var target = $(event.target);
@@ -98,13 +97,16 @@ function contextMenuShow(event) {
   var window_height;
   var max_width;
   var max_height;
+  var url;
 
   $('#context-menu').css('left', (render_x + 'px'));
   $('#context-menu').css('top', (render_y + 'px'));
   $('#context-menu').html('');
 
+  url = $(event.target).parents('form').first().data('cm-url');
+
   $.ajax({
-    url: contextMenuUrl,
+    url: url,
     data: $(event.target).parents('form').first().serialize(),
     success: function(data, textStatus, jqXHR) {
       $('#context-menu').html(data);
@@ -208,8 +210,7 @@ function contextMenuClearDocumentSelection() {
   }
 }
 
-function contextMenuInit(url) {
-  contextMenuUrl = url;
+function contextMenuInit() {
   contextMenuCreate();
   contextMenuUnselectAll();
   
@@ -243,5 +244,6 @@ function window_size() {
 }
 
 $(document).ready(function(){
+  contextMenuInit();
   $('input[type=checkbox].toggle-selection').on('change', toggleIssuesSelection);
 });
index d794cf3e44c268c5b83199bf42c459faaef4854a..c2f054eee4428a16df49aaa96b9bedb867c78fe4 100644 (file)
@@ -36,7 +36,7 @@ class VersionsControllerTest < Redmine::ControllerTest
     assert_select 'h3', :text => Version.find(1).name, :count => 0
 
     # 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
       # Links to versions anchors
       assert_select 'a[href=?]', '#2.0'