{"action":"created","comment":{"url":"https://api.github.com/repos/odoo/odoo/pulls/comments/49291042","id":49291042,"diff_hunk":"@@ -0,0 +1,106 @@\n+# -*- coding: utf-8 -*-\n+# Part of Odoo. See LICENSE file for full copyright and licensing details.\n+\n+import random\n+\n+from odoo import api, fields, models, _\n+from odoo.exceptions import UserError\n+from odoo.addons.base_geolocalize.models.res_partner import geo_find, geo_query_address\n+\n+\n+class CrmLead(models.Model):\n+    _inherit = 'crm.lead'\n+    partner_latitude = fields.Float(string='Geo Latitude', digits=(16, 5))\n+    partner_longitude = fields.Float(string='Geo Longitude', digits=(16, 5))\n+    partner_assigned_id = fields.Many2one('res.partner', string='Assigned Partner', track_visibility='onchange', help=\"Partner this case has been forwarded/assigned to.\", index=True)\n+    date_assign = fields.Date(string='Assignation Date', help=\"Last date this case was forwarded/assigned to a partner\")\n+\n+    def get_interested_action(self, interested):\n+        lead_channel_act = self.env.ref('crm_partner_assign.crm_lead_channel_interested_act', raise_if_not_found=False)\n+        if not lead_channel_act:\n+            raise UserError(_(\"The CRM Channel Interested Action is missing\"))\n+        action = lead_channel_act.read()[0]\n+        action_context = eval(action['context'])\n+        action_context['interested'] = interested\n+        action['context'] = action_context\n+        return action\n+    \n+    @api.multi\n+    def case_interested(self):\n+        return self.get_interested_action(True)\n+\n+    @api.multi\n+    def case_disinterested(self):\n+        return self.get_interested_action(False)\n+    \n+    @api.multi\n+    def assign_salesman_of_assigned_partner(self):\n+        for lead in self.filtered(lambda x: x.probability > 0 and x.probability < 100 and\n+            x.partner_assigned_id.user_id and x.partner_assigned_id.user_id != x.user_id):\n+            salesman_id = lead.partner_assigned_id.user_id.id\n+            salesteam_id = lead.on_change_user(salesman_id)['value'].get('team_id')\n+            lead.write({'user_id': salesman_id, 'team_id': salesteam_id})\n+\n+    @api.multi\n+    def _merge_data(self, oldest, fields):\n+        fields += ['partner_latitude', 'partner_longitude', 'partner_assigned_id', 'date_assign']\n+        return super(CrmLead, self)._merge_data(oldest, fields)\n+ \n+    @api.onchange('partner_assigned_id')\n+    def onchange_assign_id(self):\n+        \"\"\"This function updates the \"assignation date\" automatically, when manually assign a partner in the geo assign tab\n+        \"\"\"\n+        if not self.partner_assigned_id:\n+            self.date_assign = False\n+        else:\n+            self.date_assign = fields.Date.context_today(self)\n+            self.user_id = self.partner_assigned_id.user_id.id\n+\n+    @api.multi\n+    def action_assign_partner(self):\n+\n+        partner_dict = self.search_geo_partner()\n+        for lead in self:\n+            partner = partner_dict.get(lead.id)\n+            if not partner:\n+                continue\n+            if not lead.partner_latitude or not lead.partner_longitude:\n+                lead.assign_geo_localize()\n+            if partner.user_id:\n+                lead.allocate_salesman(partner.user_id.ids, team_id=partner.team_id.id)\n+            lead.write({'date_assign': fields.Date.context_today(self), \n+                       'partner_assigned_id': partner.id})\n+\n+    @api.multi\n+    def assign_geo_localize(self):\n+        for lead in self.with_context({}):","path":"addons/crm_partner_assign/models/crm_lead.py","position":76,"original_position":76,"commit_id":"0c329cd8e42045825084b1f7216c867ef94ecbd7","original_commit_id":"0c329cd8e42045825084b1f7216c867ef94ecbd7","user":{"login":"msh-odoo","id":7600161,"avatar_url":"https://avatars.githubusercontent.com/u/7600161?v=3","gravatar_id":"","url":"https://api.github.com/users/msh-odoo","html_url":"https://github.com/msh-odoo","followers_url":"https://api.github.com/users/msh-odoo/followers","following_url":"https://api.github.com/users/msh-odoo/following{/other_user}","gists_url":"https://api.github.com/users/msh-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/msh-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/msh-odoo/subscriptions","organizations_url":"https://api.github.com/users/msh-odoo/orgs","repos_url":"https://api.github.com/users/msh-odoo/repos","events_url":"https://api.github.com/users/msh-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/msh-odoo/received_events","type":"User","site_admin":false},"body":"Why setting blank context here, following [comment] (https://github.com/odoo/odoo/pull/8467/files#r48523582) says we want only country name in english(and yes you should only change lang='en_us' in context to get country name in english forcefully), also add small comment why we need this","created_at":"2016-01-11T05:33:50Z","updated_at":"2016-01-11T05:33:50Z","html_url":"https://github.com/odoo/odoo/pull/8467#discussion_r49291042","pull_request_url":"https://api.github.com/repos/odoo/odoo/pulls/8467","_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments/49291042"},"html":{"href":"https://github.com/odoo/odoo/pull/8467#discussion_r49291042"},"pull_request":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8467"}}},"pull_request":{"url":"https://api.github.com/repos/odoo/odoo/pulls/8467","id":44634069,"html_url":"https://github.com/odoo/odoo/pull/8467","diff_url":"https://github.com/odoo/odoo/pull/8467.diff","patch_url":"https://github.com/odoo/odoo/pull/8467.patch","issue_url":"https://api.github.com/repos/odoo/odoo/issues/8467","number":8467,"state":"open","locked":false,"title":"Master crmpartnerassign api new mag","user":{"login":"mag-odoo","id":10609089,"avatar_url":"https://avatars.githubusercontent.com/u/10609089?v=3","gravatar_id":"","url":"https://api.github.com/users/mag-odoo","html_url":"https://github.com/mag-odoo","followers_url":"https://api.github.com/users/mag-odoo/followers","following_url":"https://api.github.com/users/mag-odoo/following{/other_user}","gists_url":"https://api.github.com/users/mag-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/mag-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mag-odoo/subscriptions","organizations_url":"https://api.github.com/users/mag-odoo/orgs","repos_url":"https://api.github.com/users/mag-odoo/repos","events_url":"https://api.github.com/users/mag-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/mag-odoo/received_events","type":"User","site_admin":false},"body":"<strong>Task:</strong>https://www.odoo.com/web#id=12139&view_type=form&model=project.task&menu_id=3942&action=327\r\n<strong>Pad:</strong>https://pad.odoo.com/p/r.fPuJnMpZkc0rcB75","created_at":"2015-09-10T07:02:30Z","updated_at":"2016-01-11T05:33:50Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a1467b826d40fe1116d8c872f44ed682a1b11b40","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/odoo/odoo/pulls/8467/commits","review_comments_url":"https://api.github.com/repos/odoo/odoo/pulls/8467/comments","review_comment_url":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/odoo/odoo/issues/8467/comments","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/0c329cd8e42045825084b1f7216c867ef94ecbd7","head":{"label":"odoo-dev:master-crmpartnerassign-api-new-mag","ref":"master-crmpartnerassign-api-new-mag","sha":"0c329cd8e42045825084b1f7216c867ef94ecbd7","user":{"login":"odoo-dev","id":7466976,"avatar_url":"https://avatars.githubusercontent.com/u/7466976?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo-dev","html_url":"https://github.com/odoo-dev","followers_url":"https://api.github.com/users/odoo-dev/followers","following_url":"https://api.github.com/users/odoo-dev/following{/other_user}","gists_url":"https://api.github.com/users/odoo-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo-dev/subscriptions","organizations_url":"https://api.github.com/users/odoo-dev/orgs","repos_url":"https://api.github.com/users/odoo-dev/repos","events_url":"https://api.github.com/users/odoo-dev/events{/privacy}","received_events_url":"https://api.github.com/users/odoo-dev/received_events","type":"Organization","site_admin":false},"repo":{"id":19853934,"name":"odoo","full_name":"odoo-dev/odoo","owner":{"login":"odoo-dev","id":7466976,"avatar_url":"https://avatars.githubusercontent.com/u/7466976?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo-dev","html_url":"https://github.com/odoo-dev","followers_url":"https://api.github.com/users/odoo-dev/followers","following_url":"https://api.github.com/users/odoo-dev/following{/other_user}","gists_url":"https://api.github.com/users/odoo-dev/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo-dev/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo-dev/subscriptions","organizations_url":"https://api.github.com/users/odoo-dev/orgs","repos_url":"https://api.github.com/users/odoo-dev/repos","events_url":"https://api.github.com/users/odoo-dev/events{/privacy}","received_events_url":"https://api.github.com/users/odoo-dev/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/odoo-dev/odoo","description":"RD Dev Repository","fork":true,"url":"https://api.github.com/repos/odoo-dev/odoo","forks_url":"https://api.github.com/repos/odoo-dev/odoo/forks","keys_url":"https://api.github.com/repos/odoo-dev/odoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/odoo-dev/odoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/odoo-dev/odoo/teams","hooks_url":"https://api.github.com/repos/odoo-dev/odoo/hooks","issue_events_url":"https://api.github.com/repos/odoo-dev/odoo/issues/events{/number}","events_url":"https://api.github.com/repos/odoo-dev/odoo/events","assignees_url":"https://api.github.com/repos/odoo-dev/odoo/assignees{/user}","branches_url":"https://api.github.com/repos/odoo-dev/odoo/branches{/branch}","tags_url":"https://api.github.com/repos/odoo-dev/odoo/tags","blobs_url":"https://api.github.com/repos/odoo-dev/odoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/odoo-dev/odoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/odoo-dev/odoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/odoo-dev/odoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/odoo-dev/odoo/statuses/{sha}","languages_url":"https://api.github.com/repos/odoo-dev/odoo/languages","stargazers_url":"https://api.github.com/repos/odoo-dev/odoo/stargazers","contributors_url":"https://api.github.com/repos/odoo-dev/odoo/contributors","subscribers_url":"https://api.github.com/repos/odoo-dev/odoo/subscribers","subscription_url":"https://api.github.com/repos/odoo-dev/odoo/subscription","commits_url":"https://api.github.com/repos/odoo-dev/odoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/odoo-dev/odoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/odoo-dev/odoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/odoo-dev/odoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/odoo-dev/odoo/contents/{+path}","compare_url":"https://api.github.com/repos/odoo-dev/odoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/odoo-dev/odoo/merges","archive_url":"https://api.github.com/repos/odoo-dev/odoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/odoo-dev/odoo/downloads","issues_url":"https://api.github.com/repos/odoo-dev/odoo/issues{/number}","pulls_url":"https://api.github.com/repos/odoo-dev/odoo/pulls{/number}","milestones_url":"https://api.github.com/repos/odoo-dev/odoo/milestones{/number}","notifications_url":"https://api.github.com/repos/odoo-dev/odoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/odoo-dev/odoo/labels{/name}","releases_url":"https://api.github.com/repos/odoo-dev/odoo/releases{/id}","created_at":"2014-05-16T11:16:19Z","updated_at":"2016-01-08T09:23:25Z","pushed_at":"2016-01-11T05:01:51Z","git_url":"git://github.com/odoo-dev/odoo.git","ssh_url":"git@github.com:odoo-dev/odoo.git","clone_url":"https://github.com/odoo-dev/odoo.git","svn_url":"https://github.com/odoo-dev/odoo","homepage":"https://www.odoo.com","size":1196558,"stargazers_count":65,"watchers_count":65,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":27,"mirror_url":null,"open_issues_count":0,"forks":27,"open_issues":0,"watchers":65,"default_branch":"master"}},"base":{"label":"odoo:master","ref":"master","sha":"04e1411f57daf186d1ae9984ac1910d1577c088e","user":{"login":"odoo","id":6368483,"avatar_url":"https://avatars.githubusercontent.com/u/6368483?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo","html_url":"https://github.com/odoo","followers_url":"https://api.github.com/users/odoo/followers","following_url":"https://api.github.com/users/odoo/following{/other_user}","gists_url":"https://api.github.com/users/odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo/subscriptions","organizations_url":"https://api.github.com/users/odoo/orgs","repos_url":"https://api.github.com/users/odoo/repos","events_url":"https://api.github.com/users/odoo/events{/privacy}","received_events_url":"https://api.github.com/users/odoo/received_events","type":"Organization","site_admin":false},"repo":{"id":19745004,"name":"odoo","full_name":"odoo/odoo","owner":{"login":"odoo","id":6368483,"avatar_url":"https://avatars.githubusercontent.com/u/6368483?v=3","gravatar_id":"","url":"https://api.github.com/users/odoo","html_url":"https://github.com/odoo","followers_url":"https://api.github.com/users/odoo/followers","following_url":"https://api.github.com/users/odoo/following{/other_user}","gists_url":"https://api.github.com/users/odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/odoo/subscriptions","organizations_url":"https://api.github.com/users/odoo/orgs","repos_url":"https://api.github.com/users/odoo/repos","events_url":"https://api.github.com/users/odoo/events{/privacy}","received_events_url":"https://api.github.com/users/odoo/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/odoo/odoo","description":"Odoo (formerly OpenERP). Open Source Apps To Grow Your Business.","fork":false,"url":"https://api.github.com/repos/odoo/odoo","forks_url":"https://api.github.com/repos/odoo/odoo/forks","keys_url":"https://api.github.com/repos/odoo/odoo/keys{/key_id}","collaborators_url":"https://api.github.com/repos/odoo/odoo/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/odoo/odoo/teams","hooks_url":"https://api.github.com/repos/odoo/odoo/hooks","issue_events_url":"https://api.github.com/repos/odoo/odoo/issues/events{/number}","events_url":"https://api.github.com/repos/odoo/odoo/events","assignees_url":"https://api.github.com/repos/odoo/odoo/assignees{/user}","branches_url":"https://api.github.com/repos/odoo/odoo/branches{/branch}","tags_url":"https://api.github.com/repos/odoo/odoo/tags","blobs_url":"https://api.github.com/repos/odoo/odoo/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/odoo/odoo/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/odoo/odoo/git/refs{/sha}","trees_url":"https://api.github.com/repos/odoo/odoo/git/trees{/sha}","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/{sha}","languages_url":"https://api.github.com/repos/odoo/odoo/languages","stargazers_url":"https://api.github.com/repos/odoo/odoo/stargazers","contributors_url":"https://api.github.com/repos/odoo/odoo/contributors","subscribers_url":"https://api.github.com/repos/odoo/odoo/subscribers","subscription_url":"https://api.github.com/repos/odoo/odoo/subscription","commits_url":"https://api.github.com/repos/odoo/odoo/commits{/sha}","git_commits_url":"https://api.github.com/repos/odoo/odoo/git/commits{/sha}","comments_url":"https://api.github.com/repos/odoo/odoo/comments{/number}","issue_comment_url":"https://api.github.com/repos/odoo/odoo/issues/comments{/number}","contents_url":"https://api.github.com/repos/odoo/odoo/contents/{+path}","compare_url":"https://api.github.com/repos/odoo/odoo/compare/{base}...{head}","merges_url":"https://api.github.com/repos/odoo/odoo/merges","archive_url":"https://api.github.com/repos/odoo/odoo/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/odoo/odoo/downloads","issues_url":"https://api.github.com/repos/odoo/odoo/issues{/number}","pulls_url":"https://api.github.com/repos/odoo/odoo/pulls{/number}","milestones_url":"https://api.github.com/repos/odoo/odoo/milestones{/number}","notifications_url":"https://api.github.com/repos/odoo/odoo/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/odoo/odoo/labels{/name}","releases_url":"https://api.github.com/repos/odoo/odoo/releases{/id}","created_at":"2014-05-13T15:38:58Z","updated_at":"2016-01-10T11:51:47Z","pushed_at":"2016-01-11T04:35:53Z","git_url":"git://github.com/odoo/odoo.git","ssh_url":"git@github.com:odoo/odoo.git","clone_url":"https://github.com/odoo/odoo.git","svn_url":"https://github.com/odoo/odoo","homepage":"https://www.odoo.com","size":1282620,"stargazers_count":3613,"watchers_count":3613,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3342,"mirror_url":null,"open_issues_count":2958,"forks":3342,"open_issues":2958,"watchers":3613,"default_branch":"9.0"}},"_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8467"},"html":{"href":"https://github.com/odoo/odoo/pull/8467"},"issue":{"href":"https://api.github.com/repos/odoo/odoo/issues/8467"},"comments":{"href":"https://api.github.com/repos/odoo/odoo/issues/8467/comments"},"review_comments":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8467/comments"},"review_comment":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8467/commits"},"statuses":{"href":"https://api.github.com/repos/odoo/odoo/statuses/0c329cd8e42045825084b1f7216c867ef94ecbd7"}}}}