[FIX] account, base_setup, sale, crm: do not create ir.values for unknown fields

This commit is contained in:
Yannick Tivisse
2017-03-15 10:49:53 +01:00
committed by Raphael Collet
parent aa68e3e0d7
commit 6027e9370d
4 changed files with 44 additions and 7 deletions
+13 -2
View File
@@ -37,9 +37,9 @@ class AccountConfigSettings(models.TransientModel):
help="Allows you to put invoices in pro-forma state.")
module_account_reports_followup = fields.Boolean("Enable payment followup management")
default_sale_tax_id = fields.Many2one('account.tax', string="Default Sale Tax",
default_model="account.config.settings", company_dependent=True, oldname="default_sale_tax")
company_dependent=True, oldname="default_sale_tax")
default_purchase_tax_id = fields.Many2one('account.tax', string="Default Purchase Tax",
default_model="account.config.settings", company_dependent=True, oldname="default_purchase_tax")
company_dependent=True, oldname="default_purchase_tax")
module_l10n_us_check_printing = fields.Boolean("Allow check printing and deposits")
module_account_batch_deposit = fields.Boolean(string='Use batch deposit',
help='This allows you to group received checks before you deposit them to the bank.\n'
@@ -56,6 +56,17 @@ class AccountConfigSettings(models.TransientModel):
module_product_margin = fields.Boolean(string="Allow Product Margin")
module_l10n_eu_service = fields.Boolean(string="EU Digital Goods VAT")
@api.model
def get_default_tax_fields(self, fields):
default_purchase_tax_id = self.env['ir.config_parameter'].sudo().get_param('account.default_purchase_tax_id', default=False)
default_sale_tax_id = self.env['ir.config_parameter'].sudo().get_param('account.default_sale_tax_id', default=False)
return dict(default_purchase_tax_id=int(default_purchase_tax_id), default_sale_tax_id=int(default_sale_tax_id))
@api.multi
def set_default_tax_fields(self):
self.env['ir.config_parameter'].sudo().set_param("account.default_purchase_tax_id", self.default_purchase_tax_id.id)
self.env['ir.config_parameter'].sudo().set_param("account.default_sale_tax_id", self.default_sale_tax_id.id)
@api.depends('company_id')
def _compute_has_chart_of_accounts(self):
self.has_chart_of_accounts = bool(self.company_id.chart_template_id)
+20 -3
View File
@@ -11,8 +11,8 @@ class BaseConfigSettings(models.TransientModel):
group_multi_company = fields.Boolean("Manage multiple companies", implied_group='base.group_multi_company')
company_id = fields.Many2one('res.company', string='Company', required=True,
default=lambda self: self.env.user.company_id)
default_user_rights = fields.Boolean("Default Access Rights", default_model='base.config.settings')
default_external_email_server = fields.Boolean("External Email Servers", default_model='base.config.settings')
default_user_rights = fields.Boolean("Default Access Rights")
default_external_email_server = fields.Boolean("External Email Servers")
module_base_import = fields.Boolean("Allow users to import data from CSV/XLS/XLSX/ODS files")
module_pad = fields.Boolean("External Pads")
module_google_calendar = fields.Boolean(
@@ -27,12 +27,29 @@ class BaseConfigSettings(models.TransientModel):
help="Share your partners to all companies defined in your instance.\n"
" * Checked : Partners are visible for every companies, even if a company is defined on the partner.\n"
" * Unchecked : Each company can see only its partner (partners where company is defined). Partners not related to a company are visible for all companies.")
default_custom_report_footer = fields.Boolean("Custom Report Footer", default_model='base.config.settings')
default_custom_report_footer = fields.Boolean("Custom Report Footer")
rml_footer = fields.Text(related="company_id.rml_footer", string='Custom Report Footer', help="Footer text displayed at the bottom of all reports.")
group_multi_currency = fields.Boolean(string='Allow multi currencies',
implied_group='base.group_multi_currency',
help="Allows to work in a multi currency environment")
@api.model
def get_default_fields(self, fields):
default_external_email_server = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_external_email_server', default=False)
default_user_rights = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_user_rights', default=False)
default_custom_report_footer = self.env['ir.config_parameter'].sudo().get_param('base_setup.default_custom_report_footer', default=False)
return {
'default_external_email_server': default_external_email_server,
'default_user_rights': default_user_rights,
'default_custom_report_footer': default_custom_report_footer,
}
@api.multi
def set_default_fields(self):
self.env['ir.config_parameter'].sudo().set_param("base_setup.default_external_email_server", self.default_external_email_server)
self.env['ir.config_parameter'].sudo().set_param("base_setup.default_user_rights", self.default_user_rights)
self.env['ir.config_parameter'].sudo().set_param("base_setup.default_custom_report_footer", self.default_custom_report_footer)
@api.multi
def open_company(self):
return {
+1 -1
View File
@@ -11,7 +11,7 @@ class CRMSettings(models.TransientModel):
help="Odoo will generate an email alias based on the sales channel name")
alias_prefix = fields.Char('Default Alias Name for Leads')
alias_domain = fields.Char('Alias Domain', default=lambda self: self.env["ir.config_parameter"].sudo().get_param("mail.catchall.domain"))
default_generate_lead_from_alias = fields.Boolean(default_model='sale.config.settings')
default_generate_lead_from_alias = fields.Boolean()
group_use_lead = fields.Boolean(string="Leads", implied_group='crm.group_use_lead')
module_crm_voip = fields.Boolean("Asterisk (VoIP)")
+10 -1
View File
@@ -8,7 +8,7 @@ class SaleConfiguration(models.TransientModel):
_inherit = 'sale.config.settings'
sale_note = fields.Text(related='company_id.sale_note', string="Terms & Conditions")
default_use_sale_note = fields.Boolean(default_model='sale.config.settings')
default_use_sale_note = fields.Boolean()
group_product_variant = fields.Boolean("Attributes & Variants",
implied_group='product.group_product_variant')
group_sale_pricelist = fields.Boolean("Use pricelists to adapt your price per customers",
@@ -83,6 +83,15 @@ class SaleConfiguration(models.TransientModel):
module_product_email_template = fields.Boolean("Specific Email")
module_sale_coupon = fields.Boolean("Manage coupons and promotional offers")
@api.model
def get_default_use_sale_note(self, fields):
default_use_sale_note = self.env['ir.config_parameter'].sudo().get_param('sale.default_use_sale_note', default=False)
return dict(default_use_sale_note=default_use_sale_note)
@api.multi
def set_default_use_sale_note(self):
self.env['ir.config_parameter'].sudo().set_param("sale.default_use_sale_note", self.default_use_sale_note)
@api.model
def get_default_sale_pricelist_setting(self, fields):
sale_pricelist_setting = self.env['ir.values'].get_default('sale.config.settings', 'sale_pricelist_setting')