OCA / interface-github

Tools to interact with github from Odoo
GNU Affero General Public License v3.0
46 stars 77 forks source link

Issue with archived contacts #66

Closed sbidoul closed 3 years ago

sbidoul commented 4 years ago

When a contact which has a github login set is archived, the team sync cron fails.

What would be the best approach to handle this?

Stack trace looks like this:

Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "", line 1, in <module>
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/interface-github/github_connector/models/github_organization.py", line 107, in cron_update_organization_team
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     organizations.full_update()
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/interface-github/github_connector/models/github_organization.py", line 100, in full_update
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     self.button_sync_member()
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/interface-github/github_connector/models/github_organization.py", line 145, in button_sync_member
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     partner = partner_obj.get_from_id_or_create(data)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/interface-github/github_connector/models/abstract_github_model.py", line 167, in get_from_id_or_create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return self._create_from_github_data(data, extra_data)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/interface-github/github_connector/models/abstract_github_model.py", line 240, in _create_from_github_data
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return self.create(vals)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "<decorator-gen-84>", line 2, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/api.py", line 461, in _model_create_multi
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return create(self, [arg])
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/addons/base/models/res_partner.py", line 591, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     partners = super(Partner, self).create(vals_list)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "<decorator-gen-126>", line 2, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/api.py", line 462, in _model_create_multi
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return create(self, arg)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/addons/mail/models/mail_thread.py", line 272, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     threads = super(MailThread, self).create(vals_list)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "<decorator-gen-3>", line 2, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/api.py", line 462, in _model_create_multi
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return create(self, arg)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/models.py", line 3588, in create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     records = self._create(data_list)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/models.py", line 3688, in _create
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     cr.execute(query, params)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/sql_db.py", line 148, in wrapper
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     return f(self, *args, **kwargs)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:   File "/home/openerp//src/odoo/odoo/sql_db.py", line 225, in execute
Oct 18 11:16:17 odoo.odoo-community.org db[12638]:     res = self._obj.execute(query, params)
Oct 18 11:16:17 odoo.odoo-community.org db[12638]: ValueError: <class 'psycopg2.IntegrityError'>: "duplicate key value violates unique constraint "res_partner_github_login_uniq"
Oct 18 11:16:17 odoo.odoo-community.org db[12638]: DETAIL:  Key (github_login)=(branislavski3) already exists.
Oct 18 11:16:17 odoo.odoo-community.org db[12638]: " while evaluating
Oct 18 11:16:17 odoo.odoo-community.org db[12638]: 'model.cron_update_organization_team()'
sbidoul commented 4 years ago

cc/ @legalsylvain

sbidoul commented 3 years ago

I deployed on the OCA instance. Thanks for the fix @victoralmau.