[Jifty-commit] r7226 - in jifty/trunk/lib/Jifty/Plugin/SetupWizard: Action

Jifty commits jifty-commit at lists.jifty.org
Wed Jun 10 21:04:03 EDT 2009


Author: sartak
Date: Wed Jun 10 21:04:02 2009
New Revision: 7226

Modified:
   jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/TestDatabaseConnectivity.pm
   jifty/trunk/lib/Jifty/Plugin/SetupWizard/View.pm

Log:
Report errors properly

Modified: jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/TestDatabaseConnectivity.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/TestDatabaseConnectivity.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/TestDatabaseConnectivity.pm	Wed Jun 10 21:04:02 2009
@@ -44,9 +44,14 @@
         local $SIG{__DIE__};
         $handle->connect(%{ $self->argument_values })
     };
-    warn $@ if $@;
+    my $error = $@;
+    warn $error if $error;
 
-    return $ok;
+    if (!$ok) {
+        return $self->result->error(_('Failed to connect: %1', $error));
+    }
+
+    $self->result->message(_('Connected'));
 }
 
 1;

Modified: jifty/trunk/lib/Jifty/Plugin/SetupWizard/View.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/SetupWizard/View.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/SetupWizard/View.pm	Wed Jun 10 21:04:02 2009
@@ -118,6 +118,17 @@
     p { _("You may select a different language.") };
 };
 
+sub _reset_connectivity {
+    # XXX: contextual awareness of current region (in database details or not)
+    my $region = Jifty->web->qualified_region('test_connectivity');
+
+    return {
+        mode   => 'Replace',
+        path   => '/__jifty/admin/setupwizard/database/test_connectivity_button',
+        region => $region,
+    };
+};
+
 template '/__jifty/admin/setupwizard/database' => sub {
     # XXX: We've got to add a sane way to unquote stuff in onfoo handlers...
     my $onchange = 'Jifty.update('
@@ -130,6 +141,7 @@
                             path => '/__jifty/admin/setupwizard/database/PLACEHOLDER',
                             region => Jifty->web->qualified_region('database_details'),
                         },
+                        _reset_connectivity(),
                     ],
                     continuation     => undef,
 
@@ -173,7 +185,8 @@
         field      => 'Database',
         context    => '/framework/Database',
         value_args => {
-            label => _('Database Name'),
+            label     => _('Database Name'),
+            onkeydown => _reset_connectivity(),
         },
     );
 
@@ -198,6 +211,7 @@
         context => '/framework/Database',
         value_args => {
             hints => _('The domain name of your database server (for example, db.example.com)'),
+            onkeydown => _reset_connectivity(),
         },
     );
 
@@ -206,12 +220,16 @@
         context => '/framework/Database',
         value_args => {
             hints => _('Leave blank to use the default value for your database'),
+            onkeydown => _reset_connectivity(),
         },
     );
 
     config_field(
         field   => 'User',
         context => '/framework/Database',
+        value_args => {
+            onkeydown => _reset_connectivity(),
+        },
     );
 
     config_field(
@@ -219,6 +237,7 @@
         context => '/framework/Database',
         value_args => {
             render_as => 'password',
+            onkeydown => _reset_connectivity(),
         },
     );
 }
@@ -236,6 +255,7 @@
         value_args => {
             label     => _('Use SSL?'),
             render_as => 'checkbox',
+            onchange  => _reset_connectivity(),
         },
     );
 };
@@ -259,6 +279,13 @@
     $action->validate;
     $action->run;
 
+    if ($action->result->success) {
+        p { "Connected!" }
+    }
+    else {
+        p { "Failed to connect" }
+    }
+
     show '/__jifty/admin/setupwizard/database/test_connectivity_button';
 };
 


More information about the Jifty-commit mailing list