Browse Source

corrections

master
root 3 years ago
parent
commit
e697ffe375
2 changed files with 34 additions and 28 deletions
  1. +1
    -1
      controllers/portal.py
  2. +33
    -27
      models/partner_import.py

+ 1
- 1
controllers/portal.py View File

@ -76,7 +76,7 @@ class PortalOpendons(CustomerPortal):
donation = request.env['donation.line'].sudo().search([])
domain = [
('partner_id', '=',int(partner.id) )
('donation_id.state','=','done'),('partner_id', '=',int(partner.id) )
]
searchbar_sortings = {


+ 33
- 27
models/partner_import.py View File

@ -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()


Loading…
Cancel
Save