|
|
@ -75,6 +75,52 @@ class membershipimport(models.Model): |
|
|
|
|
|
|
|
return True |
|
|
|
|
|
|
|
def import_membership_csv_files_v2(self): |
|
|
|
|
|
|
|
files= self.env["opendons.partnerdraftfile"].search([('source_name','=','membership')]) |
|
|
|
|
|
|
|
for f in files: |
|
|
|
|
|
|
|
decrypted = base64.b64decode(f.file).decode('utf-8-sig') |
|
|
|
source_name=f.source_name |
|
|
|
membership_product=self.env['product.product'].sudo().search([('membership_product','=',True)],limit=1) |
|
|
|
|
|
|
|
with io.StringIO(decrypted) as fp: |
|
|
|
reader = csv.DictReader(fp, delimiter=";", quotechar='"') |
|
|
|
for row in reader: |
|
|
|
vals={} |
|
|
|
vals['partner_id']=False |
|
|
|
vals['product_id']=membership_product.id |
|
|
|
vals['start_date']=False |
|
|
|
vals['state']='done' |
|
|
|
vals['payment_state']='paid' |
|
|
|
type_rec='' |
|
|
|
for key, value in row.items(): |
|
|
|
#on cherche le contact |
|
|
|
|
|
|
|
|
|
|
|
if key=='id': |
|
|
|
partner=self.env['res.partner'].search([('external_id','=',value)]) |
|
|
|
if partner: |
|
|
|
vals['partner_id']=partner.id |
|
|
|
|
|
|
|
|
|
|
|
if key=='Date adhesion': |
|
|
|
year_m=value[12:16] |
|
|
|
month_m=value[17:19] |
|
|
|
day_m=value[20:22] |
|
|
|
start_date=datetime.strptime(year_m+'-'+month_m+'-'+day_m, '%Y-%m-%d') |
|
|
|
vals['start_date']=start_date |
|
|
|
vals['end_date']=start_date+relativedelta(years=1) |
|
|
|
|
|
|
|
|
|
|
|
if vals['partner_id'] and vals['start_date']: |
|
|
|
|
|
|
|
self.env['kalachakra.membership'].create(vals) |
|
|
|
|
|
|
|
|
|
|
|
return True |
|
|
|
|
|
|
|
def update_super_member(self): |
|
|
|
|
|
|
|
partner=self.env['res.partner'].search([]) |
|
|
|