{"action":"created","comment":{"url":"https://api.github.com/repos/odoo/odoo/pulls/comments/67476068","id":67476068,"diff_hunk":"@@ -416,209 +395,51 @@ def _get_statistics(self, cr, uid, ids, name, arg, context=None):\n                 m.id IN %s\n             GROUP BY\n                 m.id\n-        \"\"\", (tuple(ids), ))\n-        for row in cr.dictfetchall():\n-            results[row.pop('mailing_id')] = row\n-            total = row['total'] or 1\n+        \"\"\", (tuple(self.ids), ))\n+        for row in self.env.cr.dictfetchall():\n+            total = row.pop('total') or 1\n             row['received_ratio'] = 100.0 * row['delivered'] / total\n             row['opened_ratio'] = 100.0 * row['opened'] / total\n             row['replied_ratio'] = 100.0 * row['replied'] / total\n             row['bounced_ratio'] = 100.0 * row['bounced'] / total\n-        return results\n-\n-    def _get_mailing_model(self, cr, uid, context=None):\n-        res = []\n-        for model_name in self.pool:\n-            model = self.pool[model_name]\n-            if hasattr(model, '_mail_mass_mailing') and getattr(model, '_mail_mass_mailing'):\n-                res.append((model._name, getattr(model, '_mail_mass_mailing')))\n-        res.append(('mail.mass_mailing.contact', _('Mailing List')))\n-        return res\n+            self.browse(row.pop('mailing_id')).update(row)\n \n-    def _get_clicks_ratio(self, cr, uid, ids, name, arg, context=None):\n-        res = dict.fromkeys(ids, 0)\n-        cr.execute(\"\"\"\n-            SELECT COUNT(DISTINCT(stats.id)) AS nb_mails, COUNT(DISTINCT(clicks.mail_stat_id)) AS nb_clicks, stats.mass_mailing_id AS id \n-            FROM mail_mail_statistics AS stats\n-            LEFT OUTER JOIN link_tracker_click AS clicks ON clicks.mail_stat_id = stats.id\n-            WHERE stats.mass_mailing_id IN %s\n-            GROUP BY stats.mass_mailing_id\n-        \"\"\", (tuple(ids), ))\n-\n-        for record in cr.dictfetchall():\n-            res[record['id']] = 100 * record['nb_clicks'] / record['nb_mails']\n-\n-        return res\n-    def _get_next_departure(self, cr, uid, ids, name, arg, context=None):\n-        mass_mailings = self.browse(cr, uid, ids, context=context)\n-        cron_next_call = self.pool.get('ir.model.data').xmlid_to_object(cr, SUPERUSER_ID, 'mass_mailing.ir_cron_mass_mailing_queue', context=context).nextcall\n-\n-        result = {}\n-        for mass_mailing in mass_mailings:\n+    def _compute_next_departure(self):\n+        cron_next_call = self.env.ref('mass_mailing.ir_cron_mass_mailing_queue').nextcall\n+        for mass_mailing in self:\n             schedule_date = mass_mailing.schedule_date\n             if schedule_date:\n-                if datetime.now() > datetime.strptime(schedule_date, tools.DEFAULT_SERVER_DATETIME_FORMAT):\n-                    result[mass_mailing.id] = cron_next_call\n+                if fields.Datetime.now() > schedule_date:\n+                    mass_mailing.next_departure = cron_next_call\n                 else:\n-                    result[mass_mailing.id] = schedule_date\n+                    mass_mailing.next_departure = schedule_date\n             else:\n-                result[mass_mailing.id] = cron_next_call\n-        return result\n+                mass_mailing.next_departure = cron_next_call\n \n-    def _get_total(self, cr, uid, ids, name, arg, context=None):\n-        mass_mailings = self.browse(cr, uid, ids, context=context)\n-\n-        result = {}\n-        for mass_mailing in mass_mailings:\n-            mailing = self.browse(cr, uid, mass_mailing.id, context=context)\n-            result[mass_mailing.id] = len(self.get_recipients(cr, SUPERUSER_ID, mailing, context=context))\n-        return result\n-\n-    # indirections for inheritance\n-    _mailing_model = lambda self, *args, **kwargs: self._get_mailing_model(*args, **kwargs)\n-\n-    _columns = {\n-        'name': fields.char('Subject', required=True),\n-        'active': fields.boolean('Active'),\n-        'email_from': fields.char('From', required=True),\n-        'create_date': fields.datetime('Creation Date'),\n-        'sent_date': fields.datetime('Sent Date', oldname='date', copy=False),\n-        'schedule_date': fields.datetime('Schedule in the Future'),\n-        'body_html': fields.html('Body', translate=True),\n-        'attachment_ids': fields.many2many(\n-            'ir.attachment', 'mass_mailing_ir_attachments_rel',\n-            'mass_mailing_id', 'attachment_id', 'Attachments'\n-        ),\n-        'keep_archives': fields.boolean('Keep Archives'),\n-        'mass_mailing_campaign_id': fields.many2one(\n-            'mail.mass_mailing.campaign', 'Mass Mailing Campaign',\n-            ondelete='set null',\n-        ),\n-        'clicks_ratio': fields.function(\n-            _get_clicks_ratio, string=\"Number of Clicks\",\n-            type=\"integer\",\n-        ),\n-        'state': fields.selection(\n-            [('draft', 'Draft'), ('in_queue', 'In Queue'), ('sending', 'Sending'), ('done', 'Sent')],\n-            string='Status', required=True, copy=False\n-        ),\n-        'color': fields.related(\n-            'mass_mailing_campaign_id', 'color',\n-            type='integer', string='Color Index',\n-        ),\n-        # mailing options\n-        'reply_to_mode': fields.selection(\n-            [('thread', 'Followers of leads/applicants'), ('email', 'Specified Email Address')],\n-            string='Reply-To Mode', required=True,\n-        ),\n-        'reply_to': fields.char('Reply To', help='Preferred Reply-To Address'),\n-        # recipients\n-        'mailing_model': fields.selection(_mailing_model, string='Recipients Model', required=True),\n-        'mailing_domain': fields.char('Domain', oldname='domain'),\n-        'contact_list_ids': fields.many2many(\n-            'mail.mass_mailing.list', 'mail_mass_mailing_list_rel',\n-            string='Mailing Lists',\n-        ),\n-        'contact_ab_pc': fields.integer(\n-            'A/B Testing percentage',\n-            help='Percentage of the contacts that will be mailed. Recipients will be taken randomly.'\n-        ),\n-        # statistics data\n-        'statistics_ids': fields.one2many(\n-            'mail.mail.statistics', 'mass_mailing_id',\n-            'Emails Statistics',\n-        ),\n-        'total': fields.function(\n-            _get_total, string='Total',\n-            type='integer',\n-        ),\n-        'scheduled': fields.function(\n-            _get_statistics, string='Scheduled',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'failed': fields.function(\n-            _get_statistics, string='Failed',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'sent': fields.function(\n-            _get_statistics, string='Sent',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'delivered': fields.function(\n-            _get_statistics, string='Delivered',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'opened': fields.function(\n-            _get_statistics, string='Opened',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'replied': fields.function(\n-            _get_statistics, string='Replied',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'bounced': fields.function(\n-            _get_statistics, string='Bounced',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'failed': fields.function(\n-            _get_statistics, string='Failed',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'received_ratio': fields.function(\n-            _get_statistics, string='Received Ratio',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'opened_ratio': fields.function(\n-            _get_statistics, string='Opened Ratio',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'replied_ratio': fields.function(\n-            _get_statistics, string='Replied Ratio',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'bounced_ratio': fields.function(\n-            _get_statistics, String='Bouncded Ratio',\n-            type='integer', multi='_get_statistics',\n-        ),\n-        'next_departure': fields.function(\n-            _get_next_departure, string='Next Departure',\n-            type='datetime'\n-        ),\n-    }\n-\n-    def mass_mailing_statistics_action(self, cr, uid, ids, context=None):\n-        res = self.pool['ir.actions.act_window'].for_xml_id(cr, uid, 'mass_mailing', 'action_view_mass_mailing_statistics', context=context)\n-        link_click_ids = self.pool['link.tracker.click'].search(cr, uid, [('mass_mailing_id', 'in', ids)], context=context)\n+    @api.multi\n+    def mass_mailing_statistics_action(self):\n+        res = self.env.ref('mass_mailing.action_view_mass_mailing_statistics')","path":"addons/mass_mailing/models/mass_mailing.py","position":null,"original_position":797,"commit_id":"d146c1854629aefcbe4bc877cdeaff60bcb0f935","original_commit_id":"e84ab4e64457ed858488f92e43b3db52ed3d586b","user":{"login":"tivisse","id":8435879,"avatar_url":"https://avatars.githubusercontent.com/u/8435879?v=3","gravatar_id":"","url":"https://api.github.com/users/tivisse","html_url":"https://github.com/tivisse","followers_url":"https://api.github.com/users/tivisse/followers","following_url":"https://api.github.com/users/tivisse/following{/other_user}","gists_url":"https://api.github.com/users/tivisse/gists{/gist_id}","starred_url":"https://api.github.com/users/tivisse/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tivisse/subscriptions","organizations_url":"https://api.github.com/users/tivisse/orgs","repos_url":"https://api.github.com/users/tivisse/repos","events_url":"https://api.github.com/users/tivisse/events{/privacy}","received_events_url":"https://api.github.com/users/tivisse/received_events","type":"User","site_admin":false},"body":"??","created_at":"2016-06-17T08:31:33Z","updated_at":"2016-06-17T08:31:33Z","html_url":"https://github.com/odoo/odoo/pull/9262#discussion_r67476068","pull_request_url":"https://api.github.com/repos/odoo/odoo/pulls/9262","_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments/67476068"},"html":{"href":"https://github.com/odoo/odoo/pull/9262#discussion_r67476068"},"pull_request":{"href":"https://api.github.com/repos/odoo/odoo/pulls/9262"}}},"pull_request":{"url":"https://api.github.com/repos/odoo/odoo/pulls/9262","id":48836005,"html_url":"https://github.com/odoo/odoo/pull/9262","diff_url":"https://github.com/odoo/odoo/pull/9262.diff","patch_url":"https://github.com/odoo/odoo/pull/9262.patch","issue_url":"https://api.github.com/repos/odoo/odoo/issues/9262","number":9262,"state":"open","locked":false,"title":"[MIG] Mass Mailing convert into new api kga","user":{"login":"kga-odoo","id":12183876,"avatar_url":"https://avatars.githubusercontent.com/u/12183876?v=3","gravatar_id":"","url":"https://api.github.com/users/kga-odoo","html_url":"https://github.com/kga-odoo","followers_url":"https://api.github.com/users/kga-odoo/followers","following_url":"https://api.github.com/users/kga-odoo/following{/other_user}","gists_url":"https://api.github.com/users/kga-odoo/gists{/gist_id}","starred_url":"https://api.github.com/users/kga-odoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kga-odoo/subscriptions","organizations_url":"https://api.github.com/users/kga-odoo/orgs","repos_url":"https://api.github.com/users/kga-odoo/repos","events_url":"https://api.github.com/users/kga-odoo/events{/privacy}","received_events_url":"https://api.github.com/users/kga-odoo/received_events","type":"User","site_admin":false},"body":"<b>TASK:<b> https://www.odoo.com/web#id=13385&view_type=form&model=project.task&action=327\r\n<b>PAD:</b> https://pad.odoo.com/p/r.AAcxdoY19shFk0xW","created_at":"2015-10-27T07:19:09Z","updated_at":"2016-06-17T08:31:33Z","closed_at":null,"merged_at":null,"merge_commit_sha":"d648ff1b825207ca58a68548b976ef949ec05624","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/odoo/odoo/pulls/9262/commits","review_comments_url":"https://api.github.com/repos/odoo/odoo/pulls/9262/comments","review_comment_url":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}","comments_url":"https://api.github.com/repos/odoo/odoo/issues/9262/comments","statuses_url":"https://api.github.com/repos/odoo/odoo/statuses/d146c1854629aefcbe4bc877cdeaff60bcb0f935","head":{"label":"odoo-dev:master-mass-mailing-new-api-kga","ref":"master-mass-mailing-new-api-kga","sha":"d146c1854629aefcbe4bc877cdeaff60bcb0f935","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}","deployments_url":"https://api.github.com/repos/odoo-dev/odoo/deployments","created_at":"2014-05-16T11:16:19Z","updated_at":"2016-05-25T06:10:26Z","pushed_at":"2016-06-17T08:05:50Z","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":3560658,"stargazers_count":69,"watchers_count":69,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":26,"mirror_url":null,"open_issues_count":1,"forks":26,"open_issues":1,"watchers":69,"default_branch":"master"}},"base":{"label":"odoo:master","ref":"master","sha":"9fe4cf5f728ffc3ad2bb387841aa1b57c1ba16dd","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}","deployments_url":"https://api.github.com/repos/odoo/odoo/deployments","created_at":"2014-05-13T15:38:58Z","updated_at":"2016-06-17T06:13:02Z","pushed_at":"2016-06-17T08:28:12Z","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":1714834,"stargazers_count":4464,"watchers_count":4464,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4276,"mirror_url":null,"open_issues_count":3112,"forks":4276,"open_issues":3112,"watchers":4464,"default_branch":"9.0"}},"_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/9262"},"html":{"href":"https://github.com/odoo/odoo/pull/9262"},"issue":{"href":"https://api.github.com/repos/odoo/odoo/issues/9262"},"comments":{"href":"https://api.github.com/repos/odoo/odoo/issues/9262/comments"},"review_comments":{"href":"https://api.github.com/repos/odoo/odoo/pulls/9262/comments"},"review_comment":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/odoo/odoo/pulls/9262/commits"},"statuses":{"href":"https://api.github.com/repos/odoo/odoo/statuses/d146c1854629aefcbe4bc877cdeaff60bcb0f935"}}}}
{"actor":{"display_login":"tivisse"}}