refactor save_action to save only params
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 8 Jul 2011 12:23:17 +0000 (14:23 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 8 Jul 2011 13:17:58 +0000 (15:17 +0200)
lib/MojoFacets.pm
templates/actions/view.html.ep
templates/data/items/table.html.ep

index 1f34ea8..9146e2f 100644 (file)
@@ -12,28 +12,29 @@ use Storable;
 use Time::HiRes qw(time);
 
 
-sub save_tx {
-       my ($self,$tx) = @_;
+sub save_action {
+       my ($self) = @_;
 #      warn "## before_dispatch req ",dump($tx->req->url, $tx->req->params);
-       my $parts = $tx->req->url->path->parts;
-       warn "# parts ",dump( $parts );
-       if ( $parts->[0] eq 'data' ) {
-               if ( my $params = $tx->req->params ) {
-
-                       warn "# params ",dump($params);
+       my $path = $self->req->url->path;
+       if ( $path =~ m{/data/} ) {
+               if ( my $params = $self->req->params ) {
 
                        my $time = time();
                        if ( my $time_travel = $params->param('time') ) {
-                               warn "# time-travel to $time_travel from ", $tx->remote_address;
+                               warn "# time-travel to $time_travel\n";
                                $time = $time_travel;
                        }
 
-                       my $path = '/tmp/actions/';
-                       mkdir $path unless -e $path;
-                       $path .= sprintf '%.4f.%s', $time, join('.', @$parts);
+                       my $actions_path = '/tmp/actions/';
+                       mkdir $actions_path unless -e $actions_path;
+                       $path =~ s{/}{.}g;
+                       $actions_path .= sprintf '%.4f%s', $time, $path;
 
-                       store $params, $path;
-                       warn "$path ", -s $path, " bytes\n";
+                       my $array = $params->params;
+                       if ( @$array ) {
+                               store $array, $actions_path;
+                               warn "SAVE $actions_path ", -s $actions_path, " bytes params = ", dump($array), $/;
+                       }
                }
        }
 }
@@ -51,10 +52,9 @@ sub startup {
 #      $self->plugin( 'request_timer' );
 
        $self->plugins->add_hook(
-                       before_dispatch => sub {
-                               my ($self, $c) = @_;
-                               my $tx = $c->tx;
-                               save_tx( $self, $tx );
+                       after_dispatch => sub {
+                               my ($self) = @_;
+                               save_action( $self );
                        }
        );
        
index d70d3cc..98e4324 100644 (file)
 % if ( my $master = $ENV{'MASTER'} ) {
 <input class=replication type=checkbox name="_master" value="<%= $master %>" title="replicate to <%= $master %>">
 % }
-% my $params = $change->{params};
 <ul>
-% while ( @$params ) {
-%      my $n = shift @$params;
-%      my $v = shift @$params;
+% while ( @$change ) {
+%      my $n = shift @$change;
+%      my $v = shift @$change;
 <li><label class=checkbox_to_text>
 <%= $n %>
 <span class=value title="double click to edit">
index 0b77366..e6df2c7 100644 (file)
@@ -13,9 +13,9 @@
 <span title="unique">&#9997;</span>
 % }
 % if ( session('order') ne $n ) {
-<a href="<%= url_for( action => 'order' )->query( order => $n, sort => 'a' ) %>"><%= $n %></a>
+<a href="<%= url_for( action => 'items' )->query( order => $n, sort => 'a' ) %>"><%= $n %></a>
 % } else {
-<a href="<%= url_for( action => 'order' )->query( order => $n, sort => session('sort') eq 'a' ? 'd' : 'a' ) %>"><%= $n %></a>
+<a href="<%= url_for( action => 'items' )->query( order => $n, sort => session('sort') eq 'a' ? 'd' : 'a' ) %>"><%= $n %></a>
 <%== session('sort') eq 'a' ? '&uarr;' : '&darr;' %>
 % }
 <div class="col_opts">