added /code/remove?path=
authorDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 25 Jun 2010 18:44:29 +0000 (20:44 +0200)
committerDobrica Pavlinusic <dpavlin@rot13.org>
Fri, 25 Jun 2010 18:45:17 +0000 (20:45 +0200)
lib/MojoFacets/Code.pm
templates/code/index.html.ep

index 0a523ef..983bcc7 100644 (file)
@@ -8,13 +8,15 @@ use base 'Mojolicious::Controller';
 use Data::Dump qw(dump);
 use File::Slurp;
 
+sub _code_dir { $_[0]->app->home->rel_dir('public') . '/code' }
+
 sub index {
        my $self = shift;
 
        $self->redirect_to('/data/columns') unless $self->session('columns');
        my $columns = { map { $_ => 1 } @{ $self->session('columns') } };
 
-       my $dir = $self->app->home->rel_dir('public') . '/code';
+       my $dir = $self->_code_dir;
 
        my $snippets;
 
@@ -38,4 +40,12 @@ warn "# depends $depends $found $#deps\n";
        );
 }
 
+sub remove {
+       my $self = shift;
+       if ( my $path = $self->param('path') ) {
+               unlink $self->_code_dir . '/' . $path;
+       }
+       $self->redirect_to('/code');
+}
+
 1;
index 31b0d2a..d524780 100644 (file)
@@ -8,10 +8,11 @@
 <li>
 <form method=post action=/data/items>
 <input type=submit name=test value="Load and test">
-% my $path = "code/$depends.$desc.pl";
-<a target=code href="/<%= $path %>"><%= $desc %></a>
+% my $path = "$depends.$desc.pl";
+<a target=code href="/code/<%= $path %>"><%= $desc %></a>
 <input type=hidden name=code_depends value="<%= $depends %>">
 <input type=hidden name=code_description value="<%= $desc %>">
+<a class=remove href="<%= url_for( action => 'remove' )->query( path => $path ) %>">remove</a>
 <br>
 % my $code = $snippets->{$depends}->{$desc};
 % my $rows = scalar split(/\n/,$code);