[Jifty-commit] r6944 - in jifty/trunk/lib/Jifty/Plugin/Config: Action

Jifty commits jifty-commit at lists.jifty.org
Wed May 6 12:14:47 EDT 2009


Author: sunnavy
Date: Wed May  6 12:14:45 2009
New Revision: 6944

Added:
   jifty/trunk/lib/Jifty/Plugin/Config/Action/Restart.pm
Modified:
   jifty/trunk/lib/Jifty/Plugin/Config/Dispatcher.pm
   jifty/trunk/lib/Jifty/Plugin/Config/View.pm

Log:
tweak config plugin: add Restart action; now we have "save" and "save&restart" buttons

Added: jifty/trunk/lib/Jifty/Plugin/Config/Action/Restart.pm
==============================================================================
--- (empty file)
+++ jifty/trunk/lib/Jifty/Plugin/Config/Action/Restart.pm	Wed May  6 12:14:45 2009
@@ -0,0 +1,33 @@
+package Jifty::Plugin::Config::Action::Restart;
+use strict;
+use warnings;
+
+use base qw/Jifty::Action/;
+
+=head2 NAME
+
+Jifty::Plugin::Config::Action::Restart - Restart action
+
+=cut
+
+
+=head2 arguments
+
+=cut
+
+sub arguments {
+    return {};
+}
+
+=head2 take_action
+
+=cut
+
+sub take_action {
+    my $self = shift;
+    Jifty->web->tangent( url => Jifty::Plugin::Config->restart_url . '?url=/' );
+    return 1;
+}
+
+1;
+

Modified: jifty/trunk/lib/Jifty/Plugin/Config/Dispatcher.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Config/Dispatcher.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/Config/Dispatcher.pm	Wed May  6 12:14:45 2009
@@ -38,6 +38,7 @@
 
 before '*' => run {
     Jifty->api->allow('Jifty::Plugin::Config::Action::Config');
+    Jifty->api->allow('Jifty::Plugin::Config::Action::Restart');
 };
 
 1;

Modified: jifty/trunk/lib/Jifty/Plugin/Config/View.pm
==============================================================================
--- jifty/trunk/lib/Jifty/Plugin/Config/View.pm	(original)
+++ jifty/trunk/lib/Jifty/Plugin/Config/View.pm	Wed May  6 12:14:45 2009
@@ -9,10 +9,18 @@
 my $restart_url = Jifty::Plugin::Config->restart_url;
 template $config_url => sub {
     my $config = new_action( class => 'Config' );
+    $config->order(1);
+    my $restart = new_action( class => 'Restart' );
+    $restart->order(2);
     form {
         render_action( $config );
-        form_next_page( url => '/__jifty/config/restart.html' );
-        form_submit( label => _('Save and Restart') );
+        form_submit( label => _('Save') );
+        form_submit(
+            label   => _('Save and Restart'),
+            # WARN: though it's an array, it doesn't mean the actions are run
+            # in this order, please set ->order for each action to do this 
+            submit => [ $config, $restart ],
+        );
     }
 };
 


More information about the Jifty-commit mailing list