Story Archive now plays nice with urlExtensions
This commit is contained in:
parent
e67ad18517
commit
fa471df450
5 changed files with 51 additions and 9 deletions
|
|
@ -7,6 +7,11 @@ upgrading from one version to the next, or even between multiple
|
||||||
versions. Be sure to heed the warnings contained herein as they will
|
versions. Be sure to heed the warnings contained herein as they will
|
||||||
save you many hours of grief.
|
save you many hours of grief.
|
||||||
|
|
||||||
|
7.10.4
|
||||||
|
--------------------------------------------------------------------
|
||||||
|
* WebGUI now depends on Monkey::Patch for doing sanely scoped
|
||||||
|
monkeypatches.
|
||||||
|
|
||||||
7.10.3
|
7.10.3
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
* In the Collaboration System, previously the Group to Post group
|
* In the Collaboration System, previously the Group to Post group
|
||||||
|
|
|
||||||
|
|
@ -367,9 +367,14 @@ Constructs a url for a subfolder with the given name.
|
||||||
|
|
||||||
sub getFolderUrl {
|
sub getFolderUrl {
|
||||||
my ($self, $name) = @_;
|
my ($self, $name) = @_;
|
||||||
my $base = $self->getUrl;
|
my $session = $self->session;
|
||||||
$base =~ s/(.*)\..*/$1/;
|
my $base = $self->getUrl;
|
||||||
return "$base/$name";
|
$base =~ s/(.*)\..*/$1/;
|
||||||
|
my $url = "$base/$name";
|
||||||
|
if (my $ext = $session->setting->get('urlExtension')) {
|
||||||
|
$url .= ".$ext";
|
||||||
|
}
|
||||||
|
return $session->url->urlize($url);
|
||||||
}
|
}
|
||||||
|
|
||||||
#-------------------------------------------------------------------
|
#-------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
|
@ -148,6 +148,7 @@ checkModule("CHI", "0.34" );
|
||||||
checkModule('IO::Socket::SSL', );
|
checkModule('IO::Socket::SSL', );
|
||||||
checkModule('Net::Twitter', "3.13006" );
|
checkModule('Net::Twitter', "3.13006" );
|
||||||
checkModule('PerlIO::eol', "0.14" );
|
checkModule('PerlIO::eol', "0.14" );
|
||||||
|
checkModule('Monkey::Patch', '0.03' );
|
||||||
|
|
||||||
failAndExit("Required modules are missing, running no more checks.") if $missingModule;
|
failAndExit("Required modules are missing, running no more checks.") if $missingModule;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ $canPostMaker->prepare({
|
||||||
fail => [1, $reader ],
|
fail => [1, $reader ],
|
||||||
});
|
});
|
||||||
|
|
||||||
my $tests = 54
|
my $tests = 56
|
||||||
+ $canPostMaker->plan
|
+ $canPostMaker->plan
|
||||||
;
|
;
|
||||||
plan tests => 1
|
plan tests => 1
|
||||||
|
|
@ -133,22 +133,34 @@ my $folderName = $dt->strftime('%B_%d_%Y');
|
||||||
$folderName =~ s/^(\w+_)0/$1/;
|
$folderName =~ s/^(\w+_)0/$1/;
|
||||||
is($todayFolder->getTitle, $folderName, '... folder has the right name');
|
is($todayFolder->getTitle, $folderName, '... folder has the right name');
|
||||||
my $folderUrl = $archive->getFolderUrl($folderName);
|
my $folderUrl = $archive->getFolderUrl($folderName);
|
||||||
is($todayFolder->getUrl, $folderUrl, '... folder has the right URL');
|
is($todayFolder->get('url'), $folderUrl, '... folder has the right URL');
|
||||||
is($todayFolder->getParent->getId, $archive->getId, '... created folder has the right parent');
|
is($todayFolder->getParent->getId, $archive->getId, '... created folder has the right parent');
|
||||||
is($todayFolder->get('state'), 'published', '... created folder is published');
|
is($todayFolder->get('state'), 'published', '... created folder is published');
|
||||||
is($todayFolder->get('status'), 'approved', '... created folder is approved');
|
is($todayFolder->get('status'), 'approved', '... created folder is approved');
|
||||||
is($todayFolder->get('styleTemplateId'), $archive->get('styleTemplateId'), '... created folder has correct styleTemplateId');
|
is($todayFolder->get('styleTemplateId'), $archive->get('styleTemplateId'), '... created folder has correct styleTemplateId');
|
||||||
|
|
||||||
{
|
{
|
||||||
|
my $undo = WebGUI::Test->overrideSetting(urlExtension => 'ext');
|
||||||
my $arch2 = $home->addChild({
|
my $arch2 = $home->addChild({
|
||||||
className => $class,
|
className => $class,
|
||||||
url => 'home/extension-tester.ext',
|
|
||||||
title => 'Extension Tester',
|
title => 'Extension Tester',
|
||||||
});
|
});
|
||||||
addToCleanup($arch2);
|
addToCleanup($arch2);
|
||||||
ok defined $arch2->getFolder($now), 'getFolder with url extension';
|
|
||||||
is $arch2->getFolderUrl('blah'), '/home/extension-tester/blah',
|
is $arch2->get('url'),
|
||||||
'folder urls have extension properly stripped';
|
'home/extension-tester.ext',
|
||||||
|
'ext added';
|
||||||
|
|
||||||
|
is $arch2->getFolderUrl('blah'),
|
||||||
|
'home/extension-tester/blah.ext',
|
||||||
|
'folder url: strip extension from parent and add to child';
|
||||||
|
|
||||||
|
my $folder = $arch2->getFolder($now);
|
||||||
|
ok defined $folder, 'getFolder with url extension';
|
||||||
|
|
||||||
|
is $folder->get('url'),
|
||||||
|
$arch2->getFolderUrl($folder->getMenuTitle),
|
||||||
|
'getFolderUrl and folder getUrl match';
|
||||||
}
|
}
|
||||||
|
|
||||||
my $sameFolder = $archive->getFolder($now);
|
my $sameFolder = $archive->getFolder($now);
|
||||||
|
|
|
||||||
|
|
@ -39,6 +39,7 @@ use Scalar::Util qw( blessed );
|
||||||
use List::MoreUtils qw( any );
|
use List::MoreUtils qw( any );
|
||||||
use Carp qw( carp croak );
|
use Carp qw( carp croak );
|
||||||
use JSON qw( from_json to_json );
|
use JSON qw( from_json to_json );
|
||||||
|
use Monkey::Patch qw( patch_object );
|
||||||
use Scope::Guard;
|
use Scope::Guard;
|
||||||
|
|
||||||
BEGIN {
|
BEGIN {
|
||||||
|
|
@ -687,6 +688,24 @@ sub getMailFromQueue {
|
||||||
|
|
||||||
#----------------------------------------------------------------------------
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
=head2 overrideSetting (name, val)
|
||||||
|
|
||||||
|
Overrides WebGUI::Test->session->setting->get($name) to return $val until the
|
||||||
|
handle this method returns goes out of scope.
|
||||||
|
|
||||||
|
=cut
|
||||||
|
|
||||||
|
sub overrideSetting {
|
||||||
|
my ($class, $name, $val) = @_;
|
||||||
|
patch_object $class->session->setting => get => sub {
|
||||||
|
my $get = shift;
|
||||||
|
return $val if $_[1] eq $name;
|
||||||
|
goto &$get;
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
|
#----------------------------------------------------------------------------
|
||||||
|
|
||||||
=head2 cleanupAdminInbox ( )
|
=head2 cleanupAdminInbox ( )
|
||||||
|
|
||||||
Push a list of Asset objects onto the stack of assets to be automatically purged
|
Push a list of Asset objects onto the stack of assets to be automatically purged
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue