Browse Source

#26 gerer les entites par societe

master
root 3 years ago
parent
commit
261a9e8de1
9 changed files with 124 additions and 22 deletions
  1. +1
    -0
      __manifest__.py
  2. +24
    -11
      models/operation.py
  3. +8
    -5
      models/payment_batch.py
  4. +14
    -2
      models/qualifier.py
  5. +14
    -2
      models/relationship.py
  6. +7
    -0
      models/returnmail.py
  7. +54
    -0
      security/security.xml
  8. +2
    -0
      views/operation.xml
  9. +0
    -2
      views/partner.xml

+ 1
- 0
__manifest__.py View File

@ -25,6 +25,7 @@
# always loaded # always loaded
'data': [ 'data': [
'security/ir.model.access.csv', 'security/ir.model.access.csv',
'security/security.xml',
'views/qualifier.xml', 'views/qualifier.xml',
'views/address.xml', 'views/address.xml',
'views/email.xml', 'views/email.xml',


+ 24
- 11
models/operation.py View File

@ -28,14 +28,24 @@ class opendons_operation(models.Model):
_name = 'opendons.operation' _name = 'opendons.operation'
_description = 'opération marketing : mailing, emailing evenements' _description = 'opération marketing : mailing, emailing evenements'
_inherit = ['mail.thread'] _inherit = ['mail.thread']
_check_company_auto = True
#_order = "__last_update desc" #_order = "__last_update desc"
#code=fields.Char(string='Code',required=True, translate=True,track_visibility='always') #code=fields.Char(string='Code',required=True, translate=True,track_visibility='always')
name=fields.Char(string='Name',required=True, translate=True,copy=False,default='operation',track_visibility='always') name=fields.Char(string='Name',required=True, translate=True,copy=False,default='operation',track_visibility='always')
partner_count = fields.Integer(string="count",readonly=True) partner_count = fields.Integer(string="count",readonly=True)
exported_date=fields.Date(string='Exported Date',track_visibility='always')
exported_date=fields.Date(string='Exported Date',track_visibility='always', readonly=True)
#end_date=fields.Date(string='Date end',required=True, translate=True,track_visibility='always') #end_date=fields.Date(string='Date end',required=True, translate=True,track_visibility='always')
partner_ids = fields.Many2many('res.partner', 'partner_operation_rel', 'partner_id', 'operation_id', string='partners') partner_ids = fields.Many2many('res.partner', 'partner_operation_rel', 'partner_id', 'operation_id', string='partners')
#contacts exclus de l'opération #contacts exclus de l'opération
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
states={"exported": [("readonly", True)]},
default=lambda self: self.env.company
)
partner_excl_ids=fields.Many2many('res.partner', 'partner_excl_operation_rel', 'partner_id', 'operation_id', string='excluded partners') partner_excl_ids=fields.Many2many('res.partner', 'partner_excl_operation_rel', 'partner_id', 'operation_id', string='excluded partners')
chanel=fields.Selection([ chanel=fields.Selection([
('mail', 'Mailing'), ('mail', 'Mailing'),
@ -62,10 +72,10 @@ class opendons_operation(models.Model):
ondelete='restrict', ondelete='restrict',
default=_default_currency default=_default_currency
) )
_sql_constraints = [
('name_uniq', 'unique (name)', "Name already exists !")
# _sql_constraints = [
# ('name_uniq', 'unique (name)', "Name already exists !")
]
# ]
number_of_sending = fields.Integer( number_of_sending = fields.Integer(
compute='_compute_number_of_sending', compute='_compute_number_of_sending',
@ -192,11 +202,7 @@ class opendons_operation(models.Model):
segexcl=self.env['opendons.segment'].search(['&',('operation_id','=',self.id),('exclusion','=',True)]) segexcl=self.env['opendons.segment'].search(['&',('operation_id','=',self.id),('exclusion','=',True)])
segments=self.env['opendons.segment'].search(['&',('operation_id','=',self.id),('exclusion','=',False)],order='sequence asc') segments=self.env['opendons.segment'].search(['&',('operation_id','=',self.id),('exclusion','=',False)],order='sequence asc')
#[["id","not in",[1,3,7,8,10]]]
#["&",["id","not in",[22]],["id","not in",[1,3,7,8,10]]]
#List of Domain operators: ! (Not), | (Or), & (And)
#List of Term operators: '=', '!=', '<=', '<', '>', '>=', '=?', '=like', '=ilike', 'like', 'not like', 'ilike', 'not ilike', 'in', 'not in', 'child_of'
i=1 i=1
@ -246,7 +252,7 @@ class opendons_operation(models.Model):
sg_1=sg sg_1=sg
i=i+1 i=i+1
self.exported_date=fields.Date.context_today(self)
self.exported_date=fields.Date.context_today(self, readonly=True)
return True return True
@ -254,8 +260,15 @@ class opendons_operation(models.Model):
@api.model @api.model
def create(self,vals): def create(self,vals):
op=self.env['opendons.operation'].search(['&',('name','=',vals['name']),('company_id','=',int(self.env.user.company_id))])
if "company_id" in vals:
self = self.with_company(vals["company_id"])
if op : raise Warning('name already exist')
res=super(opendons_operation, self).create(vals) res=super(opendons_operation, self).create(vals)
raise Warning(res.company_id)
#création du segment d'exclusion #création du segment d'exclusion
vals2={} vals2={}
vals2['operation_id']=res.id vals2['operation_id']=res.id


+ 8
- 5
models/payment_batch.py View File

@ -91,11 +91,14 @@ class opendons_payment_batch(models.Model):
currency_field='currency_id', currency_field='currency_id',
) )
# payment_lines = fields.One2many(
# 'opendons_payment_batch.lines',
# 'payment_batch_id',
# string='Payment lines',
# track_visibility='onchange')
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
@api.onchange('operation_id') @api.onchange('operation_id')
def _onchange_operation_id(self): def _onchange_operation_id(self):
res = {} res = {}


+ 14
- 2
models/qualifier.py View File

@ -16,7 +16,13 @@ class opendons_qualifierCategory(models.Model):
name = fields.Char('Name', required=True) name = fields.Char('Name', required=True)
order= fields.Integer() order= fields.Integer()
description = fields.Text() description = fields.Text()
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
@api.constrains('name') @api.constrains('name')
def _check_name(self): def _check_name(self):
@ -42,7 +48,13 @@ class opendons_qualifier(models.Model):
category_id = fields.Many2one( category_id = fields.Many2one(
'opendons_qualifier.category', string='Category', tracking=True, 'opendons_qualifier.category', string='Category', tracking=True,
required=True) required=True)
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
@api.model @api.model
def create(self,vals): def create(self,vals):


+ 14
- 2
models/relationship.py View File

@ -19,7 +19,13 @@ class opendons_relationshipType(models.Model):
string='Nature', string='Nature',
required=True, required=True,
track_visibility='onchange') track_visibility='onchange')
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
@api.constrains('name') @api.constrains('name')
def _check_name(self): def _check_name(self):
@ -36,7 +42,13 @@ class opendons_relationshipNature(models.Model):
type_id = fields.Many2one( type_id = fields.Many2one(
'opendons_relationship.type', string='Type', tracking=True, 'opendons_relationship.type', string='Type', tracking=True,
required=True) required=True)
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
@api.constrains('name') @api.constrains('name')
def _check_name(self): def _check_name(self):


+ 7
- 0
models/returnmail.py View File

@ -26,6 +26,13 @@ class opendons_returnmail(models.Model):
string='NPAI', string='NPAI',
track_visibility='onchange') track_visibility='onchange')
#related_npai_partner_id = fields.Many2one(related='returnmailnpai_ids.partner_id') #related_npai_partner_id = fields.Many2one(related='returnmailnpai_ids.partner_id')
company_id = fields.Many2one(
"res.company",
string="Company",
required=True,
default=lambda self: self.env.company
)
def action_ajouter_npai(self): def action_ajouter_npai(self):
data=self.return_input.split(';') data=self.return_input.split(';')


+ 54
- 0
security/security.xml View File

@ -0,0 +1,54 @@
<odoo>
<!-- Multi-company Rules -->
<record id="operation_company_rule" model="ir.rule">
<field name="name">Operation Multi-company</field>
<field name="model_id" ref="model_opendons_operation" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="operation_payment_batch_rule" model="ir.rule">
<field name="name">opendons_payment_batch Multi-company</field>
<field name="model_id" ref="model_opendons_payment_batch" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="opendons_qualifierCategory_rule" model="ir.rule">
<field name="name">opendons_qualifierCategory Multi-company</field>
<field name="model_id" ref="model_opendons_qualifier_category" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="opendons_qualifier_rule" model="ir.rule">
<field name="name">opendons_qualifier Multi-company</field>
<field name="model_id" ref="model_opendons_qualifier_qualifier" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="opendons_relationship_type_rule" model="ir.rule">
<field name="name">opendons_relationship.type Multi-company</field>
<field name="model_id" ref="model_opendons_relationship_type" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="opendons_relationship_nature_rule" model="ir.rule">
<field name="name">opendons_relationship.nature Multi-company</field>
<field name="model_id" ref="model_opendons_relationship_nature" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
<record id="opendons_returnmail_rule" model="ir.rule">
<field name="name">opendons_returnmail Multi-company</field>
<field name="model_id" ref="model_opendons_returnmail" />
<field name="domain_force">
[('company_id', 'in', company_ids)]</field>
</record>
</odoo>

+ 2
- 0
views/operation.xml View File

@ -30,6 +30,7 @@
<tree duplicate="1"> <tree duplicate="1">
<field name="id"/> <field name="id"/>
<field name="company_id"/>
<field name="__last_update"/> <field name="__last_update"/>
<field name="name"/> <field name="name"/>
<field name="chanel"/> <field name="chanel"/>
@ -261,6 +262,7 @@
<field name="name">Opérations</field> <field name="name">Opérations</field>
<field name="res_model">opendons.operation</field> <field name="res_model">opendons.operation</field>
<field name="view_mode">tree,form,pivot,graph</field> <field name="view_mode">tree,form,pivot,graph</field>
</record> </record>


+ 0
- 2
views/partner.xml View File

@ -190,8 +190,6 @@
<menuitem id="opendons_duplicate_rule_menu" action="duplicate_rule_action" <menuitem id="opendons_duplicate_rule_menu" action="duplicate_rule_action"
parent="opendons_duplicate_title_menu" sequence="1"/> parent="opendons_duplicate_title_menu" sequence="1"/>
<!-- <menuitem id="opendons_duplicate_partner_menu" action="duplicate_partner_action"
parent="opendons_duplicate_title_menu" sequence="2"/> -->
<menuitem id="opendons_duplicate_partner_menu" action="ir_action_find_duplicate_partner" <menuitem id="opendons_duplicate_partner_menu" action="ir_action_find_duplicate_partner"
parent="opendons_duplicate_title_menu" sequence="2"/> parent="opendons_duplicate_title_menu" sequence="2"/>


Loading…
Cancel
Save