{"action":"created","comment":{"url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments/61261002","id":61261002,"diff_hunk":"@@ -523,3 +526,64 @@ class PayRate(PayRateMixin, models.Model):\n     hourly_multiplier = models.DecimalField(max_digits=6, decimal_places=4)\n     start_date = models.DateField(default=timezone.now)\n     end_date = models.DateField(null=True, blank=True)\n+\n+\n+class StaffingRequest(StaffingRequestMixin, models.Model):\n+    \"\"\"\n+    A StaffingRequest object defines how a Worker was contacted to\n+    work on a Task.\n+\n+    Attributes:\n+        worker (orchestra.models.core.Worker):\n+            Django user that the request is sent to\n+        task (orchestra.models.core.Task):\n+            A task that needs a worker assignment\n+        request_cause (RequestCause):\n+            A cause for request\n+        project_description (str):\n+            Description of a project\n+    \"\"\"\n+\n+    class RequestCause(ChoicesEnum):\n+        USER = 'user'\n+        AUTOSTAFF = 'autostaff'\n+        RESTAFF = 'restaff'\n+\n+    worker = models.ForeignKey(Worker)\n+    task = models.ForeignKey(Task)\n+    request_cause = models.IntegerField(\n+        choices=RequestCause.choices())\n+    project_description = models.CharField(max_length=200,\n+                                           null=True,\n+                                           blank=True)\n+\n+\n+class StaffingResponse(StaffingResponseMixin, models.Model):\n+    \"\"\"\n+    A StaffingResponse object stores a response from a worker and\n+    whether the worker got the task.\n+\n+    Attributes:\n+        request (orchestra.models.core.StaffingRequest):","path":"orchestra/models/core/models.py","position":53,"original_position":53,"commit_id":"bff11d99abddc27ca260b9b73a7664806317bea3","original_commit_id":"bff11d99abddc27ca260b9b73a7664806317bea3","user":{"login":"kkamalov","id":928542,"avatar_url":"https://avatars.githubusercontent.com/u/928542?v=3","gravatar_id":"","url":"https://api.github.com/users/kkamalov","html_url":"https://github.com/kkamalov","followers_url":"https://api.github.com/users/kkamalov/followers","following_url":"https://api.github.com/users/kkamalov/following{/other_user}","gists_url":"https://api.github.com/users/kkamalov/gists{/gist_id}","starred_url":"https://api.github.com/users/kkamalov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkamalov/subscriptions","organizations_url":"https://api.github.com/users/kkamalov/orgs","repos_url":"https://api.github.com/users/kkamalov/repos","events_url":"https://api.github.com/users/kkamalov/events{/privacy}","received_events_url":"https://api.github.com/users/kkamalov/received_events","type":"User","site_admin":false},"body":"k","created_at":"2016-04-27T13:56:47Z","updated_at":"2016-04-27T13:56:47Z","html_url":"https://github.com/unlimitedlabs/orchestra/pull/220#discussion_r61261002","pull_request_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220","_links":{"self":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments/61261002"},"html":{"href":"https://github.com/unlimitedlabs/orchestra/pull/220#discussion_r61261002"},"pull_request":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220"}}},"pull_request":{"url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220","id":68039882,"html_url":"https://github.com/unlimitedlabs/orchestra/pull/220","diff_url":"https://github.com/unlimitedlabs/orchestra/pull/220.diff","patch_url":"https://github.com/unlimitedlabs/orchestra/pull/220.patch","issue_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/220","number":220,"state":"open","locked":false,"title":"Staffing Data Model.","user":{"login":"kkamalov","id":928542,"avatar_url":"https://avatars.githubusercontent.com/u/928542?v=3","gravatar_id":"","url":"https://api.github.com/users/kkamalov","html_url":"https://github.com/kkamalov","followers_url":"https://api.github.com/users/kkamalov/followers","following_url":"https://api.github.com/users/kkamalov/following{/other_user}","gists_url":"https://api.github.com/users/kkamalov/gists{/gist_id}","starred_url":"https://api.github.com/users/kkamalov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kkamalov/subscriptions","organizations_url":"https://api.github.com/users/kkamalov/orgs","repos_url":"https://api.github.com/users/kkamalov/repos","events_url":"https://api.github.com/users/kkamalov/events{/privacy}","received_events_url":"https://api.github.com/users/kkamalov/received_events","type":"User","site_admin":false},"body":"","created_at":"2016-04-27T11:47:51Z","updated_at":"2016-04-27T13:56:47Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3abea907a7a6d910191fb12b9c927dfb4992defa","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220/commits","review_comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220/comments","review_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments{/number}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/220/comments","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/bff11d99abddc27ca260b9b73a7664806317bea3","head":{"label":"unlimitedlabs:staffing_data","ref":"staffing_data","sha":"bff11d99abddc27ca260b9b73a7664806317bea3","user":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"unlimitedlabs/orchestra","owner":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/unlimitedlabs/orchestra","description":"Orchestra is a system for orchestrating project teams of experts and machines.","fork":false,"url":"https://api.github.com/repos/unlimitedlabs/orchestra","forks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/forks","keys_url":"https://api.github.com/repos/unlimitedlabs/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/unlimitedlabs/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/unlimitedlabs/orchestra/teams","hooks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/hooks","issue_events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/events","assignees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/unlimitedlabs/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/tags","blobs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/unlimitedlabs/orchestra/languages","stargazers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/stargazers","contributors_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contributors","subscribers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscribers","subscription_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscription","commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/unlimitedlabs/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/unlimitedlabs/orchestra/merges","archive_url":"https://api.github.com/repos/unlimitedlabs/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/unlimitedlabs/orchestra/downloads","issues_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/unlimitedlabs/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/unlimitedlabs/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/unlimitedlabs/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/unlimitedlabs/orchestra/releases{/id}","deployments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/deployments","created_at":"2015-09-16T14:55:16Z","updated_at":"2016-04-17T08:38:54Z","pushed_at":"2016-04-27T13:38:07Z","git_url":"git://github.com/unlimitedlabs/orchestra.git","ssh_url":"git@github.com:unlimitedlabs/orchestra.git","clone_url":"https://github.com/unlimitedlabs/orchestra.git","svn_url":"https://github.com/unlimitedlabs/orchestra","homepage":"http://orchestra.unlimitedlabs.com/","size":7928,"stargazers_count":221,"watchers_count":221,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"open_issues_count":33,"forks":15,"open_issues":33,"watchers":221,"default_branch":"master"}},"base":{"label":"unlimitedlabs:master","ref":"master","sha":"ae0ea25913e08e5f94d880e95f2aee606d57e568","user":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"repo":{"id":42593972,"name":"orchestra","full_name":"unlimitedlabs/orchestra","owner":{"login":"unlimitedlabs","id":12401025,"avatar_url":"https://avatars.githubusercontent.com/u/12401025?v=3","gravatar_id":"","url":"https://api.github.com/users/unlimitedlabs","html_url":"https://github.com/unlimitedlabs","followers_url":"https://api.github.com/users/unlimitedlabs/followers","following_url":"https://api.github.com/users/unlimitedlabs/following{/other_user}","gists_url":"https://api.github.com/users/unlimitedlabs/gists{/gist_id}","starred_url":"https://api.github.com/users/unlimitedlabs/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/unlimitedlabs/subscriptions","organizations_url":"https://api.github.com/users/unlimitedlabs/orgs","repos_url":"https://api.github.com/users/unlimitedlabs/repos","events_url":"https://api.github.com/users/unlimitedlabs/events{/privacy}","received_events_url":"https://api.github.com/users/unlimitedlabs/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/unlimitedlabs/orchestra","description":"Orchestra is a system for orchestrating project teams of experts and machines.","fork":false,"url":"https://api.github.com/repos/unlimitedlabs/orchestra","forks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/forks","keys_url":"https://api.github.com/repos/unlimitedlabs/orchestra/keys{/key_id}","collaborators_url":"https://api.github.com/repos/unlimitedlabs/orchestra/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/unlimitedlabs/orchestra/teams","hooks_url":"https://api.github.com/repos/unlimitedlabs/orchestra/hooks","issue_events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/events{/number}","events_url":"https://api.github.com/repos/unlimitedlabs/orchestra/events","assignees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/assignees{/user}","branches_url":"https://api.github.com/repos/unlimitedlabs/orchestra/branches{/branch}","tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/tags","blobs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/refs{/sha}","trees_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/trees{/sha}","statuses_url":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/{sha}","languages_url":"https://api.github.com/repos/unlimitedlabs/orchestra/languages","stargazers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/stargazers","contributors_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contributors","subscribers_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscribers","subscription_url":"https://api.github.com/repos/unlimitedlabs/orchestra/subscription","commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/commits{/sha}","git_commits_url":"https://api.github.com/repos/unlimitedlabs/orchestra/git/commits{/sha}","comments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/comments{/number}","issue_comment_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/comments{/number}","contents_url":"https://api.github.com/repos/unlimitedlabs/orchestra/contents/{+path}","compare_url":"https://api.github.com/repos/unlimitedlabs/orchestra/compare/{base}...{head}","merges_url":"https://api.github.com/repos/unlimitedlabs/orchestra/merges","archive_url":"https://api.github.com/repos/unlimitedlabs/orchestra/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/unlimitedlabs/orchestra/downloads","issues_url":"https://api.github.com/repos/unlimitedlabs/orchestra/issues{/number}","pulls_url":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls{/number}","milestones_url":"https://api.github.com/repos/unlimitedlabs/orchestra/milestones{/number}","notifications_url":"https://api.github.com/repos/unlimitedlabs/orchestra/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/unlimitedlabs/orchestra/labels{/name}","releases_url":"https://api.github.com/repos/unlimitedlabs/orchestra/releases{/id}","deployments_url":"https://api.github.com/repos/unlimitedlabs/orchestra/deployments","created_at":"2015-09-16T14:55:16Z","updated_at":"2016-04-17T08:38:54Z","pushed_at":"2016-04-27T13:38:07Z","git_url":"git://github.com/unlimitedlabs/orchestra.git","ssh_url":"git@github.com:unlimitedlabs/orchestra.git","clone_url":"https://github.com/unlimitedlabs/orchestra.git","svn_url":"https://github.com/unlimitedlabs/orchestra","homepage":"http://orchestra.unlimitedlabs.com/","size":7928,"stargazers_count":221,"watchers_count":221,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":15,"mirror_url":null,"open_issues_count":33,"forks":15,"open_issues":33,"watchers":221,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220"},"html":{"href":"https://github.com/unlimitedlabs/orchestra/pull/220"},"issue":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/220"},"comments":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/issues/220/comments"},"review_comments":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220/comments"},"review_comment":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/pulls/220/commits"},"statuses":{"href":"https://api.github.com/repos/unlimitedlabs/orchestra/statuses/bff11d99abddc27ca260b9b73a7664806317bea3"}}}}