Mercurial > hg > soundsoftware-site
comparison app/controllers/admin_controller.rb @ 0:513646585e45
* Import Redmine trunk SVN rev 3859
author | Chris Cannam |
---|---|
date | Fri, 23 Jul 2010 15:52:44 +0100 |
parents | |
children | cbce1fd3b1b7 |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:513646585e45 |
---|---|
1 # redMine - project management software | |
2 # Copyright (C) 2006 Jean-Philippe Lang | |
3 # | |
4 # This program is free software; you can redistribute it and/or | |
5 # modify it under the terms of the GNU General Public License | |
6 # as published by the Free Software Foundation; either version 2 | |
7 # of the License, or (at your option) any later version. | |
8 # | |
9 # This program is distributed in the hope that it will be useful, | |
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of | |
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
12 # GNU General Public License for more details. | |
13 # | |
14 # You should have received a copy of the GNU General Public License | |
15 # along with this program; if not, write to the Free Software | |
16 # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | |
17 | |
18 class AdminController < ApplicationController | |
19 layout 'admin' | |
20 | |
21 before_filter :require_admin | |
22 | |
23 helper :sort | |
24 include SortHelper | |
25 | |
26 def index | |
27 @no_configuration_data = Redmine::DefaultData::Loader::no_data? | |
28 end | |
29 | |
30 def projects | |
31 @status = params[:status] ? params[:status].to_i : 1 | |
32 c = ARCondition.new(@status == 0 ? "status <> 0" : ["status = ?", @status]) | |
33 | |
34 unless params[:name].blank? | |
35 name = "%#{params[:name].strip.downcase}%" | |
36 c << ["LOWER(identifier) LIKE ? OR LOWER(name) LIKE ?", name, name] | |
37 end | |
38 | |
39 @projects = Project.find :all, :order => 'lft', | |
40 :conditions => c.conditions | |
41 | |
42 render :action => "projects", :layout => false if request.xhr? | |
43 end | |
44 | |
45 def plugins | |
46 @plugins = Redmine::Plugin.all | |
47 end | |
48 | |
49 # Loads the default configuration | |
50 # (roles, trackers, statuses, workflow, enumerations) | |
51 def default_configuration | |
52 if request.post? | |
53 begin | |
54 Redmine::DefaultData::Loader::load(params[:lang]) | |
55 flash[:notice] = l(:notice_default_data_loaded) | |
56 rescue Exception => e | |
57 flash[:error] = l(:error_can_t_load_default_data, e.message) | |
58 end | |
59 end | |
60 redirect_to :action => 'index' | |
61 end | |
62 | |
63 def test_email | |
64 raise_delivery_errors = ActionMailer::Base.raise_delivery_errors | |
65 # Force ActionMailer to raise delivery errors so we can catch it | |
66 ActionMailer::Base.raise_delivery_errors = true | |
67 begin | |
68 @test = Mailer.deliver_test(User.current) | |
69 flash[:notice] = l(:notice_email_sent, User.current.mail) | |
70 rescue Exception => e | |
71 flash[:error] = l(:notice_email_error, e.message) | |
72 end | |
73 ActionMailer::Base.raise_delivery_errors = raise_delivery_errors | |
74 redirect_to :controller => 'settings', :action => 'edit', :tab => 'notifications' | |
75 end | |
76 | |
77 def info | |
78 @db_adapter_name = ActiveRecord::Base.connection.adapter_name | |
79 @checklist = [ | |
80 [:text_default_administrator_account_changed, User.find(:first, :conditions => ["login=? and hashed_password=?", 'admin', User.hash_password('admin')]).nil?], | |
81 [:text_file_repository_writable, File.writable?(Attachment.storage_path)], | |
82 [:text_plugin_assets_writable, File.writable?(Engines.public_directory)], | |
83 [:text_rmagick_available, Object.const_defined?(:Magick)] | |
84 ] | |
85 end | |
86 end |