{"action":"created","comment":{"url":"https://api.github.com/repos/odoo/odoo/pulls/comments/48525910","id":48525910,"diff_hunk":"@@ -80,92 +63,75 @@ class MassMailingContact(osv.Model):\n     _order = 'email'\n     _rec_name = 'email'\n \n-    _columns = {\n-        'name': fields.char('Name'),\n-        'email': fields.char('Email', required=True),\n-        'create_date': fields.datetime('Create Date'),\n-        'list_id': fields.many2one(\n-            'mail.mass_mailing.list', string='Mailing List',\n-            ondelete='cascade', required=True,\n-        ),\n-        'opt_out': fields.boolean('Opt Out', help='The contact has chosen not to receive mails anymore from this list'),\n-        'unsubscription_date': fields.datetime('Unsubscription Date'),\n-        'message_bounce': fields.integer('Bounce', help='Counter of the number of bounced emails for this contact.'),\n-    }\n-\n-    def _get_latest_list(self, cr, uid, context={}):\n-        lid = self.pool.get('mail.mass_mailing.list').search(cr, uid, [], limit=1, order='id desc', context=context)\n-        return lid and lid[0] or False\n-\n-    _defaults = {\n-        'list_id': _get_latest_list\n-    }\n-\n-    def on_change_opt_out(self, cr, uid, id, opt_out, context=None):\n-        return {'value': {\n-            'unsubscription_date': opt_out and fields.datetime.now() or False,\n-        }}\n-\n-    def create(self, cr, uid, vals, context=None):\n+    name = fields.Char()\n+    email = fields.Char(required=True)\n+    create_date = fields.Datetime(string='Create Date')\n+    list_id = fields.Many2one(\n+        'mail.mass_mailing.list', string='Mailing List',\n+        ondelete='cascade', required=True, default=lambda self: self.env['mail.mass_mailing.list'].search([], limit=1, order='id desc'))\n+    opt_out = fields.Boolean(string='Opt Out', help='The contact has chosen not to receive mails anymore from this list')\n+    unsubscription_date = fields.Datetime(string='Unsubscription Date')\n+    message_bounce = fields.Integer(string='Bounce', help='Counter of the number of bounced emails for this contact.')\n+\n+    @api.onchange('opt_out')\n+    def on_change_opt_out(self):\n+        self.unsubscription_date = self.opt_out and fields.Datetime.now()\n+\n+    @api.model\n+    def create(self, vals):\n         if 'opt_out' in vals:\n-            vals['unsubscription_date'] = vals['opt_out'] and fields.datetime.now() or False\n-        return super(MassMailingContact, self).create(cr, uid, vals, context=context)\n+            vals['unsubscription_date'] = vals['opt_out'] and fields.Datetime.now() or False","path":"addons/mass_mailing/models/mass_mailing.py","position":146,"original_position":146,"commit_id":"5b4193e0b115ce6ad3f8aaf0cc01c325f970326d","original_commit_id":"56a3abb63132dd10f510b8d776a849c978b32410","user":{"login":"sindhav","id":7599640,"avatar_url":"https://avatars.githubusercontent.com/u/7599640?v=3","gravatar_id":"","url":"https://api.github.com/users/sindhav","html_url":"https://github.com/sindhav","followers_url":"https://api.github.com/users/sindhav/followers","following_url":"https://api.github.com/users/sindhav/following{/other_user}","gists_url":"https://api.github.com/users/sindhav/gists{/gist_id}","starred_url":"https://api.github.com/users/sindhav/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sindhav/subscriptions","organizations_url":"https://api.github.com/users/sindhav/orgs","repos_url":"https://api.github.com/users/sindhav/repos","events_url":"https://api.github.com/users/sindhav/events{/privacy}","received_events_url":"https://api.github.com/users/sindhav/received_events","type":"User","site_admin":false},"body":"@kga-odoo still you can avoid this overriding methods ```create() and write()``` by changing your code in ```on_change_opt_out()``` like\r\n```\r\nself.unsubscription_date = self.opt_out and fields.Datetime.now() or ''\r\n```\r\n\r\nif you you have demo data with ```opt_out``` field ```True``` value then you can change this demo data and add ```unsubscription_date``` field in this demo data","created_at":"2015-12-29T08:00:32Z","updated_at":"2015-12-29T08:00:32Z","html_url":"https://github.com/odoo/odoo/pull/9262#discussion_r48525910","pull_request_url":"https://api.github.com/repos/odoo/odoo/pulls/9262","_links":{"self":{"href":"https://api.github.com/repos/odoo/odoo/pulls/comments/48525910"},"html":{"href":"https://github.com/odoo/odoo/pull/9262#discussion_r48525910"},"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":"2015-12-29T08:00:32Z","closed_at":null,"merged_at":null,"merge_commit_sha":"ea54ff40afe8352be9917b4249b234fb739ad411","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/5b4193e0b115ce6ad3f8aaf0cc01c325f970326d","head":{"label":"odoo-dev:master-mass-mailing-new-api-kga","ref":"master-mass-mailing-new-api-kga","sha":"5b4193e0b115ce6ad3f8aaf0cc01c325f970326d","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-12-23T12:18:18Z","pushed_at":"2015-12-29T07:32:05Z","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":1181722,"stargazers_count":65,"watchers_count":65,"language":null,"has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":26,"mirror_url":null,"open_issues_count":0,"forks":26,"open_issues":0,"watchers":65,"default_branch":"master"}},"base":{"label":"odoo:master","ref":"master","sha":"424bd0d0b55d8f59805c27ff21a0006fe54f22c0","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-12-28T22:48:22Z","pushed_at":"2015-12-29T07:52:00Z","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":1265645,"stargazers_count":3555,"watchers_count":3555,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":3279,"mirror_url":null,"open_issues_count":2911,"forks":3279,"open_issues":2911,"watchers":3555,"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/5b4193e0b115ce6ad3f8aaf0cc01c325f970326d"}}}}