{"action":"opened","issue":{"url":"https://api.github.com/repos/zotonic/zotonic/issues/1401","repository_url":"https://api.github.com/repos/zotonic/zotonic","labels_url":"https://api.github.com/repos/zotonic/zotonic/issues/1401/labels{/name}","comments_url":"https://api.github.com/repos/zotonic/zotonic/issues/1401/comments","events_url":"https://api.github.com/repos/zotonic/zotonic/issues/1401/events","html_url":"https://github.com/zotonic/zotonic/issues/1401","id":173814803,"number":1401,"title":"Structure is_allowed checks","user":{"login":"ddeboer","id":89267,"avatar_url":"https://avatars.githubusercontent.com/u/89267?v=3","gravatar_id":"","url":"https://api.github.com/users/ddeboer","html_url":"https://github.com/ddeboer","followers_url":"https://api.github.com/users/ddeboer/followers","following_url":"https://api.github.com/users/ddeboer/following{/other_user}","gists_url":"https://api.github.com/users/ddeboer/gists{/gist_id}","starred_url":"https://api.github.com/users/ddeboer/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ddeboer/subscriptions","organizations_url":"https://api.github.com/users/ddeboer/orgs","repos_url":"https://api.github.com/users/ddeboer/repos","events_url":"https://api.github.com/users/ddeboer/events{/privacy}","received_events_url":"https://api.github.com/users/ddeboer/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/zotonic/zotonic/milestones/3","html_url":"https://github.com/zotonic/zotonic/milestones/1.0","labels_url":"https://api.github.com/repos/zotonic/zotonic/milestones/3/labels","id":115630,"number":3,"title":"1.0","description":"Issues that result in BC breaks that need to done before 1.0\r\n\r\nCelebration. :fireworks:","creator":{"login":"mworrell","id":38268,"avatar_url":"https://avatars.githubusercontent.com/u/38268?v=3","gravatar_id":"","url":"https://api.github.com/users/mworrell","html_url":"https://github.com/mworrell","followers_url":"https://api.github.com/users/mworrell/followers","following_url":"https://api.github.com/users/mworrell/following{/other_user}","gists_url":"https://api.github.com/users/mworrell/gists{/gist_id}","starred_url":"https://api.github.com/users/mworrell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mworrell/subscriptions","organizations_url":"https://api.github.com/users/mworrell/orgs","repos_url":"https://api.github.com/users/mworrell/repos","events_url":"https://api.github.com/users/mworrell/events{/privacy}","received_events_url":"https://api.github.com/users/mworrell/received_events","type":"User","site_admin":false},"open_issues":30,"closed_issues":47,"state":"open","created_at":"2012-05-04T16:17:10Z","updated_at":"2016-08-29T16:27:16Z","due_on":null,"closed_at":null},"comments":0,"created_at":"2016-08-29T16:27:16Z","updated_at":"2016-08-29T16:27:16Z","closed_at":null,"body":"Supply `is_allowed` arguments as either tuples or records, so it’s easier for developers to plug in their own custom ACL checks (other than `view resource id`). We can then also re-add a `m_rsc:rid` to allow both resource ids and resource names to be passed as arguments. E.g.:\r\n\r\n```erlang\r\n#acl_rsc{action = view, object = resource_name_or_id}.\r\n#acl_module{action = use, object = module_name}.\r\n#acl_custom{action = weird_permission, object = some_custom_id_thingie}.\r\n```\r\n\r\nSee also #1398."}}
{"actor":{"display_login":"ddeboer"}}