|
@ -82,8 +82,8 @@ class opendons_operation(models.Model): |
|
|
) |
|
|
) |
|
|
state = fields.Selection([ |
|
|
state = fields.Selection([ |
|
|
('draft', 'Draft'), |
|
|
('draft', 'Draft'), |
|
|
('done', 'Done'), |
|
|
|
|
|
('cancel', 'Cancelled')], |
|
|
|
|
|
|
|
|
('validated', 'Validated'), |
|
|
|
|
|
('exported', 'Exported')], |
|
|
string='State', |
|
|
string='State', |
|
|
readonly=True, |
|
|
readonly=True, |
|
|
copy=False, |
|
|
copy=False, |
|
@ -107,31 +107,38 @@ class opendons_operation(models.Model): |
|
|
|
|
|
|
|
|
def validate(self): |
|
|
def validate(self): |
|
|
for operation in self: |
|
|
for operation in self: |
|
|
vals = {'state': 'done'} |
|
|
|
|
|
|
|
|
vals = {'state': 'validated'} |
|
|
operation.write(vals) |
|
|
operation.write(vals) |
|
|
|
|
|
|
|
|
return |
|
|
return |
|
|
def done2cancel(self): |
|
|
|
|
|
|
|
|
def validated2draft(self): |
|
|
'''from Done state to Cancel state''' |
|
|
'''from Done state to Cancel state''' |
|
|
for operation in self: |
|
|
for operation in self: |
|
|
|
|
|
|
|
|
operation.state = 'cancel' |
|
|
|
|
|
|
|
|
|
|
|
def cancel2draft(self): |
|
|
|
|
|
'''from Cancel state to Draft state''' |
|
|
|
|
|
for operation in self: |
|
|
|
|
|
|
|
|
|
|
|
operation.state = 'draft' |
|
|
operation.state = 'draft' |
|
|
|
|
|
|
|
|
|
|
|
def validated2exported(self): |
|
|
|
|
|
'''from Done state to Cancel state''' |
|
|
|
|
|
for operation in self: |
|
|
|
|
|
|
|
|
|
|
|
operation.state = 'exported' |
|
|
|
|
|
|
|
|
|
|
|
def exported2validated(self): |
|
|
|
|
|
'''from Done state to Cancel state''' |
|
|
|
|
|
for operation in self: |
|
|
|
|
|
|
|
|
|
|
|
operation.state = 'validated' |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def csv_export_operation(self): |
|
|
def csv_export_operation(self): |
|
|
|
|
|
|
|
|
with open('export.csv', mode='w') as file: |
|
|
with open('export.csv', mode='w') as file: |
|
|
writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) |
|
|
writer = csv.writer(file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL) |
|
|
# create a row contains heading of each column |
|
|
|
|
|
|
|
|
# ggcreate a row containds heading of each column |
|
|
|
|
|
|
|
|
writer.writerow(['name', 'email']) |
|
|
writer.writerow(['name', 'email']) |
|
|
# fetch products and write respective data. |
|
|
# fetch products and write respective data. |
|
|
partners = self.env['res.partner'].sudo().search([]) |
|
|
|
|
|
|
|
|
partners = self.select_partner_operation() |
|
|
|
|
|
|
|
|
for p in partners: |
|
|
for p in partners: |
|
|
name=p.name |
|
|
name=p.name |
|
@ -147,7 +154,15 @@ class opendons_operation(models.Model): |
|
|
self.document_fname='operation'+str(self.id)+'.csv' |
|
|
self.document_fname='operation'+str(self.id)+'.csv' |
|
|
|
|
|
|
|
|
return |
|
|
return |
|
|
|
|
|
|
|
|
|
|
|
#def select_partner_operation(self): |
|
|
|
|
|
|
|
|
|
|
|
#le principe est de selectionner les contacts associés aux segments avec les règles suivantes : |
|
|
|
|
|
#RG1: si un contact est présent dans un segment d'exclusion, alos on le retire de la sélection |
|
|
|
|
|
#RG2: la priorité des segments est l'ordre de présentation dans la liste des segmments |
|
|
|
|
|
#RG3: au final, un contact sélectionné est rattaché à l'opération avec le segment d'appartenance |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def export_partners(self): |
|
|
def export_partners(self): |
|
|
|
|
|
|
|
|
partners = self.env['res.partner'].sudo().search([]) |
|
|
partners = self.env['res.partner'].sudo().search([]) |
|
@ -181,7 +196,8 @@ class opendons_segment(models.Model): |
|
|
cost = fields.Monetary( |
|
|
cost = fields.Monetary( |
|
|
string='Cost', |
|
|
string='Cost', |
|
|
currency_field='currency_id') |
|
|
currency_field='currency_id') |
|
|
partner_count = fields.Integer(string="count",readonly=True) |
|
|
|
|
|
|
|
|
partner_count = fields.Integer(string="partners count", compute='_count_partner_segment',readonly=True) |
|
|
|
|
|
mailing_domain = fields.Char(string='partners selection', readonly=True) |
|
|
|
|
|
|
|
|
@api.model |
|
|
@api.model |
|
|
def _default_currency(self): |
|
|
def _default_currency(self): |
|
@ -204,7 +220,7 @@ class opendons_segment(models.Model): |
|
|
index=True, |
|
|
index=True, |
|
|
readonly=True, |
|
|
readonly=True, |
|
|
track_visibility='onchange', |
|
|
track_visibility='onchange', |
|
|
ondelete='restrict' |
|
|
|
|
|
|
|
|
ondelete='cascade' |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
ensemble_ids = fields.One2many( |
|
|
ensemble_ids = fields.One2many( |
|
@ -219,6 +235,14 @@ class opendons_segment(models.Model): |
|
|
string="# of ensemble", |
|
|
string="# of ensemble", |
|
|
readonly=True |
|
|
readonly=True |
|
|
) |
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
@api.depends('mailing_domain') |
|
|
|
|
|
def _count_partner_segment(self): |
|
|
|
|
|
for rec in self: |
|
|
|
|
|
if rec.mailing_domain : |
|
|
|
|
|
rec.partner_count=self.env['res.partner'].search_count(eval(rec.mailing_domain)) |
|
|
|
|
|
else: |
|
|
|
|
|
rec.partner_count=0 |
|
|
|
|
|
|
|
|
def _compute_ensemble_count(self): |
|
|
def _compute_ensemble_count(self): |
|
|
# The current user may not have access rights for donations |
|
|
# The current user may not have access rights for donations |
|
@ -240,7 +264,21 @@ class opendons_segment(models.Model): |
|
|
operation.write({'segment_count':len(operation.segment_ids)}) |
|
|
operation.write({'segment_count':len(operation.segment_ids)}) |
|
|
|
|
|
|
|
|
return res |
|
|
return res |
|
|
|
|
|
def write(self,vals): |
|
|
|
|
|
|
|
|
|
|
|
res=super(opendons_segment, self).write(vals) |
|
|
|
|
|
mailing_domain=False |
|
|
|
|
|
for val in vals: |
|
|
|
|
|
if val=='logical_operator': |
|
|
|
|
|
|
|
|
|
|
|
mailing_domain=self.env['opendons.ensemble'].update_segment_domain(self) |
|
|
|
|
|
|
|
|
|
|
|
if mailing_domain: |
|
|
|
|
|
vals['mailing_domain']=mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
res=super(opendons_segment, self).write(vals) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class opendons_ensemble(models.Model): |
|
|
class opendons_ensemble(models.Model): |
|
@ -250,17 +288,15 @@ class opendons_ensemble(models.Model): |
|
|
|
|
|
|
|
|
name=fields.Char(string='Name',required=True, translate=True,track_visibility='always') |
|
|
name=fields.Char(string='Name',required=True, translate=True,track_visibility='always') |
|
|
logical_operator = fields.Selection([('union','union'),('inter','intersection')],'Type',default='union') |
|
|
logical_operator = fields.Selection([('union','union'),('inter','intersection')],'Type',default='union') |
|
|
mailing_domain = fields.Char( |
|
|
|
|
|
string='partners selection', |
|
|
|
|
|
readonly=True, store=True) |
|
|
|
|
|
partner_count = fields.Integer(string="count",readonly=True) |
|
|
|
|
|
|
|
|
mailing_domain = fields.Char(string='partners selection', readonly=True) |
|
|
|
|
|
partner_count = fields.Integer(string="partners count",compute='_count_partner_ensemble',readonly=True) |
|
|
sequence = fields.Integer(string="sequence", default=10) |
|
|
sequence = fields.Integer(string="sequence", default=10) |
|
|
segment_id = fields.Many2one( |
|
|
segment_id = fields.Many2one( |
|
|
'opendons.segment','Segment', |
|
|
'opendons.segment','Segment', |
|
|
index=True, |
|
|
index=True, |
|
|
readonly=True, |
|
|
readonly=True, |
|
|
track_visibility='onchange', |
|
|
track_visibility='onchange', |
|
|
ondelete='restrict') |
|
|
|
|
|
|
|
|
ondelete='cascade') |
|
|
|
|
|
|
|
|
request_ids = fields.One2many( |
|
|
request_ids = fields.One2many( |
|
|
'opendons.request', |
|
|
'opendons.request', |
|
@ -277,6 +313,15 @@ class opendons_ensemble(models.Model): |
|
|
csv_export = fields.Binary('csv export', filters='.csv', readonly=True) |
|
|
csv_export = fields.Binary('csv export', filters='.csv', readonly=True) |
|
|
document_fname=fields.Char() |
|
|
document_fname=fields.Char() |
|
|
|
|
|
|
|
|
|
|
|
@api.depends('mailing_domain') |
|
|
|
|
|
def _count_partner_ensemble(self): |
|
|
|
|
|
for rec in self: |
|
|
|
|
|
if rec.mailing_domain : |
|
|
|
|
|
rec.partner_count=self.env['res.partner'].search_count(eval(rec.mailing_domain)) |
|
|
|
|
|
else: |
|
|
|
|
|
rec.partner_count=0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def csv_export_ensemble(self): |
|
|
def csv_export_ensemble(self): |
|
|
|
|
|
|
|
|
with open('export.csv', mode='w') as file: |
|
|
with open('export.csv', mode='w') as file: |
|
@ -312,6 +357,34 @@ class opendons_ensemble(models.Model): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def update_segment_domain(self,segment): |
|
|
|
|
|
|
|
|
|
|
|
logical_operator=segment.logical_operator |
|
|
|
|
|
if logical_operator=='union': str_operator='"|",' |
|
|
|
|
|
if logical_operator=='inter': str_operator='"&",' |
|
|
|
|
|
|
|
|
|
|
|
mailing_domain='' |
|
|
|
|
|
|
|
|
|
|
|
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 : |
|
|
|
|
|
if ens.mailing_domain!=False: |
|
|
|
|
|
mailing_domain=str_operator +mailing_domain+","+ens.mailing_domain[1:-1] |
|
|
|
|
|
i+=1 |
|
|
|
|
|
mailing_domain="["+mailing_domain+"]" |
|
|
|
|
|
if len(segment.ensemble_ids)==1: |
|
|
|
|
|
for ens in segment.ensemble_ids: |
|
|
|
|
|
mailing_domain=ens.mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@api.model |
|
|
@api.model |
|
|
def create(self,vals): |
|
|
def create(self,vals): |
|
|
|
|
|
|
|
@ -320,8 +393,13 @@ class opendons_ensemble(models.Model): |
|
|
|
|
|
|
|
|
segment=self.env['opendons.segment'].search([('id','=',int(res.segment_id))]) |
|
|
segment=self.env['opendons.segment'].search([('id','=',int(res.segment_id))]) |
|
|
#_logger.error('segment.id='+str(res.operation_id)) |
|
|
#_logger.error('segment.id='+str(res.operation_id)) |
|
|
|
|
|
segment_domain=self.update_segment_domain(segment) |
|
|
|
|
|
|
|
|
segment.write({'ensemble_count':len(segment.ensemble_ids)}) |
|
|
|
|
|
|
|
|
segment.write( |
|
|
|
|
|
{ |
|
|
|
|
|
'ensemble_count':len(segment.ensemble_ids), |
|
|
|
|
|
'mailing_domain':segment_domain, |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
return res |
|
|
return res |
|
|
def write(self,vals): |
|
|
def write(self,vals): |
|
@ -331,9 +409,18 @@ class opendons_ensemble(models.Model): |
|
|
for val in vals: |
|
|
for val in vals: |
|
|
if val=='logical_operator': |
|
|
if val=='logical_operator': |
|
|
|
|
|
|
|
|
mailing_domain=self.env['opendons.request'].update_ensemble_domaine(self) |
|
|
|
|
|
|
|
|
mailing_domain=self.env['opendons.request'].update_ensemble_domain(self) |
|
|
|
|
|
|
|
|
|
|
|
if mailing_domain: |
|
|
|
|
|
vals['mailing_domain']=mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
segment=self.env['opendons.segment'].search([('id','=',int(self.segment_id))]) |
|
|
|
|
|
segment_domain=self.update_segment_domain(segment) |
|
|
|
|
|
segment.write({ |
|
|
|
|
|
'ensemble_count':len(segment.ensemble_ids), |
|
|
|
|
|
'mailing_domain':segment_domain |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
if mailing_domain: vals['mailing_domain']=mailing_domain |
|
|
|
|
|
res=super(opendons_ensemble, self).write(vals) |
|
|
res=super(opendons_ensemble, self).write(vals) |
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -343,8 +430,7 @@ class opendons_request(models.Model): |
|
|
_inherit = ['mail.thread'] |
|
|
_inherit = ['mail.thread'] |
|
|
sequence = fields.Integer(string="sequence", default=10) |
|
|
sequence = fields.Integer(string="sequence", default=10) |
|
|
name=fields.Char(string='Name',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) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
partner_count = fields.Integer(string="partners count", compute='_count_partner_request', readonly=True) |
|
|
|
|
|
|
|
|
partner_ids = fields.Many2many('res.partner', 'partner_request_rel', 'partner_id', 'request_id', string='partners') |
|
|
partner_ids = fields.Many2many('res.partner', 'partner_request_rel', 'partner_id', 'request_id', string='partners') |
|
|
|
|
|
|
|
@ -353,13 +439,20 @@ class opendons_request(models.Model): |
|
|
index=True, |
|
|
index=True, |
|
|
readonly=True, |
|
|
readonly=True, |
|
|
track_visibility='onchange', |
|
|
track_visibility='onchange', |
|
|
ondelete='restrict') |
|
|
|
|
|
|
|
|
ondelete='cascade') |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mailing_domain = fields.Char( |
|
|
mailing_domain = fields.Char( |
|
|
string='Domain', |
|
|
string='Domain', |
|
|
readonly=False, store=True) |
|
|
readonly=False, store=True) |
|
|
|
|
|
|
|
|
|
|
|
@api.depends('mailing_domain') |
|
|
|
|
|
def _count_partner_request(self): |
|
|
|
|
|
for rec in self: |
|
|
|
|
|
if rec.mailing_domain : |
|
|
|
|
|
rec.partner_count=self.env['res.partner'].search_count(eval(rec.mailing_domain)) |
|
|
|
|
|
else: |
|
|
|
|
|
rec.partner_count=0 |
|
|
|
|
|
|
|
|
def count_partners_ensemble(self,ensemble): |
|
|
def count_partners_ensemble(self,ensemble): |
|
|
#on boucle sur toutes les requêtes de l'ensemble pour compter les contacts |
|
|
#on boucle sur toutes les requêtes de l'ensemble pour compter les contacts |
|
@ -370,7 +463,7 @@ class opendons_request(models.Model): |
|
|
|
|
|
|
|
|
return result |
|
|
return result |
|
|
|
|
|
|
|
|
def update_ensemble_domaine(self,ensemble): |
|
|
|
|
|
|
|
|
def update_ensemble_domain(self,ensemble): |
|
|
#on boucle sur toutes les requêtes de l'ensemble |
|
|
#on boucle sur toutes les requêtes de l'ensemble |
|
|
logical_operator=ensemble.logical_operator |
|
|
logical_operator=ensemble.logical_operator |
|
|
if logical_operator=='union': str_operator='"|",' |
|
|
if logical_operator=='union': str_operator='"|",' |
|
@ -381,16 +474,19 @@ class opendons_request(models.Model): |
|
|
if len(ensemble.request_ids)>1: |
|
|
if len(ensemble.request_ids)>1: |
|
|
i=1 |
|
|
i=1 |
|
|
for req in ensemble.request_ids: |
|
|
for req in ensemble.request_ids: |
|
|
|
|
|
|
|
|
if i==1: mailing_domain=req.mailing_domain[1:-1] |
|
|
if i==1: mailing_domain=req.mailing_domain[1:-1] |
|
|
|
|
|
|
|
|
if i>1 : mailing_domain=str_operator +mailing_domain+","+req.mailing_domain[1:-1] |
|
|
if i>1 : mailing_domain=str_operator +mailing_domain+","+req.mailing_domain[1:-1] |
|
|
i+=1 |
|
|
i+=1 |
|
|
|
|
|
|
|
|
mailing_domain="["+mailing_domain+"]" |
|
|
mailing_domain="["+mailing_domain+"]" |
|
|
if len(ensemble.request_ids)==1: |
|
|
|
|
|
mailing_domain=req.mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#si une seule requête pour l'ensemble |
|
|
|
|
|
if len(ensemble.request_ids)==1: |
|
|
|
|
|
for req in ensemble.request_ids: |
|
|
|
|
|
mailing_domain=req.mailing_domain |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return mailing_domain |
|
|
return mailing_domain |
|
|
|
|
|
|
|
|
def count_partners_segment(self,segment): |
|
|
def count_partners_segment(self,segment): |
|
@ -410,19 +506,7 @@ class opendons_request(models.Model): |
|
|
result+=segment.partner_count |
|
|
result+=segment.partner_count |
|
|
|
|
|
|
|
|
return result |
|
|
return result |
|
|
|
|
|
|
|
|
def count_partner_request(self,vals): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if vals['mailing_domain']: |
|
|
|
|
|
partners=self.env['res.partner'].search(eval(vals['mailing_domain'])) |
|
|
|
|
|
else: |
|
|
|
|
|
partners=self.env['res.partner'] |
|
|
|
|
|
|
|
|
|
|
|
result=len(partners) |
|
|
|
|
|
|
|
|
|
|
|
return result |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def refresh_partners_count(self): |
|
|
def refresh_partners_count(self): |
|
|
|
|
|
|
|
@ -431,14 +515,13 @@ class opendons_request(models.Model): |
|
|
|
|
|
|
|
|
return True |
|
|
return True |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@api.model |
|
|
@api.model |
|
|
def create(self,vals): |
|
|
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]]" |
|
|
|
|
|
|
|
|
res=super(opendons_request, self).create(vals) |
|
|
res=super(opendons_request, self).create(vals) |
|
|
|
|
|
|
|
@ -447,26 +530,20 @@ class opendons_request(models.Model): |
|
|
|
|
|
|
|
|
#partner_count=self.count_partners_ensemble(ensemble) |
|
|
#partner_count=self.count_partners_ensemble(ensemble) |
|
|
#mise à jour du domaine pour l'ensemble |
|
|
#mise à jour du domaine pour l'ensemble |
|
|
ensemble_domaine=self.update_ensemble_domaine(ensemble) |
|
|
|
|
|
|
|
|
ensemble_domain=self.update_ensemble_domain(ensemble) |
|
|
|
|
|
|
|
|
ensemble.write( |
|
|
ensemble.write( |
|
|
{'request_count':len(ensemble.request_ids), |
|
|
{'request_count':len(ensemble.request_ids), |
|
|
'mailing_domain':ensemble_domaine |
|
|
|
|
|
|
|
|
'mailing_domain':ensemble_domain |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
# segment=self.env['opendons.segment'].search([('id','=',int(ensemble.segment_id))]) |
|
|
|
|
|
# partner_count=self.count_partners_segment(segment) |
|
|
|
|
|
# segment.write({ |
|
|
|
|
|
# 'partner_count':partner_count |
|
|
|
|
|
# }) |
|
|
|
|
|
|
|
|
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 |
|
|
|
|
|
# }) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return res |
|
|
return res |
|
|
|
|
|
|
|
|
def write(self,vals): |
|
|
def write(self,vals): |
|
@ -475,12 +552,12 @@ class opendons_request(models.Model): |
|
|
for val in vals: |
|
|
for val in vals: |
|
|
if val=='mailing_domain': |
|
|
if val=='mailing_domain': |
|
|
mailing_domain_update=True |
|
|
mailing_domain_update=True |
|
|
partners_count=self.count_partner_request(vals) |
|
|
|
|
|
#partner_count=len(partners) |
|
|
|
|
|
#partner_ids=[(6, 0,partners.ids)] |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if mailing_domain_update==True : |
|
|
if mailing_domain_update==True : |
|
|
vals['partner_count']=partners_count |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if vals['mailing_domain']=="[]" : |
|
|
|
|
|
vals['mailing_domain']="[[\"id\",\"!=\",False]]" |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
res=super(opendons_request, self).write(vals) |
|
|
res=super(opendons_request, self).write(vals) |
|
@ -489,19 +566,20 @@ class opendons_request(models.Model): |
|
|
|
|
|
|
|
|
# #mise à jour du nombre de requête pour l'ensemble lié |
|
|
# #mise à jour du nombre de requête pour l'ensemble lié |
|
|
ensemble=self.env['opendons.ensemble'].search([('id','=',int(self.ensemble_id))]) |
|
|
ensemble=self.env['opendons.ensemble'].search([('id','=',int(self.ensemble_id))]) |
|
|
ensemble_domaine=self.update_ensemble_domaine(ensemble) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ensemble_domain=self.update_ensemble_domain(ensemble) |
|
|
# partner_count=self.count_partners_ensemble(ensemble) |
|
|
# partner_count=self.count_partners_ensemble(ensemble) |
|
|
ensemble.write({ |
|
|
ensemble.write({ |
|
|
'request_count':len(ensemble.request_ids), |
|
|
'request_count':len(ensemble.request_ids), |
|
|
'mailing_domain':ensemble_domaine |
|
|
|
|
|
|
|
|
'mailing_domain':ensemble_domain |
|
|
}) |
|
|
}) |
|
|
|
|
|
|
|
|
# segment=self.env['opendons.segment'].search([('id','=',int(ensemble.segment_id))]) |
|
|
|
|
|
|
|
|
segment=self.env['opendons.segment'].search([('id','=',int(ensemble.segment_id))]) |
|
|
|
|
|
segment_domain=ensemble.update_segment_domain(segment) |
|
|
|
|
|
|
|
|
# partner_count=self.count_partners_segment(segment) |
|
|
|
|
|
# segment.write({ |
|
|
|
|
|
# 'partner_count':partner_count |
|
|
|
|
|
# }) |
|
|
|
|
|
|
|
|
segment.write({ |
|
|
|
|
|
'mailing_domain':segment_domain |
|
|
|
|
|
}) |
|
|
|
|
|
|
|
|
# operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) |
|
|
# operation=self.env['opendons.operation'].search([('id','=',int(segment.operation_id))]) |
|
|
# partner_count=self.count_partners_operation(operation) |
|
|
# partner_count=self.count_partners_operation(operation) |
|
|