From 8f09dc062dd7b2361a04f865aa2c7fde6a7f5039 Mon Sep 17 00:00:00 2001 From: Colin Kuskie Date: Mon, 1 Jun 2009 16:53:22 +0000 Subject: [PATCH] Add edit and delete icons to the Story Topic. Update tests. Adjust both sets of templates. Use the correct privileges for displaying the icons. Help and i18n. --- docs/changelog/7.x.x.txt | 2 +- .../root_import_storymanager.wgpkg | Bin 4778 -> 4812 bytes lib/WebGUI/Asset/Wobject/StoryArchive.pm | 4 ++-- lib/WebGUI/Asset/Wobject/StoryTopic.pm | 15 ++++++++++++- lib/WebGUI/Help/Asset_StoryArchive.pm | 10 ++++----- lib/WebGUI/Help/Asset_StoryTopic.pm | 2 ++ lib/WebGUI/i18n/English/Asset_StoryArchive.pm | 4 ++-- lib/WebGUI/i18n/English/Asset_StoryTopic.pm | 12 ++++++++++ t/Asset/Wobject/StoryArchive.t | 21 +++++++++++++++++- 9 files changed, 58 insertions(+), 12 deletions(-) diff --git a/docs/changelog/7.x.x.txt b/docs/changelog/7.x.x.txt index 47e0e1c79..b0331e894 100644 --- a/docs/changelog/7.x.x.txt +++ b/docs/changelog/7.x.x.txt @@ -6,7 +6,7 @@ - fixed #10361: Shortcuts duplicate extra header tags - fixed #10356: SQL report is cached too long - fixed #10313: extra head elements appear twice - - fixed missing edit story and delete story icons in the Story Manager. + - fixed missing edit story and delete story icons in the Story Archive and Story Topic. 7.7.8 - fixed: Basic Auth doesn't work if password contains colon (Arjan Widlak, diff --git a/docs/upgrades/packages-7.7.9/root_import_storymanager.wgpkg b/docs/upgrades/packages-7.7.9/root_import_storymanager.wgpkg index a32213b8070418baebe8eae921b4cfbb276e8431..55de932f3c452cc5ee0cc7c62212024778e35604 100644 GIT binary patch literal 4812 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 E092S?VgLXD diff --git a/lib/WebGUI/Asset/Wobject/StoryArchive.pm b/lib/WebGUI/Asset/Wobject/StoryArchive.pm index 9bf1b14b5..54ab891e6 100644 --- a/lib/WebGUI/Asset/Wobject/StoryArchive.pm +++ b/lib/WebGUI/Asset/Wobject/StoryArchive.pm @@ -553,10 +553,10 @@ sub viewTemplateVariables { title => $story->getTitle, creationDate => $creationDate, }; - if ($userUiLevel >= $uiLevels->{delete}) { + if ($story->canEdit && $userUiLevel >= $uiLevels->{delete} && !$exporting) { $storyVars->{deleteIcon} = $icon->delete('func=delete', $story->get('url'), $i18n->get(43)); } - if ($userUiLevel >= $uiLevels->{edit}) { + if ($story->canEdit && $userUiLevel >= $uiLevels->{edit} && !$exporting) { $storyVars->{editIcon} = $icon->edit('func=edit', $story->get('url')); } push @{$datePointer->{story_loop}}, $storyVars; diff --git a/lib/WebGUI/Asset/Wobject/StoryTopic.pm b/lib/WebGUI/Asset/Wobject/StoryTopic.pm index f20bfd9e1..f8ec46286 100644 --- a/lib/WebGUI/Asset/Wobject/StoryTopic.pm +++ b/lib/WebGUI/Asset/Wobject/StoryTopic.pm @@ -174,17 +174,30 @@ sub viewTemplateVariables { }); my $storyIds = $p->getPageData(); $var->{story_loop} = []; + + my $icon = $session->icon; + my $userUiLevel = $session->user->profileField("uiLevel"); + my $uiLevels = $session->config->get('assetToolbarUiLevel'); + my $i18n = WebGUI::International->new($session); + ##Only build objects for the assets that we need STORY: foreach my $storyId (@{ $storyIds }) { my $story = WebGUI::Asset->new($session, $storyId->{assetId}, $storyId->{className}, $storyId->{revisionDate}); next STORY unless $story; - push @{$var->{story_loop}}, { + my $storyVars = { url => ( $exporting ? $story->getUrl : $session->url->append($self->getUrl, 'func=viewStory;assetId='.$storyId->{assetId}) ), title => $story->getTitle, creationDate => $story->get('creationDate'), + }; + if ($story->canEdit && $userUiLevel >= $uiLevels->{delete} && !$exporting) { + $storyVars->{deleteIcon} = $icon->delete('func=delete', $story->get('url'), $i18n->get(43)); } + if ($story->canEdit && $userUiLevel >= $uiLevels->{edit} && !$exporting) { + $storyVars->{editIcon} = $icon->edit('func=edit', $story->get('url')); + } + push @{$var->{story_loop}}, $storyVars; } if ($self->{_standAlone}) { diff --git a/lib/WebGUI/Help/Asset_StoryArchive.pm b/lib/WebGUI/Help/Asset_StoryArchive.pm index 20eb49f4f..312d76c93 100644 --- a/lib/WebGUI/Help/Asset_StoryArchive.pm +++ b/lib/WebGUI/Help/Asset_StoryArchive.pm @@ -27,11 +27,11 @@ our $HELP = { { 'name' => 'epochDate' }, { 'name' => 'story_loop', 'variables' => [ - { 'name' => 'url' }, - { 'name' => 'title' }, - { 'name' => 'creationDate' }, - { 'name' => 'deleteIcon' }, - { 'name' => 'editIcon' }, + { name => 'url' }, + { name => 'title' }, + { name => 'creationDate' }, + { name => 'deleteIcon' }, + { name => 'editIcon' }, ], }, ] diff --git a/lib/WebGUI/Help/Asset_StoryTopic.pm b/lib/WebGUI/Help/Asset_StoryTopic.pm index d9bd1ba62..510c6d4a1 100644 --- a/lib/WebGUI/Help/Asset_StoryTopic.pm +++ b/lib/WebGUI/Help/Asset_StoryTopic.pm @@ -25,6 +25,8 @@ our $HELP = { { name => 'url' }, { name => 'title' }, { name => 'creationDate' }, + { name => 'deleteIcon' }, + { name => 'editIcon' }, ], }, { name => 'topStoryTitle' }, diff --git a/lib/WebGUI/i18n/English/Asset_StoryArchive.pm b/lib/WebGUI/i18n/English/Asset_StoryArchive.pm index 3a1fe006c..7b1a02f55 100644 --- a/lib/WebGUI/i18n/English/Asset_StoryArchive.pm +++ b/lib/WebGUI/i18n/English/Asset_StoryArchive.pm @@ -214,13 +214,13 @@ our $I18N = { }, 'deleteIcon' => { - message => q|An icon to delete this story.|, + message => q|An icon to delete this story. If the user is not allowed to delete the icon, or their UI level is set too low, this variable will be empty.|, context => q|Template variable.|, lastUpdated => 0, }, 'editIcon' => { - message => q|An icon to edit this story.|, + message => q|An icon to edit this story. If the user is not allowed to edit the icon, or their UI level is set too low, this variable will be empty.|, context => q|Template variable.|, lastUpdated => 0, }, diff --git a/lib/WebGUI/i18n/English/Asset_StoryTopic.pm b/lib/WebGUI/i18n/English/Asset_StoryTopic.pm index 9e9cf3f73..4605e91d7 100644 --- a/lib/WebGUI/i18n/English/Asset_StoryTopic.pm +++ b/lib/WebGUI/i18n/English/Asset_StoryTopic.pm @@ -81,6 +81,18 @@ our $I18N = { lastUpdated => 0, }, + 'deleteIcon' => { + message => q|An icon to delete this story. If the user is not allowed to delete the icon, or their UI level is set too low, this variable will be empty.|, + context => q|Template variable.|, + lastUpdated => 0, + }, + + 'editIcon' => { + message => q|An icon to edit this story. If the user is not allowed to edit the icon, or their UI level is set too low, this variable will be empty.|, + context => q|Template variable.|, + lastUpdated => 0, + }, + 'topStoryUrl' => { message => q|The URL to view the top story.|, context => q|Template variable.|, diff --git a/t/Asset/Wobject/StoryArchive.t b/t/Asset/Wobject/StoryArchive.t index 2fc6013bb..f6ed25953 100644 --- a/t/Asset/Wobject/StoryArchive.t +++ b/t/Asset/Wobject/StoryArchive.t @@ -225,6 +225,7 @@ KEY: foreach my $key (keys %{ $templateVars }) { delete $templateVars->{$key}; } +$session->user({userId => 1}); cmp_deeply( $templateVars, { @@ -258,7 +259,7 @@ cmp_deeply( }, ] }, - 'viewTemplateVariables: returns expected template variables with 3 stories in different folders' + 'viewTemplateVariables: returns expected template variables with 3 stories in different folders, user is cannot edit stories' ); my $story2 = $folder->addChild({ className => 'WebGUI::Asset::Story', title => 'Story 2', keywords => "roger,foxtrot"}); @@ -292,16 +293,22 @@ cmp_deeply( creationDate => ignore(), url => re('first-story'), title => 'First Story', + editIcon => ignore(), + deleteIcon => ignore(), }, { creationDate => ignore(), url => ignore(), title => 'Story 2', + editIcon => ignore(), + deleteIcon => ignore(), }, { creationDate => ignore(), url => ignore(), title => 'Story 3', + editIcon => ignore(), + deleteIcon => ignore(), }, ], }, @@ -336,11 +343,15 @@ cmp_deeply( creationDate => ignore(), url => ignore(), title => 'Story 2', + editIcon => ignore(), + deleteIcon => ignore(), }, { creationDate => ignore(), url => ignore(), title => 'Story 3', + editIcon => ignore(), + deleteIcon => ignore(), }, ], }, @@ -351,6 +362,8 @@ cmp_deeply( creationDate => ignore(), url => ignore(), title => 'WebGUI is released', + editIcon => ignore(), + deleteIcon => ignore(), }, ], }, @@ -383,11 +396,15 @@ cmp_bag( creationDate => ignore(), url => ignore(), title => 'Story 3', + editIcon => ignore(), + deleteIcon => ignore(), }, { creationDate => ignore(), url => ignore(), title => 'Story 4', + editIcon => ignore(), + deleteIcon => ignore(), }, ], }, @@ -398,6 +415,8 @@ cmp_bag( creationDate => ignore(), url => ignore(), title => 'WebGUI is released', + editIcon => ignore(), + deleteIcon => ignore(), }, ], },