rt 4.2.13 ticket#13852
[freeside.git] / rt / share / html / Install / DatabaseDetails.html
index e690eab..04b5fad 100644 (file)
@@ -1,40 +1,40 @@
 %# BEGIN BPS TAGGED BLOCK {{{
-%# 
+%#
 %# COPYRIGHT:
-%# 
-%# This software is Copyright (c) 1996-2009 Best Practical Solutions, LLC
-%#                                          <jesse@bestpractical.com>
-%# 
+%#
+%# This software is Copyright (c) 1996-2016 Best Practical Solutions, LLC
+%#                                          <sales@bestpractical.com>
+%#
 %# (Except where explicitly superseded by other copyright notices)
-%# 
-%# 
+%#
+%#
 %# LICENSE:
-%# 
+%#
 %# This work is made available to you under the terms of Version 2 of
 %# the GNU General Public License. A copy of that license should have
 %# been provided with this software, but in any event can be snarfed
 %# from www.gnu.org.
-%# 
+%#
 %# This work 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 or visit their web page on the internet at
 %# http://www.gnu.org/licenses/old-licenses/gpl-2.0.html.
-%# 
-%# 
+%#
+%#
 %# CONTRIBUTION SUBMISSION POLICY:
-%# 
+%#
 %# (The following paragraph is not intended to limit the rights granted
 %# to you to modify and distribute this software under the terms of
 %# the GNU General Public License and is only of importance to you if
 %# you choose to contribute your changes and enhancements to the
 %# community by submitting them to Best Practical Solutions, LLC.)
-%# 
+%#
 %# By intentionally submitting any modifications, corrections or
 %# derivatives to this work, or any other work intended for use with
 %# Request Tracker, to Best Practical Solutions, LLC, you confirm that
@@ -43,7 +43,7 @@
 %# royalty-free, perpetual, license to use, copy, create derivative
 %# works based on those contributions, and sublicense and distribute
 %# those contributions and any derivatives thereof.
-%# 
+%#
 %# END BPS TAGGED BLOCK }}}
 <&| Elements/Wrapper, Title => loc('Step [_1] of [_2]', 2, 7 ) .': '. loc('Check Database Credentials') &> 
 
@@ -105,9 +105,6 @@ unless ( $db_type eq 'SQLite' ) {
     push @Types, 'DatabaseHost', 'DatabasePort', 'DatabaseAdmin',
         'DatabaseAdminPassword', 'DatabaseUser', 'DatabasePassword';
 }
-if ( $db_type eq 'Pg' ) {
-    push @Types, 'DatabaseRequireSSL';
-}
 
 
 if ( $Run ) {
@@ -129,7 +126,6 @@ if ( $Run ) {
 
     my ( $status, $msg ) = RT::Installer->SaveConfig;
     if ( $status ) {
-        delete $INC{'RT_SiteConfig.pm'};
         RT->LoadConfig;
         RT::Handle->FinalizeDatabaseType();
     # dba connect systemdsn
@@ -143,7 +139,17 @@ if ( $Run ) {
             $dbh = DBI->connect(
                 RT::Handle->DSN, $ARGS{DatabaseAdmin}, $ARGS{DatabaseAdminPassword}, { RaiseError => 0, PrintError => 0 },
             );
-    
+
+            if ( $dbh and $db_type eq "Oracle") {
+                # The database _existing_ is itself insufficient for Oracle -- we need to check for the RT user
+                my $sth = $dbh->prepare('SELECT username FROM dba_users WHERE username = ?');
+                $sth->execute( $ARGS{DatabaseUser} );
+                undef $dbh unless $sth->fetchrow_array;
+
+                push @errors, loc("Oracle users cannot have empty passwords")
+                    unless $ARGS{DatabasePassword};
+            }
+
             if ( $dbh ) {
                 # check if table Users exists
                 eval {
@@ -155,6 +161,7 @@ if ( $Run ) {
                     );
 
                     my $sth = $dbh->prepare('select * from Users');
+                    $sth->execute();
                 };
 
                 unless ( $@ ) {