From 6a218d79eaf3c8f23764be98a983105e6527a999 Mon Sep 17 00:00:00 2001 From: root Date: Wed, 16 Mar 2022 09:34:54 +0000 Subject: [PATCH] duplication segment ensemble requete --- models/operation.py | 75 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 74 insertions(+), 1 deletion(-) diff --git a/models/operation.py b/models/operation.py index 5b7887b..3433d08 100644 --- a/models/operation.py +++ b/models/operation.py @@ -451,7 +451,42 @@ class opendons_segment(models.Model): __last_update=fields.Date.context_today(self) operation.write({'__last_update':__last_update}) - + def copy(self,default_values=None): + + vals={} + vals['name']='copy of ' + self.name + vals['operation_id']=int(self.operation_id) + vals['mailing_domain']=self.mailing_domain + dup_segment=super(opendons_segment, self).create(vals) + + #on duplique les ensembles du segment + for ensemble_id in self.ensemble_ids: + #raise Warning(segment_id.id) + ens=self.env['opendons.ensemble'].search([('id','=',int(ensemble_id.id))]) + + if ens: + vals3={} + vals3['segment_id']=dup_segment.id + vals3['name']=ens.name + vals3['mailing_domain']=ens.mailing_domain + #dup_segment=super(opendons_segment,self).create(vals2) + dup_ensemble=self.env['opendons.ensemble'].create(vals3) + dup_segment.write({'ensemble_ids':[(4,dup_ensemble.id)]}) + + for request_id in ens.request_ids: + req=self.env['opendons.request'].search([('id','=',int(request_id.id))]) + if req: + vals4={} + vals4['ensemble_id']=dup_ensemble.id + vals4['name']=req.name + vals4['mailing_domain']=req.mailing_domain + #dup_segment=super(opendons_segment,self).create(vals2) + dup_request=self.env['opendons.request'].create(vals4) + dup_ensemble.write({'request_ids':[(4,dup_request.id)]}) + + #rtn=super(opendons_operation,self).copy(default=default_values) + + return dup_segment class opendons_ensemble(models.Model): _name = 'opendons.ensemble' @@ -611,6 +646,33 @@ class opendons_ensemble(models.Model): res=super(opendons_ensemble, self).write(vals) + def copy(self,default_values=None): + + vals={} + vals['name']='copy of ' + self.name + vals['segment_id']=int(self.segment_id) + vals['mailing_domain']=self.mailing_domain + dup_ensemble=super(opendons_ensemble, self).create(vals) + + #on duplique les requĂȘtes de l'ensemble + for request_id in self.request_ids: + #raise Warning(segment_id.id) + req=self.env['opendons.request'].search([('id','=',int(request_id.id))]) + + if req: + vals3={} + vals3['ensemble_id']=dup_ensemble.id + vals3['name']=req.name + vals3['mailing_domain']=req.mailing_domain + #dup_segment=super(opendons_segment,self).create(vals2) + dup_request=self.env['opendons.request'].create(vals3) + dup_ensemble.write({'request_ids':[(4,dup_request.id)]}) + + + + #rtn=super(opendons_operation,self).copy(default=default_values) + + return dup_ensemble class opendons_request(models.Model): _name = 'opendons.request' @@ -778,5 +840,16 @@ class opendons_request(models.Model): return res + def copy(self,default_values=None): + + vals={} + vals['name']='copy of ' + self.name + vals['ensemble_id']=int(self.ensemble_id) + vals['mailing_domain']=self.mailing_domain + dup_request=super(opendons_request, self).create(vals) + + + return dup_request + \ No newline at end of file