summary refs log tree commit diff
path: root/lib/ballet.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ballet.pm')
-rw-r--r--lib/ballet.pm33
1 files changed, 31 insertions, 2 deletions
diff --git a/lib/ballet.pm b/lib/ballet.pm
index 10e3a1f..aa2836b 100644
--- a/lib/ballet.pm
+++ b/lib/ballet.pm
@@ -13,10 +13,39 @@ get '/' => sub {
     wiki_page('Home');
 };
 
+get '/edit/*' => sub {
+    my ($page_name) = splat;
+
+    debug("looking for page $page_name");
+
+    my $content = $git->find_page($page_name, 'master');
+    template 'edit', {content => $content, title => 'Home'};
+};
+
+post '/edit/*' => sub {
+    my ($page_name) = splat;
+
+    my $content = params->{content};
+    update_wiki_page($page_name, $content);
+    redirect uri_for('/');
+};
+
 sub wiki_page {
     my $page_name = shift;
-    my $content = $git->find_page($page_name, 'master');
-    return $content;
+    my $content = $git->find_page( $page_name, 'master' );
+
+    template 'page',
+      {
+        title   => $page_name,
+        author  => 'franck',
+        date    => '10/10/10',
+        content => $content
+      };
+}
+
+sub update_wiki_page {
+    my ($page_name, $content) = @_;
+    $git->update_page($page_name, $content);
 }
 
 true;