2007-03-12 20:59:02 +03:00
# redMine - project management software
# Copyright (C) 2006 Jean-Philippe Lang
#
# This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
class AdminController < ApplicationController
2009-12-17 21:21:02 +03:00
layout 'admin'
2007-03-12 20:59:02 +03:00
before_filter :require_admin
include SortHelper
2008-01-05 14:33:49 +03:00
def index
@no_configuration_data = Redmine :: DefaultData :: Loader :: no_data?
2007-03-12 20:59:02 +03:00
end
def projects
2008-10-24 21:12:39 +04:00
@status = params [ :status ] ? params [ :status ] . to_i : 1
c = ARCondition . new ( @status == 0 ? " status <> 0 " : [ " status = ? " , @status ] )
2007-05-27 21:42:04 +04:00
2008-10-24 21:12:39 +04:00
unless params [ :name ] . blank?
name = " % #{ params [ :name ] . strip . downcase } % "
c << [ " LOWER(identifier) LIKE ? OR LOWER(name) LIKE ? " , name , name ]
end
2009-01-24 14:31:15 +03:00
@projects = Project . find :all , :order = > 'lft' ,
:conditions = > c . conditions
2007-03-12 20:59:02 +03:00
render :action = > " projects " , :layout = > false if request . xhr?
end
2008-11-16 14:58:41 +03:00
def plugins
2008-11-16 18:38:37 +03:00
@plugins = Redmine :: Plugin . all
2008-11-16 14:58:41 +03:00
end
2008-01-05 14:33:49 +03:00
# Loads the default configuration
# (roles, trackers, statuses, workflow, enumerations)
def default_configuration
if request . post?
begin
Redmine :: DefaultData :: Loader :: load ( params [ :lang ] )
flash [ :notice ] = l ( :notice_default_data_loaded )
rescue Exception = > e
flash [ :error ] = l ( :error_can_t_load_default_data , e . message )
end
end
redirect_to :action = > 'index'
end
2007-08-14 14:36:19 +04:00
def test_email
raise_delivery_errors = ActionMailer :: Base . raise_delivery_errors
# Force ActionMailer to raise delivery errors so we can catch it
ActionMailer :: Base . raise_delivery_errors = true
begin
2007-08-29 20:52:35 +04:00
@test = Mailer . deliver_test ( User . current )
flash [ :notice ] = l ( :notice_email_sent , User . current . mail )
2007-08-14 14:36:19 +04:00
rescue Exception = > e
flash [ :error ] = l ( :notice_email_error , e . message )
end
ActionMailer :: Base . raise_delivery_errors = raise_delivery_errors
2008-01-06 23:24:26 +03:00
redirect_to :controller = > 'settings' , :action = > 'edit' , :tab = > 'notifications'
2007-08-14 14:36:19 +04:00
end
2007-03-12 20:59:02 +03:00
def info
@db_adapter_name = ActiveRecord :: Base . connection . adapter_name
2009-12-19 23:33:24 +03:00
@checklist = [
[ :text_default_administrator_account_changed , User . find ( :first , :conditions = > [ " login=? and hashed_password=? " , 'admin' , User . hash_password ( 'admin' ) ] ) . nil? ] ,
[ :text_file_repository_writable , File . writable? ( Attachment . storage_path ) ] ,
[ :text_plugin_assets_writable , File . writable? ( Engines . public_directory ) ] ,
[ :text_rmagick_available , Object . const_defined? ( :Magick ) ]
]
2007-03-12 20:59:02 +03:00
end
2006-06-28 22:11:03 +04:00
end