summaryrefslogtreecommitdiffstats
path: root/app/controllers
diff options
context:
space:
mode:
Diffstat (limited to 'app/controllers')
-rw-r--r--app/controllers/admin_controller.rb18
-rw-r--r--app/controllers/queries_controller.rb17
2 files changed, 25 insertions, 10 deletions
diff --git a/app/controllers/admin_controller.rb b/app/controllers/admin_controller.rb
index 6f4dce808..cb91b38c8 100644
--- a/app/controllers/admin_controller.rb
+++ b/app/controllers/admin_controller.rb
@@ -26,19 +26,23 @@ class AdminController < ApplicationController
before_action :require_admin
+ helper :queries
+ include QueriesHelper
+ helper :projects_queries
+ helper :projects
+
def index
@no_configuration_data = Redmine::DefaultData::Loader::no_data?
end
def projects
- @status = params[:status] || 1
-
- scope = Project.status(@status).sorted
- scope = scope.like(params[:name]) if params[:name].present?
+ retrieve_query(ProjectQuery, false, :defaults => @default_columns_names)
+ @query.admin_projects = 1
+ scope = @query.results_scope
- @project_count = scope.count
- @project_pages = Paginator.new @project_count, per_page_option, params['page']
- @projects = scope.limit(@project_pages.per_page).offset(@project_pages.offset).to_a
+ @entry_count = scope.count
+ @entry_pages = Paginator.new @entry_count, per_page_option, params['page']
+ @projects = scope.limit(@entry_pages.per_page).offset(@entry_pages.offset).to_a
render :action => "projects", :layout => false if request.xhr?
end
diff --git a/app/controllers/queries_controller.rb b/app/controllers/queries_controller.rb
index 13fa3ade7..d2fc5efb9 100644
--- a/app/controllers/queries_controller.rb
+++ b/app/controllers/queries_controller.rb
@@ -52,6 +52,7 @@ class QueriesController < ApplicationController
@query.user = User.current
@query.project = @project
@query.build_from_params(params)
+ render :layout => 'admin' if params[:admin_projects]
end
def create
@@ -62,13 +63,14 @@ class QueriesController < ApplicationController
if @query.save
flash[:notice] = l(:notice_successful_create)
- redirect_to_items(:query_id => @query)
+ redirect_to_items(:query_id => @query, :admin_projects => params[:admin_projects])
else
render :action => 'new', :layout => !request.xhr?
end
end
def edit
+ render :layout => 'admin' if params[:admin_projects]
end
def update
@@ -76,7 +78,7 @@ class QueriesController < ApplicationController
if @query.save
flash[:notice] = l(:notice_successful_update)
- redirect_to_items(:query_id => @query)
+ redirect_to_items(:query_id => @query, :admin_projects => params[:admin_projects])
else
render :action => 'edit'
end
@@ -110,10 +112,15 @@ class QueriesController < ApplicationController
@query ? @query.queried_class.to_s.underscore.pluralize.to_sym : nil
end
+ def current_menu(project)
+ super if params[:admin_projects].nil?
+ end
+
private
def find_query
@query = Query.find(params[:id])
+ @query.admin_projects = params[:admin_projects] if @query.is_a?(ProjectQuery)
@project = @query.project
render_403 unless @query.editable_by?(User.current)
rescue ActiveRecord::RecordNotFound
@@ -163,7 +170,11 @@ class QueriesController < ApplicationController
end
def redirect_to_project_query(options)
- redirect_to projects_path(options)
+ if params[:admin_projects]
+ redirect_to admin_projects_path(options)
+ else
+ redirect_to projects_path(options)
+ end
end
# Returns the Query subclass, IssueQuery by default