|
|
@ -2,12 +2,13 @@ from odoo import models, fields, api |
|
|
|
from odoo.exceptions import UserError, ValidationError, Warning |
|
|
|
from psycopg2 import sql, DatabaseError |
|
|
|
from odoo.tools.safe_eval import safe_eval, datetime |
|
|
|
|
|
|
|
from odoo import fields, http, SUPERUSER_ID, tools, _ |
|
|
|
from werkzeug import utils |
|
|
|
import csv |
|
|
|
import base64 |
|
|
|
import io |
|
|
|
import json |
|
|
|
import json |
|
|
|
import re |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -53,35 +54,40 @@ class opendons_partnerdraftfile(models.Model): |
|
|
|
partners=self.env['opendons.partnerdraft'].search([]) |
|
|
|
fields=self.env['opendons.partnerdraftfile_mapping'].search([]) |
|
|
|
if partners: |
|
|
|
|
|
|
|
for p in partners: |
|
|
|
|
|
|
|
vals={} |
|
|
|
for f in fields: |
|
|
|
if f.partner_field=='country_id': |
|
|
|
if p[f.odoo_field]!='': |
|
|
|
country=self.env['res.country'].search([('name','=',p[f.odoo_field])]) |
|
|
|
if country:vals[f.partner_field]=country.id |
|
|
|
else:vals[f.partner_field]=False |
|
|
|
|
|
|
|
elif f.partner_field=='title': |
|
|
|
if p[f.odoo_field]!='': |
|
|
|
title=self.env['res.partner.title'].search([('name','=',p[f.odoo_field])]) |
|
|
|
if title:vals[f.partner_field]=title.id |
|
|
|
else:vals[f.partner_field]=False |
|
|
|
else: |
|
|
|
vals[f.partner_field]=False |
|
|
|
|
|
|
|
elif f.partner_field in ('origine','statut_contact'): |
|
|
|
if p[f.odoo_field]!=False: |
|
|
|
vals[f.partner_field]=p[f.odoo_field].lower() |
|
|
|
regex = re.compile(r'([A-Za-z0-9]+[.-_])*[A-Za-z0-9]+@[A-Za-z0-9-]+(\.[A-Z|a-z]{2,})+') |
|
|
|
if re.fullmatch(regex, p.email) and p.name!='': |
|
|
|
|
|
|
|
else: |
|
|
|
vals={} |
|
|
|
for f in fields: |
|
|
|
if f.partner_field=='country_id': |
|
|
|
if p[f.odoo_field]!='': |
|
|
|
country=self.env['res.country'].search([('name','=',p[f.odoo_field])]) |
|
|
|
if country:vals[f.partner_field]=country.id |
|
|
|
else:vals[f.partner_field]=False |
|
|
|
|
|
|
|
elif f.partner_field=='title': |
|
|
|
if p[f.odoo_field]!='': |
|
|
|
title=self.env['res.partner.title'].search([('name','=',p[f.odoo_field])]) |
|
|
|
if title:vals[f.partner_field]=title.id |
|
|
|
else:vals[f.partner_field]=False |
|
|
|
else: |
|
|
|
vals[f.partner_field]=False |
|
|
|
|
|
|
|
vals[f.partner_field]=p[f.odoo_field] |
|
|
|
|
|
|
|
vals['company_type']='person' |
|
|
|
elif f.partner_field in ('origine'): |
|
|
|
continue |
|
|
|
elif f.partner_field in ('origine','statut_contact'): |
|
|
|
if p[f.odoo_field]!=False: |
|
|
|
vals[f.partner_field]=p[f.odoo_field].lower() |
|
|
|
|
|
|
|
else: |
|
|
|
|
|
|
|
vals[f.partner_field]=p[f.odoo_field] |
|
|
|
|
|
|
|
vals['company_type']='person' |
|
|
|
|
|
|
|
self.env['res.partner'].create(vals) |
|
|
|
self.env['res.partner'].create(vals) |
|
|
|
|
|
|
|
partners=self.env['opendons.partnerdraft'].search([]).unlink() |
|
|
|
|
|
|
|