From 5a687f5151658f5541e5b5f4384130af97206e33 Mon Sep 17 00:00:00 2001 From: Julien Moutinho Date: Thu, 27 Mar 2014 12:32:45 +0100 Subject: [PATCH] add support for $base/../templates/ --- newevent.pm | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/newevent.pm b/newevent.pm index 497ea9c..ec34b72 100644 --- a/newevent.pm +++ b/newevent.pm @@ -38,6 +38,12 @@ sub getsetup () { } ); } +sub tmpl ($$) { + my ($base, $model) = @_; + my $page = IkiWiki::dirname($base).'/'.'templates/'.$model; + my $file = defined srcfile($page, 1) ? '/'.$page : $model; + return template($file); + } sub date_of_form ($$;%) { my ($form, $prefix, %default) = @_; %default = @@ -294,10 +300,10 @@ sub sessioncgi ($$) { } } ); + $base = $form->field('base') ? $form->field('base') : $base; $form->title(sprintf(gettext("creating new events"), pagetitle(IkiWiki::basename($page)))); $form->field(name => "do", type => "hidden", value => 'newevent', force => 1); - $form->field(name => "base", type => "hidden", force => 1 - , value => ($form->field('base') ? $form->field('base') : $base)); + $form->field(name => "base", type => "hidden", force => 1 , value => $base); $form->field(name => "from_date", type => "hidden", value => '1', force => 1); $form->field(name => "to_date", type => "hidden", value => '1', force => 1); $form->field(name => "end_date", type => "hidden", value => '1', force => 1); @@ -334,7 +340,7 @@ sub sessioncgi ($$) { $form->field(name => "inc_day", type => 'text', value => '0', size => 2); $form->field(name => "inc_hour", type => 'text', value => '0', size => 2); $form->field(name => "inc_minute", type => 'text', value => '0', size => 2); - my $tmpl_neweventcontent = template("neweventcontent.tmpl"); + my $tmpl_neweventcontent = tmpl($base, 'neweventcontent.tmpl'); $tmpl_neweventcontent->param(title => gettext('Title of the event')); $tmpl_neweventcontent->param(tags => [map {{name => $_}} (sort keys %$tags)]); $form->field(name => "content", type => "textarea", size => 30, rows => 20, cols => 80 @@ -398,7 +404,7 @@ sub sessioncgi ($$) { } error("events try per commit overflow: $events_max") unless $events_try <= $events_max; - my $tmpl_neweventpage = template("neweventpage.tmpl"); + my $tmpl_neweventpage = tmpl($base, 'neweventpage.tmpl'); my $i = 0; foreach (@events) { $tmpl_neweventpage->clear_params(); @@ -559,7 +565,7 @@ sub create ($$$$$) { if (not exists $pagesources{$monthpage} and not -l $config{srcdir}.'/'.$monthfile and not -e _) { - my $tmpl_neweventmonth = template("neweventmonth.tmpl"); + my $tmpl_neweventmonth = tmpl($base, 'neweventmonth.tmpl'); $tmpl_neweventmonth->param(base => $base); $tmpl_neweventmonth->param(year => $event->{from}->year()); $tmpl_neweventmonth->param(month => sprintf('%02d', $event->{from}->month())); @@ -579,7 +585,7 @@ sub create ($$$$$) { if (not exists $pagesources{$daypage} and not -l $config{srcdir}.'/'.$dayfile and not -e _) { - my $tmpl_neweventday = template("neweventday.tmpl"); + my $tmpl_neweventday = tmpl($base, 'neweventday.tmpl'); $tmpl_neweventday->param(base => $base); $tmpl_neweventday->param(year => $event->{from}->year()); $tmpl_neweventday->param(month => sprintf('%02d', $event->{from}->month())); -- 2.20.1