{"action":"created","issue":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/13766","repository_url":"https://api.github.com/repos/joomla/joomla-cms","labels_url":"https://api.github.com/repos/joomla/joomla-cms/issues/13766/labels{/name}","comments_url":"https://api.github.com/repos/joomla/joomla-cms/issues/13766/comments","events_url":"https://api.github.com/repos/joomla/joomla-cms/issues/13766/events","html_url":"https://github.com/joomla/joomla-cms/pull/13766","id":203331039,"number":13766,"title":"Inheritable menu item property","user":{"login":"Napoleon-BlownApart","id":6958677,"avatar_url":"https://avatars.githubusercontent.com/u/6958677?v=3","gravatar_id":"","url":"https://api.github.com/users/Napoleon-BlownApart","html_url":"https://github.com/Napoleon-BlownApart","followers_url":"https://api.github.com/users/Napoleon-BlownApart/followers","following_url":"https://api.github.com/users/Napoleon-BlownApart/following{/other_user}","gists_url":"https://api.github.com/users/Napoleon-BlownApart/gists{/gist_id}","starred_url":"https://api.github.com/users/Napoleon-BlownApart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Napoleon-BlownApart/subscriptions","organizations_url":"https://api.github.com/users/Napoleon-BlownApart/orgs","repos_url":"https://api.github.com/users/Napoleon-BlownApart/repos","events_url":"https://api.github.com/users/Napoleon-BlownApart/events{/privacy}","received_events_url":"https://api.github.com/users/Napoleon-BlownApart/received_events","type":"User","site_admin":false},"labels":[{"id":198658453,"url":"https://api.github.com/repos/joomla/joomla-cms/labels/Language%20Change","name":"Language Change","color":"eb6420","default":false},{"id":60721348,"url":"https://api.github.com/repos/joomla/joomla-cms/labels/PR-staging","name":"PR-staging","color":"c7def8","default":false}],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":47,"created_at":"2017-01-26T09:57:16Z","updated_at":"2017-01-31T04:58:07Z","closed_at":"2017-01-30T16:10:21Z","pull_request":{"url":"https://api.github.com/repos/joomla/joomla-cms/pulls/13766","html_url":"https://github.com/joomla/joomla-cms/pull/13766","diff_url":"https://github.com/joomla/joomla-cms/pull/13766.diff","patch_url":"https://github.com/joomla/joomla-cms/pull/13766.patch"},"body":"Pull Request for Issue #13682.\r\n\r\nI have implemented an Inheritable property for menu items.  The property determines if higher access levels inherit the menu item.  An inheritable menu item will display in the menu for all user groups who inherit visibility of the menu item's set access level.  A menu item set to un-inheritable will only be seen by users who belong to the access level group that is set in the menu item.\r\n\r\nFor example:\r\nWith a \"Register\" menu link (whose access is set to Public with Inheritable NO), a public visitor to the site will be able to register, but once they have activated their account and been upgraded to the Registered user group, they will not see the \"Register\" link while they remain logged in (assuming the user is not assigned to the Public User Group on the User:Edit-Assigned User Groups screen).\r\nHad the Inheritable property been left ON (default), the menu item's behaviour would have been standard Joomla behaviour, and the Registered user would still be able to see the \"Register\" link (unless a separte menu was created for registered users or some other hack was implemented).\r\n\r\nThe Inheritable property is a binary switch.  Its setting can be controlled on\r\n1  Menus:Edit Item -> Details screen using the standard binary toggle switch. \r\n2  Menus: Items screen using a button similar to the 'Status -> Publish' button. \r\n\r\nFrom various posts I have read concerning this issue, I believe this to be a simple, elegant, unobtrusive solution to this particular problem. It would be nice if a future release of Joomla incorporated this change, or something similar.  For justification of this enhancement, I refer the reader to the Issue post I published https://github.com/joomla/joomla-cms/issues/13682\r\n\r\nThe details of the changes are in the git-diff below.\r\n\r\nCheers,\r\nNap\r\n\r\n### Summary of Changes\r\n\r\nThe changes made apply to the Staging Branch of the Joomla repository as of 24 Jan 2017.\r\nMy changes are located in the 'inheritable' branch.\r\nThere are two commits;  the first is the Menu:Edit Item implementation, the second implements the Menu:Items summary screen changes.\r\n\r\nFrom the Menu:Items screen, you cannot set the Default page to un-inheritable (like you cannot un-publish the home page).  I haven't tested this at the Menu:Edit Item level.\r\n\r\nSQL changes have been applied for all three database types: MySQL, PostGRE, and SQLAzure.\r\n\r\n### Testing Instructions\r\n\r\nAs a novice Joomla contributor/user, these should be tested further in regards to side-effects of extensions and templates.\r\n\r\n**Menus:Edit Item**\r\nWorks fine for me.\r\n\r\n**Menu:Items** admin management\r\nWorks fine for me.\r\n\r\n### Documentation Changes Required\r\n\r\nThe code I've added is documented in compliance with Doxygen.  The '@since field for methods has been set to 2017-01-25'."},"comment":{"url":"https://api.github.com/repos/joomla/joomla-cms/issues/comments/276275357","html_url":"https://github.com/joomla/joomla-cms/pull/13766#issuecomment-276275357","issue_url":"https://api.github.com/repos/joomla/joomla-cms/issues/13766","id":276275357,"user":{"login":"Napoleon-BlownApart","id":6958677,"avatar_url":"https://avatars.githubusercontent.com/u/6958677?v=3","gravatar_id":"","url":"https://api.github.com/users/Napoleon-BlownApart","html_url":"https://github.com/Napoleon-BlownApart","followers_url":"https://api.github.com/users/Napoleon-BlownApart/followers","following_url":"https://api.github.com/users/Napoleon-BlownApart/following{/other_user}","gists_url":"https://api.github.com/users/Napoleon-BlownApart/gists{/gist_id}","starred_url":"https://api.github.com/users/Napoleon-BlownApart/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Napoleon-BlownApart/subscriptions","organizations_url":"https://api.github.com/users/Napoleon-BlownApart/orgs","repos_url":"https://api.github.com/users/Napoleon-BlownApart/repos","events_url":"https://api.github.com/users/Napoleon-BlownApart/events{/privacy}","received_events_url":"https://api.github.com/users/Napoleon-BlownApart/received_events","type":"User","site_admin":false},"created_at":"2017-01-31T04:58:07Z","updated_at":"2017-01-31T04:58:07Z","body":"I have updated the entire Inheritable branch and fixed the issues @mbabker pointed out concerning the caching and callbacks.  I don't know how/why but that code was not there when I did my 1st pass.  Anyway, @mbabker, your work has now been respected in this version of the pull request."}}
{"actor":{"display_login":"Napoleon-BlownApart"}}