2018-01-16 06:58:15 +01:00
|
|
|
# -*- coding: utf-8 -*-
|
|
|
|
|
2018-01-16 11:34:37 +01:00
|
|
|
from flectra import api, fields, models
|
|
|
|
from flectra.addons.http_routing.models.ir_http import slug
|
2018-01-16 06:58:15 +01:00
|
|
|
|
|
|
|
|
|
|
|
class WebsiteResPartner(models.Model):
|
|
|
|
_name = 'res.partner'
|
|
|
|
_inherit = ['res.partner', 'website.seo.metadata', 'website.published.mixin']
|
|
|
|
|
[IMP] Improve Multi-Website Functionalities:-
- Affected Modules:
website_sale, website_blog, website_partner, website_crm_partner_assign,
website_customer, website_slides, website_links, website_membership,
website_hr, website_hr_recruitment, website_payment, website_sale_delivery,
website_forum, website_event
- Remove unnecessary model `website.product.pricelist` from website_sale,
All its mechanism already transferd to existing model `product.pricelist`
- Change in `product.pricelist` model, make website_id(o2m) to website_ids(m2m),
As user can choose that same pricelist can be used in multiple websites
- Added `default_website` as default values in `website_ids(m2m)` & `website_id(m2o)` field in
almost all affected modules (mentioned above!!)
- To use/publish things(like... product, pricelist, blog, forum, events, etc...) in website,
User have to set `website_published` mechanism `on` (if it's available for that model/object),
Also have to set/assign different websites in `website_ids` field as per needs
2018-02-06 10:43:31 +01:00
|
|
|
def _default_website(self):
|
|
|
|
default_website_id = self.env.ref('website.default_website')
|
|
|
|
return [default_website_id.id] if default_website_id else None
|
|
|
|
|
2018-01-16 06:58:15 +01:00
|
|
|
website_description = fields.Html('Website Partner Full Description', strip_style=True)
|
|
|
|
website_short_description = fields.Text('Website Partner Short Description')
|
2017-12-25 06:39:48 +01:00
|
|
|
website_ids = fields.Many2many('website', 'website_partner_pub_rel',
|
|
|
|
'website_id', 'partner_id',
|
|
|
|
string='Websites', copy=False,
|
[IMP] Improve Multi-Website Functionalities:-
- Affected Modules:
website_sale, website_blog, website_partner, website_crm_partner_assign,
website_customer, website_slides, website_links, website_membership,
website_hr, website_hr_recruitment, website_payment, website_sale_delivery,
website_forum, website_event
- Remove unnecessary model `website.product.pricelist` from website_sale,
All its mechanism already transferd to existing model `product.pricelist`
- Change in `product.pricelist` model, make website_id(o2m) to website_ids(m2m),
As user can choose that same pricelist can be used in multiple websites
- Added `default_website` as default values in `website_ids(m2m)` & `website_id(m2o)` field in
almost all affected modules (mentioned above!!)
- To use/publish things(like... product, pricelist, blog, forum, events, etc...) in website,
User have to set `website_published` mechanism `on` (if it's available for that model/object),
Also have to set/assign different websites in `website_ids` field as per needs
2018-02-06 10:43:31 +01:00
|
|
|
default=_default_website,
|
2017-12-25 06:39:48 +01:00
|
|
|
help='List of websites in which '
|
[IMP] Improve Multi-Website Functionalities:-
- Affected Modules:
website_sale, website_blog, website_partner, website_crm_partner_assign,
website_customer, website_slides, website_links, website_membership,
website_hr, website_hr_recruitment, website_payment, website_sale_delivery,
website_forum, website_event
- Remove unnecessary model `website.product.pricelist` from website_sale,
All its mechanism already transferd to existing model `product.pricelist`
- Change in `product.pricelist` model, make website_id(o2m) to website_ids(m2m),
As user can choose that same pricelist can be used in multiple websites
- Added `default_website` as default values in `website_ids(m2m)` & `website_id(m2o)` field in
almost all affected modules (mentioned above!!)
- To use/publish things(like... product, pricelist, blog, forum, events, etc...) in website,
User have to set `website_published` mechanism `on` (if it's available for that model/object),
Also have to set/assign different websites in `website_ids` field as per needs
2018-02-06 10:43:31 +01:00
|
|
|
'Partner will published.')
|
2018-01-16 06:58:15 +01:00
|
|
|
|
|
|
|
@api.multi
|
|
|
|
def _compute_website_url(self):
|
|
|
|
super(WebsiteResPartner, self)._compute_website_url()
|
|
|
|
for partner in self:
|
|
|
|
partner.website_url = "/partners/%s" % slug(partner)
|