[FIX] website: rename user_partner_id -> partner_id
It is just a partner_id not a user related field task-2072877 closes odoo/odoo#37102 Signed-off-by: Jérémy Kersten (jke) <jke@openerp.com>
This commit is contained in:
@@ -64,14 +64,13 @@ class ResUsers(models.Model):
|
||||
visitor_sudo = env['website.visitor']._get_visitor_from_request()
|
||||
if visitor_sudo:
|
||||
partner = env.user.partner_id
|
||||
partner_visitor = env['website.visitor'].sudo().search([('user_partner_id', '=', partner.id)])
|
||||
partner_visitor = env['website.visitor'].sudo().search([('partner_id', '=', partner.id)])
|
||||
if partner_visitor and partner_visitor.id != visitor_sudo.id:
|
||||
tracks = visitor_sudo.website_track_ids
|
||||
tracks.write({'visitor_id': partner_visitor.id})
|
||||
visitor_sudo.website_track_ids.write({'visitor_id': partner_visitor.id})
|
||||
visitor_sudo.unlink()
|
||||
else:
|
||||
vals = {
|
||||
'user_partner_id': partner.id,
|
||||
'partner_id': partner.id,
|
||||
'name': partner.name
|
||||
}
|
||||
visitor_sudo.write(vals)
|
||||
|
||||
@@ -33,8 +33,8 @@ class WebsiteVisitor(models.Model):
|
||||
access_token = fields.Char(required=True, default=lambda x: uuid.uuid4().hex, index=True, copy=False, groups='base.group_website_publisher')
|
||||
active = fields.Boolean('Active', default=True)
|
||||
website_id = fields.Many2one('website', "Website", readonly=True)
|
||||
user_partner_id = fields.Many2one('res.partner', string="Linked Partner", help="Partner of the last logged in user.")
|
||||
partner_image = fields.Binary(related='user_partner_id.image_1920')
|
||||
partner_id = fields.Many2one('res.partner', string="Linked Partner", help="Partner of the last logged in user.")
|
||||
partner_image = fields.Binary(related='partner_id.image_1920')
|
||||
|
||||
# localisation and info
|
||||
country_id = fields.Many2one('res.country', 'Country', readonly=True)
|
||||
@@ -60,7 +60,7 @@ class WebsiteVisitor(models.Model):
|
||||
|
||||
_sql_constraints = [
|
||||
('access_token_unique', 'unique(access_token)', 'Access token should be unique.'),
|
||||
('partner_uniq', 'unique(user_partner_id)', 'A partner is linked to only one visitor.'),
|
||||
('partner_uniq', 'unique(partner_id)', 'A partner is linked to only one visitor.'),
|
||||
]
|
||||
|
||||
@api.depends('name')
|
||||
@@ -70,10 +70,10 @@ class WebsiteVisitor(models.Model):
|
||||
(record.name or _('Website Visitor #%s') % record.id)
|
||||
) for record in self]
|
||||
|
||||
@api.depends('user_partner_id.email_normalized', 'user_partner_id.mobile')
|
||||
@api.depends('partner_id.email_normalized', 'partner_id.mobile')
|
||||
def _compute_email_phone(self):
|
||||
results = self.env['res.partner'].search_read(
|
||||
[('id', 'in', self.user_partner_id.ids)],
|
||||
[('id', 'in', self.partner_id.ids)],
|
||||
['id', 'email_normalized', 'mobile'],
|
||||
)
|
||||
mapped_data = {
|
||||
@@ -84,8 +84,8 @@ class WebsiteVisitor(models.Model):
|
||||
}
|
||||
|
||||
for visitor in self:
|
||||
visitor.email = mapped_data.get(visitor.user_partner_id.id, {}).get('email_normalized')
|
||||
visitor.mobile = mapped_data.get(visitor.user_partner_id.id, {}).get('mobile')
|
||||
visitor.email = mapped_data.get(visitor.partner_id.id, {}).get('email_normalized')
|
||||
visitor.mobile = mapped_data.get(visitor.partner_id.id, {}).get('mobile')
|
||||
|
||||
@api.depends('website_track_ids')
|
||||
def _compute_page_statistics(self):
|
||||
@@ -126,11 +126,11 @@ class WebsiteVisitor(models.Model):
|
||||
visitor.is_connected = (datetime.now() - last_connection_date) < timedelta(minutes=5)
|
||||
|
||||
def _prepare_visitor_send_mail_values(self):
|
||||
if self.user_partner_id.email:
|
||||
if self.partner_id.email:
|
||||
return {
|
||||
'res_model': 'res.partner',
|
||||
'res_id': self.user_partner_id.id,
|
||||
'partner_ids': [self.user_partner_id.id],
|
||||
'res_id': self.partner_id.id,
|
||||
'partner_ids': [self.partner_id.id],
|
||||
}
|
||||
return {}
|
||||
|
||||
@@ -174,10 +174,10 @@ class WebsiteVisitor(models.Model):
|
||||
|
||||
if not request.env.user._is_public():
|
||||
partner_id = request.env.user.partner_id
|
||||
if not visitor or visitor.user_partner_id != partner_id:
|
||||
if not visitor or visitor.partner_id != partner_id:
|
||||
# Partner and no cookie or wrong cookie
|
||||
visitor = Visitor.with_context(active_test=False).search([('user_partner_id', '=', partner_id.id)])
|
||||
elif visitor and visitor.user_partner_id:
|
||||
visitor = Visitor.with_context(active_test=False).search([('partner_id', '=', partner_id.id)])
|
||||
elif visitor and visitor.partner_id:
|
||||
# Cookie associated to a Partner
|
||||
visitor = Visitor
|
||||
return visitor
|
||||
@@ -236,7 +236,7 @@ class WebsiteVisitor(models.Model):
|
||||
'website_id': request.website.id,
|
||||
}
|
||||
if not self.env.user._is_public():
|
||||
vals['user_partner_id'] = self.env.user.partner_id.id
|
||||
vals['partner_id'] = self.env.user.partner_id.id
|
||||
vals['name'] = self.env.user.partner_id.name
|
||||
if website_track_values:
|
||||
vals['website_track_ids'] = [(0, 0, website_track_values)]
|
||||
|
||||
@@ -87,7 +87,7 @@
|
||||
<field name="display_name"/>
|
||||
<field name="last_visited_page_id"/>
|
||||
<field name="page_ids"/>
|
||||
<field name="user_partner_id"/>
|
||||
<field name="partner_id"/>
|
||||
<field name="partner_image"/>
|
||||
<templates>
|
||||
<t t-name="kanban-box">
|
||||
@@ -96,7 +96,7 @@
|
||||
<div class="o_kanban_detail_ungrouped row">
|
||||
<div class="o_wvisitor_kanban_image">
|
||||
<img t-if="record.partner_image.raw_value"
|
||||
t-att-src="kanban_image('res.partner', 'image_128', record.user_partner_id.raw_value)"
|
||||
t-att-src="kanban_image('res.partner', 'image_128', record.partner_id.raw_value)"
|
||||
width="54px" height="54px" alt="Visitor"/>
|
||||
<img t-else=""
|
||||
t-attf-src="/base/static/img/avatar_grey.png"
|
||||
@@ -203,7 +203,7 @@
|
||||
<group id="general_info">
|
||||
<group string="Visitor Informations">
|
||||
<field name="is_connected" invisible="1"/>
|
||||
<field name="user_partner_id" attrs="{'invisible': [('user_partner_id', '=', False)]}"/>
|
||||
<field name="partner_id" attrs="{'invisible': [('partner_id', '=', False)]}"/>
|
||||
<field name="email"/>
|
||||
<field name="mobile"/>
|
||||
<field name="country_id" attrs="{'invisible': [('country_id', '=', False)]}"/>
|
||||
@@ -261,8 +261,8 @@
|
||||
<field name="country_id"/>
|
||||
<field name="visit_count"/>
|
||||
<field name="page_ids"/>
|
||||
<filter string="Visitors" name="type_visitor" domain="[('user_partner_id', '=', False)]"/>
|
||||
<filter string="Customers" name="type_customer" domain="[('user_partner_id', '!=', False)]"/>
|
||||
<filter string="Visitors" name="type_visitor" domain="[('partner_id', '=', False)]"/>
|
||||
<filter string="Customers" name="type_customer" domain="[('partner_id', '!=', False)]"/>
|
||||
<separator/>
|
||||
<filter string="Archived" name="is_archived" domain="[('active', '=', False)]"/>
|
||||
<separator/>
|
||||
|
||||
@@ -61,7 +61,7 @@ class WebsiteForm(WebsiteForm):
|
||||
lead_sudo = request.env['crm.lead'].browse(result).sudo()
|
||||
if lead_sudo.exists():
|
||||
vals = {'lead_ids': [(4, result)]}
|
||||
if not visitor_sudo.lead_ids and not visitor_sudo.user_partner_id:
|
||||
if not visitor_sudo.lead_ids and not visitor_sudo.partner_id:
|
||||
vals['name'] = request.env['crm.lead'].browse(result).sudo().contact_name
|
||||
visitor_sudo.write(vals)
|
||||
return result
|
||||
|
||||
@@ -15,7 +15,7 @@ class WebsiteVisitor(models.Model):
|
||||
for visitor in self:
|
||||
visitor.lead_count = len(visitor.lead_ids)
|
||||
|
||||
@api.depends('user_partner_id.email_normalized', 'user_partner_id.mobile', 'lead_ids.email_normalized', 'lead_ids.mobile')
|
||||
@api.depends('partner_id.email_normalized', 'partner_id.mobile', 'lead_ids.email_normalized', 'lead_ids.mobile')
|
||||
def _compute_email_phone(self):
|
||||
super(WebsiteVisitor, self)._compute_email_phone()
|
||||
self.flush()
|
||||
@@ -25,7 +25,7 @@ class WebsiteVisitor(models.Model):
|
||||
FROM website_visitor v
|
||||
JOIN crm_lead_website_visitor_rel lv on lv.website_visitor_id = v.id
|
||||
JOIN crm_lead l ON lv.crm_lead_id = l.id
|
||||
LEFT JOIN res_partner p on p.id = v.user_partner_id
|
||||
LEFT JOIN res_partner p on p.id = v.partner_id
|
||||
WHERE v.id in %s
|
||||
ORDER BY l.create_date ASC"""
|
||||
self.env.cr.execute(sql, (tuple(self.ids),))
|
||||
@@ -48,12 +48,12 @@ class WebsiteVisitor(models.Model):
|
||||
visitor_mail_values = super(WebsiteVisitor, self)._prepare_visitor_send_mail_values()
|
||||
if self.lead_ids:
|
||||
lead = self.lead_ids._sort_by_confidence_level(reverse=True)[0]
|
||||
partner_id = self.user_partner_id.id
|
||||
if not self.user_partner_id:
|
||||
partner_id = self.partner_id.id
|
||||
if not self.partner_id:
|
||||
partner_id = lead.handle_partner_assignation()[lead.id]
|
||||
if not lead.partner_id:
|
||||
lead.partner_id = partner_id
|
||||
self.user_partner_id = partner_id
|
||||
self.partner_id = partner_id
|
||||
return {
|
||||
'res_model': 'crm.lead',
|
||||
'res_id': lead.id,
|
||||
|
||||
@@ -45,8 +45,8 @@
|
||||
<field name="inherit_id" ref="website.website_visitor_view_search"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//filter[@name='type_visitor']" position="replace">
|
||||
<filter string="Visitors" name="type_visitor" domain="[('user_partner_id', '=', False), ('lead_ids', '=', False)]"/>
|
||||
<filter string="Leads" name="type_lead" domain="[('user_partner_id', '=', False), ('lead_ids', '!=', False)]"/>
|
||||
<filter string="Visitors" name="type_visitor" domain="[('partner_id', '=', False), ('lead_ids', '=', False)]"/>
|
||||
<filter string="Leads" name="type_lead" domain="[('partner_id', '=', False), ('lead_ids', '!=', False)]"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -40,7 +40,7 @@ class MailChannel(models.Model):
|
||||
'history': self._get_visitor_history(visitor),
|
||||
'website': visitor.website_id.name,
|
||||
'lang': visitor.lang_id.name,
|
||||
'partner_id': visitor.user_partner_id.id,
|
||||
'partner_id': visitor.partner_id.id,
|
||||
}
|
||||
return list(channel_infos_dict.values())
|
||||
|
||||
|
||||
@@ -9,11 +9,11 @@ class WebsiteVisitor(models.Model):
|
||||
_inherit = 'website.visitor'
|
||||
|
||||
def _prepare_visitor_send_sms_values(self):
|
||||
if self.user_partner_id.mobile:
|
||||
if self.partner_id.mobile:
|
||||
return {
|
||||
'res_model': 'res.partner',
|
||||
'res_id': self.user_partner_id.id,
|
||||
'partner_ids': [self.user_partner_id.id],
|
||||
'res_id': self.partner_id.id,
|
||||
'partner_ids': [self.partner_id.id],
|
||||
'number_field_name': 'mobile',
|
||||
}
|
||||
return {}
|
||||
|
||||
Reference in New Issue
Block a user