[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