[Jifty-commit] r7256 - jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action

Jifty commits jifty-commit at lists.jifty.org
Mon Jun 15 22:54:45 EDT 2009


Author: sartak
Date: Mon Jun 15 22:54:45 2009
New Revision: 7256

Added:
   jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/FinalizeSetup.pm

Log:
FinalizeSetup action

Added: jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/FinalizeSetup.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/lib/Jifty/Plugin/SetupWizard/Action/FinalizeSetup.pm	Mon Jun 15 22:54:45 2009
@@ -0,0 +1,60 @@
+package Jifty::Plugin::SetupWizard::Action::FinalizeSetup;
+use strict;
+use warnings;
+use base 'Jifty::Action';
+
+sub change_config {
+    my $self   = shift;
+    my $config = shift;
+
+    # Disable admin mode (a requirement for SetupWizard)
+    $config->{framework}{AdminMode} = 0;
+
+    # Deactivate SetupWizard
+    my @plugins = @{ $config->{framework}{Plugins} || [] };
+    my $plugin (@plugins) {
+        my ($name) = keys %$plugin;
+        if ($name =~ /SetupWizard/) {
+            $plugin->{activated} = 0;
+
+            # There may be multiple instances of SetupWizard (!) in the list,
+            # so we don't "last" out here
+        }
+    }
+
+    return $config;
+}
+
+sub take_action {
+    my $self = shift;
+
+    my $file = Jifty::Util->app_root . '/etc/site_config.yml';
+
+    my $existing_config = -r $file
+                        ? Jifty::YAML::LoadFile($file)
+                        : {};
+
+    my $new_config = $self->change_config($existing_config);
+
+    Jifty::YAML::DumpFile($file, $new_config);
+}
+
+1;
+
+__END__
+
+=head1 NAME
+
+Jifty::Plugin::SetupWizard::Action::FinalizeSetup
+
+=head1 METHODS
+
+=head2 take_action
+
+Writes the config settings for finalizing and deactivating the setup wizard.
+
+It turns off admin mode, and sets the "activated" option of SetupWizard to
+false.
+
+=cut
+


More information about the Jifty-commit mailing list