diff --git a/app/controllers/queries_controller.rb b/app/controllers/queries_controller.rb
index 16755a1..3847b4b 100644
--- a/app/controllers/queries_controller.rb
+++ b/app/controllers/queries_controller.rb
@@ -57,6 +57,9 @@ class QueriesController < ApplicationController
end
end
end
+
+ def copy
+ end
def destroy
@query.destroy if request.post?
diff --git a/app/views/issues/index.rhtml b/app/views/issues/index.rhtml
index e74dbaf..9fa1eb5 100644
--- a/app/views/issues/index.rhtml
+++ b/app/views/issues/index.rhtml
@@ -34,6 +34,7 @@
<% if @query.editable_by?(User.current) %>
<%= link_to l(:button_edit), {:controller => 'queries', :action => 'edit', :id => @query}, :class => 'icon icon-edit' %>
+ <%= link_to l(:button_copy), {:controller => 'queries', :action => 'copy', :id => @query}, :class => 'icon icon-copy' %>
<%= link_to l(:button_delete), {:controller => 'queries', :action => 'destroy', :id => @query}, :confirm => l(:text_are_you_sure), :method => :post, :class => 'icon icon-del' %>
<% end %>
diff --git a/app/views/queries/copy.rhtml b/app/views/queries/copy.rhtml
new file mode 100644
index 0000000..afb750c
--- /dev/null
+++ b/app/views/queries/copy.rhtml
@@ -0,0 +1,6 @@
+<%= l(:label_query_copy, :old_query_name=>@query.name) %>
+
+<% form_tag({:action => 'new', :project_id => @query.project}, :onsubmit => 'selectAllOptions("selected_columns");') do %>
+ <%= render :partial => 'form', :locals => {:query => @query} %>
+ <%= submit_tag l(:button_save) %>
+<% end %>
diff --git a/config/locales/en.yml b/config/locales/en.yml
index 69f7c76..8bf789f 100644
--- a/config/locales/en.yml
+++ b/config/locales/en.yml
@@ -513,6 +513,7 @@ en:
label_query: Custom query
label_query_plural: Custom queries
label_query_new: New query
+ label_query_copy: New query based on {{old_query_name}}
label_filter_add: Add filter
label_filter_plural: Filters
label_equals: is