change names of loops to be _loop vs Loop.

Added keyword loop variable.
Change subtitle to a textarea.
Add tests for Story template variables.
This commit is contained in:
Colin Kuskie 2009-03-05 23:43:50 +00:00
parent f37e98b982
commit 5bb4cbf299
3 changed files with 52 additions and 6 deletions

View file

@ -110,7 +110,7 @@ sub definition {
defaultValue => '', defaultValue => '',
}, },
subtitle => { subtitle => {
fieldType => 'text', fieldType => 'textarea',
#label => $i18n->get('subtitle'), #label => $i18n->get('subtitle'),
#hoverHelp => $i18n->get('subtitle help'), #hoverHelp => $i18n->get('subtitle help'),
defaultValue => '', defaultValue => '',
@ -223,7 +223,7 @@ sub getEditForm {
name => 'title', name => 'title',
value => $form->get('title') || $self->get('title'), value => $form->get('title') || $self->get('title'),
} ), } ),
subTitleForm => WebGUI::Form::text($session, { subTitleForm => WebGUI::Form::textarea($session, {
name => 'subtitle', name => 'subtitle',
value => $form->get('subtitle') || $self->get('subtitle') value => $form->get('subtitle') || $self->get('subtitle')
} ), } ),
@ -546,13 +546,25 @@ Template variables will be added onto this hash ref.
sub viewTemplateVariables { sub viewTemplateVariables {
my ($self) = @_; my ($self) = @_;
my $session = $self->session; my $session = $self->session;
my $var = $self->get; my $archive = $self->getArchive;
my $var = $self->get;
if ($var->{highlights}) { if ($var->{highlights}) {
my @highlights = split "\n", $var->{highlights}; my @highlights = split "\n+", $var->{highlights};
foreach my $highlight (@highlights) { foreach my $highlight (@highlights) {
push @{ $var->{highlightsLoop} }, { highlight => $highlight }; push @{ $var->{highlights_loop} }, { highlight => $highlight };
} }
} }
my $key = WebGUI::Keyword->new($session);
my $keywords = $key->getKeywordsForAsset( { asArrayRef => 1, asset => $self });
$var->{keyword_loop} = [];
foreach my $keyword (@{ $keywords }) {
push @{ $var->{keyword_loop} }, {
keyword => $keyword,
url => $archive->getUrl("func=search;submit=1;keywords=".$session->url->escape($keyword)),
};
}
##TODO: publish time, calculated from revisionDate ##TODO: publish time, calculated from revisionDate
return $var; return $var;
} }

View file

@ -18,9 +18,10 @@ use WebGUI::Storage;
use Test::More; # increment this value for each test you create use Test::More; # increment this value for each test you create
use Test::Deep; use Test::Deep;
use Data::Dumper;
my $tests = 1; my $tests = 1;
plan tests => 13 plan tests => 16
+ $tests + $tests
; ;
@ -123,6 +124,39 @@ cmp_deeply(
'setPhotoData: wipes the stored data if nothing is passed' 'setPhotoData: wipes the stored data if nothing is passed'
); );
############################################################
#
# viewTemplateVariables
#
############################################################
$story->update({
highlights => "one\ntwo\nthree",
keywords => "foxtrot tango whiskey",
});
is($story->get('highlights'), "one\ntwo\nthree", 'highlights set correctly for template var check');
my $viewVariables = $story->viewTemplateVariables;
#diag Dumper $viewVariables;
cmp_deeply(
$viewVariables->{highlights_loop},
[
{ highlight => "one", },
{ highlight => "two", },
{ highlight => "three", },
],
'viewTemplateVariables: highlights_loop is okay'
);
cmp_bag(
$viewVariables->{keyword_loop},
[
{ keyword => "foxtrot", url => '/home/test-archive?func=search;submit=1;keywords=foxtrot', },
{ keyword => "tango", url => '/home/test-archive?func=search;submit=1;keywords=tango', },
{ keyword => "whiskey", url => '/home/test-archive?func=search;submit=1;keywords=whiskey', },
],
'viewTemplateVariables: keywords_loop is okay'
);
} }
END { END {