diff --git a/models/operation.py b/models/operation.py index a529288..f1b89e2 100644 --- a/models/operation.py +++ b/models/operation.py @@ -27,7 +27,7 @@ class opendons_operation(models.Model): _name = 'opendons.operation' _description = 'opération marketing : mailing, emailing evenements' _inherit = ['mail.thread'] - + #_order = "__last_update desc" #code=fields.Char(string='Code',required=True, translate=True,track_visibility='always') name=fields.Char(string='Name',required=True, translate=True,track_visibility='always') partner_count = fields.Integer(string="count",readonly=True) @@ -91,6 +91,8 @@ class opendons_operation(models.Model): index=True, track_visibility='onchange' ) + + @@ -278,8 +280,13 @@ class opendons_segment(models.Model): #segment=self.env['opendons.segment'].search([('id','=',int(res.id))]) operation=self.env['opendons.operation'].search([('id','=',int(res.operation_id))]) #_logger.error('segment.id='+str(res.operation_id)) - - operation.write({'segment_count':len(operation.segment_ids)}) + __last_update=fields.Date.context_today(self) + operation.write( + { + 'segment_count':len(operation.segment_ids), + '__last_update':__last_update + } + ) return res def write(self,vals): @@ -297,6 +304,11 @@ class opendons_segment(models.Model): res=super(opendons_segment, self).write(vals) + + operation=self.env['opendons.operation'].search([('id','=',int(self.operation_id))]) + __last_update=fields.Date.context_today(self) + operation.write({'__last_update':__last_update}) + class opendons_ensemble(models.Model): @@ -387,7 +399,9 @@ class opendons_ensemble(models.Model): if len(segment.ensemble_ids)>1: i=1 for ens in segment.ensemble_ids: - if i==1: mailing_domain=ens.mailing_domain[1:-1] + + if i==1 and ens.mailing_domain!=False: + mailing_domain=ens.mailing_domain[1:-1] if i>1 : if ens.mailing_domain!=False: mailing_domain=str_operator +mailing_domain+","+ens.mailing_domain[1:-1] @@ -419,7 +433,14 @@ class opendons_ensemble(models.Model): 'mailing_domain':segment_domain, }) + operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) + __last_update=fields.Date.context_today(self) + operation.write({'__last_update':__last_update}) + return res + + + def write(self,vals): res=super(opendons_ensemble, self).write(vals) @@ -438,6 +459,11 @@ class opendons_ensemble(models.Model): 'ensemble_count':len(segment.ensemble_ids), 'mailing_domain':segment_domain }) + segment=self.env['opendons.segment'].search([('id','=',int(self.segment_id))]) + operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) + __last_update=fields.Date.context_today(self) + operation.write({'__last_update':__last_update}) + res=super(opendons_ensemble, self).write(vals) @@ -536,7 +562,7 @@ class opendons_request(models.Model): @api.model def create(self,vals): - partners=self.count_partner_request(vals) + #partners=self.count_partner_request(vals) if vals['mailing_domain']=="[]" : vals['mailing_domain']="[[\"id\",\"!=\",False]]" @@ -561,6 +587,10 @@ class opendons_request(models.Model): 'mailing_domain':segment_domain }) + operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) + __last_update=fields.Date.context_today(self) + operation.write({'__last_update':__last_update}) + return res @@ -579,11 +609,9 @@ class opendons_request(models.Model): res=super(opendons_request, self).write(vals) - + ensemble=self.env['opendons.ensemble'].search([('id','=',int(self.ensemble_id))]) + segment=self.env['opendons.segment'].search([('id','=',int(ensemble.segment_id))]) if mailing_domain_update==True: - - # #mise à jour du nombre de requête pour l'ensemble lié - ensemble=self.env['opendons.ensemble'].search([('id','=',int(self.ensemble_id))]) ensemble_domain=self.update_ensemble_domain(ensemble) # partner_count=self.count_partners_ensemble(ensemble) @@ -592,18 +620,16 @@ class opendons_request(models.Model): 'mailing_domain':ensemble_domain }) - segment=self.env['opendons.segment'].search([('id','=',int(ensemble.segment_id))]) + segment_domain=ensemble.update_segment_domain(segment) segment.write({ 'mailing_domain':segment_domain }) - # operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) - # partner_count=self.count_partners_operation(operation) - # operation.write({ - # 'partner_count':partner_count - # }) + operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) + __last_update=fields.Date.context_today(self) + operation.write({'__last_update':__last_update}) return res diff --git a/views/operation.xml b/views/operation.xml index b5c1d85..b42a97f 100644 --- a/views/operation.xml +++ b/views/operation.xml @@ -30,6 +30,7 @@ +