From 3721dab4251ea9c97fbdfbc43caea06eebaa9cf4 Mon Sep 17 00:00:00 2001 From: Steve Boyd Date: Wed, 4 May 2022 13:29:41 +1200 Subject: [PATCH 1/2] Update translations --- lang/sl.yml | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 lang/sl.yml diff --git a/lang/sl.yml b/lang/sl.yml new file mode 100644 index 0000000..871fc21 --- /dev/null +++ b/lang/sl.yml @@ -0,0 +1,32 @@ +sl: + SilverStripe\ExternalLinks\Jobs\CheckExternalLinksJob: + TITLE: 'Preverjamo, ali so zunanje povezave dostopne' + SilverStripe\ExternalLinks\Model\BrokenExternalLink: + NOTAVAILABLE: 'Strežnik ni na voljo' + PLURALNAME: 'Nedostopne zunanje povezave' + PLURALS: + one: 'Nedostopna zunanja povezava' + two: '{count} nedostopni zunanji povezavi' + few: '{count} nedostopnih zunanjih povezav' + other: '{count} nedostopnih zunanjih povezav' + SINGULARNAME: 'Nedostopna zunanja povezava' + UNKNOWNRESPONSE: 'Neznana šifra odziva' + SilverStripe\ExternalLinks\Model\BrokenExternalPageTrack: + PLURALNAME: 'Preverjanja nedostopnih zunanjih povezav' + PLURALS: + one: 'Preverjanje nedostopnih zunanjih povezav' + two: '{count} preverjanji nedostopnih zunanjih povezav' + few: '{count} preverjanj nedostopnih zunanjih povezav' + other: '{count} preverjanj nedostopnih zunanjih povezav' + SINGULARNAME: 'Preverjanje nedostopnih zunanjih povezav' + SilverStripe\ExternalLinks\Model\BrokenExternalPageTrackStatus: + PLURALNAME: 'Status preverjanj' + PLURALS: + one: 'Status preverjanja' + two: '{count} statusa preverjanj' + few: '{count} statusov preverjanj' + other: '{count} statusov preverjanj' + SINGULARNAME: 'Status preverjanja' + SilverStripe\ExternalLinks\Reports\BrokenExternalLinksReport: + EXTERNALBROKENLINKS: 'Poročilo o nedostopnih zunanjih povezavah' + RUNREPORT: 'Pripravi novo poročilo' From 6d288c54f2fa10ea3fbeaf1a5e31dcbc661cc1ff Mon Sep 17 00:00:00 2001 From: Sabina Talipova Date: Thu, 28 Apr 2022 09:50:48 +1200 Subject: [PATCH 2/2] Add new permission group --- src/Model/BrokenExternalLink.php | 2 +- tests/php/Model/BrokenExternalLinkTest.php | 37 +++++++++++++++++----- 2 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/Model/BrokenExternalLink.php b/src/Model/BrokenExternalLink.php index d7a1bea..1a896df 100644 --- a/src/Model/BrokenExternalLink.php +++ b/src/Model/BrokenExternalLink.php @@ -58,7 +58,7 @@ class BrokenExternalLink extends DataObject public function canView($member = false) { $member = $member ? $member : Security::getCurrentUser(); - $codes = array('content-authors', 'administrators'); + $codes = ['CMS_ACCESS_CMSMain']; return Permission::checkMember($member, $codes); } diff --git a/tests/php/Model/BrokenExternalLinkTest.php b/tests/php/Model/BrokenExternalLinkTest.php index 4160304..ddfeb13 100644 --- a/tests/php/Model/BrokenExternalLinkTest.php +++ b/tests/php/Model/BrokenExternalLinkTest.php @@ -8,21 +8,16 @@ use SilverStripe\ExternalLinks\Model\BrokenExternalLink; class BrokenExternalLinkTest extends SapphireTest { /** - * @param int $httpCode - * @param string $expected * @dataProvider httpCodeProvider */ - public function testGetHTTPCodeDescription($httpCode, $expected) + public function testGetHTTPCodeDescription(int $httpCode, string $expected) { $link = new BrokenExternalLink(); $link->HTTPCode = $httpCode; $this->assertSame($expected, $link->getHTTPCodeDescription()); } - - /** - * @return array[] - */ - public function httpCodeProvider() + + public function httpCodeProvider(): array { return [ [200, '200 (OK)'], @@ -32,4 +27,30 @@ class BrokenExternalLinkTest extends SapphireTest [789, '789 (Unknown Response Code)'], ]; } + + public function permissionProvider(): array + { + return [ + ['admin', 'ADMIN'], + ['content-author', 'CMS_ACCESS_CMSMain'], + ['asset-admin', 'CMS_ACCESS_AssetAdmin'], + ]; + } + + /** + * @dataProvider permissionProvider + */ + public function testCanViewReport(string $user, string $permission) + { + $this->logOut(); + $this->logInWithPermission($permission); + + $link = new BrokenExternalLink(); + + if ($user === 'asset-admin') { + $this->assertFalse($link->canView()); + } else { + $this->assertTrue($link->canView()); + } + } }