diff --git a/addons/account/models/res_config.py b/addons/account/models/res_config.py
index b072f6258bc..2408e5d0bc5 100644
--- a/addons/account/models/res_config.py
+++ b/addons/account/models/res_config.py
@@ -72,6 +72,16 @@ class AccountConfigSettings(models.TransientModel):
module_account_accountant = fields.Boolean(string='Full accounting features: journals, legal statements, chart of accounts, etc.',
help="""If you do not check this box, you will be able to do invoicing & payments,
but not accounting (Journal Items, Chart of Accounts, ...)""")
+ module_account_reports = fields.Boolean("Use dynamic reports for the accounting")
+ group_multi_currency = fields.Boolean(string='Allow multi currencies',
+ implied_group='base.group_multi_currency',
+ help="Allows you multi currency environment")
+ group_analytic_accounting = fields.Boolean(string='Analytic accounting',
+ implied_group='analytic.group_analytic_accounting',
+ help="Allows you to use the analytic accounting.")
+ currency_exchange_journal_id = fields.Many2one('account.journal',
+ related='company_id.currency_exchange_journal_id',
+ string="Rate Difference Journal",)
module_account_asset = fields.Boolean(string='Assets management & Revenue recognition',
help='Asset management: This allows you to manage the assets owned by a company or a person. '
'It keeps track of the depreciation occurred on those assets, and creates account move for those depreciation lines.\n\n'
@@ -86,20 +96,39 @@ class AccountConfigSettings(models.TransientModel):
'-This installs the module account_budget.')
module_account_tax_cash_basis = fields.Boolean(string="Allow Tax Cash Basis",
help='Generate tax cash basis entrie when reconciliating entries')
+
group_proforma_invoices = fields.Boolean(string='Allow pro-forma invoices',
implied_group='account.group_proforma_invoices',
help="Allows you to put invoices in pro-forma state.")
+ module_account_reports_followup = fields.Boolean("Enable payment followup management",
+ help='This allows to automate letters for unpaid invoices, with multi-level recalls.\n'
+ '-This installs the module account_reports_followup.')
+
default_sale_tax_id = fields.Many2one('account.tax', string="Default Sale Tax", help="This sale tax will be assigned by default on new products.", oldname="default_sale_tax")
default_purchase_tax_id = fields.Many2one('account.tax', string="Default Purchase Tax", help="This purchase tax will be assigned by default on new products.", oldname="default_purchase_tax")
- group_multi_currency = fields.Boolean(string='Allow multi currencies',
- implied_group='base.group_multi_currency',
- help="Allows you multi currency environment")
- group_analytic_accounting = fields.Boolean(string='Analytic accounting',
- implied_group='analytic.group_analytic_accounting',
- help="Allows you to use the analytic accounting.")
- currency_exchange_journal_id = fields.Many2one('account.journal',
- related='company_id.currency_exchange_journal_id',
- string="Rate Difference Journal",)
+
+ 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'
+ '-This installs the module account_batch_deposit.')
+ module_account_sepa = fields.Boolean(string='Use SEPA payments',
+ help='If you check this box, you will be able to register your payment using SEPA.\n'
+ '-This installs the module account_sepa.')
+
+ module_account_plaid = fields.Boolean(string="Import from Plaid.com",
+ help='Get your bank statements from you bank and import them through plaid.com.\n'
+ '-that installs the module account_plaid.')
+ module_account_yodlee = fields.Boolean("Import from Yodlee.com",
+ help='Get your bank statements from you bank and import them through yodlee.com.\n'
+ '-that installs the module account_yodlee.')
+ module_account_bank_statement_import_qif = fields.Boolean("Import .qif files",
+ help='Get your bank statements from your bank and import them in Odoo in the .QIF format.\n'
+ 'This installs the module account_bank_statement_import_qif.')
+ module_account_bank_statement_import_ofx = fields.Boolean("Import in .ofx format",
+ help='Get your bank statements from your bank and import them in Odoo in the .OFX format.\n'
+ 'This installs the module account_bank_statement_import_ofx.')
+
@api.model
def _default_has_default_company(self):
diff --git a/addons/account/views/res_config_view.xml b/addons/account/views/res_config_view.xml
index f33f2253f22..eb57df8d0e1 100644
--- a/addons/account/views/res_config_view.xml
+++ b/addons/account/views/res_config_view.xml
@@ -109,6 +109,10 @@
+
+
+
+
@@ -138,7 +142,7 @@
-
+
@@ -146,6 +150,10 @@
+
+
+
+
@@ -165,6 +173,15 @@
+
+
+
+
+
+
+
+
+
@@ -177,9 +194,38 @@
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/addons/crm/res_config.py b/addons/crm/res_config.py
index b1188e30106..d397d9c7906 100644
--- a/addons/crm/res_config.py
+++ b/addons/crm/res_config.py
@@ -19,7 +19,10 @@ class crm_configuration(osv.TransientModel):
(0, "Each mail sent to the alias creates a new opportunity"),
(1, "Use leads if you need a qualification step before creating an opportunity or a customer")
], "Leads",
- implied_group='crm.group_use_lead')
+ implied_group='crm.group_use_lead'),
+ 'module_crm_voip': fields.boolean("VoIP integration",
+ help="Integration with Asterisk"),
+ 'module_website_sign': fields.boolean("Online document signature"),
}
_defaults = {
diff --git a/addons/crm/res_config_view.xml b/addons/crm/res_config_view.xml
index a8ec8960811..cc862845ff1 100644
--- a/addons/crm/res_config_view.xml
+++ b/addons/crm/res_config_view.xml
@@ -30,6 +30,8 @@
+
+
diff --git a/addons/mass_mailing/models/res_config.py b/addons/mass_mailing/models/res_config.py
index 2e14967bf7f..3e8be6dcf13 100644
--- a/addons/mass_mailing/models/res_config.py
+++ b/addons/mass_mailing/models/res_config.py
@@ -19,4 +19,5 @@ class MassMailingConfiguration(osv.TransientModel):
(1, 'Allow the use of a pop-up snippet on website to encourage visitors to sign up on a mass mailing list')
], string="Website Pop-up",
implied_group="mass_mailing.group_website_popup_on_exit"),
+ 'module_mass_mailing_themes': fields.boolean("Mass mailing themes"),
}
diff --git a/addons/mass_mailing/views/res_config.xml b/addons/mass_mailing/views/res_config.xml
index 1fe1a3d8007..175cdc1b86c 100644
--- a/addons/mass_mailing/views/res_config.xml
+++ b/addons/mass_mailing/views/res_config.xml
@@ -12,6 +12,7 @@
+
diff --git a/addons/point_of_sale/res_config.py b/addons/point_of_sale/res_config.py
index 9eaca64c939..0b8dfe62cb6 100644
--- a/addons/point_of_sale/res_config.py
+++ b/addons/point_of_sale/res_config.py
@@ -10,6 +10,8 @@ class pos_configuration(osv.TransientModel):
(1, "Restaurant: activate table management")
], "Restaurant",
help='This module adds several restaurant features to the Point of Sale: \n\n- Bill Printing: Allows you to print a receipt before the order is paid \n\n- Bill Splitting: Allows you to split an order into different orders \n\n- Kitchen Order Printing: allows you to print orders updates to kitchen or bar printers'),
+ 'module_pos_loyalty': fields.boolean("Loyalty Program",
+ help='Allows you to define a loyalty program in the point of sale, where the customers earn loyalty points and get rewards'),
'module_pos_discount': fields.selection([
(0, "Allow discounts on order lines only"),
(1, "Allow global discounts")
diff --git a/addons/point_of_sale/res_config_view.xml b/addons/point_of_sale/res_config_view.xml
index a2f0cc45ddd..43aa9dd4b99 100644
--- a/addons/point_of_sale/res_config_view.xml
+++ b/addons/point_of_sale/res_config_view.xml
@@ -12,13 +12,14 @@
+
-
-
+
+
Configure Point of Salepos.config.settings
diff --git a/addons/portal_sale/__init__.py b/addons/portal_sale/__init__.py
index 656d549df45..36a2243f520 100644
--- a/addons/portal_sale/__init__.py
+++ b/addons/portal_sale/__init__.py
@@ -3,4 +3,3 @@
import mail_mail
import portal_sale
-import res_config
diff --git a/addons/portal_sale/__openerp__.py b/addons/portal_sale/__openerp__.py
index 557ce73871f..aaf13bbca44 100644
--- a/addons/portal_sale/__openerp__.py
+++ b/addons/portal_sale/__openerp__.py
@@ -30,7 +30,6 @@ by default, you simply need to configure a Paypal account in the Accounting/Invo
'security/portal_security.xml',
'portal_sale_view.xml',
'portal_sale_data.xml',
- 'res_config_view.xml',
'security/ir.model.access.csv',
],
'auto_install': True,
diff --git a/addons/portal_sale/res_config.py b/addons/portal_sale/res_config.py
deleted file mode 100644
index 65c19f47e87..00000000000
--- a/addons/portal_sale/res_config.py
+++ /dev/null
@@ -1,14 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from openerp.osv import fields, osv
-
-class sale_portal_config_settings(osv.TransientModel):
- _inherit = 'account.config.settings'
-
- _columns = {
- 'group_payment_options': fields.boolean('Show payment buttons to employees too',
- implied_group='portal_sale.group_payment_options',
- help="Show online payment options on Sale Orders and Customer Invoices to employees. "
- "If not checked, these options are only visible to portal users."),
- }
\ No newline at end of file
diff --git a/addons/portal_sale/res_config_view.xml b/addons/portal_sale/res_config_view.xml
deleted file mode 100644
index 00b83c6f1a5..00000000000
--- a/addons/portal_sale/res_config_view.xml
+++ /dev/null
@@ -1,27 +0,0 @@
-
-
-
-
-
- account.config.settings
-
-
-
-
-
-
-
-
-
-
-
- account.config.settings
-
-
-
- 0
-
-
-
-
-
diff --git a/addons/portal_sale/security/portal_security.xml b/addons/portal_sale/security/portal_security.xml
index f420997fa1e..bf172ee7be8 100644
--- a/addons/portal_sale/security/portal_security.xml
+++ b/addons/portal_sale/security/portal_security.xml
@@ -2,18 +2,6 @@
-
- View Online Payment Options
-
- Members of this group see the online payment options
-on Sale Orders and Customer Invoices. These options are meant for customers who are accessing
-their documents through the portal.
-
-
-
-
-
-
Portal Personal Quotations/Sales Orders
diff --git a/addons/project/res_config.py b/addons/project/res_config.py
index 9bf28db4e8b..323642636ad 100644
--- a/addons/project/res_config.py
+++ b/addons/project/res_config.py
@@ -54,6 +54,9 @@ class project_configuration(osv.osv_memory):
(1, "Automatically generate an email alias at the project creation")
], "Project Alias",
help="Odoo will generate an email alias at the project creation from project name."),
+ 'module_project_timesheet_synchro': fields.boolean("Awesome Timesheet",
+ help="Timesheet App for Chrome/Android/iOS"),
+ 'module_project_forecast': fields.boolean("Forecasts and Planning"),
}
def onchange_time_estimation_project_timesheet(self, cr, uid, ids, group_time_work_estimation_tasks):
diff --git a/addons/project/res_config_view.xml b/addons/project/res_config_view.xml
index 6e7f046ba0a..bc871c8bfe4 100644
--- a/addons/project/res_config_view.xml
+++ b/addons/project/res_config_view.xml
@@ -28,6 +28,10 @@
+
+
+
+
diff --git a/addons/sale/res_config.py b/addons/sale/res_config.py
index 11435e28b99..11c83ec1e8a 100644
--- a/addons/sale/res_config.py
+++ b/addons/sale/res_config.py
@@ -72,6 +72,9 @@ class sale_configuration(osv.TransientModel):
(0, "Allow to edit sales order from the 'Sales Order' menu (not from the Quotation menu)"),
(1, "Never allow to modify a confirmed sale order")
], "Sale Order Modification"),
+ 'module_sale_contract': fields.boolean("Subscriptions and recurring revenue"),
+ 'module_website_sale_digital': fields.boolean("Sell digital products"),
+ 'module_website_portal': fields.boolean("Customer portal"),
}
_defaults = {
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index 811dad1bd96..e6a38790398 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -21,6 +21,7 @@
+
@@ -31,6 +32,10 @@
+
+
+
+
diff --git a/addons/stock/res_config.py b/addons/stock/res_config.py
index cc1700b7262..35d269e1bcb 100644
--- a/addons/stock/res_config.py
+++ b/addons/stock/res_config.py
@@ -157,6 +157,11 @@ class stock_config_settings(osv.osv_memory):
(1, "Adapt lead times using the suppliers' open days calendars (advanced)")
], "Minimum Stock Rules",
help='This allows you to handle minimum stock rules differently by the possibility to take into account the purchase and delivery calendars \n-This installs the module stock_calendar.'),
+ 'module_stock_barcode': fields.boolean("Barcode Support"),
+ 'module_delivery_dhl': fields.boolean("DHL integration"),
+ 'module_delivery_fedex': fields.boolean("Fedex integration"),
+ 'module_delivery_ups': fields.boolean("UPS integration"),
+ 'module_delivery_usps': fields.boolean("USPS integration"),
}
def onchange_adv_location(self, cr, uid, ids, group_stock_adv_location, context=None):
diff --git a/addons/stock/res_config_view.xml b/addons/stock/res_config_view.xml
index 1b64aff97fa..86b5a819b7f 100644
--- a/addons/stock/res_config_view.xml
+++ b/addons/stock/res_config_view.xml
@@ -26,6 +26,13 @@
+
+
+
+
+
+
+
diff --git a/addons/web/static/src/js/views/form_widgets.js b/addons/web/static/src/js/views/form_widgets.js
index 0a1f35ffd68..958ed51706f 100644
--- a/addons/web/static/src/js/views/form_widgets.js
+++ b/addons/web/static/src/js/views/form_widgets.js
@@ -1629,6 +1629,80 @@ var FieldToggleBoolean = common.AbstractField.extend({
},
});
+/**
+ This widget is intended to be used in config settings.
+ When checked, an upgrade popup is showed to the user.
+*/
+var UpgradeBoolean = FieldBoolean.extend({
+ template: "FieldUpgradeBoolean",
+ events: {
+ 'click input': 'click_on_input',
+ },
+
+ init: function() {
+ this._super.apply(this, arguments);
+ },
+
+ click_on_input: function(event) {
+ var self = this;
+
+ if(this.$checkbox.prop("checked")) {
+
+ var message = _t('You need to upgrade to Odoo Enterprise to activate this feature.');
+
+ var buttons = [
+ {
+ text: _t("Upgrade now"),
+ classes: 'btn-primary',
+ close: true,
+ click: this.confirm_upgrade,
+ },
+ {
+ text: _t("Cancel"),
+ close: true,
+ },
+ ];
+
+ var dialog = new Dialog(this, {
+ size: 'medium',
+ buttons: buttons,
+ $content: $('