Fix for sending pricelist for existing (assigned) partner
							parent
							
								
									cf5a530b87
								
							
						
					
					
						commit
						a1c233b9f2
					
				|  | @ -7,6 +7,7 @@ import requests | |||
| from odoo import tools, api, fields, models, _ | ||||
| from odoo.exceptions import ValidationError, UserError | ||||
| 
 | ||||
| import ssl | ||||
| 
 | ||||
| class PortalAssignCompany(models.TransientModel): | ||||
|     _name = 'portal.assign_company' | ||||
|  | @ -44,21 +45,36 @@ class PortalAssignCompany(models.TransientModel): | |||
|             'portal_id': lPortal_id, | ||||
|             'company_odoo_id': odoo_id | ||||
|         } | ||||
|         response = requests.post(portal_url + '/api/v1/set-odoo-id/?secret=' + application_id, | ||||
|                                  data=json.dumps(data)) | ||||
|         if response.status_code != 200: | ||||
|             error_content = True | ||||
|             error_msg = "" | ||||
|             try: | ||||
|                 error_msg = json.loads(response.content.decode()) | ||||
|             except Exception: | ||||
|                 error_content = False | ||||
| 
 | ||||
|             if error_content and error_msg.get('errors'): | ||||
|                 raise UserError(_('%s') % (error_msg.get('errors')[0])) | ||||
|             else: | ||||
|                 raise UserError(_('Die Odoo id konnte für den Partner nicht gesetzt werden. ' | ||||
|                                   'Status Code: %s, Reason: %s') % (response.status_code, response.reason)) | ||||
|         try: | ||||
|             _create_unverified_https_context = ssl._create_unverified_context | ||||
|         except AttributeError: | ||||
|             # Legacy Python that doesn't verify HTTPS certificates by default | ||||
|             pass | ||||
|         else: | ||||
|             # Handle target environment that doesn't support HTTPS verification | ||||
|             ssl._create_default_https_context = _create_unverified_https_context | ||||
| 
 | ||||
|         try: | ||||
|             response = requests.post(portal_url + '/api/v1/set-odoo-id/?secret=' + application_id, | ||||
|                                      data=json.dumps(data)) | ||||
| 
 | ||||
|             if response.status_code != 200: | ||||
|                 error_content = True | ||||
|                 error_msg = "" | ||||
|                 try: | ||||
|                     error_msg = json.loads(response.content.decode()) | ||||
|                 except Exception: | ||||
|                     error_content = False | ||||
| 
 | ||||
|                 if error_content and error_msg.get('errors'): | ||||
|                     raise UserError(_('%s') % (error_msg.get('errors')[0])) | ||||
|                 else: | ||||
|                     raise UserError(_('Die Odoo id konnte für den Partner nicht gesetzt werden. ' | ||||
|                                       'Status Code: %s, Reason: %s') % (response.status_code, response.reason)) | ||||
| 
 | ||||
|         except Exception: | ||||
|             pass | ||||
| 
 | ||||
|     def button_activate(self): | ||||
|         self.ensure_one() | ||||
|  | @ -69,7 +85,7 @@ class PortalAssignCompany(models.TransientModel): | |||
|         # Wichtig hier ist, dass dieser Call vor dem ersten Write stattfindet, da das Portal | ||||
|         # parallel einen Call absetzt, der dann blockieren würde. | ||||
|         self.send_to_portal(partner.portal_id, partner.id) | ||||
|         partner.write({'portal_pending': False, 'active': True}) | ||||
|         partner.write({'portal_pending': False, 'portal_pending': False, 'active': True}) | ||||
| 
 | ||||
|         return True | ||||
| 
 | ||||
|  | @ -88,6 +104,8 @@ class PortalAssignCompany(models.TransientModel): | |||
|             if not self.main_partner_id.portal_id: | ||||
|                 self.main_partner_id.portal_id = portal_id | ||||
| 
 | ||||
|                 self.env['res.partner'].export_portal_partner_pricelist(self.main_partner_id) | ||||
| 
 | ||||
|             action = self.env.ref('base.action_partner_form').read()[0] | ||||
|             action['res_id'] = self.main_partner_id.id | ||||
|             return action | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue