Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions partner_nickname/views/res_partner.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
<xpath expr="//field[@name='function']" position="before">
<field
name="nickname"
attrs="{'invisible': [('is_company', '=', True)]}"
/>
</xpath>
</field>
Expand All @@ -16,14 +15,13 @@
<field name="inherit_id" ref="base.view_partner_form" />
<field name="arch" type="xml">
<xpath expr="//span[@name='address_name']" position="before">
<field name="nickname" attrs="{'invisible': [('is_company', '=', True)]}"/>
<field name="nickname"/>
</xpath>
<xpath
expr="//field[@name='child_ids']/form//field[@name='name']"
position="after"
>
<field name="is_company" invisible="True"/>
<field name="nickname" attrs="{'invisible': [('is_company', '=', True)]}"/>
<field name="nickname"/>
</xpath>
</field>
</record>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,8 @@ def _get_membership_form_page_vals(
{
"website_privacy_levels": request.env[
"res.partner"
].website_privacy_selection()
].website_privacy_selection(),
"member_website_privacy": request.env.company.default_website_privacy,
}
)
return vals
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,14 @@ WebsiteMembershipRegistration.include({
"change select[name=member_website_privacy]": "_onWebsitePrivacyChange",
"change input[name=member_publish]": "_onWebsitePrivacyChange",
}),
/**
* @override
*/
start() {
const res = this._super(...arguments);
this._onWebsitePrivacyChange();
return res
},
/**
* @private
*/
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@
"author": "Onestein",
"license": "AGPL-3",
"website": "https://www.onestein.nl",
"depends": ["website_membership_registration_partner_privacy", "website_partner_privacy_nickname"],
"depends": [
"website_membership_registration_partner_privacy",
"website_partner_privacy_nickname",
],
"assets": {
"web.assets_frontend": [
"website_membership_registration_partner_privacy_nickname/static/src/js/website_membership_registration.js",
Expand Down
1 change: 1 addition & 0 deletions website_partner_privacy/__manifest__.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
"depends": ["website_partner"],
"data": [
"templates/portal_template.xml",
"views/res_config_settings_view.xml",
"views/res_partner.xml",
"views/website_partner_templates.xml",
],
Expand Down
2 changes: 2 additions & 0 deletions website_partner_privacy/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,2 +1,4 @@
from . import ir_qweb_field_contact
from . import res_company
from . import res_config_settings
from . import res_partner
21 changes: 21 additions & 0 deletions website_partner_privacy/models/res_company.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
from odoo import fields, models


class ResCompany(models.Model):
_inherit = "res.company"

default_website_privacy = fields.Selection(
selection=lambda r: r.env["res.partner"].website_privacy_selection(),
default="name",
required=True,
string="Default Website Privacy Level",
help="Select which option to use to display partners on Website",
)
default_show_email = fields.Boolean(default=True, help="Show/Hide Email On Website")
default_show_address = fields.Boolean(
default=True, help="Show/Hide Address On Website"
)
default_show_phone = fields.Boolean(default=True, help="Show/Hide Phone On Website")
default_show_website = fields.Boolean(
default=True, help="Show/Hide Website On Website"
)
26 changes: 26 additions & 0 deletions website_partner_privacy/models/res_config_settings.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
from odoo import fields, models


class ResConfigSetting(models.TransientModel):
_inherit = "res.config.settings"

website_privacy = fields.Selection(
related="company_id.default_website_privacy",
readonly=False,
)
show_email = fields.Boolean(
related="company_id.default_show_email",
readonly=False,
)
show_address = fields.Boolean(
related="company_id.default_show_address",
readonly=False,
)
show_phone = fields.Boolean(
related="company_id.default_show_phone",
readonly=False,
)
show_website = fields.Boolean(
related="company_id.default_show_website",
readonly=False,
)
25 changes: 19 additions & 6 deletions website_partner_privacy/models/res_partner.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,32 @@ class ResPartner(models.Model):

website_privacy = fields.Selection(
selection="website_privacy_selection",
default="name",
required=True,
string="Website Privacy Level",
help="Select which option to use to display partners on Website",
)
show_email = fields.Boolean(default=False, help="Show/Hide Email On Website")
show_address = fields.Boolean(default=False, help="Show/Hide Address On Website")
show_phone = fields.Boolean(default=False, help="Show/Hide Phone On Website")
show_website = fields.Boolean(default=False, help="Show/Hide Website On Website")
show_email = fields.Boolean(help="Show/Hide Email On Website")
show_address = fields.Boolean(help="Show/Hide Address On Website")
show_phone = fields.Boolean(help="Show/Hide Phone On Website")
show_website = fields.Boolean(help="Show/Hide Website On Website")

def website_privacy_selection(self):
return [("anonymous", "Stay Anonymous"), ("name", "Use Name")]

@api.model
def default_get(self, fields_list):
result = super(ResPartner, self).default_get(fields_list)
company = self.env.company
result.update(
{
"website_privacy": company.default_website_privacy,
"show_email": company.default_show_email,
"show_address": company.default_show_address,
"show_phone": company.default_show_phone,
"show_website": company.default_show_website,
}
)
return result

@api.model_create_multi
def create(self, values_list):
for vals in values_list:
Expand Down
90 changes: 90 additions & 0 deletions website_partner_privacy/views/res_config_settings_view.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
<odoo>
<record id="res_config_settings_view_form" model="ir.ui.view">
<field name="name">Add Default Website Privacy Levels and Other Settings</field>
<field name="model">res.config.settings</field>
<field name="inherit_id" ref="base_setup.res_config_settings_view_form" />
<field name="arch" type="xml">
<xpath expr="//div[@id='companies']" position='after'>
<h2>Partner Privacy</h2>
<div class="row mt16 o_settings_container" name="partner_privacy">
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane" />
<div class="o_setting_right_pane">
<div class="row" name="website_privacy">
<label
for="website_privacy"
class="col-md-5"
/>
<field name="website_privacy" required="1"/>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="show_email"/>
</div>
<div class="o_setting_right_pane">
<div class="row" name="show_email">
<label
for="show_email"
class="col-md-5"
/>
<div class="text-muted">
Define the default value to show/hide email on website
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="show_address"/>
</div>
<div class="o_setting_right_pane">
<div class="row" name="show_address">
<label
for="show_address"
class="col-md-5"
/>
<div class="text-muted">
Define the default value to show/hide address on website
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="show_phone"/>
</div>
<div class="o_setting_right_pane">
<div class="row" name="show_phone">
<label
for="show_phone"
class="col-md-5"
/>
<div class="text-muted">
Define the default value to show/hide phone on website
</div>
</div>
</div>
</div>
<div class="col-xs-12 col-md-6 o_setting_box">
<div class="o_setting_left_pane">
<field name="show_website"/>
</div>
<div class="o_setting_right_pane">
<div class="row" name="show_website">
<label
for="show_website"
class="col-md-5"
/>
<div class="text-muted">
Define the default value to show/hide Website on website
</div>
</div>
</div>
</div>
</div>
</xpath>
</field>
</record>
</odoo>
10 changes: 3 additions & 7 deletions website_partner_privacy/views/res_partner.xml
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
<xpath expr="//field[@name='function']" position="after">
<field
name="website_privacy"
attrs="{'invisible': [('is_company', '=', True)]}"
required="1"
/>
</xpath>
</field>
Expand All @@ -17,27 +17,23 @@
<field name="inherit_id" ref="base.view_partner_form"/>
<field name="arch" type="xml">
<xpath expr="//notebook" position="inside">
<page name="privacy" string="Privacy" attrs="{'invisible': [('is_company', '=', True)]}">
<page name="privacy" string="Privacy">
<group name="Website Privacy Settings">
<field
name="website_privacy"
attrs="{'invisible': [('is_company', '=', True)]}"
required="1"
/>
<field
name="show_email"
attrs="{'invisible': [('is_company', '=', True)]}"
/>
<field
name="show_address"
attrs="{'invisible': [('is_company', '=', True)]}"
/>
<field
name="show_phone"
attrs="{'invisible': [('is_company', '=', True)]}"
/>
<field
name="show_website"
attrs="{'invisible': [('is_company', '=', True)]}"
/>
</group>
</page>
Expand Down
Loading