{"action":"created","comment":{"url":"https://api.github.com/repos/odoo/odoo/pulls/comments/42370517","id":42370517,"diff_hunk":"@@ -0,0 +1,185 @@\n+# -*- coding: utf-8 -*-\n+# Part of Odoo. See LICENSE file for full copyright and licensing details.\n+\n+import json\n+import re\n+import urllib2\n+import werkzeug.urls\n+from openerp import api, fields, models, _\n+from openerp.exceptions import RedirectWarning, UserError\n+from openerp.tools.safe_eval import safe_eval as eval\n+\n+from openerp.addons.google_account import TIMEOUT\n+\n+\n+class GoogleDriveConfig(models.Model):\n+    _name = 'google.drive.config'\n+    _description = \"Google Drive templates config\"\n+\n+    name = fields.Char('Template Name', required=True)\n+    model_id = fields.Many2one('ir.model', 'Model', ondelete='set null', required=True)\n+    model = fields.Char(related='model_id.model', readonly=True)\n+    filter_id = fields.Many2one('ir.filters', 'Filter', domain=\"[('model_id', '=', model)]\")\n+    google_drive_template_url = fields.Char('Template URL', required=True)\n+    google_drive_resource_id = fields.Char(compute='_compute_resource_id', string='Resource ID')\n+    google_drive_client_id = fields.Char(compute='_compute_client_id', string='Google Client')\n+    name_template = fields.Char('Google Drive Name Pattern', required=True, default=\"Document %(name)s\",\n+                                help='Choose how the new google drive will be named, on google side. Eg. gdoc_%(field_name)s')\n+    active = fields.Boolean('Active', default=True)\n+\n+    @api.multi\n+    def _compute_resource_id(self):\n+        for config in self:\n+            key = config._get_key_from_url(config.google_drive_template_url)\n+            if key:\n+                config.google_drive_resource_id = key\n+            else:\n+                raise UserError(_(\"Please enter a valid Google Document URL.\"))\n+\n+    @api.multi\n+    def _compute_client_id(self):\n+        client_id = self.env['ir.config_parameter'].get_param('google_drive_client_id')\n+        self.write({'google_drive_client_id': client_id})\n+\n+    @api.one\n+    @api.constrains('model_id', 'filter_id')\n+    def _check_model_id(self):\n+        if self.filter_id and self.model_id.model != self.filter_id.model_id:\n+            raise UserError(_('Model of selected filter is not matching with model of current template.'))\n+        return True\n+\n+    @api.onchange('model_id')\n+    def onchange_model_id(self):\n+        if self.model_id:\n+            self.model = self.model_id.model\n+        else:","path":"addons/google_drive/models/google_drive.py","position":55,"original_position":55,"commit_id":"f31e5e79c4cbe007dcb5cfae6e14ef79b7d8ba72","original_commit_id":"f31e5e79c4cbe007dcb5cfae6e14ef79b7d8ba72","user":{"login":"atp-odoo","id":7599410,"avatar_url":"https://avatars.githubusercontent.com/u/7599410?v=3","gravatar_id":"","url":"https://api.github.com/users/atp-odoo","html_url":"https://github.com/atp-odoo","followers_url":"https://api.github.com/users/atp-odoo/followers","following_url":"https://api.github.com/users/atp-odoo/following{/other_user}","gists_url":"https://api.github.com/users/atp-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/atp-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atp-odoo/subscriptions","organizations_url":"https://api.github.com/users/atp-odoo/orgs","repos_url":"https://api.github.com/users/atp-odoo/repos","events_url":"https://api.github.com/users/atp-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/atp-odoo/received_events","type":"User","site_admin":false},"body":"yes agree i didnot see field i saw only function.","created_at":"2015-10-19T13:33:24Z","updated_at":"2015-10-19T13:33:24Z","html_url":"https://github.com/odoo/odoo/pull/8041#discussion_r42370517","pull_request_url":"https://api.github.com/repos/odoo/odoo/pulls/8041","_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments/42370517"},"html":{"href":"https://github.com/odoo/odoo/pull/8041#discussion_r42370517"},"pull_request":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8041"}}},"pull_request":{"url":"https://api.github.com/repos/odoo/odoo/pulls/8041","id":42316972,"html_url":"https://github.com/odoo/odoo/pull/8041","diff_url":"https://github.com/odoo/odoo/pull/8041.diff","patch_url":"https://github.com/odoo/odoo/pull/8041.patch","issue_url":"https://api.github.com/repos/odoo/odoo/issues/8041","number":8041,"state":"open","locked":false,"title":"[MIGRATE] Google_drive : Master google drive new API ","user":{"login":"vbh-odoo","id":10609959,"avatar_url":"https://avatars.githubusercontent.com/u/10609959?v=3","gravatar_id":"","url":"https://api.github.com/users/vbh-odoo","html_url":"https://github.com/vbh-odoo","followers_url":"https://api.github.com/users/vbh-odoo/followers","following_url":"https://api.github.com/users/vbh-odoo/following{/other_user}","gists_url":"https://api.github.com/users/vbh-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/vbh-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/vbh-odoo/subscriptions","organizations_url":"https://api.github.com/users/vbh-odoo/orgs","repos_url":"https://api.github.com/users/vbh-odoo/repos","events_url":"https://api.github.com/users/vbh-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/vbh-odoo/received_events","type":"User","site_admin":false},"body":"* Task : https://www.odoo.com/web#id=12147&view_type=form&model=project.task&menu_id=3942&action=327\r\n* Pad : https://pad.odoo.com/p/r.EsscCrMJsqUHKdOr","created_at":"2015-08-13T05:48:29Z","updated_at":"2015-10-19T13:33:24Z","closed_at":null,"merged_at":null,"merge_commit_sha":"dd5c0df13d7a1619e0b6a469c8d0707295e1780b","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/odoo/odoo/pulls/8041/commits","review_comments_url":"https://api.github.com/repos/odoo/odoo/pulls/8041/comments","review_comment_url":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/odoo/odoo/issues/8041/comments","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/f31e5e79c4cbe007dcb5cfae6e14ef79b7d8ba72","head":{"label":"odoo-dev:master-google-drive-new-api-vbh","ref":"master-google-drive-new-api-vbh","sha":"f31e5e79c4cbe007dcb5cfae6e14ef79b7d8ba72","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":"2015-10-13T05:17:28Z","pushed_at":"2015-10-19T13:28:49Z","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":1424431,"stargazers_count":62,"watchers_count":62,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":24,"mirror_url":null,"open_issues_count":0,"forks":24,"open_issues":0,"watchers":62,"default_branch":"master"}},"base":{"label":"odoo:master","ref":"master","sha":"e1e97613ec1aed803dedb46d2bf0b4d4ee02de7d","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":"2015-10-19T09:53:14Z","pushed_at":"2015-10-19T13:28:52Z","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":1575266,"stargazers_count":3258,"watchers_count":3258,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2876,"mirror_url":null,"open_issues_count":2637,"forks":2876,"open_issues":2637,"watchers":3258,"default_branch":"9.0"}},"_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8041"},"html":{"href":"https://github.com/odoo/odoo/pull/8041"},"issue":{"href":"https://api.github.com/repos/odoo/odoo/issues/8041"},"comments":{"href":"https://api.github.com/repos/odoo/odoo/issues/8041/comments"},"review_comments":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8041/comments"},"review_comment":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/odoo/odoo/pulls/8041/commits"},"statuses":{"href":"https://api.github.com/repos/odoo/odoo/statuses/f31e5e79c4cbe007dcb5cfae6e14ef79b7d8ba72"}}}}