added remove profile link
[MojoFacets.git] / lib / MojoFacets / Profile.pm
1 package MojoFacets::Profile;
2
3 use strict;
4 use warnings;
5
6 use base 'Mojolicious::Controller';
7
8 use Data::Dump qw(dump);
9 use File::Path;
10
11 sub index {
12         my $self = shift;
13
14         my $path = '/tmp/MojoFacets.profile.';
15
16         if ( my $profile = $self->param('profile') ) {
17 warn "XXX profile $profile\n";
18                 my $dir = $self->app->home->rel_dir('public') . "/profile/$profile";
19                 if ( ! -e $dir ) {
20                         mkpath $dir unless -d $dir;
21                         system "nytprofhtml --file $path$profile --out $dir";
22                         $self->stash( 'nytprof.disabled' => 1 );
23                 }
24                 $self->redirect_to("/profile/$profile/index.html");
25         }
26
27
28         $self->render(
29                 profiles => [ map { s/^\Q$path\E//; $_ } glob "$path*" ],
30         );
31 }
32
33 sub remove {
34         my $self = shift;
35
36         if ( my $profile = $self->param('profile') ) {
37                 unlink "/tmp/MojoFacets.profile.$profile";
38                 rmtree $self->app->home->rel_dir('public') . "/profile/$profile";
39         }
40
41         $self->redirect_to('/profile');
42 }
43
44 1