summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2017-03-28 13:21:24 +0200
committerChristophe Simonis <chs@odoo.com>2017-03-28 13:21:24 +0200
commitc2569b9df1b0b30d69607d86e3560feb0490c4ef (patch)
tree9cc0a299f9741395a5223b07357c55eb0d84b55e
parent7a039c730dd3a654b74ca51d5bb322bca5395b64 (diff)
parent30dda3faee36488e4822342b25772d1232e1a75c (diff)
[MERGE] forward port branch 9.0 up to 30dda3faee3
-rw-r--r--addons/account/demo/account_bank_statement.yml9
-rw-r--r--addons/account/demo/account_invoice_demo.yml34
-rw-r--r--addons/account/models/company.py9
-rw-r--r--addons/account/tests/test_account_move_closed_period.py9
-rw-r--r--addons/account_check_printing/account_payment.py1
-rw-r--r--addons/theme_default/static/src/less/option_layout_boxed.less8
6 files changed, 40 insertions, 30 deletions
diff --git a/addons/account/demo/account_bank_statement.yml b/addons/account/demo/account_bank_statement.yml
index 86ce917ee44..3c0ccf274d5 100644
--- a/addons/account/demo/account_bank_statement.yml
+++ b/addons/account/demo/account_bank_statement.yml
@@ -2,7 +2,8 @@
Create demo bank statement
-
!python {model: ir.model.data} : |
- journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'bank')])
+ default_company = self.pool.get('res.company')._company_default_get(cr, uid, 'account.journal')
+ journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'bank'), ('company_id', '=', default_company)], limit=1)
import time
if journal_id:
journal_id = journal_id[0]
@@ -11,7 +12,6 @@
'date': time.strftime('%Y')+'-01-01',
'name': "BNK/2014/001",
'balance_end_real': '8998.2',
- 'company_id': ref('base.main_company'),
'balance_start': 5103.0
}
self._update(cr, uid, 'account.bank.statement', 'account', vals, 'demo_bank_statement_1')
@@ -19,7 +19,6 @@
'ref': '',
'statement_id': ref('account.demo_bank_statement_1'),
'sequence': 1,
- 'company_id': ref('base.main_company'),
'name': "SAJ/2014/002 and SAJ/2014/003",
'journal_id': journal_id,
'amount': 1175.0,
@@ -31,7 +30,6 @@
'ref': '',
'statement_id': ref('account.demo_bank_statement_1'),
'sequence': 2,
- 'company_id': ref('base.main_company'),
'name': "Bank fees",
'journal_id': journal_id,
'amount': -32.58,
@@ -42,7 +40,6 @@
'ref': '',
'statement_id': ref('account.demo_bank_statement_1'),
'sequence': 3,
- 'company_id': ref('base.main_company'),
'name': "Prepayment",
'journal_id': journal_id,
'amount': 650.0,
@@ -54,7 +51,6 @@
'ref': '',
'statement_id': ref('account.demo_bank_statement_1'),
'sequence': 4,
- 'company_id': ref('base.main_company'),
'name': "First 2000 € of SAJ/2014/001",
'journal_id': journal_id,
'amount': 2000.0,
@@ -66,7 +62,6 @@
'ref': '',
'statement_id': ref('account.demo_bank_statement_1'),
'sequence': 5,
- 'company_id': ref('base.main_company'),
'name': "Last Year Interests",
'journal_id': journal_id,
'amount': 102.78,
diff --git a/addons/account/demo/account_invoice_demo.yml b/addons/account/demo/account_invoice_demo.yml
index be9471405d5..17383d94539 100644
--- a/addons/account/demo/account_invoice_demo.yml
+++ b/addons/account/demo/account_invoice_demo.yml
@@ -2,7 +2,6 @@
Set the context for customer invoices because the 'type' field is readonly in invoice form views, so it value won't be considered by the yaml import
-
!record {model: account.invoice, id: demo_invoice_1}:
- company_id: base.main_company
partner_id: base.res_partner_12
user_id: base.user_demo
reference_type: none
@@ -20,7 +19,6 @@
!workflow {model: account.invoice, action: invoice_open, ref: demo_invoice_1}
-
!record {model: account.invoice, id: demo_invoice_2}:
- company_id: base.main_company
partner_id: base.res_partner_2
type: 'out_invoice'
date_invoice: !eval time.strftime('%Y-%m')+'-08'
@@ -35,7 +33,6 @@
!workflow {model: account.invoice, action: invoice_open, ref: demo_invoice_2}
-
!record {model: account.invoice, id: demo_invoice_3}:
- company_id: base.main_company
partner_id: base.res_partner_2
type: 'out_invoice'
date_invoice: !eval time.strftime('%Y-%m')+'-08'
@@ -55,7 +52,6 @@
type: 'in_invoice'
-
!record {model: account.invoice, id: demo_invoice_0}:
- company_id: base.main_company
partner_id: base.res_partner_12
user_id: base.user_demo
reference_type: none
@@ -73,7 +69,6 @@
uom_id: product.product_uom_unit
-
!record {model: account.invoice, id: demo_invoice_january_wages}:
- company_id: base.main_company
partner_id: base.res_partner_12
type: 'in_invoice'
date_invoice: !eval time.strftime('%Y-%m')+'-01'
@@ -84,16 +79,16 @@
'name': "CEO wages",
'price_unit': 10000,
}
- account_id = self.pool.get('account.account').search(cr, uid, [('tag_ids', 'in', [ref('account.demo_ceo_wages_account')])])
+ default_company = self.pool.get('res.company')._company_default_get(cr, uid, 'account.account')
+ account_id = self.pool.get('account.account').search(cr, uid, [('tag_ids', 'in', [ref('account.demo_ceo_wages_account')]), ('company_id', '=', default_company)])
if not account_id:
- account_id = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_expenses'))])
+ account_id = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', default_company)])
if account_id:
line_vals['account_id'] = account_id[0]
self._update(cr, uid, 'account.invoice.line', 'account', line_vals, 'ceo_wages_line')
self.pool.get('account.invoice').signal_workflow(cr, uid, [ref('demo_invoice_january_wages')], 'invoice_open')
-
!record {model: account.invoice, id: demo_invoice_equipment_purchase}:
- company_id: base.main_company
partner_id: base.res_partner_1
type: 'in_invoice'
date_invoice: !eval time.strftime('%Y-%m')+'-15'
@@ -104,12 +99,14 @@
'name': "Coffee Machine with huge 'employee\'s performances boosting perk'",
'price_unit': 4999.99,
}
- account_id = self.pool.get('account.account').search(cr, uid, [('tag_ids', 'in', [ref('account.demo_coffee_machine_account')])])
+ account_default_company = self.pool.get('res.company')._company_default_get(cr, uid, 'account.account')
+ account_id = self.pool.get('account.account').search(cr, uid, [('tag_ids', 'in', [ref('account.demo_coffee_machine_account')]), ('company_id', '=', account_default_company)])
if not account_id:
- account_id = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_expenses'))])
+ account_id = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_expenses')), ('company_id', '=', account_default_company)])
if account_id:
line_vals['account_id'] = account_id[0]
- tax_id = self.pool.get('account.tax').search(cr, uid, [('type_tax_use', '=', 'purchase'), ('amount', '>', 0)])
+ tax_default_company = self.pool.get('res.company')._company_default_get(cr, uid, 'account.tax')
+ tax_id = self.pool.get('account.tax').search(cr, uid, [('type_tax_use', '=', 'purchase'), ('amount', '>', 0), ('company_id', '=', tax_default_company)])
if tax_id:
line_vals['invoice_line_tax_ids'] = [(6, 0, [tax_id[0]])]
self._update(cr, uid, 'account.invoice.line', 'account', line_vals, 'coffee_machine_line')
@@ -117,7 +114,8 @@
self.pool.get('account.invoice').signal_workflow(cr, uid, [ref('demo_invoice_equipment_purchase')], 'invoice_open')
-
!python {model: account.bank.statement.line} : |
- account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_revenue')), ('tag_ids', 'in', [ref('account.account_tag_financing')])])
+ default_company = self.pool('res.company')._company_default_get(cr, uid, 'account.account')
+ account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_revenue')), ('tag_ids', 'in', [ref('account.account_tag_financing')]), ('company_id', '=', default_company)])
line = self.browse(cr, uid, ref('account.demo_bank_statement_line_5'))
if not line.journal_entry_ids and account_ids:
line.write({'account_id': account_ids[0]})
@@ -126,20 +124,22 @@
!python {model: ir.model.data} : |
from datetime import datetime
from dateutil.relativedelta import relativedelta
+ default_company = self.pool('res.company')._company_default_get(cr, uid, 'account.journal')
vals = {
- 'company_id': ref('base.main_company'),
- 'journal_id': self.pool.get('account.journal').search(cr, uid, [('type', '=', 'general')])[0],
+ 'journal_id': self.pool.get('account.journal').search(cr, uid, [('type', '=', 'general'), ('company_id', '=', default_company)])[0],
'date': datetime.now().replace(day=1,month=1) - relativedelta(days=1),
'ref': 'Company Creation',
}
self._update(cr, uid, 'account.move', 'account', vals, 'demo_opening_move')
-
!python {model: ir.model.data} : |
- bank_journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'bank')])[0]
+ journal_default_company = self.pool('res.company')._company_default_get(cr, uid, 'account.journal')
+ bank_journal_id = self.pool.get('account.journal').search(cr, uid, [('type', '=', 'bank'), ('company_id', '=', journal_default_company)])[0]
if bank_journal_id:
bank_account_id = self.pool.get('account.journal').browse(cr, uid, bank_journal_id).default_debit_account_id.id
- fixed_asset_account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', 'in', (ref('account.data_account_type_fixed_assets'),ref('account.data_account_type_current_assets')))])
- equity_account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_equity')), ('tag_ids', 'in', [ref('account.demo_capital_account')])])
+ account_default_company = self.pool.get('res.company')._company_default_get(cr, uid, 'account.account')
+ fixed_asset_account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', 'in', (ref('account.data_account_type_fixed_assets'),ref('account.data_account_type_current_assets'))), ('company_id', '=', account_default_company)])
+ equity_account_ids = self.pool.get('account.account').search(cr, uid, [('user_type_id', '=', ref('account.data_account_type_equity')), ('tag_ids', 'in', [ref('account.demo_capital_account')]), ('company_id', '=', account_default_company)])
if bank_account_id and fixed_asset_account_ids and equity_account_ids:
self._update(cr, uid, 'account.move.line', 'account', {
'move_id': ref('account.demo_opening_move'),
diff --git a/addons/account/models/company.py b/addons/account/models/company.py
index faa20059bc4..e5ba2a117c0 100644
--- a/addons/account/models/company.py
+++ b/addons/account/models/company.py
@@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from openerp import fields, models, api, _
+from openerp.exceptions import ValidationError
from datetime import timedelta
@@ -79,6 +80,14 @@ Best Regards,''')
@api.multi
def write(self, values):
+ #restrict the closing of FY if there are still unposted entries
+ if values.get('fiscalyear_lock_date'):
+ nb_draft_entries = self.env['account.move'].search([
+ ('company_id', 'in', [c.id for c in self]),
+ ('state', '=', 'draft'),
+ ('date', '<=', values['fiscalyear_lock_date'])])
+ if nb_draft_entries:
+ raise ValidationError(_('There are still unposted entries in the period you want to lock. You should either post or delete them.'))
# Reflect the change on accounts
for company in self:
digits = values.get('accounts_code_digits') or company.accounts_code_digits
diff --git a/addons/account/tests/test_account_move_closed_period.py b/addons/account/tests/test_account_move_closed_period.py
index d3e9a5b08c2..4dcb8ac777e 100644
--- a/addons/account/tests/test_account_move_closed_period.py
+++ b/addons/account/tests/test_account_move_closed_period.py
@@ -11,10 +11,15 @@ class TestPeriodState(AccountingTestCase):
def setUp(self):
super(TestPeriodState, self).setUp()
cr, uid = self.cr, self.uid
+ self.user_id = self.env['res.users'].browse(self.uid)
self.day_before_yesterday = datetime.now() - timedelta(2)
self.yesterday = datetime.now() - timedelta(1)
- self.user_id = self.env['res.users'].browse(self.uid)
- self.user_id.company_id.write({'fiscalyear_lock_date': self.yesterday.strftime(DEFAULT_SERVER_DATE_FORMAT)})
+ self.yesterday_str = self.yesterday.strftime(DEFAULT_SERVER_DATE_FORMAT)
+ #make sure there is no unposted entry
+ draft_entries = self.env['account.move'].search([('date', '<=', self.yesterday_str), ('state', '=', 'draft')])
+ if draft_entries:
+ draft_entries.post()
+ self.user_id.company_id.write({'fiscalyear_lock_date': self.yesterday_str})
self.sale_journal_id = self.env['account.journal'].search([('type', '=', 'sale')])[0]
self.account_id = self.env['account.account'].search([('internal_type', '=', 'receivable')])[0]
diff --git a/addons/account_check_printing/account_payment.py b/addons/account_check_printing/account_payment.py
index 23742fc73d0..4416347f680 100644
--- a/addons/account_check_printing/account_payment.py
+++ b/addons/account_check_printing/account_payment.py
@@ -101,7 +101,6 @@ class account_payment(models.Model):
raise UserError(_("In order to print multiple checks at once, they must belong to the same bank journal."))
self.filtered(lambda r: r.state == 'draft').post()
- self.write({'state': 'sent'})
if not self[0].journal_id.check_manual_sequencing:
# The wizard asks for the number printed on the first pre-printed check
diff --git a/addons/theme_default/static/src/less/option_layout_boxed.less b/addons/theme_default/static/src/less/option_layout_boxed.less
index db449d79b4d..4e258175923 100644
--- a/addons/theme_default/static/src/less/option_layout_boxed.less
+++ b/addons/theme_default/static/src/less/option_layout_boxed.less
@@ -1,4 +1,6 @@
#wrapwrap {
- width: 85%;
- margin: 0 auto;
-} \ No newline at end of file
+ @media (min-width: @screen-sm-min){
+ width: 85%;
+ margin: 0 auto;
+ }
+}