{"action":"created","comment":{"url":"https://api.github.com/repos/mozilla/normandy/pulls/comments/60328474","id":60328474,"diff_hunk":"@@ -1,18 +1,128 @@\n {% extends \"control/admin/base.html\" %}\n \n-{% block breadcrumbs %}\n-  <div class=\"breadcrumbs\">\n-    <a href=\"{% url 'control:index' %}\">Recipes</a> <span class=\"separator\">//</span> {{ recipe.name }}\n-  </div>\n+{% block page-header %}\n+  <h2>Create Recipe</h2>\n {% endblock %}\n \n {% block content %}\n-  <div class=\"fluid-8\">\n-    <h2>new recipe</h2>\n-    <form action=\"\" method=\"post\">\n+  <div class=\"fluid-7\">\n+    <form id=\"add-recipe-form\" class=\"crud-form\" action=\"\" method=\"post\">\n       {% csrf_token %}\n-      {{ form.as_p }}\n-      <input type=\"submit\" value=\"Save\">\n+      {{ form.non_field_errors }}\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.name.errors }}\n+          <label for=\"{{ form.name.id_for_label }}\">Name:</label>\n+          {{ form.name }}\n+        </div>\n+\n+        <div class=\"fluid-3 float-right\">\n+          {{ form.enabled.errors }}\n+          {{ form.enabled }}\n+          <div class=\"checkbox-container {{ recipe.enabled|yesno:'green,red' }}\">\n+            <span {{ recipe.enabled|yesno:',hidden' }}><i class=\"fa fa-check fa-lg pre\"></i> Enabled</span>\n+            <span {{ recipe.enabled|yesno:'hidden,' }}><i class=\"fa fa-times fa-lg pre\"></i> Disabled</span>\n+          </div>\n+        </div>\n+      </div>\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.action.errors }}\n+          <label for=\"{{ form.action.id_for_label }}\">Action:</label>\n+          {{ form.action }}\n+\n+          <!-- hiding arguments_json until the action form rendering is finalized -->\n+          <div hidden>\n+            {{ form.arguments_json }}\n+          </div>\n+        </div>\n+      </div>\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.sample_rate.errors }}\n+          <label for=\"{{ form.sample_rate.id_for_label }}\">Sample Rate:</label>\n+          {{ form.sample_rate }}\n+          <p class=\"help\">{{ form.sample_rate.help_text }}</p>\n+        </div>\n+      </div>\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.release_channels.errors }}\n+          <label for=\"{{ form.release_channels.id_for_label }}\">Release Channels:</label>\n+          {{ form.release_channels }}\n+        </div>\n+      </div>\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.start_time.errors }}\n+          <label for=\"{{ form.start_time.id_for_label }}\">Start Time:</label>\n+          <div class=\"input-with-icon calendar\">\n+            {{ form.start_time }}\n+          </div>\n+        </div>\n+\n+        <div class=\"fluid-3 float-right\">\n+          {{ form.end_time.errors }}\n+          <label for=\"{{ form.end_time.id_for_label }}\">End Time:</label>\n+          <div class=\"input-with-icon calendar\">\n+            {{ form.end_time }}\n+          </div>\n+        </div>\n+      </div>\n+\n+      <div class=\"row\">\n+        <div class=\"fluid-3\">\n+          {{ form.locales.errors }}\n+          <label for=\"{{ form.locales.id_for_label }}\">Available Locales:</label>\n+          {{ form.locales }}\n+          <a href=\"#\" class=\"batch-select\">Select all <i class=\"fa fa-angle-right post\"></i></a>","path":"normandy/control/templates/control/create_recipe.html","position":92,"original_position":92,"commit_id":"28e83c6e9c41bafe2829f8c163a375d7b539b21c","original_commit_id":"28e83c6e9c41bafe2829f8c163a375d7b539b21c","user":{"login":"mythmon","id":305049,"avatar_url":"https://avatars.githubusercontent.com/u/305049?v=3","gravatar_id":"","url":"https://api.github.com/users/mythmon","html_url":"https://github.com/mythmon","followers_url":"https://api.github.com/users/mythmon/followers","following_url":"https://api.github.com/users/mythmon/following{/other_user}","gists_url":"https://api.github.com/users/mythmon/gists{/gist_id}","starred_url":"https://api.github.com/users/mythmon/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mythmon/subscriptions","organizations_url":"https://api.github.com/users/mythmon/orgs","repos_url":"https://api.github.com/users/mythmon/repos","events_url":"https://api.github.com/users/mythmon/events{/privacy}","received_events_url":"https://api.github.com/users/mythmon/received_events","type":"User","site_admin":false},"body":"Is it expected that this \"Select all\" and the below `select-arrows` don't work yet?","created_at":"2016-04-19T23:15:48Z","updated_at":"2016-04-19T23:15:48Z","html_url":"https://github.com/mozilla/normandy/pull/113#discussion_r60328474","pull_request_url":"https://api.github.com/repos/mozilla/normandy/pulls/113","_links":{"self":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/comments/60328474"},"html":{"href":"https://github.com/mozilla/normandy/pull/113#discussion_r60328474"},"pull_request":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/113"}}},"pull_request":{"url":"https://api.github.com/repos/mozilla/normandy/pulls/113","id":67090885,"html_url":"https://github.com/mozilla/normandy/pull/113","diff_url":"https://github.com/mozilla/normandy/pull/113.diff","patch_url":"https://github.com/mozilla/normandy/pull/113.patch","issue_url":"https://api.github.com/repos/mozilla/normandy/issues/113","number":113,"state":"open","locked":false,"title":"Control Admin UI","user":{"login":"brittanystoroz","id":856935,"avatar_url":"https://avatars.githubusercontent.com/u/856935?v=3","gravatar_id":"","url":"https://api.github.com/users/brittanystoroz","html_url":"https://github.com/brittanystoroz","followers_url":"https://api.github.com/users/brittanystoroz/followers","following_url":"https://api.github.com/users/brittanystoroz/following{/other_user}","gists_url":"https://api.github.com/users/brittanystoroz/gists{/gist_id}","starred_url":"https://api.github.com/users/brittanystoroz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brittanystoroz/subscriptions","organizations_url":"https://api.github.com/users/brittanystoroz/orgs","repos_url":"https://api.github.com/users/brittanystoroz/repos","events_url":"https://api.github.com/users/brittanystoroz/events{/privacy}","received_events_url":"https://api.github.com/users/brittanystoroz/received_events","type":"User","site_admin":false},"body":"Daunting diff here, but if you pull down locally it should all be pretty easy to read through.\r\n\r\nThere are still some static elements in here (search/filtering/etc.) but basic CRUD should all be in-tact.\r\n\r\nThe font loading and SASS compilation is incredibly slow, but I started another branch to replace pipeline with webpack which should speed things up. I'll have a PR for that later this week.\r\n\r\n@rehandalal r?","created_at":"2016-04-19T21:13:26Z","updated_at":"2016-04-19T23:15:48Z","closed_at":null,"merged_at":null,"merge_commit_sha":"cc9f03e1dd604cc7e8357efbc5fccc75c8e3f982","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/mozilla/normandy/pulls/113/commits","review_comments_url":"https://api.github.com/repos/mozilla/normandy/pulls/113/comments","review_comment_url":"https://api.github.com/repos/mozilla/normandy/pulls/comments{/number}","comments_url":"https://api.github.com/repos/mozilla/normandy/issues/113/comments","statuses_url":"https://api.github.com/repos/mozilla/normandy/statuses/28e83c6e9c41bafe2829f8c163a375d7b539b21c","head":{"label":"brittanystoroz:control-ui","ref":"control-ui","sha":"28e83c6e9c41bafe2829f8c163a375d7b539b21c","user":{"login":"brittanystoroz","id":856935,"avatar_url":"https://avatars.githubusercontent.com/u/856935?v=3","gravatar_id":"","url":"https://api.github.com/users/brittanystoroz","html_url":"https://github.com/brittanystoroz","followers_url":"https://api.github.com/users/brittanystoroz/followers","following_url":"https://api.github.com/users/brittanystoroz/following{/other_user}","gists_url":"https://api.github.com/users/brittanystoroz/gists{/gist_id}","starred_url":"https://api.github.com/users/brittanystoroz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brittanystoroz/subscriptions","organizations_url":"https://api.github.com/users/brittanystoroz/orgs","repos_url":"https://api.github.com/users/brittanystoroz/repos","events_url":"https://api.github.com/users/brittanystoroz/events{/privacy}","received_events_url":"https://api.github.com/users/brittanystoroz/received_events","type":"User","site_admin":false},"repo":{"id":53951139,"name":"normandy","full_name":"brittanystoroz/normandy","owner":{"login":"brittanystoroz","id":856935,"avatar_url":"https://avatars.githubusercontent.com/u/856935?v=3","gravatar_id":"","url":"https://api.github.com/users/brittanystoroz","html_url":"https://github.com/brittanystoroz","followers_url":"https://api.github.com/users/brittanystoroz/followers","following_url":"https://api.github.com/users/brittanystoroz/following{/other_user}","gists_url":"https://api.github.com/users/brittanystoroz/gists{/gist_id}","starred_url":"https://api.github.com/users/brittanystoroz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/brittanystoroz/subscriptions","organizations_url":"https://api.github.com/users/brittanystoroz/orgs","repos_url":"https://api.github.com/users/brittanystoroz/repos","events_url":"https://api.github.com/users/brittanystoroz/events{/privacy}","received_events_url":"https://api.github.com/users/brittanystoroz/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/brittanystoroz/normandy","description":"Firefox recipe server","fork":true,"url":"https://api.github.com/repos/brittanystoroz/normandy","forks_url":"https://api.github.com/repos/brittanystoroz/normandy/forks","keys_url":"https://api.github.com/repos/brittanystoroz/normandy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/brittanystoroz/normandy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/brittanystoroz/normandy/teams","hooks_url":"https://api.github.com/repos/brittanystoroz/normandy/hooks","issue_events_url":"https://api.github.com/repos/brittanystoroz/normandy/issues/events{/number}","events_url":"https://api.github.com/repos/brittanystoroz/normandy/events","assignees_url":"https://api.github.com/repos/brittanystoroz/normandy/assignees{/user}","branches_url":"https://api.github.com/repos/brittanystoroz/normandy/branches{/branch}","tags_url":"https://api.github.com/repos/brittanystoroz/normandy/tags","blobs_url":"https://api.github.com/repos/brittanystoroz/normandy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/brittanystoroz/normandy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/brittanystoroz/normandy/git/refs{/sha}","trees_url":"https://api.github.com/repos/brittanystoroz/normandy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/brittanystoroz/normandy/statuses/{sha}","languages_url":"https://api.github.com/repos/brittanystoroz/normandy/languages","stargazers_url":"https://api.github.com/repos/brittanystoroz/normandy/stargazers","contributors_url":"https://api.github.com/repos/brittanystoroz/normandy/contributors","subscribers_url":"https://api.github.com/repos/brittanystoroz/normandy/subscribers","subscription_url":"https://api.github.com/repos/brittanystoroz/normandy/subscription","commits_url":"https://api.github.com/repos/brittanystoroz/normandy/commits{/sha}","git_commits_url":"https://api.github.com/repos/brittanystoroz/normandy/git/commits{/sha}","comments_url":"https://api.github.com/repos/brittanystoroz/normandy/comments{/number}","issue_comment_url":"https://api.github.com/repos/brittanystoroz/normandy/issues/comments{/number}","contents_url":"https://api.github.com/repos/brittanystoroz/normandy/contents/{+path}","compare_url":"https://api.github.com/repos/brittanystoroz/normandy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/brittanystoroz/normandy/merges","archive_url":"https://api.github.com/repos/brittanystoroz/normandy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/brittanystoroz/normandy/downloads","issues_url":"https://api.github.com/repos/brittanystoroz/normandy/issues{/number}","pulls_url":"https://api.github.com/repos/brittanystoroz/normandy/pulls{/number}","milestones_url":"https://api.github.com/repos/brittanystoroz/normandy/milestones{/number}","notifications_url":"https://api.github.com/repos/brittanystoroz/normandy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/brittanystoroz/normandy/labels{/name}","releases_url":"https://api.github.com/repos/brittanystoroz/normandy/releases{/id}","deployments_url":"https://api.github.com/repos/brittanystoroz/normandy/deployments","created_at":"2016-03-15T14:27:17Z","updated_at":"2016-03-28T16:31:41Z","pushed_at":"2016-04-19T21:24:09Z","git_url":"git://github.com/brittanystoroz/normandy.git","ssh_url":"git@github.com:brittanystoroz/normandy.git","clone_url":"https://github.com/brittanystoroz/normandy.git","svn_url":"https://github.com/brittanystoroz/normandy","homepage":"https://wiki.mozilla.org/Firefox/Recipe_Server","size":1620,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"mozilla:master","ref":"master","sha":"8b5be4344efdd462a9dc7315ef2cc40ea2ceeafe","user":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"repo":{"id":48456638,"name":"normandy","full_name":"mozilla/normandy","owner":{"login":"mozilla","id":131524,"avatar_url":"https://avatars.githubusercontent.com/u/131524?v=3","gravatar_id":"","url":"https://api.github.com/users/mozilla","html_url":"https://github.com/mozilla","followers_url":"https://api.github.com/users/mozilla/followers","following_url":"https://api.github.com/users/mozilla/following{/other_user}","gists_url":"https://api.github.com/users/mozilla/gists{/gist_id}","starred_url":"https://api.github.com/users/mozilla/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mozilla/subscriptions","organizations_url":"https://api.github.com/users/mozilla/orgs","repos_url":"https://api.github.com/users/mozilla/repos","events_url":"https://api.github.com/users/mozilla/events{/privacy}","received_events_url":"https://api.github.com/users/mozilla/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/mozilla/normandy","description":"Firefox recipe server","fork":false,"url":"https://api.github.com/repos/mozilla/normandy","forks_url":"https://api.github.com/repos/mozilla/normandy/forks","keys_url":"https://api.github.com/repos/mozilla/normandy/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mozilla/normandy/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mozilla/normandy/teams","hooks_url":"https://api.github.com/repos/mozilla/normandy/hooks","issue_events_url":"https://api.github.com/repos/mozilla/normandy/issues/events{/number}","events_url":"https://api.github.com/repos/mozilla/normandy/events","assignees_url":"https://api.github.com/repos/mozilla/normandy/assignees{/user}","branches_url":"https://api.github.com/repos/mozilla/normandy/branches{/branch}","tags_url":"https://api.github.com/repos/mozilla/normandy/tags","blobs_url":"https://api.github.com/repos/mozilla/normandy/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mozilla/normandy/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mozilla/normandy/git/refs{/sha}","trees_url":"https://api.github.com/repos/mozilla/normandy/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mozilla/normandy/statuses/{sha}","languages_url":"https://api.github.com/repos/mozilla/normandy/languages","stargazers_url":"https://api.github.com/repos/mozilla/normandy/stargazers","contributors_url":"https://api.github.com/repos/mozilla/normandy/contributors","subscribers_url":"https://api.github.com/repos/mozilla/normandy/subscribers","subscription_url":"https://api.github.com/repos/mozilla/normandy/subscription","commits_url":"https://api.github.com/repos/mozilla/normandy/commits{/sha}","git_commits_url":"https://api.github.com/repos/mozilla/normandy/git/commits{/sha}","comments_url":"https://api.github.com/repos/mozilla/normandy/comments{/number}","issue_comment_url":"https://api.github.com/repos/mozilla/normandy/issues/comments{/number}","contents_url":"https://api.github.com/repos/mozilla/normandy/contents/{+path}","compare_url":"https://api.github.com/repos/mozilla/normandy/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mozilla/normandy/merges","archive_url":"https://api.github.com/repos/mozilla/normandy/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mozilla/normandy/downloads","issues_url":"https://api.github.com/repos/mozilla/normandy/issues{/number}","pulls_url":"https://api.github.com/repos/mozilla/normandy/pulls{/number}","milestones_url":"https://api.github.com/repos/mozilla/normandy/milestones{/number}","notifications_url":"https://api.github.com/repos/mozilla/normandy/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mozilla/normandy/labels{/name}","releases_url":"https://api.github.com/repos/mozilla/normandy/releases{/id}","deployments_url":"https://api.github.com/repos/mozilla/normandy/deployments","created_at":"2015-12-22T22:18:19Z","updated_at":"2016-03-24T20:09:47Z","pushed_at":"2016-04-19T21:24:10Z","git_url":"git://github.com/mozilla/normandy.git","ssh_url":"git@github.com:mozilla/normandy.git","clone_url":"https://github.com/mozilla/normandy.git","svn_url":"https://github.com/mozilla/normandy","homepage":"https://wiki.mozilla.org/Firefox/Recipe_Server","size":839,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":6,"mirror_url":null,"open_issues_count":1,"forks":6,"open_issues":1,"watchers":0,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/113"},"html":{"href":"https://github.com/mozilla/normandy/pull/113"},"issue":{"href":"https://api.github.com/repos/mozilla/normandy/issues/113"},"comments":{"href":"https://api.github.com/repos/mozilla/normandy/issues/113/comments"},"review_comments":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/113/comments"},"review_comment":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/mozilla/normandy/pulls/113/commits"},"statuses":{"href":"https://api.github.com/repos/mozilla/normandy/statuses/28e83c6e9c41bafe2829f8c163a375d7b539b21c"}}}}