diff options
| author | Yannick Tivisse <yti@odoo.com> | 2017-08-01 10:17:41 +0200 |
|---|---|---|
| committer | Yannick Tivisse <yti@odoo.com> | 2017-08-11 13:57:30 +0200 |
| commit | 8cc216b6597a42a00dd07b2f52a7b730e3fc85df (patch) | |
| tree | 4b3ca2489d153389c67fb8c7ca96a7f5ab17e34a | |
| parent | 2a45fbe3d27b78f48af4a2f70343141b4e0c0a0b (diff) | |
[IMP] account: Split clearly the accounting & invoicing applications
PURPOSE
=======
1) Have a clear split between the invoicing and the accounting apps
2) Have a clear split between the community and the enterprise version (no accounting in community)
SPECIFICATION
=============
(1) When only invoicing installed, we shouldn't see accounts (for community and enterprise)
(a) Perpetual Inventory Valuation:
- Hide the field inventory valuation from the product category
(b) Taxes
- No accounts
- No cash basis option
- No tax adjustment
(2) Remove from Community, modules:
- Accounting
- Budgets
- Assets
(3) No account_report in community, keep PDF reports for
- sale/purchase journal
- Aged partner balance
- Partner Ledger
(4) Clean split between invoicing and accounting in enterprise
(a) When installing invoicing, I shouldn't have access to accounting just by changing my access right to adviser
(b) Menus (when only invoicing installed)
- Sales
- Customer Invoices
- Customer Credit Notes
- Payments
- Customer Statements
- Customers
- Sellable Products
- Purchases
- Vendor Bills
- Vendor Credit Notes
- Payments
- Vendors
- Purchasable Products
- Reporting
- Partner Reports
- Partner Ledger
- Aged Receivable
- Aged Payable
- Audit Reports
- Tax report
- Management
- Invoices
- Product Margins
- Configuration
- Settings
- Products
- Products
- Accounting
- Taxes
- Fiscal Positions
- Bank Accounts
- Journals
- Management
- Payment Terms
- Follow-up levels
- Payments
- Payment Acquirers
(c) Settings (when only invoicing installed)
- Fiscal Localization
- Taxes
- Default Taxes
- Rounding Method
- TaxCloud connection
- TaxCloud Categories
- EU Digital Goods VAT
- VIES VAT CHECK
- Currencies
- Main currency
- Multi-currencies
- Invoicing
- Warnings
- Docsaway
- Customer Payments
- Follow-up levels
- Payment Followup
- Bills Payment
- Bank & Cash
- Analytics
- Margin
- Automated Entries
Remarks
- Test with the different access rights
37 files changed, 347 insertions, 231 deletions
diff --git a/addons/account/demo/account_demo.xml b/addons/account/demo/account_demo.xml index 049c4462e9a..8f2f139f4b9 100644 --- a/addons/account/demo/account_demo.xml +++ b/addons/account/demo/account_demo.xml @@ -35,7 +35,7 @@ </record> <record id="base.user_demo" model="res.users"> - <field name="groups_id" eval="[(4,ref('account.group_account_user'))]"/> + <field name="groups_id" eval="[(4,ref('account.group_account_invoice'))]"/> </record> <!-- Add Payment terms on some demo partners --> diff --git a/addons/account/models/account_invoice.py b/addons/account/models/account_invoice.py index e614b944287..5d92702c0bd 100644 --- a/addons/account/models/account_invoice.py +++ b/addons/account/models/account_invoice.py @@ -193,6 +193,8 @@ class AccountInvoice(models.Model): 'position': currency_id.position, 'date': payment.date, 'payment_id': payment.id, + 'account_payment_id': payment.payment_id.id, + 'invoice_id': payment.invoice_id.id, 'move_id': payment.move_id.id, 'ref': payment_ref, }) diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml index ee545e04eb9..0502c7dcc68 100644 --- a/addons/account/report/account_invoice_report_view.xml +++ b/addons/account/report/account_invoice_report_view.xml @@ -125,7 +125,7 @@ <act_window id="act_account_invoice_partner_relation" name="Monthly Turnover" - groups="group_account_manager" + groups="account.group_account_manager" context="{'search_default_partner_id':[active_id], 'search_default_month':1,'search_default_user':1,'group_by_no_leaf':1,'group_by':[]}" res_model="account.invoice.report" src_model="res.partner" diff --git a/addons/account/static/src/js/account_payment_field.js b/addons/account/static/src/js/account_payment_field.js index fb038f3e642..4745f23e648 100644 --- a/addons/account/static/src/js/account_payment_field.js +++ b/addons/account/static/src/js/account_payment_field.js @@ -68,6 +68,8 @@ var ShowPaymentLineWidget = AbstractField.extend({ payment_id: content.payment_id, move_id: content.move_id, ref: content.ref, + account_payment_id: content.account_payment_id, + invoice_id: content.invoice_id, })); $content.filter('.js_unreconcile_payment').on('click', self._onRemoveMoveReconcile.bind(self)); $content.filter('.js_open_payment').on('click', self._onOpenPayment.bind(self)); @@ -93,13 +95,27 @@ var ShowPaymentLineWidget = AbstractField.extend({ * @param {MouseEvent} event */ _onOpenPayment: function (event) { + var invoiceId = parseInt($(event.target).attr('invoice-id')); + var paymentId = parseInt($(event.target).attr('payment-id')); var moveId = parseInt($(event.target).attr('move-id')); - if (moveId !== undefined && !isNaN(moveId)){ - //Open form view of account.move with id = move_id + var res_model; + var id; + if (invoiceId !== undefined && !isNaN(invoiceId)){ + res_model = "account.invoice"; + id = invoiceId; + } else if (paymentId !== undefined && !isNaN(paymentId)){ + res_model = "account.payment"; + id = paymentId; + } else if (moveId !== undefined && !isNaN(moveId)){ + res_model = "account.move"; + id = moveId; + } + //Open form view of account.move with id = move_id + if (res_model && id) { this.do_action({ type: 'ir.actions.act_window', - res_model: 'account.move', - res_id: moveId, + res_model: res_model, + res_id: id, views: [[false, 'form']], target: 'current' }); diff --git a/addons/account/static/src/xml/account_payment.xml b/addons/account/static/src/xml/account_payment.xml index a8c3c5e6896..88d0ae3c3d0 100644 --- a/addons/account/static/src/xml/account_payment.xml +++ b/addons/account/static/src/xml/account_payment.xml @@ -79,7 +79,7 @@ </table> </div> <button class="btn btn-xs btn-primary js_unreconcile_payment pull-left" t-att-payment-id="payment_id" style="margin-top:5px; margin-bottom:5px;">Unreconcile</button> - <button class="btn btn-xs btn-default js_open_payment pull-right" t-att-move-id="move_id" style="margin-top:5px; margin-bottom:5px;">Open Payment</button> + <button class="btn btn-xs btn-default js_open_payment pull-right" t-att-payment-id="account_payment_id" t-att-invoice-id="invoice_id" t-att-move-id="move_id" style="margin-top:5px; margin-bottom:5px;">Open</button> </t> </templates> diff --git a/addons/account/tests/account_test_users.py b/addons/account/tests/account_test_users.py index 5b5bde0a9cc..caa17a9a821 100644 --- a/addons/account/tests/account_test_users.py +++ b/addons/account/tests/account_test_users.py @@ -11,7 +11,7 @@ class AccountTestUsers(AccountingTestCase): self.main_company = self.env.ref('base.main_company') self.main_partner = self.env.ref('base.main_partner') self.main_bank = self.env.ref('base.res_bank_1') - res_users_account_user = self.env.ref('account.group_account_user') + res_users_account_user = self.env.ref('account.group_account_invoice') res_users_account_manager = self.env.ref('account.group_account_manager') partner_manager = self.env.ref('base.group_partner_manager') self.tax_model = self.env['account.tax'] diff --git a/addons/account/views/account_config_settings_views.xml b/addons/account/views/account_config_settings_views.xml index fd30bb12837..5ae93504618 100644 --- a/addons/account/views/account_config_settings_views.xml +++ b/addons/account/views/account_config_settings_views.xml @@ -22,40 +22,40 @@ <field name="company_id" invisible="1"/> <field name="has_chart_of_accounts" invisible="1"/> <field name="has_accounting_entries" invisible="1"/> - <h2>Fiscal Localization</h2> - <div class="row mt16 o_settings_container"> - <div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible': [('has_chart_of_accounts','!=',False)]}"> - <div class="o_setting_left_pane"/> - <div class="o_setting_right_pane"> - <label string="Fiscal Localization"/> - <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> - <div class="text-muted"> - Taxes, fiscal positions, chart of accounts & legal statements for your country - </div> - <div class="content-group"> - <div class="row mt16"> - <label string="Package" class="col-md-3 o_light_label"/> - <field name="chart_template_id" widget="selection"/> + <h2>Fiscal Localization</h2> + <div class="row mt16 o_settings_container"> + <div class="col-xs-12 col-md-6 o_setting_box" attrs="{'invisible': [('has_chart_of_accounts','!=',False)]}"> + <div class="o_setting_left_pane"/> + <div class="o_setting_right_pane"> + <label string="Fiscal Localization"/> + <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> + <div class="text-muted"> + Taxes, fiscal positions, chart of accounts & legal statements for your country </div> - <div> - <button name="%(account.open_account_charts_modules)d" icon="fa-arrow-right" type="action" string="Install More Packages" class="btn-link"/> + <div class="content-group"> + <div class="row mt16"> + <label string="Package" class="col-md-3 o_light_label"/> + <field name="chart_template_id" widget="selection"/> + </div> + <div> + <button name="%(account.open_account_charts_modules)d" icon="fa-arrow-right" type="action" string="Install More Packages" class="btn-link"/> + </div> </div> </div> </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box"> - <div class="o_setting_left_pane"/> - <div class="o_setting_right_pane"> - <label string="Chart of Accounts"/> - <div class="content-group"> - <div class="row mt16"> - <label string="# of digits on accounts" class="col-md-4 o_light_label"/> - <field name="code_digits"/> + <div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user"> + <div class="o_setting_left_pane"/> + <div class="o_setting_right_pane"> + <label string="Chart of Accounts"/> + <div class="content-group"> + <div class="row mt16"> + <label string="# of digits on accounts" class="col-md-4 o_light_label"/> + <field name="code_digits"/> + </div> </div> </div> </div> </div> - </div> <h2>Taxes</h2> <div class="row mt16 o_settings_container"> <div class="col-xs-12 col-md-6 o_setting_box" title="These taxes are set in any new product created."> @@ -112,7 +112,7 @@ </div> </div> </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="Select this if the taxes should use cash basis, which will create an entry for such taxes on a given account during reconciliation."> + <div class="col-xs-12 col-md-6 o_setting_box" title="Select this if the taxes should use cash basis, which will create an entry for such taxes on a given account during reconciliation." groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="use_cash_basis"/> </div> @@ -135,7 +135,7 @@ <div class="row mt16 o_settings_container" id="accounting_reports"> <div class="col-xs-12 col-md-6 o_setting_box" id="account_accountant" title="If you do not check this box, you will be able to do invoicing & payments, but not accounting (Journal Items, Chart of Accounts, ...)."> <div class="o_setting_left_pane"> - <field name="module_account_accountant"/> + <field name="module_account_accountant" widget="upgrade_boolean"/> </div> <div class="o_setting_right_pane"> <label for="module_account_accountant"/> @@ -145,7 +145,7 @@ </div> </div> <div class="col-xs-12 col-md-6 o_setting_box" id="fiscalyear" invisible="1"/> - <div class="col-xs-12 col-md-6 o_setting_box" id="dynamic_report" invisible="1"> + <div class="col-xs-12 col-md-6 o_setting_box" id="dynamic_report" invisible="1" groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="module_account_reports" widget="upgrade_boolean"/> </div> @@ -225,7 +225,7 @@ </div> </div> </div> - <div class="col-xs-12 col-md-6 o_setting_box"> + <div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="module_account_batch_deposit" widget="upgrade_boolean"/> </div> @@ -238,94 +238,96 @@ </div> </div> - <h2>Bills Payment</h2> - <div class="row mt16 o_settings_container"> - <div class="col-xs-12 col-md-6 o_setting_box"> - <div class="o_setting_left_pane"> - <field name="module_l10n_us_check_printing" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label string="Checks" for="module_l10n_us_check_printing"/> - <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> - <div class="text-muted" id="print_bills_payment"> - Print checks to pay your vendors + <t groups="account.group_account_user"> + <h2>Bills Payment</h2> + <div class="row mt16 o_settings_container"> + <div class="col-xs-12 col-md-6 o_setting_box"> + <div class="o_setting_left_pane"> + <field name="module_l10n_us_check_printing" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="Checks" for="module_l10n_us_check_printing"/> + <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> + <div class="text-muted" id="print_bills_payment"> + Print checks to pay your vendors + </div> </div> </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="If you check this box, you will be able to register your payment using SEPA."> - <div class="o_setting_left_pane"> - <field name="module_account_sepa" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane" name="sepa_right_pane"> - <label string="SEPA Payments" for="module_account_sepa"/> - <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> - <div class="text-muted"> - Pay your bills in one-click, using Euro SEPA service + <div class="col-xs-12 col-md-6 o_setting_box" title="If you check this box, you will be able to register your payment using SEPA."> + <div class="o_setting_left_pane"> + <field name="module_account_sepa" widget="upgrade_boolean"/> </div> - </div> - </div> - </div> - <h2>Bank & Cash</h2> - <div class="row mt16 o_settings_container" id="bank_cash"> - <div class="col-xs-12 col-md-6 o_setting_box" id="account_yodlee" title="Get your bank statements automatically imported every 4 hours, or in one-click, using Yodlee and Plaid services. Once installed, set “Bank Feeds” to “Bank Synchronization” in bank account settings. Then, click “Configure” on the online account to enter your bank credentials."> - <div class="o_setting_left_pane"> - <field name="module_account_yodlee" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label string="Automatic Import"/> - <div class="text-muted"> - Import your bank statements automatically + <div class="o_setting_right_pane" name="sepa_right_pane"> + <label string="SEPA Payments" for="module_account_sepa"/> + <span class="fa fa-lg fa-building-o" title="Values set here are company-specific." groups="base.group_multi_company"/> + <div class="text-muted"> + Pay your bills in one-click, using Euro SEPA service + </div> </div> </div> </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> - <div class="o_setting_left_pane"> - <field name="module_account_bank_statement_import_csv" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label string="CSV Import"/> - <div class="text-muted"> - Import your bank statements in CSV + <h2>Bank & Cash</h2> + <div class="row mt16 o_settings_container" id="bank_cash"> + <div class="col-xs-12 col-md-6 o_setting_box" id="account_yodlee" title="Get your bank statements automatically imported every 4 hours, or in one-click, using Yodlee and Plaid services. Once installed, set “Bank Feeds” to “Bank Synchronization” in bank account settings. Then, click “Configure” on the online account to enter your bank credentials."> + <div class="o_setting_left_pane"> + <field name="module_account_yodlee" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="Automatic Import"/> + <div class="text-muted"> + Import your bank statements automatically + </div> </div> </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> - <div class="o_setting_left_pane"> - <field name="module_account_bank_statement_import_qif" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label string="QIF Import"/> - <div class="text-muted"> - Import your bank statements in QIF + <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> + <div class="o_setting_left_pane"> + <field name="module_account_bank_statement_import_csv" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="CSV Import"/> + <div class="text-muted"> + Import your bank statements in CSV + </div> </div> </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> - <div class="o_setting_left_pane"> - <field name="module_account_bank_statement_import_ofx" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label string="OFX Import"/> - <div class="text-muted"> - Import your bank statements in OFX + <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> + <div class="o_setting_left_pane"> + <field name="module_account_bank_statement_import_qif" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="QIF Import"/> + <div class="text-muted"> + Import your bank statements in QIF + </div> </div> </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> - <div class="o_setting_left_pane"> - <field name="module_account_bank_statement_import_camt" widget="upgrade_boolean"/> + <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> + <div class="o_setting_left_pane"> + <field name="module_account_bank_statement_import_ofx" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="OFX Import"/> + <div class="text-muted"> + Import your bank statements in OFX + </div> + </div> </div> - <div class="o_setting_right_pane"> - <label string="CAMT Import"/> - <div class="text-muted"> - Import your bank statements in CAMT.053 + <div class="col-xs-12 col-md-6 o_setting_box" title="Once installed, set 'Bank Feeds' to 'File Import' in bank account settings.This adds a button to import from the Accounting dashboard."> + <div class="o_setting_left_pane"> + <field name="module_account_bank_statement_import_camt" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label string="CAMT Import"/> + <div class="text-muted"> + Import your bank statements in CAMT.053 + </div> </div> </div> </div> - </div> + </t> <h2>Analytics</h2> <div class="row mt16 o_settings_container" id="analytic"> - <div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to use the analytic accounting."> + <div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to use the analytic accounting." groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="group_analytic_accounting"/> </div> @@ -344,7 +346,7 @@ </div> </div> </div> - <div class="col-xs-12 col-md-6 o_setting_box" id="account_budget" title="This allows accountants to manage analytic and crossovered budgets. Once the master budgets and the budgets are defined, the project managers can set the planned amount on each analytic account."> + <div class="col-xs-12 col-md-6 o_setting_box" id="account_budget" title="This allows accountants to manage analytic and crossovered budgets. Once the master budgets and the budgets are defined, the project managers can set the planned amount on each analytic account." groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="module_account_budget"/> </div> @@ -397,6 +399,41 @@ </div> </div> </div> + <h2 groups="account.group_account_user">Automated Entries</h2> + <div class="row mt16 o_settings_container" id="recommended_apps" groups="account.group_account_user"> + <div class="col-xs-12 col-md-6 o_setting_box" id="asset_types" title="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."> + <div class="o_setting_left_pane"> + <field name="module_account_asset"/> + </div> + <div class="o_setting_right_pane"> + <label for="module_account_asset"/> + <div class="text-muted"> + Use depreciation boards, automate amortization entries + </div> + <div id="msg_account_asset" class="content-group" attrs="{'invisible': [('module_account_asset', '=', False)]}"> + <div class="text-warning mt16 mb4"> + Save this page and come back here to set up the feature. + </div> + </div> + </div> + </div> + <div class="col-xs-12 col-md-6 o_setting_box" title="This allows you to manage the revenue recognition on selling products. It keeps track of the installments occurred on those revenue recognitions, and creates account moves for those installment lines."> + <div class="o_setting_left_pane"> + <field name="module_account_deferred_revenue" widget="upgrade_boolean"/> + </div> + <div class="o_setting_right_pane"> + <label for="module_account_deferred_revenue"/> + <div class="text-muted"> + Automate deferred revenues entries for multi-year contracts + </div> + <div id="msg_automate_deferred_revenues" class="content-group" attrs="{'invisible': [('module_account_deferred_revenue', '=', False)]}"> + <div class="text-warning mt16 mb4"> + Save this page and come back here to set up the feature. + </div> + </div> + </div> + </div> + </div> </sheet> </form> </field> diff --git a/addons/account/views/account_invoice_view.xml b/addons/account/views/account_invoice_view.xml index d245eb42356..d53f10a8a07 100644 --- a/addons/account/views/account_invoice_view.xml +++ b/addons/account/views/account_invoice_view.xml @@ -294,7 +294,7 @@ <field name="tax_id" invisible="1"/> <field name="sequence" invisible="1"/> <field name="manual" invisible="1"/> - <field name="account_id" groups="account.group_account_invoice"/> + <field name="account_id" groups="account.group_account_user"/> <field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/> <field name="amount"/> <field name="currency_id" invisible="1"/> @@ -316,7 +316,7 @@ <field name="comment" placeholder="Additional notes..."/> </div> </page> - <page string="Other Info"> + <page string="Other Info" name="other_info"> <group> <group> <field name="journal_id" groups="account.group_account_user" options="{'no_create': True}" @@ -324,13 +324,13 @@ <field domain="[('partner_id', '=', partner_id)]" name="partner_bank_id" invisible="1"/> <field name="user_id" string="Responsible"/> <field domain="[('company_id', '=', company_id), ('internal_type', '=', 'payable'), ('deprecated', '=', False)]" - name="account_id" groups="account.group_account_manager"/> + name="account_id" groups="account.group_account_user"/> <field name="name" invisible="1"/> <field name="payment_term_id" options="{'no_create': True}"/> </group> <group> <field name="fiscal_position_id" options="{'no_create': True}" placeholder="Auto-detect"/> - <field name="move_id" groups="account.group_account_manager" attrs="{'invisible': [('move_id', '=', False)]}"/> + <field name="move_id" groups="account.group_account_user" attrs="{'invisible': [('move_id', '=', False)]}"/> <field name="date" domain="[('state', '=', 'draft'), ('company_id', '=', company_id)]" groups="account.group_account_user"/> <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> </group> @@ -471,12 +471,12 @@ <field name="journal_id" groups="account.group_account_user" options="{'no_create': True}" attrs="{'readonly':[('move_name','!=',False)]}"/> <field domain="[('company_id', '=', company_id),('internal_type','=', 'receivable'), ('deprecated', '=', False)]" - name="account_id" groups="account.group_account_manager"/> + name="account_id" groups="account.group_account_user"/> <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> <field domain="[('partner_id.ref_company_ids', 'in', [company_id])]" name="partner_bank_id" invisible="1"/> </group> <group> - <field name="move_id" groups="account.group_account_manager" attrs="{'invisible': [('move_id', '=', False)]}"/> + <field name="move_id" groups="account.group_account_user" attrs="{'invisible': [('move_id', '=', False)]}"/> <field name="origin" groups="base.group_user" attrs="{'invisible': [('origin', '=', False)]}"/> <field name="name"/> </group> diff --git a/addons/account/views/account_journal_dashboard_view.xml b/addons/account/views/account_journal_dashboard_view.xml index 024dd725bbf..12dd1cf4609 100644 --- a/addons/account/views/account_journal_dashboard_view.xml +++ b/addons/account/views/account_journal_dashboard_view.xml @@ -330,5 +330,5 @@ </field> </record> - <menuitem id="menu_board_journal_1" name="Dashboard" action="open_account_journal_dashboard_kanban" parent="menu_finance" sequence="1" groups="group_account_user"/> + <menuitem id="menu_board_journal_1" name="Dashboard" action="open_account_journal_dashboard_kanban" parent="menu_finance" sequence="1" groups="account.group_account_user"/> </odoo> diff --git a/addons/account/views/account_menuitem.xml b/addons/account/views/account_menuitem.xml index 462fbc405a1..80bba939921 100644 --- a/addons/account/views/account_menuitem.xml +++ b/addons/account/views/account_menuitem.xml @@ -5,7 +5,7 @@ <!-- Top menu item --> <menuitem name="Invoicing" id="menu_finance" - groups="group_account_user,group_account_manager,group_account_invoice" + groups="account.group_account_user,account.group_account_manager,account.group_account_invoice" web_icon="account_invoicing,static/description/icon.png" sequence="40"/> @@ -15,21 +15,21 @@ <menuitem id="menu_finance_receivables" name="Sales" parent="menu_finance" sequence="2"/> <menuitem id="menu_finance_payables" name="Purchases" parent="menu_finance" sequence="3"/> - <menuitem id="menu_finance_entries" name="Adviser" parent="menu_finance" sequence="4" groups="group_account_manager"/> - <menuitem id="menu_finance_reports" name="Reporting" parent="menu_finance" sequence="5" groups="group_account_invoice"/> + <menuitem id="menu_finance_entries" name="Adviser" parent="menu_finance" sequence="4" groups="account.group_account_user"/> + <menuitem id="menu_finance_reports" name="Reporting" parent="menu_finance" sequence="5" groups="account.group_account_manager"/> <!-- Reporting sub-menus --> - <menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4" groups="group_account_user"/> + <menuitem id="account_reports_management_menu" name="Management" parent="account.menu_finance_reports" sequence="4"/> <menuitem id="account_reports_legal_statements_menu" name="US GAAP" parent="account.menu_finance_reports" sequence="1" groups="account.group_account_user"/> - <menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="group_account_invoice"/> - <menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports" groups="group_account_user"/> + <menuitem id="account_reports_business_intelligence_menu" name="Business Intelligence" parent="account.menu_finance_reports" sequence="5" groups="account.group_account_invoice"/> + <menuitem id="menu_finance_legal_statement" name="PDF Reports" parent="account.menu_finance_reports"/> - <menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="group_account_invoice"/> + <menuitem id="menu_finance_configuration" name="Configuration" parent="menu_finance" sequence="15" groups="account.group_account_manager"/> <!-- Configuration Sub-Menu --> - <menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="group_account_invoice"/> - <menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="group_account_manager"/> + <menuitem id="account_account_menu" name="Accounting" parent="account.menu_finance_configuration" sequence="2" groups="account.group_account_invoice"/> + <menuitem id="account_management_menu" name="Management" parent="account.menu_finance_configuration" sequence="3" groups="account.group_account_manager"/> <menuitem id="menu_analytic_accounting" name="Analytic Accounting" parent="menu_finance_configuration" groups="analytic.group_analytic_accounting" sequence="5"/> <menuitem id="menu_action_currency_form" action="base.action_currency_form" name="Currencies" parent="account_account_menu" sequence="1" groups="base.group_multi_currency"/> - <menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="group_account_user"/> + <menuitem id="menu_account_reports" name="Financial Reports" parent="menu_finance_configuration" groups="account.group_account_user"/> diff --git a/addons/account/views/account_payment_view.xml b/addons/account/views/account_payment_view.xml index 56a776d03fc..94b07812105 100644 --- a/addons/account/views/account_payment_view.xml +++ b/addons/account/views/account_payment_view.xml @@ -120,7 +120,7 @@ <div class="oe_button_box" name="button_box"> <button class="oe_stat_button" name="button_journal_entries" string="Journal Items" type="object" - groups="account.group_account_manager" + groups="account.group_account_user" attrs="{'invisible':[('move_line_ids','=',[])]}" icon="fa-bars"/> <field name="move_line_ids" invisible="1"/> <button class="oe_stat_button" name="button_invoices" @@ -214,8 +214,8 @@ </field> </record> - <menuitem action="action_account_payments" id="menu_action_account_payments_receivable" parent="menu_finance_receivables" sequence="20" groups="group_account_user"/> - <menuitem action="action_account_payments_payable" id="menu_action_account_payments_payable" parent="menu_finance_payables" sequence="20" groups="group_account_user"/> + <menuitem action="action_account_payments" id="menu_action_account_payments_receivable" parent="menu_finance_receivables" sequence="20"/> + <menuitem action="action_account_payments_payable" id="menu_action_account_payments_payable" parent="menu_finance_payables" sequence="20"/> <record id="view_account_payment_invoice_form" model="ir.ui.view"> <field name="name">account.payment.invoice.form</field> diff --git a/addons/account/views/account_report.xml b/addons/account/views/account_report.xml index e4f85d67702..68f789229cf 100644 --- a/addons/account/views/account_report.xml +++ b/addons/account/views/account_report.xml @@ -89,7 +89,7 @@ <report id="action_report_journal" - model="account.report.journal" + model="account.common.journal.report" string="Sale/Purchase Journal" report_type="qweb-pdf" name="account.report_journal" @@ -98,7 +98,7 @@ <report id="action_report_partnerledger" - model="account.report_partnerledger" + model="account.report.partner.ledger" string="Partner Ledger" report_type="qweb-pdf" name="account.report_partnerledger" diff --git a/addons/account/views/account_view.xml b/addons/account/views/account_view.xml index 6adbb40edf7..b2a92283e0f 100644 --- a/addons/account/views/account_view.xml +++ b/addons/account/views/account_view.xml @@ -165,7 +165,7 @@ </p> </field> </record> - <menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu" groups="group_account_manager" sequence="0"/> + <menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu" groups="account.group_account_user" sequence="0"/> <act_window id="account.action_all_partner_invoices" @@ -294,8 +294,8 @@ </div> </group> <group> - <field name="default_debit_account_id" domain="[('deprecated', '=', False)]" /> - <field name="default_credit_account_id" domain="[('deprecated', '=', False)]" /> + <field name="default_debit_account_id" domain="[('deprecated', '=', False)]" groups="account.group_account_user"/> + <field name="default_credit_account_id" domain="[('deprecated', '=', False)]" groups="account.group_account_user"/> <field name="currency_id" options="{'no_create': True}" groups="base.group_multi_currency"/> </group> </group> @@ -307,7 +307,7 @@ <field name="type_control_ids" widget="many2many_tags"/> <field name="account_control_ids" widget="many2many_tags"/> </group> - <group string="Miscellaneous"> + <group string="Miscellaneous" groups="account.group_account_user"> <field name="inbound_payment_method_ids" widget="many2many_checkboxes" attrs="{'invisible': [('type', 'not in', ['bank', 'cash'])]}"/> <field name="outbound_payment_method_ids" widget="many2many_checkboxes" attrs="{'invisible': [('type', 'not in', ['bank', 'cash'])]}"/> <field name="group_invoice_lines" attrs="{'invisible': [('type', 'not in', ['sale', 'purchase'])]}"/> @@ -324,7 +324,7 @@ <field name="bank_id"/> </group> <group > - <field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}"/> + <field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}" groups="account.group_account_user"/> </group> </group> </page> @@ -342,6 +342,7 @@ <tree string="Account Journal"> <field name='sequence' widget='handle'/> <field name="name"/> + <field name="bank_acc_number"/> <field name="company_id" groups="base.group_multi_company"/> </tree> </field> @@ -375,7 +376,7 @@ <group string="Payables"> <field name="outbound_payment_method_ids" widget="many2many_checkboxes"/> </group> - <group name="bank_statement" string="Bank Statements"> + <group name="bank_statement" string="Bank Statements" groups="account.group_account_user"> <label for="bank_statements_source"/> <div name="bank_source"> <field name="bank_statements_source" widget="radio" attrs="{'required': [('type', '=', 'bank')]}"/> @@ -401,7 +402,7 @@ </p> </field> </record> - <menuitem action="action_account_bank_journal_form" id="menu_action_account_bank_journal_form" parent="account_account_menu" groups="group_account_manager" sequence="8"/> + <menuitem action="action_account_bank_journal_form" id="menu_action_account_bank_journal_form" parent="account_account_menu" groups="account.group_account_manager" sequence="8"/> <record id="action_account_journal_form" model="ir.actions.act_window"> <field name="name">Journals</field> @@ -421,7 +422,7 @@ </p> </field> </record> - <menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="account_account_menu" groups="group_account_manager"/> + <menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="account_account_menu" groups="account.group_account_manager"/> <act_window id="act_account_journal_2_account_bank_statement" @@ -1024,7 +1025,7 @@ <label string="%" class="oe_inline" attrs="{'invisible':[('amount_type','=','fixed')]}" /> </div> </group> - <group attrs="{'invisible':[('amount_type','=', 'group')]}"> + <group attrs="{'invisible':[('amount_type','=', 'group')]}" groups="account.group_account_user"> <field name="account_id"/> <field name="refund_account_id"/> </group> @@ -1052,10 +1053,10 @@ <group name="advanced_booleans"> <field name="price_include" attrs="{'invisible':[('amount_type','=', 'group')]}" /> <field name="include_base_amount" attrs="{'invisible':[('amount_type','=', 'group')]}" /> - <field name="tax_adjustment"/> + <field name="tax_adjustment" groups="account.group_account_user"/> <field name="hide_use_cash_basis" invisible="1"/> - <field name="use_cash_basis" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('hide_use_cash_basis', '=', False)]}"/> - <field name="cash_basis_account" attrs="{'invisible': [('use_cash_basis', '=', False)], 'required': [('use_cash_basis', '=', True)]}"/> + <field name="use_cash_basis" attrs="{'invisible':['|', ('amount_type','=', 'group'), ('hide_use_cash_basis', '=', False)]}" groups="account.group_account_user"/> + <field name="cash_basis_account" attrs="{'invisible': [('use_cash_basis', '=', False)], 'required': [('use_cash_basis', '=', True)]}" groups="account.group_account_user"/> </group> </group> </page> @@ -1215,14 +1216,14 @@ <field name="arch" type="xml"> <tree string="Journal Items" create="false"> <field name="date"/> - <field name="move_id" required="0"/> + <field name="move_id" required="0" groups="account.group_account_user"/> <field name="journal_id" options='{"no_open":True}'/> <field name="name"/> <field name="ref"/> <field name="statement_id" invisible="1"/> <field name="partner_id"/> - <field name="account_id" options='{"no_open":True}' domain="[('company_id', '=', company_id)]"/> - <field name="analytic_account_id" groups="analytic.group_analytic_accounting"/> + <field name="account_id" options='{"no_open":True}' domain="[('company_id', '=', company_id)]" groups="account.group_account_user"/> + <field name="analytic_account_id" groups="account.group_account_user"/> <field name="reconciled" invisible="1"/> <field name="full_reconcile_id"/> <field name="debit" sum="Total Debit"/> @@ -1525,7 +1526,7 @@ action="action_move_journal_line" id="menu_action_move_journal_line_form" parent="account.menu_finance_entries" - groups="group_account_user" + groups="account.group_account_user" sequence="2"/> <record id="action_move_line_form" model="ir.actions.act_window"> @@ -2080,10 +2081,32 @@ <field name="view_id" ref="product_product_view_tree"/> </record> + <record id="product_product_action_sellable" model="ir.actions.act_window"> + <field name="name">Sellable Products</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">product.product</field> + <field name="view_mode">kanban,tree,form</field> + <field name="view_type">form</field> + <field name="context">{'search_default_filter_to_sell': 1}</field> + <field name="view_id" ref="product_product_view_tree"/> + </record> + + <record id="product_product_action_purchasable" model="ir.actions.act_window"> + <field name="name">Purchasable Products</field> + <field name="type">ir.actions.act_window</field> + <field name="res_model">product.product</field> + <field name="view_mode">kanban,tree,form</field> + <field name="view_type">form</field> + <field name="context">{'search_default_filter_to_purchase': 1}</field> + <field name="view_id" ref="product_product_view_tree"/> + </record> + + <menuitem id="product_product_menu_sellable" name="Sellable Products" action="product_product_action_sellable" parent="account.menu_finance_receivables" sequence="100"/> + + <menuitem id="product_product_menu_purchasable" name="Purchasable Products" action="product_product_action_purchasable" parent="account.menu_finance_payables" sequence="101"/> + <menuitem id="product_configuration_menu" name="Products" parent="account.menu_finance_configuration" sequence="1"/> - <menuitem id="menu_product_product_action" name="Products" action="product_product_action" parent="product_configuration_menu" sequence="1"/> - <menuitem id="menu_account_supplier" name="Vendors" parent="menu_finance_payables" action="base.action_partner_supplier_form" sequence="100"/> diff --git a/addons/account/views/partner_view.xml b/addons/account/views/partner_view.xml index dd52528a454..2ef70980294 100644 --- a/addons/account/views/partner_view.xml +++ b/addons/account/views/partner_view.xml @@ -197,13 +197,13 @@ <group string="Fiscal Information" name="fiscal_information"> <field name="property_account_position_id" options="{'no_create': True, 'no_open': True}"/> </group> - <group string="Accounting Entries" name="accounting_entries" groups="account.group_account_manager"> + <group string="Accounting Entries" name="accounting_entries" groups="account.group_account_user"> <field name="property_account_receivable_id"/> <field name="property_account_payable_id"/> </group> </group> </page> - <page string="Accounting" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}"> + <page string="Invoicing" name="accounting_disabled" attrs="{'invisible': ['|',('is_company','=',True),('parent_id','=',False)]}"> <div> <p>Accounting-related settings are managed on <button name="open_commercial_entity" type="object" string="the parent company" class="oe_link"/></p> </div> diff --git a/addons/account/views/product_view.xml b/addons/account/views/product_view.xml index f21afaf3f93..47d71ab6210 100644 --- a/addons/account/views/product_view.xml +++ b/addons/account/views/product_view.xml @@ -36,8 +36,8 @@ <field name="inherit_id" ref="product.product_category_form_view"/> <field name="arch" type="xml"> <group name="first" position="after"> - <group name="account_property" groups="account.group_account_manager"> - <group string="Accounts"> + <group name="account_property" > + <group string="Account Properties" groups="account.group_account_user"> <field name="property_account_income_categ_id" domain="[('internal_type','=','other'),('deprecated', '=', False)]"/> <field name="property_account_expense_categ_id" domain="[('internal_type','=','other'),('deprecated', '=', False)]"/> </group> diff --git a/addons/account/wizard/account_financial_report_view.xml b/addons/account/wizard/account_financial_report_view.xml index 92dfc832318..3d73e7b376a 100644 --- a/addons/account/wizard/account_financial_report_view.xml +++ b/addons/account/wizard/account_financial_report_view.xml @@ -42,7 +42,7 @@ <field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_balancesheet0')}"/> </record> - <menuitem id="menu_account_report_bs" name="Balance Sheet" action="action_account_report_bs" parent="menu_finance_legal_statement"/> + <menuitem id="menu_account_report_bs" name="Balance Sheet" action="action_account_report_bs" parent="menu_finance_legal_statement" groups="account.group_account_user"/> <record id="action_account_report_pl" model="ir.actions.act_window"> <field name="name">Profit and Loss</field> @@ -55,7 +55,7 @@ <field name="context" eval="{'default_account_report_id':ref('account.account_financial_report_profitandloss0')}"/> </record> - <menuitem id="menu_account_report_pl" name="Profit and Loss" action="action_account_report_pl" parent="menu_finance_legal_statement"/> + <menuitem id="menu_account_report_pl" name="Profit and Loss" action="action_account_report_pl" parent="menu_finance_legal_statement" groups="account.group_account_user"/> <record id="action_account_report" model="ir.actions.act_window"> <field name="name">Financial Reports</field> @@ -67,6 +67,6 @@ <field name="target">new</field> </record> - <menuitem id="menu_account_report" name="Financial Report" action="action_account_report" parent="menu_finance_legal_statement" sequence="100"/> + <menuitem id="menu_account_report" name="Financial Report" action="action_account_report" parent="menu_finance_legal_statement" sequence="100" groups="account.group_account_user"/> </odoo> diff --git a/addons/account/wizard/account_report_general_ledger_view.xml b/addons/account/wizard/account_report_general_ledger_view.xml index 91fbdc9cb6b..e6e1dbfdb1f 100644 --- a/addons/account/wizard/account_report_general_ledger_view.xml +++ b/addons/account/wizard/account_report_general_ledger_view.xml @@ -41,7 +41,7 @@ name="General Ledger" parent="account.menu_finance_legal_statement" action="action_account_general_ledger_menu" - groups="group_account_manager,group_account_user" + groups="account.group_account_user" /> </odoo> diff --git a/addons/account/wizard/account_report_partner_ledger_view.xml b/addons/account/wizard/account_report_partner_ledger_view.xml index 57d09ccf049..bd160433f08 100644 --- a/addons/account/wizard/account_report_partner_ledger_view.xml +++ b/addons/account/wizard/account_report_partner_ledger_view.xml @@ -42,7 +42,7 @@ name="Partner Ledger" parent="account.menu_finance_legal_statement" action="action_account_partner_ledger_menu" - groups="account.group_account_manager,account.group_account_user" + groups="account.group_account_user" /> </odoo> diff --git a/addons/account/wizard/account_report_trial_balance_view.xml b/addons/account/wizard/account_report_trial_balance_view.xml index a610d5e863d..d46d34342e4 100644 --- a/addons/account/wizard/account_report_trial_balance_view.xml +++ b/addons/account/wizard/account_report_trial_balance_view.xml @@ -30,7 +30,8 @@ <menuitem id="menu_general_Balance_report" name="Trial Balance" parent="account.menu_finance_legal_statement" - action="action_account_balance_menu"/> + action="action_account_balance_menu" + groups="account.group_account_user"/> <record id="action_account_balance_report_values1" model="ir.values"> <field name="model_id" ref="account.model_account_account" /> diff --git a/addons/account_accountant/views/account_config_settings_views.xml b/addons/account_accountant/views/account_config_settings_views.xml index 68f5eef97ca..9ed228dc2d5 100644 --- a/addons/account_accountant/views/account_config_settings_views.xml +++ b/addons/account_accountant/views/account_config_settings_views.xml @@ -77,43 +77,6 @@ </div> </div> </div> - <div id="analytic" position="after"> - <h2>Automated Entries</h2> - <div class="row mt16 o_settings_container" id="recommended_apps"> - <div class="col-xs-12 col-md-6 o_setting_box" id="asset_types" title="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."> - <div class="o_setting_left_pane"> - <field name="module_account_asset"/> - </div> - <div class="o_setting_right_pane"> - <label for="module_account_asset"/> - <div class="text-muted"> - Use depreciation boards, automate amortization entries - </div> - <div id="msg_account_asset" class="content-group" attrs="{'invisible': [('module_account_asset', '=', False)]}"> - <div class="text-warning mt16 mb4"> - Save this page and come back here to set up the feature. - </div> - </div> - </div> - </div> - <div class="col-xs-12 col-md-6 o_setting_box" title="This allows you to manage the revenue recognition on selling products. It keeps track of the installments occurred on those revenue recognitions, and creates account moves for those installment lines."> - <div class="o_setting_left_pane"> - <field name="module_account_deferred_revenue" widget="upgrade_boolean"/> - </div> - <div class="o_setting_right_pane"> - <label for="module_account_deferred_revenue"/> - <div class="text-muted"> - Automate deferred revenues entries for multi-year contracts - </div> - <div id="msg_automate_deferred_revenues" class="content-group" attrs="{'invisible': [('module_account_deferred_revenue', '=', False)]}"> - <div class="text-warning mt16 mb4"> - Save this page and come back here to set up the feature. - </div> - </div> - </div> - </div> - </div> - </div> </field> </record> </odoo> diff --git a/addons/account_accountant/views/product_views.xml b/addons/account_accountant/views/product_views.xml index 3989f9c7439..012ba3ec4fd 100644 --- a/addons/account_accountant/views/product_views.xml +++ b/addons/account_accountant/views/product_views.xml @@ -3,4 +3,77 @@ <menuitem id="menu_product_product_categories" action="product.product_category_action_form" parent="account.product_configuration_menu" sequence="2"/> + + <!-- + The following menuitems and elements in views are hidden by the group_account_user. + Now that we want to show them, we set the correct group on them (example: group_account_manager) + --> + <record id="account.menu_finance_entries" model="ir.ui.menu"> + <field name="groups_id" eval="[(3, ref('account.group_account_user')), (4, ref('account.group_account_manager'))]"/> + </record> + + <record id="account.menu_finance_configuration" model="ir.ui.menu"> + <field name="groups_id" eval="[(3, ref('account.group_account_manager')), (4, ref('account.group_account_user'))]"/> + </record> + + <record id="account.menu_finance_reports" model="ir.ui.menu"> + <field name="groups_id" eval="[(3, ref('account.group_account_manager')), (4, ref('account.group_account_user'))]"/> + </record> + + <record id="res_partner_view_form" model="ir.ui.view"> + <field name="name">res.partner.form</field> + <field name="model">res.partner</field> + <field name="inherit_id" ref="account.view_partner_property_form"/> + <field name="arch" type="xml"> + <xpath expr="//group[@name='accounting_entries']" position="attributes"> + <attribute name="groups">account.group_account_manager</attribute> + </xpath> + <xpath expr="//page[@name='accounting_disabled']" position="attributes"> + <attribute name="string">Accounting</attribute> + </xpath> + <xpath expr="//page[@name='accounting']" position="attributes"> + <attribute name="string">Accounting</attribute> + </xpath> + </field> + </record> + + <record id="account_payment_view_form" model="ir.ui.view"> + <field name="name">account.payment.form</field> + <field name="model">account.payment</field> + <field name="inherit_id" ref="account.view_account_payment_form"/> + <field name="arch" type="xml"> + <xpath expr="//button[@name='button_journal_entries']" position="attributes"> + <attribute name="groups">account.group_account_manager</attribute> + </xpath> + </field> + </record> + + <record id="account_invoice_view_form_supplier" model="ir.ui.view"> + <field name="name">account.invoice.form.supplier</field> + <field name="model">account.invoice</field> + <field name="inherit_id" ref="account.invoice_supplier_form"/> + <field name="arch" type="xml"> + <xpath expr="//page[@name='other_info']//field[@name='account_id']" position="attributes"> + <attribute name="groups">account.group_account_manager</attribute> + </xpath> + <xpath expr="//page[@name='other_info']//field[@name='move_id']" position="attributes"> + <attribute name="groups">account.group_account_manager</attribute> + </xpath> + <xpath expr="//field[@name='tax_line_ids']//tree//field[@name='account_id']" position="attributes"> + <attribute name="groups">account.group_account_invoice</attribute> + </xpath> + </field> + </record> + + <record id="account_invoice_view_form_customer" model="ir.ui.view"> + <field name="name">account.invoice.form.customer</field> + <field name="model">account.invoice</field> + <field name="inherit_id" ref="account.invoice_form"/> + <field name="arch" type="xml"> + <xpath expr="//page[@name='other_info']//field[@name='move_id']" position="attributes"> + <attribute name="groups">account.group_account_manager</attribute> + </xpath> + </field> + </record> + </odoo> diff --git a/addons/account_asset/__manifest__.py b/addons/account_asset/__manifest__.py index bc9aa5f13c3..c2c1fcb8934 100644 --- a/addons/account_asset/__manifest__.py +++ b/addons/account_asset/__manifest__.py @@ -3,7 +3,7 @@ { 'name': 'Assets Management', - 'depends': ['account_accountant'], + 'depends': ['account'], 'description': """ Assets management ================= diff --git a/addons/account_bank_statement_import/__manifest__.py b/addons/account_bank_statement_import/__manifest__.py index 1206f8eadee..1fbf54ddf18 100644 --- a/addons/account_bank_statement_import/__manifest__.py +++ b/addons/account_bank_statement_import/__manifest__.py @@ -3,7 +3,7 @@ 'name': 'Account Bank Statement Import', 'category': 'Accounting', 'version': '1.0', - 'depends': ['account_accountant'], + 'depends': ['account'], 'description': """Generic Wizard to Import Bank Statements. Includes the import of files in .OFX format""", 'data': [ 'account_bank_statement_import_view.xml', diff --git a/addons/account_voucher/test/account_voucher_users.yml b/addons/account_voucher/test/account_voucher_users.yml index 4126ef874bc..e4bab4df4b4 100644 --- a/addons/account_voucher/test/account_voucher_users.yml +++ b/addons/account_voucher/test/account_voucher_users.yml @@ -12,7 +12,7 @@ !record {model: res.users, id: res_users_account_voucher_user}: groups_id: - base.group_partner_manager - - account.group_account_user + - account.group_account_invoice - Create a user as 'Financial Manager for account voucher' - diff --git a/addons/account_voucher/views/account_voucher_views.xml b/addons/account_voucher/views/account_voucher_views.xml index ced7d16a4ef..bcf399d407f 100644 --- a/addons/account_voucher/views/account_voucher_views.xml +++ b/addons/account_voucher/views/account_voucher_views.xml @@ -233,12 +233,13 @@ <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> <field name="partner_id" domain="[('customer','=',True)]" string="Customer" context="{'search_default_customer':1, 'show_address': 1}" options='{"always_reload": True}'/> <field name="pay_now" required="1"/> - <field name="account_id"/> + <field name="account_id" groups="account.group_account_user"/> </group> <group> <field name="journal_id" domain="[('type','=','sale')]" widget="selection" groups="account.group_account_user"/> <field name="date"/> <field name="date_due" attrs="{'invisible':[('pay_now','=','pay_now')]}"/> + <field name="account_date"/> <field name="name" attrs="{'invisible': [('pay_now', '=', 'pay_later')]}"/> <field name="paid" invisible="1"/> </group> @@ -249,7 +250,7 @@ <tree string="Voucher Lines" editable="bottom"> <field name="product_id"/> <field name="name"/> - <field name="account_id"/> + <field name="account_id" groups="account.group_account_user"/> <field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/> <field name="quantity"/> <field name="price_unit"/> @@ -259,17 +260,16 @@ <field name="company_id" invisible="1"/> </tree> </field> - <group> + <group> <group class="oe_subtotal_footer oe_right"> <field name="tax_amount"/> <field name="amount"/> </group> <field name="narration" placeholder="Internal Notes" nolabel="1"/> - </group> + </group> </page> - <page string="Journal Items"> + <page string="Journal Items" groups="account.group_account_user"> <group> - <field name="account_date"/> <field name="move_id" readonly="1"/> </group> </page> @@ -343,7 +343,7 @@ <group> <field name="partner_id" domain="[('supplier','=',True)]" string="Vendor" context="{'default_customer': 0, 'search_default_supplier': 1, 'default_supplier': 1}" /> <field name="pay_now" required="1"/> - <field name="account_id"/> + <field name="account_id" groups="account.group_account_user"/> <field name="name" colspan="2" attrs="{'invisible': [('pay_now', '=', 'pay_later')]}"/> <field name="reference"/> <field name="company_id" options="{'no_create': True}" groups="base.group_multi_company"/> @@ -351,6 +351,7 @@ <group> <field name="date" string="Bill Date"/> <field name="date_due" attrs="{'invisible': [('pay_now', '=', 'pay_now')]}"/> + <field name="account_date"/> <field name="paid" invisible="1"/> <field name="currency_id" invisible="1"/> <field name="journal_id" @@ -365,7 +366,7 @@ <tree string="Voucher Lines" editable="bottom"> <field name="product_id"/> <field name="name"/> - <field name="account_id"/> + <field name="account_id" groups="account.group_account_user"/> <field name="account_analytic_id" domain="[('company_id', '=', parent.company_id)]" groups="analytic.group_analytic_accounting"/> <field name="quantity"/> <field name="price_unit"/> @@ -384,9 +385,8 @@ <field name="narration" placeholder="Internal Notes" nolabel="1"/> </group> </page> - <page string="Journal Items"> + <page string="Journal Items" groups="account.group_account_user"> <group> - <field name="account_date"/> <field name="move_id" readonly="1"/> </group> </page> diff --git a/addons/hr_expense/__manifest__.py b/addons/hr_expense/__manifest__.py index 17932b55a18..10fa94ec0a2 100644 --- a/addons/hr_expense/__manifest__.py +++ b/addons/hr_expense/__manifest__.py @@ -26,7 +26,7 @@ The whole flow is implemented as: This module also uses analytic accounting and is compatible with the invoice on timesheet module so that you are able to automatically re-invoice your customers' expenses if your work by project. """, 'website': 'https://www.odoo.com/page/expenses', - 'depends': ['hr_contract', 'account_accountant', 'web_tour'], + 'depends': ['hr_contract', 'account', 'web_tour'], 'data': [ 'security/hr_expense_security.xml', 'security/ir.model.access.csv', diff --git a/addons/hr_expense/models/hr_expense.py b/addons/hr_expense/models/hr_expense.py index ce0054a5636..6b23dc91b1e 100644 --- a/addons/hr_expense/models/hr_expense.py +++ b/addons/hr_expense/models/hr_expense.py @@ -405,7 +405,7 @@ class HrExpenseSheet(models.Model): default=lambda self: self.env['ir.model.data'].xmlid_to_object('hr_expense.hr_expense_account_journal') or self.env['account.journal'].search([('type', '=', 'purchase')], limit=1), help="The journal used when the expense is done.") bank_journal_id = fields.Many2one('account.journal', string='Bank Journal', states={'done': [('readonly', True)], 'post': [('readonly', True)]}, default=lambda self: self.env['account.journal'].search([('type', 'in', ['case', 'bank'])], limit=1), help="The payment method used when the expense is paid by the company.") - accounting_date = fields.Date(string="Accounting Date") + accounting_date = fields.Date(string="Date") account_move_id = fields.Many2one('account.move', string='Journal Entry', ondelete='restrict', copy=False) department_id = fields.Many2one('hr.department', string='Department', states={'post': [('readonly', True)], 'done': [('readonly', True)]}) diff --git a/addons/hr_expense/views/hr_expense_config_settings_views.xml b/addons/hr_expense/views/hr_expense_config_settings_views.xml index 897e78837ca..c875febc865 100644 --- a/addons/hr_expense/views/hr_expense_config_settings_views.xml +++ b/addons/hr_expense/views/hr_expense_config_settings_views.xml @@ -83,7 +83,7 @@ </div> </div> </div> - <div class="col-xs-12 col-md-6 o_setting_box"> + <div class="col-xs-12 col-md-6 o_setting_box" groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="group_analytic_accounting"/> </div> diff --git a/addons/hr_expense/views/hr_expense_views.xml b/addons/hr_expense/views/hr_expense_views.xml index 643e62b5505..b27bd9eafb8 100644 --- a/addons/hr_expense/views/hr_expense_views.xml +++ b/addons/hr_expense/views/hr_expense_views.xml @@ -60,7 +60,7 @@ </group><group> <field name="reference"/> <field name="date"/> - <field name="account_id" domain="[('internal_type', '=', 'other')]"/> + <field name="account_id" domain="[('internal_type', '=', 'other')]" groups="account.group_account_user"/> <field name="employee_id"/> <field name="sheet_id" invisible="1"/> <field name="currency_id" groups="base.group_multi_currency"/> @@ -298,7 +298,7 @@ </div> </group> <group string="Accounting"> - <field name="property_account_expense_id"/> + <field name="property_account_expense_id" groups="account.group_account_user"/> <field name="supplier_taxes_id" widget="many2many_tags"/> </group> </group> @@ -407,11 +407,11 @@ <form string="Expense Reports" class="o_expense_sheet"> <header> <button name="approve_expense_sheets" states="submit" string="Approve" type="object" groups="hr_expense.group_hr_expense_user" class="oe_highlight o_expense_sheet_approve"/> - <button name="action_sheet_move_create" states="approve" string="Post Journal Entries" type="object" groups="account.group_account_user" class="oe_highlight o_expense_sheet_post"/> - <button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_user"/> + <button name="action_sheet_move_create" states="approve" string="Validate" type="object" groups="account.group_account_manager" class="oe_highlight o_expense_sheet_post"/> + <button name="%(hr_expense.hr_expense_register_payment_wizard_action)d" type="action" string="Register Payment" class="oe_highlight o_expense_sheet_pay" attrs="{'invisible': [('state', '!=', 'post')]}" context="{'default_amount': total_amount, 'partner_id': address_id}" groups="account.group_account_manager"/> <button name="reset_expense_sheets" states="cancel" string="Resubmit" type="object"/> <button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="submit" string="Refuse" type="action" groups="hr_expense.group_hr_expense_user" /> - <button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="account.group_account_user"/> + <button name="%(hr_expense.hr_expense_refuse_wizard_action)d" states="approve" string="Refuse" type="action" groups="hr_expense.group_hr_expense_manager"/> <field name="state" widget="statusbar" statusbar_visible="draft,submit,approve,post,done"/> </header> <sheet> @@ -462,8 +462,8 @@ <group> <group> <field name="journal_id" domain="[('type', '=', 'purchase')]" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'own_account')]}"/> - <field name="bank_journal_id" groups="account.group_account_user" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'company_account')]}" domain="[('type', 'in', ['cash', 'bank'])]"/> - <field name="accounting_date" groups="account.group_account_user" attrs="{'invisible': [('state', 'not in', ['approve', 'post', 'done'])]}"/> + <field name="bank_journal_id" groups="account.group_account_invoice" options="{'no_open': True, 'no_create': True}" attrs="{'invisible': [('payment_mode', '!=', 'company_account')]}" domain="[('type', 'in', ['cash', 'bank'])]"/> + <field name="accounting_date" attrs="{'invisible': [('state', 'not in', ['approve', 'post', 'done'])]}"/> </group> <group> <field name="account_move_id" groups="account.group_account_user" attrs="{'invisible': [('state', 'not in', ['post', 'done'])]}" readonly="1"/> diff --git a/addons/hr_payroll/views/hr_payroll_config_settings_views.xml b/addons/hr_payroll/views/hr_payroll_config_settings_views.xml index 673e35c1992..7ea988e269f 100644 --- a/addons/hr_payroll/views/hr_payroll_config_settings_views.xml +++ b/addons/hr_payroll/views/hr_payroll_config_settings_views.xml @@ -38,7 +38,7 @@ <div class="row mt16 o_settings_container" id="hr_payroll_accountant"> <div class="col-md-6 col-xs-12 o_setting_box"> <div class="o_setting_left_pane"> - <field name="module_account_accountant"/> + <field name="module_account_accountant" widget="upgrade_boolean"/> </div> <div class="o_setting_right_pane"> <label for="module_account_accountant" string="Payroll Entries"/> diff --git a/addons/l10n_be_intrastat/__manifest__.py b/addons/l10n_be_intrastat/__manifest__.py index 2cf0fa6f087..cc276b059a3 100644 --- a/addons/l10n_be_intrastat/__manifest__.py +++ b/addons/l10n_be_intrastat/__manifest__.py @@ -8,7 +8,7 @@ Generates Intrastat XML report for declaration Based on invoices. """, - 'depends': ['report_intrastat', 'sale_stock', 'account_accountant', 'l10n_be'], + 'depends': ['report_intrastat', 'sale_stock', 'account', 'l10n_be'], 'data': [ 'data/l10n_be_intrastat_chart_data.xml', 'data/report.intrastat.code.csv', diff --git a/addons/l10n_eu_service/__manifest__.py b/addons/l10n_eu_service/__manifest__.py index cfa7f25f97c..e31eb61b1e9 100644 --- a/addons/l10n_eu_service/__manifest__.py +++ b/addons/l10n_eu_service/__manifest__.py @@ -52,7 +52,7 @@ References - Council Implementing Regulation (EU) No 1042/2013 """, - 'depends': ['account_accountant'], + 'depends': ['account'], 'data': [ 'security/ir.model.access.csv', 'wizard/wizard.xml', diff --git a/addons/l10n_fr_fec/__manifest__.py b/addons/l10n_fr_fec/__manifest__.py index 49eb45637f8..bf0c96530ab 100644 --- a/addons/l10n_fr_fec/__manifest__.py +++ b/addons/l10n_fr_fec/__manifest__.py @@ -9,7 +9,7 @@ 'summary': "Fichier d'Échange Informatisé (FEC) for France", 'author': "Akretion,Odoo Community Association (OCA)", 'website': 'http://www.akretion.com', - 'depends': ['l10n_fr', 'account_accountant'], + 'depends': ['l10n_fr', 'account'], 'data': [ 'wizard/account_fr_fec_view.xml', ], diff --git a/addons/purchase/views/account_config_settings_views.xml b/addons/purchase/views/account_config_settings_views.xml index e51a1e17309..7ab852ad059 100644 --- a/addons/purchase/views/account_config_settings_views.xml +++ b/addons/purchase/views/account_config_settings_views.xml @@ -7,7 +7,7 @@ <field name="inherit_id" ref="account.account_config_settings_view_form"/> <field name="arch" type="xml"> <div id="account_budget" position="before"> - <div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to specify an analytic account on purchase order lines."> + <div class="col-xs-12 col-md-6 o_setting_box" title="Allows you to specify an analytic account on purchase order lines." groups="account.group_account_user"> <div class="o_setting_left_pane"> <field name="group_analytic_account_for_purchases" class="oe_inline"/> </div> diff --git a/addons/purchase/views/purchase_views.xml b/addons/purchase/views/purchase_views.xml index 6a8d8b8cbdc..271969ad0b8 100644 --- a/addons/purchase/views/purchase_views.xml +++ b/addons/purchase/views/purchase_views.xml @@ -610,8 +610,9 @@ <field name="model">product.template</field> <field name="inherit_id" ref="account.product_template_form_view"/> <field name="arch" type="xml"> - <field name="property_account_expense_id" position="replace" > - <field name="property_account_expense_id" domain="[('deprecated','=',False)]" attrs="{'readonly': [('purchase_ok', '=', 0)]}"/> + <field name="property_account_expense_id" position="attributes"> + <attribute name="domain">[('deprecated','=',False)]"</attribute> + <attribute name="attrs">{'readonly': [('purchase_ok', '=', 0)]}</attribute> </field> <field name='supplier_taxes_id' position="replace" > <field name="supplier_taxes_id" colspan="2" widget="many2many_tags" attrs="{'readonly':[('purchase_ok','=',0)]}"/> @@ -640,7 +641,7 @@ <field name="inherit_id" ref="account.product_template_form_view"/> <field name="arch" type="xml"> <field name="property_account_expense_id" position="after"> - <field name="property_account_creditor_price_difference" domain="[('deprecated','=',False)]" attrs="{'readonly':[('purchase_ok', '=', 0)]}" /> + <field name="property_account_creditor_price_difference" domain="[('deprecated','=',False)]" attrs="{'readonly':[('purchase_ok', '=', 0)]}" groups="account.group_account_user"/> </field> </field> </record> diff --git a/addons/stock_account/views/product_views.xml b/addons/stock_account/views/product_views.xml index c6c3b9ff902..026599d1ecb 100644 --- a/addons/stock_account/views/product_views.xml +++ b/addons/stock_account/views/product_views.xml @@ -8,7 +8,7 @@ <field name="inherit_id" ref="account.view_category_property_form"/> <field name="arch" type="xml"> <group name="account_property" position="inside"> - <group name="account_stock_property" string="Account Stock Properties"> + <group name="account_stock_property" string="Account Stock Properties" groups="account.group_account_user"> <field name="property_stock_account_input_categ_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" /> <field name="property_stock_account_output_categ_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" /> <field name="property_stock_valuation_account_id" domain="[('deprecated', '=', False)]" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}"/> @@ -19,7 +19,7 @@ <group> <group string="Inventory Valuation"> <field name="property_cost_method"/> - <field name="property_valuation"/> + <field name="property_valuation" groups="account.group_account_user"/> </group> </group> </group> @@ -52,7 +52,7 @@ class="oe_link oe_read_only" colspan="2"/> </div> <group name="accounting" position="inside"> - <group name="property_inventory_valuation" string="Stock Valuation" attrs="{'invisible': ['|', ('type','=','service'), ('valuation', '!=', 'real_time')]}"> + <group name="property_inventory_valuation" string="Stock Valuation" attrs="{'invisible': ['|', ('type','=','service'), ('valuation', '!=', 'real_time')]}" groups="account.group_account_user"> <field name="property_valuation" invisible="1"/> <field name="property_stock_account_input" domain="[('deprecated', '=', False)]"/> diff --git a/odoo/addons/test_main_flows/__manifest__.py b/odoo/addons/test_main_flows/__manifest__.py index 031e886e5c8..ba9068e0f65 100644 --- a/odoo/addons/test_main_flows/__manifest__.py +++ b/odoo/addons/test_main_flows/__manifest__.py @@ -8,7 +8,7 @@ This mobule will test the main workflow of Odoo. It will install some main apps and will try to execute the most important actions. """, - 'depends': ['web_tour', 'crm', 'sale_timesheet', 'purchase', 'mrp', 'account_accountant'], + 'depends': ['web_tour', 'crm', 'sale_timesheet', 'purchase', 'mrp', 'account'], 'data': [ 'views/templates.xml', ], |
