{"action":"created","comment":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/comments/68429385","id":68429385,"diff_hunk":"@@ -345,10 +350,63 @@ def post(self, request):\n             }\n             return JsonResponse(errors, status=400)\n \n+        password = data.get(\"password\")\n+        password_copy = data.get(\"password_copy\")\n+        if password and password_copy and password != password_copy:\n+            errors = {\n+                'password_copy': [{\"user_message\": \"Passwords don't match.\"}]\n+            }\n+            return JsonResponse(errors, status=400)\n+\n         response = JsonResponse({\"success\": True})\n         set_logged_in_cookies(request, response, user)\n+\n+        if getattr(settings, 'REGISTRATION_EMAIL_FULL_VERIFICATION', None) is not None:","path":"openedx/core/djangoapps/user_api/views.py","position":34,"original_position":34,"commit_id":"1d107a860fe16e2419abde45980fdcf6c0a43a1c","original_commit_id":"1d107a860fe16e2419abde45980fdcf6c0a43a1c","user":{"login":"schenedx","id":16839373,"avatar_url":"https://avatars.githubusercontent.com/u/16839373?v=3","gravatar_id":"","url":"https://api.github.com/users/schenedx","html_url":"https://github.com/schenedx","followers_url":"https://api.github.com/users/schenedx/followers","following_url":"https://api.github.com/users/schenedx/following{/other_user}","gists_url":"https://api.github.com/users/schenedx/gists{/gist_id}","starred_url":"https://api.github.com/users/schenedx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/schenedx/subscriptions","organizations_url":"https://api.github.com/users/schenedx/orgs","repos_url":"https://api.github.com/users/schenedx/repos","events_url":"https://api.github.com/users/schenedx/events{/privacy}","received_events_url":"https://api.github.com/users/schenedx/received_events","type":"User","site_admin":false},"body":"After some conversation with my fellow engineer in edX, we believe the best way for you to incorporate your email address validation is to develop a hook on this platform, so that you can invoke a different module on your server environment to actual perform the validation.\r\nOne example (strictly an example) is to develop a micro service app, that does all the email address validation checks you written here, and expose api (RESTful, RPC, RabbitMQ) for edx-platform to send validation requests. ","created_at":"2016-06-24T17:11:49Z","updated_at":"2016-06-24T17:11:49Z","html_url":"https://github.com/edx/edx-platform/pull/12226#discussion_r68429385","pull_request_url":"https://api.github.com/repos/edx/edx-platform/pulls/12226","_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments/68429385"},"html":{"href":"https://github.com/edx/edx-platform/pull/12226#discussion_r68429385"},"pull_request":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/12226"}}},"pull_request":{"url":"https://api.github.com/repos/edx/edx-platform/pulls/12226","id":67516848,"html_url":"https://github.com/edx/edx-platform/pull/12226","diff_url":"https://github.com/edx/edx-platform/pull/12226.diff","patch_url":"https://github.com/edx/edx-platform/pull/12226.patch","issue_url":"https://api.github.com/repos/edx/edx-platform/issues/12226","number":12226,"state":"open","locked":false,"title":"Registration form: a \"Retype password\" field and verification that a email really exists","user":{"login":"lenacom","id":7777978,"avatar_url":"https://avatars.githubusercontent.com/u/7777978?v=3","gravatar_id":"","url":"https://api.github.com/users/lenacom","html_url":"https://github.com/lenacom","followers_url":"https://api.github.com/users/lenacom/followers","following_url":"https://api.github.com/users/lenacom/following{/other_user}","gists_url":"https://api.github.com/users/lenacom/gists{/gist_id}","starred_url":"https://api.github.com/users/lenacom/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lenacom/subscriptions","organizations_url":"https://api.github.com/users/lenacom/orgs","repos_url":"https://api.github.com/users/lenacom/repos","events_url":"https://api.github.com/users/lenacom/events{/privacy}","received_events_url":"https://api.github.com/users/lenacom/received_events","type":"User","site_admin":false},"body":"**Background:** Users often misspell there emails and passwords and can't login a 2d time\r\n\r\n**Studio Updates:** None.\r\n\r\n**LMS Updates:** Regitration form validation changed: a \"Retype password\" must be entered and be equal to \"Password\". A email is verified with MX record and communication to SMTP server. Both options are optional and are configured in lms.env.json.\r\n\r\n**Manual test instructions:**\r\nChange lms.env.json:\r\n`\"REGISTRATION_EMAIL_FULL_VERIFICATION\":true`\r\n`\"REGISTRATION_EXTRA_FIELDS\": {\r\n        \"password_copy\": \"required\", \r\n`\r\n    Open http://127.0.0.1:8000/register and try to:\r\n\t1. enter different \"Password\" and \"Retype password\" and see a validation message;\r\n\t2. enter a email with invalid domain and see a validation message;\r\n\t3. enter a not existing email with valid domain and see a validation message (this may not work for some domains);\r\n![edx-105-1](https://cloud.githubusercontent.com/assets/7777978/14743858/85e37e4e-08ac-11e6-97b7-37168c4d274c.jpg)\r\n![edx-105-2](https://cloud.githubusercontent.com/assets/7777978/14743862/8eee3d94-08ac-11e6-9425-db9252dc6a27.jpg)\r\n\r\nThe pull request includes a new dependency on dnspython.","created_at":"2016-04-22T14:06:40Z","updated_at":"2016-06-24T17:11:49Z","closed_at":null,"merged_at":null,"merge_commit_sha":"00c525fea27645cdd644553ea3d3e956c43901f2","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/edx/edx-platform/pulls/12226/commits","review_comments_url":"https://api.github.com/repos/edx/edx-platform/pulls/12226/comments","review_comment_url":"https://api.github.com/repos/edx/edx-platform/pulls/comments{/number}","comments_url":"https://api.github.com/repos/edx/edx-platform/issues/12226/comments","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/1d107a860fe16e2419abde45980fdcf6c0a43a1c","head":{"label":"CredoReference:feature/edx-105","ref":"feature/edx-105","sha":"1d107a860fe16e2419abde45980fdcf6c0a43a1c","user":{"login":"CredoReference","id":15221069,"avatar_url":"https://avatars.githubusercontent.com/u/15221069?v=3","gravatar_id":"","url":"https://api.github.com/users/CredoReference","html_url":"https://github.com/CredoReference","followers_url":"https://api.github.com/users/CredoReference/followers","following_url":"https://api.github.com/users/CredoReference/following{/other_user}","gists_url":"https://api.github.com/users/CredoReference/gists{/gist_id}","starred_url":"https://api.github.com/users/CredoReference/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CredoReference/subscriptions","organizations_url":"https://api.github.com/users/CredoReference/orgs","repos_url":"https://api.github.com/users/CredoReference/repos","events_url":"https://api.github.com/users/CredoReference/events{/privacy}","received_events_url":"https://api.github.com/users/CredoReference/received_events","type":"Organization","site_admin":false},"repo":{"id":44635152,"name":"edx-platform","full_name":"CredoReference/edx-platform","owner":{"login":"CredoReference","id":15221069,"avatar_url":"https://avatars.githubusercontent.com/u/15221069?v=3","gravatar_id":"","url":"https://api.github.com/users/CredoReference","html_url":"https://github.com/CredoReference","followers_url":"https://api.github.com/users/CredoReference/followers","following_url":"https://api.github.com/users/CredoReference/following{/other_user}","gists_url":"https://api.github.com/users/CredoReference/gists{/gist_id}","starred_url":"https://api.github.com/users/CredoReference/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/CredoReference/subscriptions","organizations_url":"https://api.github.com/users/CredoReference/orgs","repos_url":"https://api.github.com/users/CredoReference/repos","events_url":"https://api.github.com/users/CredoReference/events{/privacy}","received_events_url":"https://api.github.com/users/CredoReference/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/CredoReference/edx-platform","description":"The Open edX platform, the software that powers edX!","fork":true,"url":"https://api.github.com/repos/CredoReference/edx-platform","forks_url":"https://api.github.com/repos/CredoReference/edx-platform/forks","keys_url":"https://api.github.com/repos/CredoReference/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/CredoReference/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/CredoReference/edx-platform/teams","hooks_url":"https://api.github.com/repos/CredoReference/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/CredoReference/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/CredoReference/edx-platform/events","assignees_url":"https://api.github.com/repos/CredoReference/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/CredoReference/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/CredoReference/edx-platform/tags","blobs_url":"https://api.github.com/repos/CredoReference/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/CredoReference/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/CredoReference/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/CredoReference/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/CredoReference/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/CredoReference/edx-platform/languages","stargazers_url":"https://api.github.com/repos/CredoReference/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/CredoReference/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/CredoReference/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/CredoReference/edx-platform/subscription","commits_url":"https://api.github.com/repos/CredoReference/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/CredoReference/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/CredoReference/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/CredoReference/edx-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/CredoReference/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/CredoReference/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/CredoReference/edx-platform/merges","archive_url":"https://api.github.com/repos/CredoReference/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/CredoReference/edx-platform/downloads","issues_url":"https://api.github.com/repos/CredoReference/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/CredoReference/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/CredoReference/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/CredoReference/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/CredoReference/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/CredoReference/edx-platform/releases{/id}","deployments_url":"https://api.github.com/repos/CredoReference/edx-platform/deployments","created_at":"2015-10-20T21:10:15Z","updated_at":"2016-01-25T19:54:03Z","pushed_at":"2016-06-23T15:29:08Z","git_url":"git://github.com/CredoReference/edx-platform.git","ssh_url":"git@github.com:CredoReference/edx-platform.git","clone_url":"https://github.com/CredoReference/edx-platform.git","svn_url":"https://github.com/CredoReference/edx-platform","homepage":"http://open.edx.org/","size":681208,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"edx:master","ref":"master","sha":"459a01ac3aa429084e014d2241dacf7eaa3603cd","user":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"repo":{"id":10391073,"name":"edx-platform","full_name":"edx/edx-platform","owner":{"login":"edx","id":3179841,"avatar_url":"https://avatars.githubusercontent.com/u/3179841?v=3","gravatar_id":"","url":"https://api.github.com/users/edx","html_url":"https://github.com/edx","followers_url":"https://api.github.com/users/edx/followers","following_url":"https://api.github.com/users/edx/following{/other_user}","gists_url":"https://api.github.com/users/edx/gists{/gist_id}","starred_url":"https://api.github.com/users/edx/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/edx/subscriptions","organizations_url":"https://api.github.com/users/edx/orgs","repos_url":"https://api.github.com/users/edx/repos","events_url":"https://api.github.com/users/edx/events{/privacy}","received_events_url":"https://api.github.com/users/edx/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/edx/edx-platform","description":"The Open edX platform, the software that powers edX!","fork":false,"url":"https://api.github.com/repos/edx/edx-platform","forks_url":"https://api.github.com/repos/edx/edx-platform/forks","keys_url":"https://api.github.com/repos/edx/edx-platform/keys{/key_id}","collaborators_url":"https://api.github.com/repos/edx/edx-platform/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/edx/edx-platform/teams","hooks_url":"https://api.github.com/repos/edx/edx-platform/hooks","issue_events_url":"https://api.github.com/repos/edx/edx-platform/issues/events{/number}","events_url":"https://api.github.com/repos/edx/edx-platform/events","assignees_url":"https://api.github.com/repos/edx/edx-platform/assignees{/user}","branches_url":"https://api.github.com/repos/edx/edx-platform/branches{/branch}","tags_url":"https://api.github.com/repos/edx/edx-platform/tags","blobs_url":"https://api.github.com/repos/edx/edx-platform/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/edx/edx-platform/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/edx/edx-platform/git/refs{/sha}","trees_url":"https://api.github.com/repos/edx/edx-platform/git/trees{/sha}","statuses_url":"https://api.github.com/repos/edx/edx-platform/statuses/{sha}","languages_url":"https://api.github.com/repos/edx/edx-platform/languages","stargazers_url":"https://api.github.com/repos/edx/edx-platform/stargazers","contributors_url":"https://api.github.com/repos/edx/edx-platform/contributors","subscribers_url":"https://api.github.com/repos/edx/edx-platform/subscribers","subscription_url":"https://api.github.com/repos/edx/edx-platform/subscription","commits_url":"https://api.github.com/repos/edx/edx-platform/commits{/sha}","git_commits_url":"https://api.github.com/repos/edx/edx-platform/git/commits{/sha}","comments_url":"https://api.github.com/repos/edx/edx-platform/comments{/number}","issue_comment_url":"https://api.github.com/repos/edx/edx-platform/issues/comments{/number}","contents_url":"https://api.github.com/repos/edx/edx-platform/contents/{+path}","compare_url":"https://api.github.com/repos/edx/edx-platform/compare/{base}...{head}","merges_url":"https://api.github.com/repos/edx/edx-platform/merges","archive_url":"https://api.github.com/repos/edx/edx-platform/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/edx/edx-platform/downloads","issues_url":"https://api.github.com/repos/edx/edx-platform/issues{/number}","pulls_url":"https://api.github.com/repos/edx/edx-platform/pulls{/number}","milestones_url":"https://api.github.com/repos/edx/edx-platform/milestones{/number}","notifications_url":"https://api.github.com/repos/edx/edx-platform/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/edx/edx-platform/labels{/name}","releases_url":"https://api.github.com/repos/edx/edx-platform/releases{/id}","deployments_url":"https://api.github.com/repos/edx/edx-platform/deployments","created_at":"2013-05-30T20:20:38Z","updated_at":"2016-06-24T07:16:33Z","pushed_at":"2016-06-24T17:10:11Z","git_url":"git://github.com/edx/edx-platform.git","ssh_url":"git@github.com:edx/edx-platform.git","clone_url":"https://github.com/edx/edx-platform.git","svn_url":"https://github.com/edx/edx-platform","homepage":"http://open.edx.org/","size":769763,"stargazers_count":2639,"watchers_count":2639,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1599,"mirror_url":null,"open_issues_count":180,"forks":1599,"open_issues":180,"watchers":2639,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/12226"},"html":{"href":"https://github.com/edx/edx-platform/pull/12226"},"issue":{"href":"https://api.github.com/repos/edx/edx-platform/issues/12226"},"comments":{"href":"https://api.github.com/repos/edx/edx-platform/issues/12226/comments"},"review_comments":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/12226/comments"},"review_comment":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/edx/edx-platform/pulls/12226/commits"},"statuses":{"href":"https://api.github.com/repos/edx/edx-platform/statuses/1d107a860fe16e2419abde45980fdcf6c0a43a1c"}}}}
{"actor":{"display_login":"schenedx"}}