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' 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()); + } + } }