{"action":"closed","issue":{"url":"https://api.github.com/repos/simphony/simphony-remote/issues/23","repository_url":"https://api.github.com/repos/simphony/simphony-remote","labels_url":"https://api.github.com/repos/simphony/simphony-remote/issues/23/labels{/name}","comments_url":"https://api.github.com/repos/simphony/simphony-remote/issues/23/comments","events_url":"https://api.github.com/repos/simphony/simphony-remote/issues/23/events","html_url":"https://github.com/simphony/simphony-remote/issues/23","id":162637966,"number":23,"title":"Refactorings to various components","user":{"login":"stefanoborini","id":132967,"avatar_url":"https://avatars.githubusercontent.com/u/132967?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanoborini","html_url":"https://github.com/stefanoborini","followers_url":"https://api.github.com/users/stefanoborini/followers","following_url":"https://api.github.com/users/stefanoborini/following{/other_user}","gists_url":"https://api.github.com/users/stefanoborini/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanoborini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanoborini/subscriptions","organizations_url":"https://api.github.com/users/stefanoborini/orgs","repos_url":"https://api.github.com/users/stefanoborini/repos","events_url":"https://api.github.com/users/stefanoborini/events{/privacy}","received_events_url":"https://api.github.com/users/stefanoborini/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":{"login":"stefanoborini","id":132967,"avatar_url":"https://avatars.githubusercontent.com/u/132967?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanoborini","html_url":"https://github.com/stefanoborini","followers_url":"https://api.github.com/users/stefanoborini/followers","following_url":"https://api.github.com/users/stefanoborini/following{/other_user}","gists_url":"https://api.github.com/users/stefanoborini/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanoborini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanoborini/subscriptions","organizations_url":"https://api.github.com/users/stefanoborini/orgs","repos_url":"https://api.github.com/users/stefanoborini/repos","events_url":"https://api.github.com/users/stefanoborini/events{/privacy}","received_events_url":"https://api.github.com/users/stefanoborini/received_events","type":"User","site_admin":false},"assignees":[{"login":"stefanoborini","id":132967,"avatar_url":"https://avatars.githubusercontent.com/u/132967?v=3","gravatar_id":"","url":"https://api.github.com/users/stefanoborini","html_url":"https://github.com/stefanoborini","followers_url":"https://api.github.com/users/stefanoborini/followers","following_url":"https://api.github.com/users/stefanoborini/following{/other_user}","gists_url":"https://api.github.com/users/stefanoborini/gists{/gist_id}","starred_url":"https://api.github.com/users/stefanoborini/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/stefanoborini/subscriptions","organizations_url":"https://api.github.com/users/stefanoborini/orgs","repos_url":"https://api.github.com/users/stefanoborini/repos","events_url":"https://api.github.com/users/stefanoborini/events{/privacy}","received_events_url":"https://api.github.com/users/stefanoborini/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/simphony/simphony-remote/milestones/3","html_url":"https://github.com/simphony/simphony-remote/milestones/0.4.0","labels_url":"https://api.github.com/repos/simphony/simphony-remote/milestones/3/labels","id":1862619,"number":3,"title":"0.4.0","description":"","creator":{"login":"itziakos","id":403930,"avatar_url":"https://avatars.githubusercontent.com/u/403930?v=3","gravatar_id":"","url":"https://api.github.com/users/itziakos","html_url":"https://github.com/itziakos","followers_url":"https://api.github.com/users/itziakos/followers","following_url":"https://api.github.com/users/itziakos/following{/other_user}","gists_url":"https://api.github.com/users/itziakos/gists{/gist_id}","starred_url":"https://api.github.com/users/itziakos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/itziakos/subscriptions","organizations_url":"https://api.github.com/users/itziakos/orgs","repos_url":"https://api.github.com/users/itziakos/repos","events_url":"https://api.github.com/users/itziakos/events{/privacy}","received_events_url":"https://api.github.com/users/itziakos/received_events","type":"User","site_admin":false},"open_issues":14,"closed_issues":1,"state":"open","created_at":"2016-07-04T07:07:43Z","updated_at":"2016-07-08T15:44:03Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2016-06-28T09:10:44Z","updated_at":"2016-07-08T15:44:03Z","closed_at":"2016-07-08T15:44:03Z","body":"There are a few important refactorings that must be done in the HomeHandler:\r\n\r\n- [x] introduce a Form object to isolate option extractions from the submission.\r\n- [x] Isolate the session/transaction generation code in the BaseHandler\r\n- [x] extract the reverse proxy object.\r\n- [x] Formalise the error handling with the logger and the refnumber for the issue, possibly in the base handler.\r\n- [x] move subroutines like `user_can_run` as a method to orm.User.\r\n"}}
{"actor":{"display_login":"stefanoborini"}}