{"action":"created","comment":{"url":"https://api.github.com/repos/crits/crits/pulls/comments/27936243","id":27936243,"diff_hunk":"@@ -0,0 +1,47 @@\n+<td class=\"key\">Description</td>\n+<td class=\"longtext\">\n+    <span class=\"edit_underline\" id=\"object_description\">{{description}}</span><span id=\"object_description_error\"></span>\n+</td>\n+<script type=\"text/javascript\">","path":"crits/core/templates/description_widget.html","position":5,"original_position":5,"commit_id":"f1f88e8c86da4ef0acdd58f5b161049b958a6792","original_commit_id":"f1f88e8c86da4ef0acdd58f5b161049b958a6792","user":{"login":"mgoffin","id":260873,"avatar_url":"https://avatars.githubusercontent.com/u/260873?v=3","gravatar_id":"","url":"https://api.github.com/users/mgoffin","html_url":"https://github.com/mgoffin","followers_url":"https://api.github.com/users/mgoffin/followers","following_url":"https://api.github.com/users/mgoffin/following{/other_user}","gists_url":"https://api.github.com/users/mgoffin/gists{/gist_id}","starred_url":"https://api.github.com/users/mgoffin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mgoffin/subscriptions","organizations_url":"https://api.github.com/users/mgoffin/orgs","repos_url":"https://api.github.com/users/mgoffin/repos","events_url":"https://api.github.com/users/mgoffin/events{/privacy}","received_events_url":"https://api.github.com/users/mgoffin/received_events","type":"User","site_admin":false},"body":"This should all go into a .js file, not sit in the template.","created_at":"2015-04-08T01:20:02Z","updated_at":"2015-04-08T01:20:02Z","html_url":"https://github.com/crits/crits/pull/448#discussion_r27936243","pull_request_url":"https://api.github.com/repos/crits/crits/pulls/448","_links":{"self":{"href":"https://api.github.com/repos/crits/crits/pulls/comments/27936243"},"html":{"href":"https://github.com/crits/crits/pull/448#discussion_r27936243"},"pull_request":{"href":"https://api.github.com/repos/crits/crits/pulls/448"}}},"pull_request":{"url":"https://api.github.com/repos/crits/crits/pulls/448","id":32638732,"html_url":"https://github.com/crits/crits/pull/448","diff_url":"https://github.com/crits/crits/pull/448.diff","patch_url":"https://github.com/crits/crits/pull/448.patch","issue_url":"https://api.github.com/repos/crits/crits/issues/448","number":448,"state":"open","locked":false,"title":"Make descriptions part of CritsBaseAttributes.","user":{"login":"wxsBSD","id":1394879,"avatar_url":"https://avatars.githubusercontent.com/u/1394879?v=3","gravatar_id":"","url":"https://api.github.com/users/wxsBSD","html_url":"https://github.com/wxsBSD","followers_url":"https://api.github.com/users/wxsBSD/followers","following_url":"https://api.github.com/users/wxsBSD/following{/other_user}","gists_url":"https://api.github.com/users/wxsBSD/gists{/gist_id}","starred_url":"https://api.github.com/users/wxsBSD/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/wxsBSD/subscriptions","organizations_url":"https://api.github.com/users/wxsBSD/orgs","repos_url":"https://api.github.com/users/wxsBSD/repos","events_url":"https://api.github.com/users/wxsBSD/events{/privacy}","received_events_url":"https://api.github.com/users/wxsBSD/received_events","type":"User","site_admin":false},"body":"We've heard multiple requests to make description a field on all\r\nobjects, and this will address that.\r\n\r\nPut description in CritsBaseAttributes, which most objects inherit from,\r\nand remove it from those objects which no longer need it.\r\n\r\nUpdate all the various templates to use a description_widget template,\r\nwhich handles everything necessary for descriptions, including the AJAX\r\nupdating.\r\n\r\nThere is now a generic view and handler for updating description across\r\nall objects. The view is update_object_description() and the handler is\r\ndescription_update().\r\n\r\nThere are only two minor special cases here:\r\n\r\nThe first special case is screenshots, which are handled in their own\r\njavascript because descriptions are editable only in the listing page.\r\nThey also do not inherit from CritsBaseAttributes so they define their\r\nown description attribute.\r\n\r\nThe second one is that Event objects have a required description, so\r\nspecify that eventhough it is inheriting from CritsBaseAttributes too.\r\n\r\nWhile here, fix some minor display problems in templates that were using\r\nextra \"tr\" tags.","created_at":"2015-04-04T19:59:13Z","updated_at":"2015-04-08T01:20:02Z","closed_at":null,"merged_at":null,"merge_commit_sha":"249578c5dfedc16242fe9e517463c8242a49eb15","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/crits/crits/pulls/448/commits","review_comments_url":"https://api.github.com/repos/crits/crits/pulls/448/comments","review_comment_url":"https://api.github.com/repos/crits/crits/pulls/comments{/number}","comments_url":"https://api.github.com/repos/crits/crits/issues/448/comments","statuses_url":"https://api.github.com/repos/crits/crits/statuses/f1f88e8c86da4ef0acdd58f5b161049b958a6792","head":{"label":"crits:descriptions_everywhere","ref":"descriptions_everywhere","sha":"f1f88e8c86da4ef0acdd58f5b161049b958a6792","user":{"login":"crits","id":5392624,"avatar_url":"https://avatars.githubusercontent.com/u/5392624?v=3","gravatar_id":"","url":"https://api.github.com/users/crits","html_url":"https://github.com/crits","followers_url":"https://api.github.com/users/crits/followers","following_url":"https://api.github.com/users/crits/following{/other_user}","gists_url":"https://api.github.com/users/crits/gists{/gist_id}","starred_url":"https://api.github.com/users/crits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crits/subscriptions","organizations_url":"https://api.github.com/users/crits/orgs","repos_url":"https://api.github.com/users/crits/repos","events_url":"https://api.github.com/users/crits/events{/privacy}","received_events_url":"https://api.github.com/users/crits/received_events","type":"Organization","site_admin":false},"repo":{"id":18814466,"name":"crits","full_name":"crits/crits","owner":{"login":"crits","id":5392624,"avatar_url":"https://avatars.githubusercontent.com/u/5392624?v=3","gravatar_id":"","url":"https://api.github.com/users/crits","html_url":"https://github.com/crits","followers_url":"https://api.github.com/users/crits/followers","following_url":"https://api.github.com/users/crits/following{/other_user}","gists_url":"https://api.github.com/users/crits/gists{/gist_id}","starred_url":"https://api.github.com/users/crits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crits/subscriptions","organizations_url":"https://api.github.com/users/crits/orgs","repos_url":"https://api.github.com/users/crits/repos","events_url":"https://api.github.com/users/crits/events{/privacy}","received_events_url":"https://api.github.com/users/crits/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/crits/crits","description":"CRITs - Collaborative Research Into Threats","fork":false,"url":"https://api.github.com/repos/crits/crits","forks_url":"https://api.github.com/repos/crits/crits/forks","keys_url":"https://api.github.com/repos/crits/crits/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crits/crits/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crits/crits/teams","hooks_url":"https://api.github.com/repos/crits/crits/hooks","issue_events_url":"https://api.github.com/repos/crits/crits/issues/events{/number}","events_url":"https://api.github.com/repos/crits/crits/events","assignees_url":"https://api.github.com/repos/crits/crits/assignees{/user}","branches_url":"https://api.github.com/repos/crits/crits/branches{/branch}","tags_url":"https://api.github.com/repos/crits/crits/tags","blobs_url":"https://api.github.com/repos/crits/crits/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crits/crits/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crits/crits/git/refs{/sha}","trees_url":"https://api.github.com/repos/crits/crits/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crits/crits/statuses/{sha}","languages_url":"https://api.github.com/repos/crits/crits/languages","stargazers_url":"https://api.github.com/repos/crits/crits/stargazers","contributors_url":"https://api.github.com/repos/crits/crits/contributors","subscribers_url":"https://api.github.com/repos/crits/crits/subscribers","subscription_url":"https://api.github.com/repos/crits/crits/subscription","commits_url":"https://api.github.com/repos/crits/crits/commits{/sha}","git_commits_url":"https://api.github.com/repos/crits/crits/git/commits{/sha}","comments_url":"https://api.github.com/repos/crits/crits/comments{/number}","issue_comment_url":"https://api.github.com/repos/crits/crits/issues/comments{/number}","contents_url":"https://api.github.com/repos/crits/crits/contents/{+path}","compare_url":"https://api.github.com/repos/crits/crits/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crits/crits/merges","archive_url":"https://api.github.com/repos/crits/crits/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crits/crits/downloads","issues_url":"https://api.github.com/repos/crits/crits/issues{/number}","pulls_url":"https://api.github.com/repos/crits/crits/pulls{/number}","milestones_url":"https://api.github.com/repos/crits/crits/milestones{/number}","notifications_url":"https://api.github.com/repos/crits/crits/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crits/crits/labels{/name}","releases_url":"https://api.github.com/repos/crits/crits/releases{/id}","created_at":"2014-04-15T20:19:22Z","updated_at":"2015-04-08T01:17:22Z","pushed_at":"2015-04-08T01:17:22Z","git_url":"git://github.com/crits/crits.git","ssh_url":"git@github.com:crits/crits.git","clone_url":"https://github.com/crits/crits.git","svn_url":"https://github.com/crits/crits","homepage":"https://crits.github.io","size":9679,"stargazers_count":196,"watchers_count":196,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"open_issues_count":180,"forks":64,"open_issues":180,"watchers":196,"default_branch":"master"}},"base":{"label":"crits:master","ref":"master","sha":"b4cca81ca0bdc97dc72bb9fcd68a8391f26ab5c5","user":{"login":"crits","id":5392624,"avatar_url":"https://avatars.githubusercontent.com/u/5392624?v=3","gravatar_id":"","url":"https://api.github.com/users/crits","html_url":"https://github.com/crits","followers_url":"https://api.github.com/users/crits/followers","following_url":"https://api.github.com/users/crits/following{/other_user}","gists_url":"https://api.github.com/users/crits/gists{/gist_id}","starred_url":"https://api.github.com/users/crits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crits/subscriptions","organizations_url":"https://api.github.com/users/crits/orgs","repos_url":"https://api.github.com/users/crits/repos","events_url":"https://api.github.com/users/crits/events{/privacy}","received_events_url":"https://api.github.com/users/crits/received_events","type":"Organization","site_admin":false},"repo":{"id":18814466,"name":"crits","full_name":"crits/crits","owner":{"login":"crits","id":5392624,"avatar_url":"https://avatars.githubusercontent.com/u/5392624?v=3","gravatar_id":"","url":"https://api.github.com/users/crits","html_url":"https://github.com/crits","followers_url":"https://api.github.com/users/crits/followers","following_url":"https://api.github.com/users/crits/following{/other_user}","gists_url":"https://api.github.com/users/crits/gists{/gist_id}","starred_url":"https://api.github.com/users/crits/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/crits/subscriptions","organizations_url":"https://api.github.com/users/crits/orgs","repos_url":"https://api.github.com/users/crits/repos","events_url":"https://api.github.com/users/crits/events{/privacy}","received_events_url":"https://api.github.com/users/crits/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/crits/crits","description":"CRITs - Collaborative Research Into Threats","fork":false,"url":"https://api.github.com/repos/crits/crits","forks_url":"https://api.github.com/repos/crits/crits/forks","keys_url":"https://api.github.com/repos/crits/crits/keys{/key_id}","collaborators_url":"https://api.github.com/repos/crits/crits/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/crits/crits/teams","hooks_url":"https://api.github.com/repos/crits/crits/hooks","issue_events_url":"https://api.github.com/repos/crits/crits/issues/events{/number}","events_url":"https://api.github.com/repos/crits/crits/events","assignees_url":"https://api.github.com/repos/crits/crits/assignees{/user}","branches_url":"https://api.github.com/repos/crits/crits/branches{/branch}","tags_url":"https://api.github.com/repos/crits/crits/tags","blobs_url":"https://api.github.com/repos/crits/crits/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/crits/crits/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/crits/crits/git/refs{/sha}","trees_url":"https://api.github.com/repos/crits/crits/git/trees{/sha}","statuses_url":"https://api.github.com/repos/crits/crits/statuses/{sha}","languages_url":"https://api.github.com/repos/crits/crits/languages","stargazers_url":"https://api.github.com/repos/crits/crits/stargazers","contributors_url":"https://api.github.com/repos/crits/crits/contributors","subscribers_url":"https://api.github.com/repos/crits/crits/subscribers","subscription_url":"https://api.github.com/repos/crits/crits/subscription","commits_url":"https://api.github.com/repos/crits/crits/commits{/sha}","git_commits_url":"https://api.github.com/repos/crits/crits/git/commits{/sha}","comments_url":"https://api.github.com/repos/crits/crits/comments{/number}","issue_comment_url":"https://api.github.com/repos/crits/crits/issues/comments{/number}","contents_url":"https://api.github.com/repos/crits/crits/contents/{+path}","compare_url":"https://api.github.com/repos/crits/crits/compare/{base}...{head}","merges_url":"https://api.github.com/repos/crits/crits/merges","archive_url":"https://api.github.com/repos/crits/crits/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/crits/crits/downloads","issues_url":"https://api.github.com/repos/crits/crits/issues{/number}","pulls_url":"https://api.github.com/repos/crits/crits/pulls{/number}","milestones_url":"https://api.github.com/repos/crits/crits/milestones{/number}","notifications_url":"https://api.github.com/repos/crits/crits/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/crits/crits/labels{/name}","releases_url":"https://api.github.com/repos/crits/crits/releases{/id}","created_at":"2014-04-15T20:19:22Z","updated_at":"2015-04-08T01:17:22Z","pushed_at":"2015-04-08T01:17:22Z","git_url":"git://github.com/crits/crits.git","ssh_url":"git@github.com:crits/crits.git","clone_url":"https://github.com/crits/crits.git","svn_url":"https://github.com/crits/crits","homepage":"https://crits.github.io","size":9679,"stargazers_count":196,"watchers_count":196,"language":"JavaScript","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":64,"mirror_url":null,"open_issues_count":180,"forks":64,"open_issues":180,"watchers":196,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/crits/crits/pulls/448"},"html":{"href":"https://github.com/crits/crits/pull/448"},"issue":{"href":"https://api.github.com/repos/crits/crits/issues/448"},"comments":{"href":"https://api.github.com/repos/crits/crits/issues/448/comments"},"review_comments":{"href":"https://api.github.com/repos/crits/crits/pulls/448/comments"},"review_comment":{"href":"https://api.github.com/repos/crits/crits/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/crits/crits/pulls/448/commits"},"statuses":{"href":"https://api.github.com/repos/crits/crits/statuses/f1f88e8c86da4ef0acdd58f5b161049b958a6792"}}}}