Issue #790770 by swentel, jhodgdon, David_Rothstein, naxoc: Fixed 'Add to shortcuts' link should not appear on 403/404 pages.
parent
4b2478249b
commit
ce6c15f3ed
|
@ -643,7 +643,11 @@ function shortcut_renderable_links($shortcut_set = NULL) {
|
|||
* Implements hook_preprocess_page().
|
||||
*/
|
||||
function shortcut_preprocess_page(&$variables) {
|
||||
if (shortcut_set_edit_access()) {
|
||||
// Only display the shortcut link if the user has the ability to edit
|
||||
// shortcuts and if the page's actual content is being shown (for example,
|
||||
// we do not want to display it on "access denied" or "page not found"
|
||||
// pages).
|
||||
if (shortcut_set_edit_access() && ($item = menu_get_item()) && $item['access']) {
|
||||
$link = $_GET['q'];
|
||||
$query_parameters = drupal_get_query_parameters();
|
||||
if (!empty($query_parameters)) {
|
||||
|
|
|
@ -197,6 +197,29 @@ class ShortcutLinksTestCase extends ShortcutTestCase {
|
|||
$mlids = $this->getShortcutInformation($saved_set, 'mlid');
|
||||
$this->assertFalse(in_array($set->links[0]['mlid'], $mlids), 'Successfully deleted a shortcut.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Tests that the add shortcut link is not displayed for 404/403 errors.
|
||||
*
|
||||
* Tests that the "Add to shortcuts" link is not displayed on a page not
|
||||
* found or a page the user does not have access to.
|
||||
*/
|
||||
function testNoShortcutLink() {
|
||||
// Change to a theme that displays shortcuts.
|
||||
variable_set('theme_default', 'seven');
|
||||
|
||||
$this->drupalGet('page-that-does-not-exist');
|
||||
$this->assertNoRaw('add-shortcut', t('Add to shortcuts link was not shown on a page not found.'));
|
||||
|
||||
// The user does not have access to this path.
|
||||
$this->drupalGet('admin/modules');
|
||||
$this->assertNoRaw('add-shortcut', t('Add to shortcuts link was not shown on a page the user does not have access to.'));
|
||||
|
||||
// Verify that the testing mechanism works by verifying the shortcut
|
||||
// link appears on admin/content/node.
|
||||
$this->drupalGet('admin/content/node');
|
||||
$this->assertRaw('add-shortcut', t('Add to shortcuts link was shown on a page the user does have access to.'));
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in New Issue