summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--addons/account/__openerp__.py3
-rw-r--r--addons/account/account.py98
-rw-r--r--addons/account/account_bank.py6
-rw-r--r--addons/account/account_invoice.py4
-rw-r--r--addons/account/account_move_line.py384
-rw-r--r--addons/account/account_view.xml631
-rw-r--r--addons/account/data/account_data.xml406
-rw-r--r--addons/account/demo/account_minimal.xml10
-rw-r--r--addons/account/report/account_invoice_report.py214
-rw-r--r--addons/account/report/account_invoice_report_view.xml4
-rw-r--r--addons/account/res_currency.py1
-rw-r--r--addons/account/security/ir.model.access.csv4
-rw-r--r--addons/account/static/src/js/account_move_line_quickadd.js99
-rw-r--r--addons/account/static/src/js/account_move_reconciliation.js3
-rw-r--r--addons/account/static/src/xml/account_move_line_quickadd.xml22
-rw-r--r--addons/account/test/account_fiscalyear_close.yml46
-rw-r--r--addons/account/test/account_validate_account_move.yml12
-rw-r--r--addons/account/wizard/__init__.py1
-rw-r--r--addons/account/wizard/account_move_journal.py194
-rw-r--r--addons/account/wizard/account_move_journal_view.xml16
-rw-r--r--addons/account_analytic_analysis/__init__.py1
-rw-r--r--addons/account_analytic_analysis/__openerp__.py1
-rw-r--r--addons/account_analytic_analysis/account_analytic_analysis_view.xml12
-rw-r--r--addons/account_analytic_analysis/res_config.py31
-rw-r--r--addons/account_analytic_analysis/res_config_view.xml21
-rw-r--r--addons/account_analytic_analysis/security/account_analytic_analysis_security.xml9
-rw-r--r--addons/account_analytic_plans/account_analytic_plans_view.xml9
-rw-r--r--addons/account_bank_statement_extensions/account_bank_statement_view.xml6
-rw-r--r--addons/account_check_writing/account_view.xml2
-rw-r--r--addons/account_followup/account_followup_view.xml4
-rw-r--r--addons/account_payment/account_payment_view.xml22
-rw-r--r--addons/account_sequence/account_sequence_data.xml41
-rw-r--r--addons/account_voucher/account_voucher_view.xml2
-rw-r--r--addons/account_voucher/test/case1_usd_usd.yml1
-rw-r--r--addons/account_voucher/test/case2_suppl_usd_eur.yml2
-rw-r--r--addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml2
-rw-r--r--addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml2
-rw-r--r--addons/account_voucher/test/case3_eur_eur.yml1
-rw-r--r--addons/account_voucher/test/case4_cad_chf.yml1
-rw-r--r--addons/account_voucher/test/case5_suppl_usd_usd.yml2
-rw-r--r--addons/account_voucher/test/case_eur_usd.yml1
-rw-r--r--addons/analytic/analytic.py11
-rw-r--r--addons/analytic/analytic_view.xml4
-rw-r--r--addons/crm/report/crm_lead_report.py2
-rw-r--r--addons/crm/report/crm_lead_report_view.xml4
-rw-r--r--addons/hr_expense/security/ir.model.access.csv2
-rw-r--r--addons/hr_timesheet/security/ir.model.access.csv2
-rw-r--r--addons/l10n_ch/journal_data.xml6
-rw-r--r--addons/multi_company/multi_company_demo.xml21
-rw-r--r--addons/point_of_sale/security/ir.model.access.csv4
-rw-r--r--addons/product/product.py2
-rw-r--r--addons/project/project.py6
-rw-r--r--addons/project/project_demo.xml35
-rw-r--r--addons/project_issue/project_issue.py2
-rw-r--r--addons/project_issue/project_issue_view.xml14
-rw-r--r--addons/sale/res_config_view.xml4
-rw-r--r--addons/sale_crm/report/sales_crm_account_invoice_report.py5
-rw-r--r--addons/stock/stock_data.xml1
-rw-r--r--addons/stock_location/test/stock_location_pull_flow.yml2
59 files changed, 686 insertions, 1772 deletions
diff --git a/addons/account/__openerp__.py b/addons/account/__openerp__.py
index c538614fd0f..019af2cdef5 100644
--- a/addons/account/__openerp__.py
+++ b/addons/account/__openerp__.py
@@ -73,7 +73,6 @@ for a particular financial year and for preparation of vouchers there is a modul
'wizard/account_fiscalyear_close_state.xml',
'wizard/account_chart_view.xml',
'wizard/account_tax_chart_view.xml',
- 'wizard/account_move_journal_view.xml',
'wizard/account_move_line_reconcile_select_view.xml',
'wizard/account_open_closed_fiscalyear_view.xml',
'wizard/account_move_line_unreconcile_select_view.xml',
@@ -128,9 +127,11 @@ for a particular financial year and for preparation of vouchers there is a modul
],
'js': [
'static/src/js/account_move_reconciliation.js',
+ 'static/src/js/account_move_line_quickadd.js',
],
'qweb' : [
"static/src/xml/account_move_reconciliation.xml",
+ "static/src/xml/account_move_line_quickadd.xml",
],
'css':['static/src/css/account_move_reconciliation.css'
],
diff --git a/addons/account/account.py b/addons/account/account.py
index 15881100441..438dff47aae 100644
--- a/addons/account/account.py
+++ b/addons/account/account.py
@@ -697,44 +697,6 @@ class account_account(osv.osv):
account_account()
-class account_journal_view(osv.osv):
- _name = "account.journal.view"
- _description = "Journal View"
- _columns = {
- 'name': fields.char('Journal View', size=64, required=True, translate=True),
- 'columns_id': fields.one2many('account.journal.column', 'view_id', 'Columns')
- }
- _order = "name"
-
-account_journal_view()
-
-
-class account_journal_column(osv.osv):
-
- def _col_get(self, cr, user, context=None):
- result = []
- cols = self.pool.get('account.move.line')._columns
- for col in cols:
- if col in ('period_id', 'journal_id'):
- continue
- result.append( (col, cols[col].string) )
- result.sort()
- return result
-
- _name = "account.journal.column"
- _description = "Journal Column"
- _columns = {
- 'name': fields.char('Column Name', size=64, required=True),
- 'field': fields.selection(_col_get, 'Field Name', required=True, size=32),
- 'view_id': fields.many2one('account.journal.view', 'Journal View', select=True),
- 'sequence': fields.integer('Sequence', help="Gives the sequence order to journal column.", readonly=True),
- 'required': fields.boolean('Required'),
- 'readonly': fields.boolean('Readonly'),
- }
- _order = "view_id, sequence"
-
-account_journal_column()
-
class account_journal(osv.osv):
_name = "account.journal"
_description = "Journal"
@@ -750,7 +712,6 @@ class account_journal(osv.osv):
" Select 'Opening/Closing Situation' for entries generated for new fiscal years."),
'type_control_ids': fields.many2many('account.account.type', 'account_journal_type_rel', 'journal_id','type_id', 'Type Controls', domain=[('code','<>','view'), ('code', '<>', 'closed')]),
'account_control_ids': fields.many2many('account.account', 'account_account_type_rel', 'journal_id','account_id', 'Account', domain=[('type','<>','view'), ('type', '<>', 'closed')]),
- 'view_id': fields.many2one('account.journal.view', 'Display Mode', required=True, help="Gives the view used when writing or browsing entries in this journal. The view tells OpenERP which fields should be visible, required or readonly and in which order. You can create your own view for a faster encoding in each journal."),
'default_credit_account_id': fields.many2one('account.account', 'Default Credit Account', domain="[('type','!=','view')]", help="It acts as a default account for credit amount"),
'default_debit_account_id': fields.many2one('account.account', 'Default Debit Account', domain="[('type','!=','view')]", help="It acts as a default account for debit amount"),
'centralisation': fields.boolean('Centralised Counterpart', help="Check this box to determine that each entry of this journal won't create a new counterpart but will share the same counterpart. This is used in fiscal year closing."),
@@ -886,37 +847,6 @@ class account_journal(osv.osv):
return self.name_get(cr, user, ids, context=context)
- def onchange_type(self, cr, uid, ids, type, currency, context=None):
- obj_data = self.pool.get('ir.model.data')
- user_pool = self.pool.get('res.users')
-
- type_map = {
- 'sale':'account_sp_journal_view',
- 'sale_refund':'account_sp_refund_journal_view',
- 'purchase':'account_sp_journal_view',
- 'purchase_refund':'account_sp_refund_journal_view',
- 'cash':'account_journal_bank_view',
- 'bank':'account_journal_bank_view',
- 'general':'account_journal_view',
- 'situation':'account_journal_view'
- }
-
- res = {}
- view_id = type_map.get(type, 'account_journal_view')
- user = user_pool.browse(cr, uid, uid)
- if type in ('cash', 'bank') and currency and user.company_id.currency_id.id != currency:
- view_id = 'account_journal_bank_view_multi'
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=',view_id)])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
-
- res.update({
- 'centralisation':type == 'situation',
- 'view_id':data.res_id,
- })
- return {
- 'value':res
- }
-
account_journal()
class account_fiscalyear(osv.osv):
@@ -1396,13 +1326,6 @@ class account_move(osv.osv):
'WHERE id IN %s', ('draft', tuple(ids),))
return True
- def onchange_line_id(self, cr, uid, ids, line_ids, context=None):
- balance = 0.0
- for line in line_ids:
- if line[2]:
- balance += (line[2].get('debit',0.00)- (line[2].get('credit',0.00)))
- return {'value': {'balance': balance}}
-
def write(self, cr, uid, ids, vals, context=None):
if context is None:
context = {}
@@ -3208,16 +3131,6 @@ class wizard_multi_charts_accounts(osv.osv_memory):
default_account = acc_template_ref.get(template.property_account_income_opening.id)
return default_account
- def _get_view_id(journal_type):
- # Get the journal views
- if journal_type in ('general', 'situation'):
- data = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_view')
- elif journal_type in ('sale_refund', 'purchase_refund'):
- data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_refund_journal_view')
- else:
- data = obj_data.get_object_reference(cr, uid, 'account', 'account_sp_journal_view')
- return data and data[1] or False
-
journal_names = {
'sale': _('Sales Journal'),
'purchase': _('Purchase Journal'),
@@ -3247,7 +3160,6 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'code': journal_codes[journal_type],
'company_id': company_id,
'centralisation': journal_type == 'situation',
- 'view_id': _get_view_id(journal_type),
'analytic_journal_id': _get_analytic_journal(journal_type),
'default_credit_account_id': _get_default_account(journal_type, 'credit'),
'default_debit_account_id': _get_default_account(journal_type, 'debit'),
@@ -3464,11 +3376,7 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'''
obj_data = self.pool.get('ir.model.data')
obj_journal = self.pool.get('account.journal')
- # Get the id of journal views
- tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view_multi')
- view_id_cur = tmp and tmp[1] or False
- tmp = obj_data.get_object_reference(cr, uid, 'account', 'account_journal_bank_view')
- view_id_cash = tmp and tmp[1] or False
+
# we need to loop again to find next number for journal code
# because we can't rely on the value current_num as,
@@ -3494,10 +3402,8 @@ class wizard_multi_charts_accounts(osv.osv_memory):
'default_debit_account_id': default_account_id,
}
if line['currency_id']:
- vals['view_id'] = view_id_cur
vals['currency'] = line['currency_id']
- else:
- vals['view_id'] = view_id_cash
+
return vals
def _prepare_bank_account(self, cr, uid, line, new_code, acc_template_ref, ref_acc_bank, company_id, context=None):
diff --git a/addons/account/account_bank.py b/addons/account/account_bank.py
index c836600d866..f0da630ec1d 100644
--- a/addons/account/account_bank.py
+++ b/addons/account/account_bank.py
@@ -89,11 +89,6 @@ class bank(osv.osv):
}
acc_bank_id = obj_acc.create(cr,uid,acc,context=context)
- # Get the journal view id
- data_id = obj_data.search(cr, uid, [('model','=','account.journal.view'), ('name','=','account_journal_bank_view')])
- data = obj_data.browse(cr, uid, data_id[0], context=context)
- view_id_cash = data.res_id
-
jour_obj = self.pool.get('account.journal')
new_code = 1
while True:
@@ -112,7 +107,6 @@ class bank(osv.osv):
'analytic_journal_id': False,
'default_credit_account_id': acc_bank_id,
'default_debit_account_id': acc_bank_id,
- 'view_id': view_id_cash
}
journal_id = jour_obj.create(cr, uid, vals_journal, context=context)
diff --git a/addons/account/account_invoice.py b/addons/account/account_invoice.py
index 6804d5116f1..8d13ec9dc8f 100644
--- a/addons/account/account_invoice.py
+++ b/addons/account/account_invoice.py
@@ -1381,8 +1381,8 @@ class account_invoice_line(osv.osv):
'origin': fields.char('Source Document', size=256, help="Reference of the document that produced this invoice."),
'sequence': fields.integer('Sequence', help="Gives the sequence of this line when displaying the invoice."),
'invoice_id': fields.many2one('account.invoice', 'Invoice Reference', ondelete='cascade', select=True),
- 'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null'),
- 'product_id': fields.many2one('product.product', 'Product', ondelete='set null'),
+ 'uos_id': fields.many2one('product.uom', 'Unit of Measure', ondelete='set null', select=True),
+ 'product_id': fields.many2one('product.product', 'Product', ondelete='set null', select=True),
'account_id': fields.many2one('account.account', 'Account', required=True, domain=[('type','<>','view'), ('type', '<>', 'closed')], help="The income or expense account related to the selected product."),
'price_unit': fields.float('Unit Price', required=True, digits_compute= dp.get_precision('Product Price')),
'price_subtotal': fields.function(_amount_line, string='Subtotal', type="float",
diff --git a/addons/account/account_move_line.py b/addons/account/account_move_line.py
index 3b2fe21d95b..7cc9768f00e 100644
--- a/addons/account/account_move_line.py
+++ b/addons/account/account_move_line.py
@@ -220,12 +220,11 @@ class account_move_line(osv.osv):
return context
def _default_get(self, cr, uid, fields, context=None):
+ #default_get should only do the following:
+ # -propose the next amount in debit/credit in order to balance the move
+ # -propose the next account from the journal (default debit/credit account) accordingly
if context is None:
context = {}
- if not context.get('journal_id', False):
- context['journal_id'] = context.get('search_default_journal_id')
- if not context.get('period_id', False):
- context['period_id'] = context.get('search_default_period_id')
account_obj = self.pool.get('account.account')
period_obj = self.pool.get('account.period')
journal_obj = self.pool.get('account.journal')
@@ -234,134 +233,71 @@ class account_move_line(osv.osv):
fiscal_pos_obj = self.pool.get('account.fiscal.position')
partner_obj = self.pool.get('res.partner')
currency_obj = self.pool.get('res.currency')
+
+ if not context.get('journal_id', False):
+ context['journal_id'] = context.get('search_default_journal_id', False)
+ if not context.get('period_id', False):
+ context['period_id'] = context.get('search_default_period_id', False)
context = self.convert_to_period(cr, uid, context)
- #pass the right context when search_defaul_journal_id
- if context.get('search_default_journal_id',False):
- context['journal_id'] = context.get('search_default_journal_id')
+
# Compute simple values
data = super(account_move_line, self).default_get(cr, uid, fields, context=context)
- # Starts: Manual entry from account.move form
- if context.get('lines'):
- total_new = context.get('balance', 0.00)
- if context['journal']:
- journal_data = journal_obj.browse(cr, uid, context['journal'], context=context)
- if journal_data.type == 'purchase':
- if total_new > 0:
- account = journal_data.default_credit_account_id
- else:
- account = journal_data.default_debit_account_id
- else:
- if total_new > 0:
- account = journal_data.default_credit_account_id
- else:
- account = journal_data.default_debit_account_id
- if account and ((not fields) or ('debit' in fields) or ('credit' in fields)) and 'partner_id' in data and (data['partner_id']):
- part = partner_obj.browse(cr, uid, data['partner_id'], context=context)
- account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
- account = account_obj.browse(cr, uid, account, context=context)
- data['account_id'] = account.id
-
- s = -total_new
- data['debit'] = s > 0 and s or 0.0
- data['credit'] = s < 0 and -s or 0.0
- data = self._default_get_move_form_hook(cr, uid, data)
- return data
- # Ends: Manual entry from account.move form
- if not 'move_id' in fields: #we are not in manual entry
- return data
- # Compute the current move
- move_id = False
- partner_id = False
- if context.get('journal_id', False) and context.get('period_id', False):
- if 'move_id' in fields:
- cr.execute('SELECT move_id \
- FROM \
- account_move_line \
- WHERE \
- journal_id = %s and period_id = %s AND create_uid = %s AND state = %s \
- ORDER BY id DESC limit 1',
- (context['journal_id'], context['period_id'], uid, 'draft'))
+ if context.get('journal_id'):
+ total = 0.0
+ #in account.move form view, it is not possible to compute total debit and credit using
+ #a browse record. So we must use the context to pass the whole one2many field and compute the total
+ if context.get('line_id'):
+ for move_line_dict in move_obj.resolve_2many_commands(cr, uid, 'line_id', context.get('line_id'), context=context):
+ data['name'] = data.get('name') or move_line_dict.get('name')
+ data['partner_id'] = data.get('partner_id') or move_line_dict.get('partner_id')
+ total += move_line_dict.get('debit', 0.0) - move_line_dict.get('credit', 0.0)
+ elif context.get('period_id'):
+ #find the date and the ID of the last unbalanced account.move encoded by the current user in that journal and period
+ move_id = False
+ cr.execute('''SELECT move_id, date FROM account_move_line
+ WHERE journal_id = %s AND period_id = %s AND create_uid = %s AND state = %s
+ ORDER BY id DESC limit 1''', (context['journal_id'], context['period_id'], uid, 'draft'))
res = cr.fetchone()
- move_id = (res and res[0]) or False
- if not move_id:
- return data
- else:
- data['move_id'] = move_id
- if 'date' in fields:
- cr.execute('SELECT date \
- FROM \
- account_move_line \
- WHERE \
- journal_id = %s AND period_id = %s AND create_uid = %s \
- ORDER BY id DESC',
- (context['journal_id'], context['period_id'], uid))
- res = cr.fetchone()
- if res:
- data['date'] = res[0]
- else:
- period = period_obj.browse(cr, uid, context['period_id'],
- context=context)
- data['date'] = period.date_start
- if not move_id:
- return data
- total = 0
- ref_id = False
- move = move_obj.browse(cr, uid, move_id, context=context)
- if 'name' in fields:
- data.setdefault('name', move.line_id[-1].name)
- acc1 = False
- for l in move.line_id:
- acc1 = l.account_id
- partner_id = partner_id or l.partner_id.id
- ref_id = ref_id or l.ref
- total += (l.debit or 0.0) - (l.credit or 0.0)
-
- if 'ref' in fields:
- data['ref'] = ref_id
- if 'partner_id' in fields:
- data['partner_id'] = partner_id
-
- if move.journal_id.type == 'purchase':
- if total > 0:
- account = move.journal_id.default_credit_account_id
- else:
- account = move.journal_id.default_debit_account_id
- else:
- if total > 0:
- account = move.journal_id.default_credit_account_id
- else:
- account = move.journal_id.default_debit_account_id
- part = partner_id and partner_obj.browse(cr, uid, partner_id) or False
- # part = False is acceptable for fiscal position.
- account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
- if account:
- account = account_obj.browse(cr, uid, account, context=context)
-
- if account and ((not fields) or ('debit' in fields) or ('credit' in fields)):
- data['account_id'] = account.id
- # Propose the price Tax excluded, the Tax will be added when confirming line
- if account.tax_ids:
- taxes = fiscal_pos_obj.map_tax(cr, uid, part and part.property_account_position or False, account.tax_ids)
- tax = tax_obj.browse(cr, uid, taxes)
- for t in tax_obj.compute_inv(cr, uid, tax, total, 1):
- total -= t['amount']
-
- s = -total
- data['debit'] = s > 0 and s or 0.0
- data['credit'] = s < 0 and -s or 0.0
-
- if account and account.currency_id:
- data['currency_id'] = account.currency_id.id
- acc = account
- if s>0:
- acc = acc1
- compute_ctx = context.copy()
- compute_ctx.update({
- 'res.currency.compute.account': acc,
- 'res.currency.compute.account_invert': True,
- })
- v = currency_obj.compute(cr, uid, account.company_id.currency_id.id, data['currency_id'], s, context=compute_ctx)
- data['amount_currency'] = v
+ move_id = res and res[0] or False
+ data['date'] = res and res[1] or period_obj.browse(cr, uid, context['period_id'], context=context).date_start
+ data['move_id'] = move_id
+ if move_id:
+ #if there exist some unbalanced accounting entries that match the journal and the period,
+ #we propose to continue the same move by copying the ref, the name, the partner...
+ move = move_obj.browse(cr, uid, move_id, context=context)
+ data.setdefault('name', move.line_id[-1].name)
+ for l in move.line_id:
+ data['partner_id'] = data.get('partner_id') or l.partner_id.id
+ data['ref'] = data.get('ref') or l.ref
+ total += (l.debit or 0.0) - (l.credit or 0.0)
+
+ #compute the total of current move
+ data['debit'] = total < 0 and -total or 0.0
+ data['credit'] = total > 0 and total or 0.0
+ #pick the good account on the journal accordingly if the next proposed line will be a debit or a credit
+ journal_data = journal_obj.browse(cr, uid, context['journal_id'], context=context)
+ account = total > 0 and journal_data.default_credit_account_id or journal_data.default_debit_account_id
+ #map the account using the fiscal position of the partner, if needed
+ part = data.get('partner_id') and partner_obj.browse(cr, uid, data['partner_id'], context=context) or False
+ if account and data.get('partner_id'):
+ account = fiscal_pos_obj.map_account(cr, uid, part and part.property_account_position or False, account.id)
+ account = account_obj.browse(cr, uid, account, context=context)
+ data['account_id'] = account and account.id or False
+ #compute the amount in secondary currency of the account, if needed
+ if account and account.currency_id:
+ data['currency_id'] = account.currency_id.id
+ #set the context for the multi currency change
+ compute_ctx = context.copy()
+ compute_ctx.update({
+ #the following 2 parameters are used to choose the currency rate, in case where the account
+ #doesn't work with an outgoing currency rate method 'at date' but 'average'
+ 'res.currency.compute.account': account,
+ 'res.currency.compute.account_invert': True,
+ })
+ if data.get('date'):
+ compute_ctx.update({'date': data['date']})
+ data['amount_currency'] = currency_obj.compute(cr, uid, account.company_id.currency_id.id, data['currency_id'], -total, context=compute_ctx)
+ data = self._default_get_move_form_hook(cr, uid, data)
return data
def on_create_write(self, cr, uid, id, context=None):
@@ -484,6 +420,15 @@ class account_move_line(osv.osv):
result.append(line.id)
return result
+ def _get_reconcile(self, cr, uid, ids,name, unknow_none, context=None):
+ res = dict.fromkeys(ids, False)
+ for line in self.browse(cr, uid, ids, context=context):
+ if line.reconcile_id:
+ res[line.id] = str(line.reconcile_id.name)
+ elif line.reconcile_partial_id:
+ res[line.id] = str(line.reconcile_partial_id.name)
+ return res
+
_columns = {
'name': fields.char('Name', size=64, required=True),
'quantity': fields.float('Quantity', digits=(16,2), help="The optional quantity expressed by this line, eg: number of product sold. The quantity is not a legal requirement but is very useful for some reports."),
@@ -498,15 +443,16 @@ class account_move_line(osv.osv):
'statement_id': fields.many2one('account.bank.statement', 'Statement', help="The bank statement used for bank reconciliation", select=1),
'reconcile_id': fields.many2one('account.move.reconcile', 'Reconcile', readonly=True, ondelete='set null', select=2),
'reconcile_partial_id': fields.many2one('account.move.reconcile', 'Partial Reconcile', readonly=True, ondelete='set null', select=2),
+ 'reconcile': fields.function(_get_reconcile, type='char', string='Reconcile'),
'amount_currency': fields.float('Amount Currency', help="The amount expressed in an optional other currency if it is a multi-currency entry.", digits_compute=dp.get_precision('Account')),
'amount_residual_currency': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in its currency (maybe different of the company currency)."),
'amount_residual': fields.function(_amount_residual, string='Residual Amount', multi="residual", help="The residual amount on a receivable or payable of a journal entry expressed in the company currency."),
'currency_id': fields.many2one('res.currency', 'Currency', help="The optional other currency if it is a multi-currency entry."),
- 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True, readonly=True,
+ 'journal_id': fields.related('move_id', 'journal_id', string='Journal', type='many2one', relation='account.journal', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['journal_id'], 20)
}),
- 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True, readonly=True,
+ 'period_id': fields.related('move_id', 'period_id', string='Period', type='many2one', relation='account.period', required=True, select=True,
store = {
'account.move': (_get_move_lines, ['period_id'], 20)
}),
@@ -537,7 +483,7 @@ class account_move_line(osv.osv):
context or {}
period_obj = self.pool.get('account.period')
dt = time.strftime('%Y-%m-%d')
- if ('journal_id' in context) and ('period_id' in context):
+ if context.get('journal_id') and context.get('period_id'):
cr.execute('SELECT date FROM account_move_line ' \
'WHERE journal_id = %s AND period_id = %s ' \
'ORDER BY id DESC limit 1',
@@ -558,6 +504,38 @@ class account_move_line(osv.osv):
cur = self.pool.get('account.journal').browse(cr, uid, context['journal_id']).currency
return cur and cur.id or False
+ def _get_period(self, cr, uid, context=None):
+ """
+ Return default account period value
+ """
+ context = context or {}
+ if context.get('period_id', False):
+ return context['period_id']
+ account_period_obj = self.pool.get('account.period')
+ ids = account_period_obj.find(cr, uid, context=context)
+ period_id = False
+ if ids:
+ period_id = ids[0]
+ return period_id
+
+ def _get_journal(self, cr, uid, context=None):
+ """
+ Return journal based on the journal type
+ """
+ context = context or {}
+ if context.get('journal_id', False):
+ return context['journal_id']
+ journal_id = False
+
+ journal_pool = self.pool.get('account.journal')
+ if context.get('journal_type', False):
+ jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))])
+ if not jids:
+ raise osv.except_osv(_('Configuration Error!'), _('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration/Journals/Journals.') % context.get('journal_type'))
+ journal_id = jids[0]
+ return journal_id
+
+
_defaults = {
'blocked': False,
'centralisation': 'normal',
@@ -565,12 +543,12 @@ class account_move_line(osv.osv):
'date_created': fields.date.context_today,
'state': 'draft',
'currency_id': _get_currency,
- 'journal_id': lambda self, cr, uid, c: c.get('journal_id', False),
+ 'journal_id': _get_journal,
'credit': 0.0,
'debit': 0.0,
'amount_currency': 0.0,
'account_id': lambda self, cr, uid, c: c.get('account_id', False),
- 'period_id': lambda self, cr, uid, c: c.get('period_id', False),
+ 'period_id': _get_period,
'company_id': lambda self, cr, uid, c: self.pool.get('res.company')._company_default_get(cr, uid, 'account.move.line', context=c)
}
_order = "date desc, id desc"
@@ -675,6 +653,12 @@ class account_move_line(osv.osv):
}
return result
+ def onchange_account_id(self, cr, uid, ids, account_id, context=None):
+ res = {'value': {}}
+ if account_id:
+ res['value']['account_tax_id'] = [x.id for x in self.pool.get('account.account').browse(cr, uid, account_id, context=context).tax_ids]
+ return res
+
def onchange_partner_id(self, cr, uid, ids, move_id, partner_id, account_id=None, debit=0, credit=0, date=False, journal=False):
partner_obj = self.pool.get('res.partner')
payment_term_obj = self.pool.get('account.payment.term')
@@ -999,127 +983,6 @@ class account_move_line(osv.osv):
'context':context,
}
- def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
- journal_pool = self.pool.get('account.journal')
- if context is None:
- context = {}
- result = super(account_move_line, self).fields_view_get(cr, uid, view_id, view_type, context=context, toolbar=toolbar, submenu=submenu)
- if (view_type != 'tree') or view_id:
- #Remove the toolbar from the form view
- if view_type == 'form':
- if result.get('toolbar', False):
- result['toolbar']['action'] = []
- #Restrict the list of journal view in search view
- if view_type == 'search' and result['fields'].get('journal_id', False):
- result['fields']['journal_id']['selection'] = journal_pool.name_search(cr, uid, '', [], context=context)
- ctx = context.copy()
- #we add the refunds journal in the selection field of journal
- if context.get('journal_type', False) == 'sale':
- ctx.update({'journal_type': 'sale_refund'})
- result['fields']['journal_id']['selection'] += journal_pool.name_search(cr, uid, '', [], context=ctx)
- elif context.get('journal_type', False) == 'purchase':
- ctx.update({'journal_type': 'purchase_refund'})
- result['fields']['journal_id']['selection'] += journal_pool.name_search(cr, uid, '', [], context=ctx)
- return result
- if context.get('view_mode', False):
- return result
- fld = []
- flds = []
- title = _("Accounting Entries") # self.view_header_get(cr, uid, view_id, view_type, context)
-
- ids = journal_pool.search(cr, uid, [], context=context)
- journals = journal_pool.browse(cr, uid, ids, context=context)
- for journal in journals:
- for field in journal.view_id.columns_id:
- # sometimes, it's possible that a defined column is not loaded (the module containing
- # this field is not loaded) when we make an update.
- if field.field not in self._columns:
- continue
-
- if not field.field in flds:
- fld.append((field.field, field.sequence))
- flds.append(field.field)
-
- default_columns = {
- 'period_id': 3,
- 'journal_id': 10,
- 'state': sys.maxint,
- }
- for d in default_columns:
- if d not in flds:
- fld.append((d, default_columns[d]))
- flds.append(d)
-
- fld = sorted(fld, key=itemgetter(1))
- widths = {
- 'statement_id': 50,
- 'state': 60,
- 'tax_code_id': 50,
- 'move_id': 40,
- }
-
- document = etree.Element('tree', string=title, editable="top",
- on_write="on_create_write",
- colors="red:state=='draft';black:state=='valid'")
- fields_get = self.fields_get(cr, uid, flds, context)
- for field, _seq in fld:
- # TODO add string to element
- f = etree.SubElement(document, 'field', name=field)
-
- if field == 'debit':
- f.set('sum', _("Total debit"))
-
- elif field == 'credit':
- f.set('sum', _("Total credit"))
-
- elif field == 'move_id':
- f.set('required', 'False')
-
- elif field == 'account_tax_id':
- f.set('domain', "[('parent_id', '=' ,False)]")
- f.set('context', "{'journal_id': journal_id}")
-
- elif field == 'account_id' and journal.id:
- f.set('domain', "[('journal_id', '=', journal_id),('type','!=','view'), ('type','!=','closed')]")
- f.set('on_change', 'onchange_account_id(account_id, partner_id)')
-
- elif field == 'partner_id':
- f.set('on_change', 'onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)')
-
- elif field == 'journal_id':
- f.set('context', "{'journal_id': journal_id}")
-
- elif field == 'statement_id':
- f.set('domain', "[('state', '!=', 'confirm'),('journal_id.type', '=', 'bank')]")
- f.set('invisible', 'True')
-
- elif field == 'date':
- f.set('on_change', 'onchange_date(date)')
-
- elif field == 'analytic_account_id':
- # Currently it is not working due to being executed by superclass's fields_view_get
- # f.set('groups', 'analytic.group_analytic_accounting')
- pass
-
- if field in ('amount_currency', 'currency_id'):
- f.set('on_change', 'onchange_currency(account_id, amount_currency, currency_id, date, journal_id)')
- f.set('attrs', "{'readonly': [('state', '=', 'valid')]}")
-
- if field in widths:
- f.set('width', str(widths[field]))
-
- if field in ('journal_id',):
- f.set("invisible", "context.get('journal_id', False)")
- elif field in ('period_id',):
- f.set("invisible", "context.get('period_id', False)")
-
- orm.setup_modifiers(f, fields_get[field], context=context,
- in_tree_view=True)
-
- result['arch'] = etree.tostring(document, pretty_print=True)
- result['fields'] = fields_get
- return result
-
def _check_moves(self, cr, uid, context=None):
# use the first move ever created for this journal and period
if context is None:
@@ -1414,6 +1277,19 @@ class account_move_line(osv.osv):
move_obj.button_validate(cr,uid, [vals['move_id']], context)
return result
+ def list_periods(self, cr, uid, context=None):
+ ids = self.pool.get('account.period').search(cr,uid,[])
+ return self.pool.get('account.period').name_get(cr, uid, ids, context=context)
+
+ def list_journals(self, cr, uid, context=None):
+ ng = dict(self.pool.get('account.journal').name_search(cr,uid,'',[]))
+ ids = ng.keys()
+ result = []
+ for journal in self.pool.get('account.journal').browse(cr, uid, ids, context=context):
+ result.append((journal.id,ng[journal.id],journal.type,
+ bool(journal.currency),bool(journal.analytic_journal_id)))
+ return result
+
account_move_line()
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 7732d8d8cb0..e2c45af8cba 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -2,10 +2,7 @@
<openerp>
<data>
- <!--
- Fiscal Year
- -->
-
+ <!-- Fiscal Year -->
<record id="view_account_fiscalyear_form" model="ir.ui.view">
<field name="name">account.fiscalyear.form</field>
<field name="model">account.fiscalyear</field>
@@ -70,7 +67,7 @@
</search>
</field>
</record>
- <record id="action_account_fiscalyear_form" model="ir.actions.act_window">
+ <record id="action_account_fiscalyear" model="ir.actions.act_window">
<field name="name">Fiscal Years</field>
<field name="res_model">account.fiscalyear</field>
<field name="view_type">form</field>
@@ -90,12 +87,9 @@
</field>
</record>
<menuitem id="next_id_23" name="Periods" parent="account.menu_finance_configuration" sequence="5" />
- <menuitem action="action_account_fiscalyear_form" id="menu_action_account_fiscalyear_form" parent="next_id_23"/>
-
- <!--
- Period
- -->
+ <menuitem id="menu_action_account_fiscalyear" action="action_account_fiscalyear" parent="next_id_23"/>
+ <!-- Period -->
<record id="view_account_period_form" model="ir.ui.view">
<field name="name">account.period.form</field>
<field name="model">account.period</field>
@@ -142,7 +136,6 @@
</tree>
</field>
</record>
-
<record id="view_account_period_search" model="ir.ui.view">
<field name="name">account.period.search</field>
<field name="model">account.period</field>
@@ -153,8 +146,7 @@
</search>
</field>
</record>
-
- <record id="action_account_period_form" model="ir.actions.act_window">
+ <record id="action_account_period" model="ir.actions.act_window">
<field name="name">Periods</field>
<field name="res_model">account.period</field>
<field name="view_type">form</field>
@@ -169,12 +161,9 @@
</p>
</field>
</record>
- <menuitem action="action_account_period_form" id="menu_action_account_period_form" parent="account.next_id_23" groups="base.group_no_one"/>
+ <menuitem id="menu_action_account_period" action="action_account_period" parent="account.next_id_23" groups="base.group_no_one"/>
-
- <!--
- Accounts
- -->
+ <!-- Accounts -->
<record id="view_account_form" model="ir.ui.view">
<field name="name">account.account.form</field>
<field name="model">account.account</field>
@@ -215,25 +204,6 @@
</form>
</field>
</record>
-
- <record id="view_account_search" model="ir.ui.view">
- <field name="name">account.account.search</field>
- <field name="model">account.account</field>
- <field name="arch" type="xml">
- <search string="Accounts">
- <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/>
- <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/>
- <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
- <field name="user_type"/>
- <group expand="0" string="Group By...">
- <filter string="Parent Account" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/>
- <filter string="Account Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'user_type'}"/>
- <filter string="Internal Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'type'}"/>
- </group>
- </search>
- </field>
- </record>
-
<record id="view_account_list" model="ir.ui.view">
<field name="name">account.account.list</field>
<field name="model">account.account</field>
@@ -253,6 +223,23 @@
</tree>
</field>
</record>
+ <record id="view_account_search" model="ir.ui.view">
+ <field name="name">account.account.search</field>
+ <field name="model">account.account</field>
+ <field name="arch" type="xml">
+ <search string="Accounts">
+ <field name="name" filter_domain="['|', ('name','ilike',self), ('code','ilike',self)]" string="Account"/>
+ <filter icon="terp-sale" string="Receivable Accounts" domain="[('type','=','receivable')]"/>
+ <filter icon="terp-purchase" string="Payable Accounts" domain="[('type','=','payable')]"/>
+ <field name="user_type"/>
+ <group expand="0" string="Group By...">
+ <filter string="Parent Account" icon="terp-folder-orange" domain="" context="{'group_by':'parent_id'}"/>
+ <filter string="Account Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'user_type'}"/>
+ <filter string="Internal Type" icon="terp-stock_symbol-selection" domain="" context="{'group_by':'type'}"/>
+ </group>
+ </search>
+ </field>
+ </record>
<record id="action_account_form" model="ir.actions.act_window">
<field name="name">Accounts</field>
<field name="res_model">account.account</field>
@@ -276,6 +263,13 @@
<menuitem id="account_account_menu" name="Accounts" parent="account.menu_finance_configuration" sequence="15"/>
<menuitem action="action_account_form" id="menu_action_account_form" parent="account_account_menu"/>
+ <act_window
+ id="act_account_acount_move_line_open_unreconciled"
+ name="Unreconciled Entries"
+ res_model="account.move.line"
+ context="{'search_default_account_id':[active_id], 'search_default_unreconciled':1, 'default_account_id': active_id}"
+ src_model="account.account"/>
+
<record id="view_account_tree" model="ir.ui.view">
<field name="name">account.account.tree</field>
<field name="model">account.account</field>
@@ -301,7 +295,6 @@
<field name="view_id" ref="view_account_tree"/>
<field name="domain">[('parent_id','=',False)]</field>
</record>
-
<record id="view_account_gain_loss_tree" model="ir.ui.view">
<field name="name">Unrealized Gain or Loss</field>
<field name="model">account.account</field>
@@ -321,7 +314,6 @@
</tree>
</field>
</record>
-
<record id="action_account_gain_loss" model="ir.actions.act_window">
<field name="name">Unrealized Gain or Loss</field>
<field name="res_model">account.account</field>
@@ -341,7 +333,6 @@
</p>
</field>
</record>
-
<menuitem
name="Unrealized Gain or Loss"
action="action_account_gain_loss"
@@ -349,88 +340,14 @@
id="menu_unrealized_gains_losses"
parent="account.menu_multi_currency"/>
- <!--
- Journal
-
- Account Journal Columns
- -->
-
- <record id="view_journal_column_form" model="ir.ui.view">
- <field name="name">account.journal.column.form</field>
- <field name="model">account.journal.column</field>
- <field name="arch" type="xml">
- <form string="Journal Column" version="7.0">
- <field name="name"/>
- <field name="field"/>
- <field name="sequence"/>
- </form>
- </field>
- </record>
- <record id="view_journal_column_tree" model="ir.ui.view">
- <field name="name">account.journal.column.tree</field>
- <field name="model">account.journal.column</field>
- <field name="arch" type="xml">
- <tree string="Journal Column">
- <field name="sequence"/>
- <field name="name"/>
- </tree>
- </field>
- </record>
-
- <record id="view_account_journal_view_search" model="ir.ui.view">
- <field name="name">account.journal.view.search</field>
- <field name="model">account.journal.view</field>
- <field name="arch" type="xml">
- <search string="Journal View">
- <field name="name" string="Journal View"/>
- </search>
- </field>
- </record>
- <record id="view_account_journal_view_tree" model="ir.ui.view">
- <field name="name">account.journal.view.tree</field>
- <field name="model">account.journal.view</field>
- <field name="arch" type="xml">
- <tree string="Journal View">
- <field name="name"/>
- </tree>
- </field>
- </record>
- <record id="view_account_journal_view_form" model="ir.ui.view">
- <field name="name">account.journal.view.form</field>
- <field name="model">account.journal.view</field>
- <field name="arch" type="xml">
- <form string="Journal View" version="7.0">
- <field name="name"/>
- <field name="columns_id"/>
- </form>
- </field>
- </record>
- <record id="action_account_journal_view" model="ir.actions.act_window">
- <field name="name">Journal Views</field>
- <field name="res_model">account.journal.view</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="search_view_id" ref="view_account_journal_view_search"/>
- <field name="help" type="html">
- <p class="oe_view_nocontent_create">
- Click to specify lists of columns to display for a type of journal.
- </p><p>
- Journal views determine the way you can record entries in
- your journal. Select the fields you want to appear in a journal
- and determine the sequence in which they will appear.
- </p><p>
- On the journal definition form, you can select the view you
- want to use to display journal items related to this journal.
- </p>
- </field>
- </record>
-
- <menuitem action="action_account_journal_view" id="menu_action_account_journal_view" parent="account.menu_journals" sequence="20"/>
-
- <!--
- # Account Journal
- -->
+ <act_window
+ id="action_move_line_select"
+ name="Journal Items"
+ context="{'search_default_account_id': [active_id]}"
+ res_model="account.move.line"
+ src_model="account.account"/>
+ <!-- Account Journal -->
<record id="view_account_journal_tree" model="ir.ui.view">
<field name="name">account.journal.tree</field>
<field name="model">account.journal</field>
@@ -462,7 +379,6 @@
</search>
</field>
</record>
-
<record id="view_account_journal_form" model="ir.ui.view">
<field name="name">account.journal.form</field>
<field name="model">account.journal</field>
@@ -475,7 +391,7 @@
<group>
<group>
<field name="code"/>
- <field name="type" on_change="onchange_type(type, currency, context)"/>
+ <field name="type"/>
</group>
<group>
<field name="default_debit_account_id" attrs="{'required':[('type','in', ('cash', 'bank'))]}" domain="[('type','&lt;&gt;','view'),('type','&lt;&gt;','consolidation')]"/>
@@ -489,7 +405,6 @@
<group>
<group>
<field name="user_id"/>
- <field name="view_id" widget="selection"/>
<field name="sequence_id" required="0"/>
</group>
<group>
@@ -529,7 +444,6 @@
</form>
</field>
</record>
-
<record id="action_account_journal_form" model="ir.actions.act_window">
<field name="name">Journals</field>
<field name="res_model">account.journal</field>
@@ -550,6 +464,21 @@
</record>
<menuitem action="action_account_journal_form" id="menu_action_account_journal_form" parent="menu_journals"/>
+ <act_window
+ id="act_account_journal_2_account_bank_statement"
+ name="Bank statements"
+ context="{'search_default_journal_id': active_id, 'default_journal_id': active_id}"
+ res_model="account.bank.statement"
+ src_model="account.journal"/>
+
+ <act_window
+ id="act_account_journal_2_account_move_line"
+ name="Journal Items"
+ context="{'search_default_journal_id': active_id, 'default_journal_id': active_id}"
+ res_model="account.move.line"
+ src_model="account.journal"/>
+
+ <!-- Bank statement -->
<record id="view_account_bank_statement_filter" model="ir.ui.view">
<field name="name">account.cash.statement.select</field>
<field name="model">account.bank.statement</field>
@@ -735,9 +664,7 @@
<field name="filter" eval="True"/>
</record>
- <!--
- Account Types
- -->
+ <!-- Account Types -->
<record id="view_account_type_search" model="ir.ui.view">
<field name="name">account.account.type.search</field>
<field name="model">account.account.type</field>
@@ -747,7 +674,6 @@
</search>
</field>
</record>
-
<record id="view_account_type_tree" model="ir.ui.view">
<field name="name">account.account.type.tree</field>
<field name="model">account.account.type</field>
@@ -758,7 +684,6 @@
</tree>
</field>
</record>
-
<record id="view_account_type_form" model="ir.ui.view">
<field name="name">account.account.type.form</field>
<field name="model">account.account.type</field>
@@ -798,9 +723,8 @@
</field>
</record>
<menuitem action="action_account_type_form" sequence="20" id="menu_action_account_type_form" parent="account_account_menu" groups="base.group_no_one"/>
- <!--
- Entries
- -->
+
+ <!-- Entries -->
<record id="view_account_move_tree" model="ir.ui.view">
<field name="name">account.move.tree</field>
<field name="model">account.move</field>
@@ -818,10 +742,7 @@
</field>
</record>
- <!--
- Reconcile
- -->
-
+ <!-- Reconcile -->
<record id="view_move_reconcile_form" model="ir.ui.view">
<field name="name">account.move.reconcile.form</field>
<field name="model">account.move.reconcile</field>
@@ -840,9 +761,7 @@
</field>
</record>
- <!--
- Tax Codes
- -->
+ <!-- Tax Codes -->
<record id="view_tax_code_search" model="ir.ui.view">
<field name="name">account.tax.code.search</field>
<field name="model">account.tax.code</field>
@@ -913,13 +832,17 @@
</p>
</field>
</record>
- <menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_configuration" sequence="20"/>
- <menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12" groups="base.group_no_one"/>
+ <menuitem id="next_id_27" name="Taxes" parent="account.menu_finance_configuration" sequence="20"/>
+ <menuitem action="action_tax_code_list" id="menu_action_tax_code_list" parent="next_id_27" sequence="12" groups="base.group_no_one"/>
+ <act_window
+ id="action_tax_code_line_open"
+ name="Journal Items"
+ domain="[('tax_code_id','child_of',active_id),('state','&lt;&gt;','draft')]"
+ res_model="account.move.line"
+ src_model="account.tax.code"/>
- <!--
- Tax
- -->
+ <!-- Tax -->
<record id="view_tax_tree" model="ir.ui.view">
<field name="name">account.tax.tree</field>
<field name="model">account.tax</field>
@@ -1041,57 +964,7 @@
<field name="view_id" ref="view_tax_code_tree"/>
</record>
- <!--
- Entries lines
- -->
-
- <record id="view_move_line_tree_reconcile" model="ir.ui.view">
- <field name="model">account.move.line</field>
- <field eval="24" name="priority"/>
- <field name="arch" type="xml">
- <tree_account_reconciliation colors="red:state == 'draft';black:state == 'valid'" string="Journal Items to Reconcile" create="false" version="7.0">
- <field name="date"/>
- <field name="move_id"/>
- <field name="ref"/>
- <field name="name"/>
- <field name="partner_id"/>
- <field name="account_id"/>
- <field name="reconcile_partial_id"/>
- <field name="state" invisible="1"/>
- <field name="debit" sum="Total debit"/>
- <field name="credit" sum="Total credit"/>
- </tree_account_reconciliation>
- </field>
- </record>
-
- <record id="view_move_line_tree" model="ir.ui.view">
- <field name="name">account.move.line.tree</field>
- <field name="model">account.move.line</field>
- <field eval="4" name="priority"/>
- <field name="arch" type="xml">
- <tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items" editable="top" on_write="on_create_write">
- <field name="date"/>
- <field name="period_id"/>
- <field name="move_id"/>
- <field name="ref"/>
- <field name="invoice"/>
- <field name="name"/>
- <field name="partner_id" on_change="onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)"/>
- <field name="account_id" domain="[('journal_id','=',journal_id), ('company_id', '=', company_id)]"/>
- <field name="journal_id"/>
- <field name="debit" sum="Total debit"/>
- <field name="credit" sum="Total credit"/>
- <field name="account_tax_id"/>
- <field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('parent_id','!=',False)]"/>
- <field name="amount_currency" attrs="{'readonly':[('state','=','valid')]}"/>
- <field name="currency_id" attrs="{'readonly':[('state','=','valid')]}" groups="base.group_multi_currency"/>
- <field name="reconcile_partial_id"/>
- <field name="reconcile_id"/>
- <field name="state" invisible="1"/>
- </tree>
- </field>
- </record>
-
+ <!-- Journal Items -->
<record id="view_move_line_form" model="ir.ui.view">
<field name="name">account.move.line.form</field>
<field name="model">account.move.line</field>
@@ -1161,7 +1034,6 @@
</form>
</field>
</record>
-
<record id="view_move_line_form2" model="ir.ui.view">
<field name="name">account.move.line.form2</field>
<field name="model">account.move.line</field>
@@ -1209,7 +1081,35 @@
</form>
</field>
</record>
-
+ <record id="view_move_line_tree" model="ir.ui.view">
+ <field name="name">account.move.line.tree</field>
+ <field name="model">account.move.line</field>
+ <field eval="1" name="priority"/>
+ <field name="arch" type="xml">
+ <tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items" create="true" on_write="on_create_write" version="7.0" editable="top">
+ <field name="journal_id" options='{"no_open":True}' invisible="context.get('journal_id',False)"/>
+ <field name="period_id" options='{"no_open":True}' invisible="context.get('period_id',False)"/>
+ <field name="date"/>
+ <field name="name"/>
+ <field name="ref"/>
+ <field name="statement_id" invisible="1"/>
+ <field name="partner_id" on_change="onchange_partner_id(move_id, partner_id, account_id, debit, credit, date, journal_id)"/>
+ <field name="account_id" options='{"no_open":True}' domain="[('journal_id','=',journal_id), ('company_id', '=', company_id)]" on_change="onchange_account_id(account_id)"/>
+ <field name="account_tax_id" options='{"no_open":True}' invisible="context.get('journal_type', False) not in ['sale','sale_refund','purchase','purchase_refund','general']"/>
+ <field name="analytic_account_id" groups="analytic.group_analytic_accounting" domain="[('type','not in',['view','template'])]" invisible="not context.get('analytic_journal_id',False)"/>
+ <field name="move_id" required="0"/>
+ <field name="debit" sum="Total Debit"/>
+ <field name="credit" sum="Total Credit"/>
+ <field name="date_maturity" invisible="context.get('journal_type', False) not in ['sale','sale_refund','purchase','purchase_refund']"/>
+ <field name="reconcile"/>
+ <field name="invoice" invisible="1"/>
+ <field name="amount_currency" readonly="True" invisible="not context.get('currency',False)"/>
+ <field name="currency_id" readonly="True" invisible="not context.get('currency',False)" />
+ <field name="state" />
+ <field name="company_id" invisible="1"/>
+ </tree>
+ </field>
+ </record>
<record id="account_move_line_graph" model="ir.ui.view">
<field name="name">account.move.line.graph</field>
<field name="model">account.move.line</field>
@@ -1221,7 +1121,6 @@
</graph>
</field>
</record>
-
<record id="view_account_move_line_filter" model="ir.ui.view">
<field name="name">Journal Items</field>
<field name="model">account.move.line</field>
@@ -1238,7 +1137,7 @@
<separator/>
<filter string="Next Partner to Reconcile" help="Next Partner Entries to reconcile" name="next_partner" context="{'next_partner_only': 1}" icon="terp-gtk-jump-to-ltr" domain="[('account_id.reconcile','=',True),('reconcile_id','=',False)]"/>
<field name="move_id" string="Number (Move)"/>
- <field name="account_id"/>
+ <field name="account_id" filter_domain="['|', ('name', 'ilike', self), ('code', 'ilike', self)]"/>
<field name="partner_id"/>
<field name="journal_id" context="{'journal_id':self}" widget="selection"/> <!-- it's important to keep widget='selection' in this filter viewbecause without that the value passed in the context is not the ID but the textual value (name) of the selected journal -->
<field name="period_id" context="{'period_id':self}" widget="selection"/> <!-- it's important to keep the widget='selection' in this field, for the same reason as explained above -->
@@ -1251,17 +1150,15 @@
</search>
</field>
</record>
-
<record id="action_account_moves_all_a" model="ir.actions.act_window">
+ <field name="context">{'journal_type':'general'}</field>
<field name="name">Journal Items</field>
<field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="context">{}</field>
- <field name="search_view_id" ref="view_account_move_line_filter"/>
+ <field name="view_id" ref="view_move_line_tree"/>
+ <field name="view_mode">tree_account_move_line_quickadd</field>
<field name="help" type="html">
<p class="oe_view_nocontent_create">
- Click to register a new journal item.
+ Select the period and the journal you want to fill.
</p><p>
This view can be used by accountants in order to quickly record
entries in OpenERP. If you want to record a supplier invoice,
@@ -1271,7 +1168,6 @@
</p>
</field>
</record>
-
<menuitem
action="action_account_moves_all_a"
icon="STOCK_JUSTIFY_FILL"
@@ -1281,37 +1177,49 @@
groups="group_account_user"
/>
- <record id="action_view_move_line" model="ir.actions.act_window">
- <field name="name">Lines to reconcile</field>
- <field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="domain">[('account_id.reconcile', '=', True),('reconcile_id','=',False)]</field>
- <field eval="False" name="view_id"/>
- <field eval="True" name="filter"/>
- <field name="search_view_id" ref="view_account_move_line_filter"/>
+ <record id="view_move_line_tree_reconcile" model="ir.ui.view">
+ <field name="model">account.move.line</field>
+ <field eval="24" name="priority"/>
+ <field name="arch" type="xml">
+ <tree_account_reconciliation colors="red:state == 'draft';black:state == 'valid'" string="Journal Items to Reconcile" create="false" version="7.0">
+ <field name="date"/>
+ <field name="move_id"/>
+ <field name="ref"/>
+ <field name="name"/>
+ <field name="partner_id"/>
+ <field name="account_id"/>
+ <field name="reconcile_partial_id"/>
+ <field name="state" invisible="1"/>
+ <field name="debit" sum="Total debit"/>
+ <field name="credit" sum="Total credit"/>
+ </tree_account_reconciliation>
+ </field>
</record>
-
- <record id="action_move_line_select" model="ir.actions.act_window">
- <field name="name">Journal Items</field>
+ <record id="action_account_manual_reconcile" model="ir.actions.act_window">
+ <field name="context">{'search_default_unreconciled': 1,'view_mode':True}</field>
+ <field name="name">Journal Items to Reconcile</field>
<field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="view_move_line_tree"/>
- <field name="search_view_id" ref="view_account_move_line_filter"/>
- <field name="context">{'search_default_account_id': [active_id]}</field>
- </record>
-
- <record id="ir_account_move_line_select" model="ir.values">
- <field name="key2">tree_but_open</field>
- <field name="model">account.account</field>
- <field name="name">Open Journal Items</field>
- <field eval="'ir.actions.act_window,%d'%action_move_line_select" name="value"/>
+ <field name="view_id" ref="view_move_line_tree_reconcile"/>
+ <field name="view_mode">tree_account_reconciliation</field>
+ <field name="help" type="html">
+ <p>
+ No journal items found.
+ </p>
+ </field>
</record>
- <!--
- Account.Entry Edition
- -->
+ <menuitem
+ name="Journal Items to Reconcile"
+ action="action_account_manual_reconcile"
+ id="menu_manual_reconcile_bank"
+ sequence="20"
+ parent="account.menu_finance_bank_and_cash"/>
+ <menuitem
+ name="Manual Reconciliation"
+ action="action_account_manual_reconcile"
+ id="menu_manual_reconcile"
+ parent="account.periodical_processing_reconciliation"/>
+ <!-- Account.Entry Edition -->
<record id="view_move_tree" model="ir.ui.view">
<field name="name">account.move.tree</field>
<field name="model">account.move</field>
@@ -1360,10 +1268,8 @@
</group>
<notebook>
<page string="Journal Items">
- <field name="balance" invisible="1"/>
<field name="line_id" widget="one2many_list"
- on_change="onchange_line_id(line_id)"
- context="{'balance': balance , 'journal': journal_id }">
+ context="{'line_id': line_id , 'journal_id': journal_id }">
<form string="Journal Item" version="7.0">
<group col="6" colspan="4">
<field name="name"/>
@@ -1430,7 +1336,6 @@
</notebook>
</form>
<tree colors="blue:state == 'draft';black:state == 'posted'" editable="top" string="Journal Items">
- <field name="ref"/>
<field name="invoice"/>
<field name="name"/>
<field name="partner_id" on_change="onchange_partner_id(False,partner_id,account_id,debit,credit,parent.date,parent.journal_id)"/>
@@ -1455,7 +1360,6 @@
</form>
</field>
</record>
-
<record id="view_account_move_filter" model="ir.ui.view">
<field name="name">account.move.select</field>
<field name="model">account.move</field>
@@ -1480,7 +1384,6 @@
</search>
</field>
</record>
-
<record id="action_move_journal_line" model="ir.actions.act_window">
<field name="name">Journal Entries</field>
<field name="res_model">account.move</field>
@@ -1502,7 +1405,6 @@
</p>
</field>
</record>
-
<menuitem
icon="STOCK_JUSTIFY_FILL"
action="action_move_journal_line"
@@ -1523,70 +1425,9 @@
<act_window
id="act_account_move_to_account_move_line_open"
name="Journal Items"
- context="{'search_default_move_id':[active_id], 'default_move_id': active_id}"
+ context="{'search_default_journal_id': active_id, 'default_journal_id': active_id}"
res_model="account.move.line"
src_model="account.move"/>
-
- <record id="action_move_line_search" model="ir.actions.act_window">
- <field name="name">Journal Items</field>
- <field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="view_move_line_tree"/>
- <field name="search_view_id" ref="view_account_move_line_filter"/>
- </record>
- <record id="action_move_line_search_view1" model="ir.actions.act_window.view">
- <field eval="10" name="sequence"/>
- <field name="view_mode">tree</field>
- <field name="view_id" ref="view_move_line_tree"/>
- <field name="act_window_id" ref="action_move_line_search"/>
- </record>
- <record id="action_move_line_search_view2" model="ir.actions.act_window.view">
- <field eval="11" name="sequence"/>
- <field name="view_mode">form</field>
- <field name="act_window_id" ref="action_move_line_search"/>
- </record>
-
- <record id="action_account_manual_reconcile" model="ir.actions.act_window">
- <field name="context">{'search_default_unreconciled': 1,'view_mode':True}</field>
- <field name="name">Journal Items to Reconcile</field>
- <field name="res_model">account.move.line</field>
- <field name="view_id" ref="view_move_line_tree_reconcile"/>
- <field name="view_mode">tree_account_reconciliation</field>
- <field name="help" type="html">
- <p>
- No journal items found.
- </p>
- </field>
- </record>
- <menuitem
- name="Journal Items to Reconcile"
- action="action_account_manual_reconcile"
- id="menu_manual_reconcile_bank"
- sequence="20"
- parent="account.menu_finance_bank_and_cash"/>
-
- <menuitem
- name="Manual Reconciliation"
- action="action_account_manual_reconcile"
- id="menu_manual_reconcile"
- parent="account.periodical_processing_reconciliation"/>
-
-
- <act_window
- id="act_account_acount_move_line_open"
- name="Entries"
- context="{'search_default_account_id':[active_id], 'search_default_unreconciled':0, 'default_account_id': active_id}"
- res_model="account.move.line"
- src_model="account.account"/>
-
- <act_window
- id="act_account_acount_move_line_open_unreconciled"
- name="Unreconciled Entries"
- res_model="account.move.line"
- context="{'search_default_account_id':[active_id], 'search_default_unreconciled':1, 'default_account_id': active_id}"
- src_model="account.account"/>
-
<act_window
domain="[('reconcile_id', '=', active_id)]"
id="act_account_acount_move_line_reconcile_open"
@@ -1594,13 +1435,7 @@
res_model="account.move.line"
src_model="account.move.reconcile"/>
-
- <!--
- TODO:
- Print Journal (and change state)
- Close Journal (and verify that there is no draft Entry Lines)
--->
-
+ <!-- TODO: Print Journal (and change state), Close Journal (and verify that there is no draft Entry Lines) -->
<record id="view_journal_period_tree" model="ir.ui.view">
<field name="name">account.journal.period.tree</field>
<field name="model">account.journal.period</field>
@@ -1620,10 +1455,7 @@
<field name="view_type">tree</field>
</record>
- <!--
- # Account Models
- -->
-
+ <!-- Account Models -->
<record id="view_model_line_tree" model="ir.ui.view">
<field name="name">account.model.line.tree</field>
<field name="model">account.model.line</field>
@@ -1640,8 +1472,6 @@
</tree>
</field>
</record>
-
-
<record id="view_model_line_form" model="ir.ui.view">
<field name="name">account.model.line.form</field>
<field name="model">account.model.line</field>
@@ -1661,7 +1491,6 @@
</form>
</field>
</record>
-
<record id="view_model_form" model="ir.ui.view">
<field name="name">account.model.form</field>
<field name="model">account.model</field>
@@ -1680,7 +1509,6 @@
</form>
</field>
</record>
-
<record id="view_model_tree" model="ir.ui.view">
<field name="name">account.model.tree</field>
<field name="model">account.model</field>
@@ -1692,7 +1520,6 @@
</tree>
</field>
</record>
-
<record id="view_model_search" model="ir.ui.view">
<field name="name">account.model.search</field>
<field name="model">account.model</field>
@@ -1721,10 +1548,7 @@
action="action_model_form" name="Models" id="menu_action_model_form" sequence="5"
parent="account.menu_finance_recurrent_entries"/>
- <!--
- # Payment Terms
- -->
-
+ <!-- Payment Terms -->
<record id="view_payment_term_line_tree" model="ir.ui.view">
<field name="name">account.payment.term.line.tree</field>
<field name="model">account.payment.term.line</field>
@@ -1739,8 +1563,6 @@
</tree>
</field>
</record>
-
-
<record id="view_payment_term_line_form" model="ir.ui.view">
<field name="name">account.payment.term.line.form</field>
<field name="model">account.payment.term.line</field>
@@ -1780,7 +1602,6 @@
</form>
</field>
</record>
-
<record id="view_payment_term_search" model="ir.ui.view">
<field name="name">account.payment.term.search</field>
<field name="model">account.payment.term</field>
@@ -1791,7 +1612,6 @@
</search>
</field>
</record>
-
<record id="view_payment_term_form" model="ir.ui.view">
<field name="name">account.payment.term.form</field>
<field name="model">account.payment.term</field>
@@ -1807,7 +1627,6 @@
</form>
</field>
</record>
-
<record id="action_payment_term_form" model="ir.actions.act_window">
<field name="name">Payment Terms</field>
<field name="res_model">account.payment.term</field>
@@ -1818,10 +1637,7 @@
<menuitem action="action_payment_term_form"
id="menu_action_payment_term_form" parent="menu_configuration_misc"/>
- <!--
- # Account Subscriptions
- -->
-
+ <!-- Account Subscriptions -->
<record id="view_subscription_line_form" model="ir.ui.view">
<field name="name">account.subscription.line.form</field>
<field name="model">account.subscription.line</field>
@@ -1834,7 +1650,6 @@
</form>
</field>
</record>
-
<record id="view_subscription_line_tree" model="ir.ui.view">
<field name="name">account.subscription.line.tree</field>
<field name="model">account.subscription.line</field>
@@ -1845,7 +1660,6 @@
</tree>
</field>
</record>
-
<record id="view_subscription_tree" model="ir.ui.view">
<field name="name">account.subscription.tree</field>
<field name="model">account.subscription</field>
@@ -1859,7 +1673,6 @@
</tree>
</field>
</record>
-
<record id="view_subscription_search" model="ir.ui.view">
<field name="name">account.subscription.search</field>
<field name="model">account.subscription</field>
@@ -1877,7 +1690,6 @@
</search>
</field>
</record>
-
<record id="view_subscription_form" model="ir.ui.view">
<field name="name">account.subscription.form</field>
<field name="model">account.subscription</field>
@@ -1963,72 +1775,7 @@
</field>
</record>
- <record id="action_move_line_tree1" model="ir.actions.act_window">
- <field name="name">Journal Items</field>
- <field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="domain">[('account_id','child_of', [active_id]),('state','&lt;&gt;','draft')]</field>
- <field name="context">{'account_id':active_id}</field>
- </record>
-
- <record id="view_move_line_tax_tree" model="ir.ui.view">
- <field name="name">account.move.line.tax.tree</field>
- <field name="model">account.move.line</field>
- <field eval="4" name="priority"/>
- <field name="arch" type="xml">
- <tree colors="red:state == 'draft';black:state == 'valid'" string="Journal Items">
- <field name="date"/>
- <field name="move_id"/>
- <field name="statement_id" string="St."/>
- <field name="name"/>
- <field name="partner_id"/>
- <field name="account_id"/>
- <field name="tax_code_id"/>
- <field name="tax_amount"/>
- <field name="debit" sum="Total debit"/>
- <field name="credit" sum="Total credit"/>
- <field name="account_tax_id"/>
- <field name="analytic_account_id" domain="[('parent_id','!=',False)]" groups="analytic.group_analytic_accounting"/>
- <field name="state" invisible="1"/>
- </tree>
- </field>
- </record>
-
- <record id="action_tax_code_line_open" model="ir.actions.act_window">
- <field name="name">Journal Items</field>
- <field name="res_model">account.move.line</field>
- <field name="view_type">form</field>
- <field name="view_mode">tree,form</field>
- <field name="view_id" ref="view_move_line_tax_tree"/>
- <field name="domain">[('tax_code_id','child_of',active_id),('state','&lt;&gt;','draft')]</field>
- </record>
- <record id="ir_open_tax_move_line" model="ir.values">
- <field name="key2">tree_but_open</field>
- <field name="model">account.tax.code</field>
- <field name="name">Tax Details</field>
- <field eval="'ir.actions.act_window,%d'%action_tax_code_line_open" name="value"/>
- </record>
-
-
- <!--
- # Admin config
- -->
-
- <act_window
- id="act_account_journal_2_account_bank_statement"
- name="Bank statements"
- context="{'search_default_journal_id': active_id, 'default_journal_id': active_id}"
- res_model="account.bank.statement"
- src_model="account.journal"/>
-
- <act_window
- id="act_account_journal_2_account_move_line"
- name="Journal Items"
- context="{'search_default_journal_id':active_id, 'default_journal_id': active_id}"
- res_model="account.move.line"
- src_model="account.journal"/>
-
+ <!-- res.partner links -->
<act_window
context="{'search_default_unreconciled':True, 'search_default_partner_id':[active_id], 'default_partner_id': active_id}"
domain="[('account_id.reconcile', '=', True),('account_id.type', 'in', ['receivable', 'payable'])]"
@@ -2037,29 +1784,13 @@
res_model="account.move.line"
src_model="res.partner"/>
- <act_window context="{'search_default_partner_id':[active_id], 'default_partner_id': active_id}" id="act_account_partner_account_move" name="Journal Items" res_model="account.move.line" src_model="res.partner" groups="account.group_account_user"/>
-
- <record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
- <field name="name">Create Account</field>
- <field name="model">account.addtmpl.wizard</field>
- <field name="arch" type="xml">
- <form string="Create Account" version="7.0">
- <header>
- <button icon="gtk-ok" name="action_create" string="Add" type="object" class="oe_highlight" />
- </header>
- <separator col="4" colspan="4" string="Create an Account Based on this Template"/>
- <field name="cparent_id"/>
- </form>
- </field>
- </record>
-
- <act_window domain="[]" id="action_account_addtmpl_wizard_form"
- name="Create Account"
- target="new"
- res_model="account.addtmpl.wizard"
- context="{'tmpl_ids': active_id}"
- src_model="account.account.template"
- view_type="form" view_mode="form"/>
+ <act_window
+ context="{'search_default_partner_id':[active_id], 'default_partner_id': active_id}"
+ id="act_account_partner_account_move"
+ name="Journal Items"
+ res_model="account.move.line"
+ src_model="res.partner"
+ groups="account.group_account_user"/>
<!-- Account Templates -->
<menuitem
@@ -2078,7 +1809,6 @@
parent="account_template_folder"
sequence="1"/>
-
<record id="view_account_template_form" model="ir.ui.view">
<field name="name">account.account.template.form</field>
<field name="model">account.account.template</field>
@@ -2104,7 +1834,6 @@
</form>
</field>
</record>
-
<record id="view_account_template_tree" model="ir.ui.view">
<field name="name">account.account.template.tree</field>
<field name="model">account.account.template</field>
@@ -2117,7 +1846,6 @@
</tree>
</field>
</record>
-
<record id="view_account_template_search" model="ir.ui.view">
<field name="name">account.account.template.search</field>
<field name="model">account.account.template</field>
@@ -2136,7 +1864,6 @@
</search>
</field>
</record>
-
<record id="action_account_template_form" model="ir.actions.act_window">
<field name="name">Account Templates</field>
<field name="res_model">account.account.template</field>
@@ -2144,11 +1871,32 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_template_search"/>
</record>
-
<menuitem action="action_account_template_form" id="menu_action_account_template_form" parent="account_template_accounts"/>
- <!-- Chart of Accounts Templates -->
+ <record id="view_account_addtmpl_wizard_form" model="ir.ui.view">
+ <field name="name">Create Account</field>
+ <field name="model">account.addtmpl.wizard</field>
+ <field name="arch" type="xml">
+ <form string="Create Account" version="7.0">
+ <header>
+ <button icon="gtk-ok" name="action_create" string="Add" type="object" class="oe_highlight" />
+ </header>
+ <separator col="4" colspan="4" string="Create an Account Based on this Template"/>
+ <field name="cparent_id"/>
+ </form>
+ </field>
+ </record>
+ <act_window domain="[]" id="action_account_addtmpl_wizard_form"
+ name="Create Account"
+ target="new"
+ res_model="account.addtmpl.wizard"
+ context="{'tmpl_ids': active_id}"
+ src_model="account.account.template"
+ view_type="form" view_mode="form"/>
+
+
+ <!-- Chart of Accounts Templates -->
<record id="view_account_chart_template_form" model="ir.ui.view">
<field name="name">account.chart.template.form</field>
<field name="model">account.chart.template</field>
@@ -2221,11 +1969,9 @@
<field name="view_type">form</field>
<field name="view_mode">tree,form</field>
</record>
-
<menuitem action="action_account_chart_template_form" id="menu_action_account_chart_template_form" parent="account_template_accounts" sequence="1"/>
<!-- Account Tax Templates -->
-
<record id="view_account_tax_template_form" model="ir.ui.view">
<field name="name">account.tax.template.form</field>
<field name="model">account.tax.template</field>
@@ -2304,7 +2050,6 @@
</search>
</field>
</record>
-
<record id="action_account_tax_template_form" model="ir.actions.act_window">
<field name="name">Tax Templates</field>
<field name="res_model">account.tax.template</field>
@@ -2312,7 +2057,6 @@
<field name="view_mode">tree,form</field>
<field name="search_view_id" ref="view_account_tax_template_search"/>
</record>
-
<menuitem action="action_account_tax_template_form" id="menu_action_account_tax_template_form" parent="account_template_taxes" sequence="13"/>
<!-- Account Tax Code Templates -->
@@ -2328,7 +2072,6 @@
</tree>
</field>
</record>
-
<record id="view_tax_code_template_search" model="ir.ui.view">
<field name="name">account.tax.code.template.search</field>
<field name="model">account.tax.code.template</field>
@@ -2342,7 +2085,6 @@
</search>
</field>
</record>
-
<record id="view_tax_code_template_form" model="ir.ui.view">
<field name="name">account.tax.code.template.form</field>
<field name="model">account.tax.code.template</field>
@@ -2359,7 +2101,6 @@
</form>
</field>
</record>
-
<record id="action_account_tax_code_template_form" model="ir.actions.act_window">
<field name="name">Tax Code Templates</field>
<field name="res_model">account.tax.code.template</field>
@@ -2371,7 +2112,6 @@
<!-- Wizard for Multi Charts of Accounts -->
-
<record id="view_wizard_multi_chart" model="ir.ui.view">
<field name="name">Set Your Accounting Options</field>
<field name="model">wizard.multi.charts.accounts</field>
@@ -2410,7 +2150,6 @@
</group>
</field>
</record>
-
<record id="action_wizard_multi_chart" model="ir.actions.act_window">
<field name="name">Set Your Accounting Options</field>
<field name="type">ir.actions.act_window</field>
@@ -2516,7 +2255,6 @@
</tree>
</field>
</record>
-
<record id="view_bank_statement_form2" model="ir.ui.view">
<field name="name">account.bank.statement.form</field>
<field name="model">account.bank.statement</field>
@@ -2649,6 +2387,7 @@
</p>
</field>
</record>
+
<record model="ir.actions.act_window.view" id="act_cash_statement1_all">
<field name="sequence" eval="1"/>
<field name="view_mode">tree</field>
@@ -2678,10 +2417,7 @@
parent="menu_finance_payables"
action="base.action_partner_supplier_form" sequence="100"/>
- <!--
- Account Reports
- -->
-
+ <!-- Account Reports -->
<record id="view_account_financial_report_form" model="ir.ui.view">
<field name="name">account.financial.report.form</field>
<field name="model">account.financial.report</field>
@@ -2708,7 +2444,6 @@
</form>
</field>
</record>
-
<record id="view_account_financial_report_tree" model="ir.ui.view">
<field name="name">account.financial.report.tree</field>
<field name="model">account.financial.report</field>
@@ -2721,7 +2456,6 @@
</tree>
</field>
</record>
-
<record id="view_account_financial_report_search" model="ir.ui.view">
<field name="name">account.financial.report.search</field>
<field name="model">account.financial.report</field>
@@ -2737,7 +2471,6 @@
</search>
</field>
</record>
-
<record id="action_account_financial_report_tree" model="ir.actions.act_window">
<field name="name">Financial Reports</field>
<field name="type">ir.actions.act_window</field>
@@ -2747,7 +2480,6 @@
<field name="search_view_id" ref="view_account_financial_report_search"/>
<field name="view_id" ref="view_account_financial_report_tree"/>
</record>
-
<menuitem id="menu_account_financial_reports_tree" name="Account Reports" parent="menu_account_reports" action="action_account_financial_report_tree"/>
<record id="view_account_report_tree_hierarchy" model="ir.ui.view">
@@ -2770,7 +2502,6 @@
<field name="view_id" ref="view_account_report_tree_hierarchy"/>
<field name="domain">[('parent_id','=',False)]</field>
</record>
-
<menuitem id="menu_account_report_tree_hierarchy" name="Account Reports Hierarchy"
parent="menu_account_reports" action="action_account_report_tree_hierarchy"/>
diff --git a/addons/account/data/account_data.xml b/addons/account/data/account_data.xml
index dd27cfbab4e..97bea14c1f2 100644
--- a/addons/account/data/account_data.xml
+++ b/addons/account/data/account_data.xml
@@ -60,412 +60,6 @@
</record>
<!--
- Account Journal View
- -->
- <record id="account_journal_bank_view" model="account.journal.view">
- <field name="name">Bank/Cash Journal View</field>
- </record>
- <record id="bank_col1" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Date</field>
- <field name="field">date</field>
- <field eval="True" name="required"/>
- <field eval="3" name="sequence"/>
- </record>
- <record id="bank_col2" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Journal Entry</field>
- <field name="field">move_id</field>
- <field eval="False" name="required"/>
- <field eval="1" name="sequence"/>
- </record>
- <record id="bank_col7" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Name</field>
- <field name="field">name</field>
- <field eval="7" name="sequence"/>
- <field eval="True" name="required"/>
- </record>
- <record id="bank_col4" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Statement</field>
- <field name="field">statement_id</field>
- <field eval="4" name="sequence"/>
- </record>
- <record id="bank_col6" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Partner</field>
- <field name="field">partner_id</field>
- <field eval="5" name="sequence"/>
- </record>
- <record id="bank_col5" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Account</field>
- <field name="field">account_id</field>
- <field eval="True" name="required"/>
- <field eval="6" name="sequence"/>
- </record>
- <record id="bank_col9" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Debit</field>
- <field name="field">debit</field>
- <field eval="11" name="sequence"/>
- </record>
- <record id="bank_col10" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Credit</field>
- <field name="field">credit</field>
- <field eval="12" name="sequence"/>
- </record>
- <record id="bank_col3" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Ref</field>
- <field name="field">ref</field>
- <field eval="2" name="sequence"/>
- </record>
- <record id="bank_col23" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Status</field>
- <field name="field">state</field>
- <field eval="19" name="sequence"/>
- </record>
- <record id="bank_col20" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view"/>
- <field name="name">Reconcile</field>
- <field name="field">reconcile_id</field>
- <field eval="20" name="sequence"/>
- </record>
-
-
- <record id="account_journal_bank_view_multi" model="account.journal.view">
- <field name="name">Bank/Cash Journal (Multi-Currency) View</field>
- </record>
- <record id="bank_col1_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Date</field>
- <field name="field">date</field>
- <field eval="True" name="required"/>
- <field eval="3" name="sequence"/>
- </record>
- <record id="bank_col2_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Journal Entry</field>
- <field name="field">move_id</field>
- <field eval="False" name="required"/>
- <field eval="1" name="sequence"/>
- </record>
- <record id="bank_col7_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Name</field>
- <field name="field">name</field>
- <field eval="7" name="sequence"/>
- <field eval="True" name="required"/>
- </record>
- <record id="bank_col4_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Statement</field>
- <field name="field">statement_id</field>
- <field eval="4" name="sequence"/>
- </record>
- <record id="bank_col6_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Partner</field>
- <field name="field">partner_id</field>
- <field eval="5" name="sequence"/>
- </record>
- <record id="bank_col5_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Account</field>
- <field name="field">account_id</field>
- <field eval="True" name="required"/>
- <field eval="6" name="sequence"/>
- </record>
- <record id="bank_col17_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Currency Amt.</field>
- <field name="field">amount_currency</field>
- <field eval="9" name="sequence"/>
- </record>
- <record id="bank_col18_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Currency</field>
- <field name="field">currency_id</field>
- <field eval="10" name="sequence"/>
- </record>
- <record id="bank_col9_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Debit</field>
- <field name="field">debit</field>
- <field eval="11" name="sequence"/>
- </record>
- <record id="bank_col10_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Credit</field>
- <field name="field">credit</field>
- <field eval="12" name="sequence"/>
- </record>
- <record id="bank_col3_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Ref</field>
- <field name="field">ref</field>
- <field eval="2" name="sequence"/>
- </record>
- <record id="bank_col23_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Status</field>
- <field name="field">state</field>
- <field eval="19" name="sequence"/>
- </record>
- <record id="bank_col20_multi" model="account.journal.column">
- <field name="view_id" ref="account_journal_bank_view_multi"/>
- <field name="name">Reconcile</field>
- <field name="field">reconcile_id</field>
- <field eval="20" name="sequence"/>
- </record>
-
-
- <record id="account_journal_view" model="account.journal.view">
- <field name="name">Journal View</field>
- </record>
- <record id="journal_col1" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Date</field>
- <field name="field">date</field>
- <field eval="True" name="required"/>
- <field eval="3" name="sequence"/>
- </record>
- <record id="journal_col2" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Journal Entry</field>
- <field name="field">move_id</field>
- <field eval="False" name="required"/>
- <field eval="1" name="sequence"/>
- </record>
- <record id="journal_col3" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Ref</field>
- <field name="field">ref</field>
- <field eval="2" name="sequence"/>
- </record>
- <record id="journal_col5" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Partner</field>
- <field name="field">partner_id</field>
- <field eval="5" name="sequence"/>
- </record>
- <record id="journal_col4" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Account</field>
- <field name="field">account_id</field>
- <field eval="True" name="required"/>
- <field eval="6" name="sequence"/>
- </record>
- <record id="journal_col6" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Name</field>
- <field name="field">name</field>
- <field eval="7" name="sequence"/>
- <field eval="True" name="required"/>
- </record>
- <record id="journal_col8" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Debit</field>
- <field name="field">debit</field>
- <field eval="11" name="sequence"/>
- </record>
- <record id="journal_col9" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Credit</field>
- <field name="field">credit</field>
- <field eval="12" name="sequence"/>
- </record>
- <record id="journal_col11" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Analytic Account</field>
- <field name="field">analytic_account_id</field>
- <field eval="14" name="sequence"/>
- </record>
- <record id="journal_col24" model="account.journal.column">
- <field name="view_id" ref="account_journal_view"/>
- <field name="name">Status</field>
- <field name="field">state</field>
- <field eval="19" name="sequence"/>
- </record>
-
-
- <record id="account_sp_journal_view" model="account.journal.view">
- <field name="name">Sale/Purchase Journal View</field>
- </record>
- <record id="sp_journal_col1" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Date</field>
- <field name="field">date</field>
- <field eval="True" name="required"/>
- <field eval="3" name="sequence"/>
- </record>
- <record id="sp_journal_col2" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Journal Entry</field>
- <field name="field">move_id</field>
- <field eval="False" name="required"/>
- <field eval="1" name="sequence"/>
- </record>
- <record id="sp_journal_col3" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Ref</field>
- <field name="field">ref</field>
- <field eval="2" name="sequence"/>
- </record>
- <record id="sp_journal_col4" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Account</field>
- <field name="field">account_id</field>
- <field eval="True" name="required"/>
- <field eval="6" name="sequence"/>
- </record>
- <record id="sp_journal_col5" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Partner</field>
- <field name="field">partner_id</field>
- <field eval="5" name="sequence"/>
- </record>
- <record id="sp_journal_col6" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Name</field>
- <field name="field">name</field>
- <field eval="7" name="sequence"/>
- <field eval="True" name="required"/>
- </record>
- <record id="sp_journal_col7" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Due Date</field>
- <field name="field">date_maturity</field>
- <field eval="8" name="sequence"/>
- </record>
- <record id="sp_journal_col8" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Debit</field>
- <field name="field">debit</field>
- <field eval="11" name="sequence"/>
- </record>
- <record id="sp_journal_col9" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Credit</field>
- <field name="field">credit</field>
- <field eval="12" name="sequence"/>
- </record>
- <record id="sp_journal_col10" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Tax</field>
- <field name="field">account_tax_id</field>
- <field eval="13" name="sequence"/>
- </record>
- <record id="sp_journal_col11" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Analytic Account</field>
- <field name="field">analytic_account_id</field>
- <field eval="14" name="sequence"/>
- </record>
- <record id="sp_journal_col24" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Status</field>
- <field name="field">state</field>
- <field eval="19" name="sequence"/>
- </record>
- <record id="sp_journal_col20" model="account.journal.column">
- <field name="view_id" ref="account_sp_journal_view"/>
- <field name="name">Reconcile</field>
- <field name="field">reconcile_id</field>
- <field eval="20" name="sequence"/>
- </record>
-
- <record id="account_sp_refund_journal_view" model="account.journal.view">
- <field name="name">Sale/Purchase Refund Journal View</field>
- </record>
- <record id="sp_refund_journal_col1" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Date</field>
- <field name="field">date</field>
- <field eval="True" name="required"/>
- <field eval="3" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col2" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Journal Entry</field>
- <field name="field">move_id</field>
- <field eval="False" name="required"/>
- <field eval="1" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col3" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Ref</field>
- <field name="field">ref</field>
- <field eval="2" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col4" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Account</field>
- <field name="field">account_id</field>
- <field eval="True" name="required"/>
- <field eval="6" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col5" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Partner</field>
- <field name="field">partner_id</field>
- <field eval="5" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col6" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Name</field>
- <field name="field">name</field>
- <field eval="7" name="sequence"/>
- <field eval="True" name="required"/>
- </record>
- <record id="sp_refund_journal_col7" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Due Date</field>
- <field name="field">date_maturity</field>
- <field eval="8" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col8" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Debit</field>
- <field name="field">debit</field>
- <field eval="11" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col9" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Credit</field>
- <field name="field">credit</field>
- <field eval="12" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col10" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Tax</field>
- <field name="field">account_tax_id</field>
- <field eval="13" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col11" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Analytic Account</field>
- <field name="field">analytic_account_id</field>
- <field eval="14" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col24" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Status</field>
- <field name="field">state</field>
- <field eval="19" name="sequence"/>
- </record>
- <record id="sp_refund_journal_col20" model="account.journal.column">
- <field name="view_id" ref="account_sp_refund_journal_view"/>
- <field name="name">Reconcile</field>
- <field name="field">reconcile_id</field>
- <field eval="20" name="sequence"/>
- </record>
-
- <!--
Account Journal Sequences
-->
diff --git a/addons/account/demo/account_minimal.xml b/addons/account/demo/account_minimal.xml
index 984711eceef..ce9a09def08 100644
--- a/addons/account/demo/account_minimal.xml
+++ b/addons/account/demo/account_minimal.xml
@@ -312,7 +312,6 @@
<field name="name">Sales Journal - (test)</field>
<field name="code">TSAJ</field>
<field name="type">sale</field>
- <field name="view_id" ref="account_sp_journal_view"/>
<field name="sequence_id" ref="sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
@@ -323,7 +322,6 @@
<field name="name">Sales Credit Note Journal - (test)</field>
<field name="code">TSCNJ</field>
<field name="type">sale_refund</field>
- <field name="view_id" ref="account_sp_refund_journal_view"/>
<field name="sequence_id" ref="sequence_refund_sales_journal"/>
<field model="account.account" name="default_credit_account_id" ref="a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="a_sale"/>
@@ -335,7 +333,6 @@
<field name="name">Expenses Journal - (test)</field>
<field name="code">TEXJ</field>
<field name="type">purchase</field>
- <field name="view_id" ref="account_sp_journal_view"/>
<field name="sequence_id" ref="sequence_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
@@ -346,7 +343,6 @@
<field name="name">Expenses Credit Notes Journal - (test)</field>
<field name="code">TECNJ</field>
<field name="type">purchase_refund</field>
- <field name="view_id" ref="account_sp_refund_journal_view"/>
<field name="sequence_id" ref="sequence_refund_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="a_expense"/>
@@ -358,7 +354,6 @@
<field name="name">Bank Journal - (test)</field>
<field name="code">TBNK</field>
<field name="type">bank</field>
- <field name="view_id" ref="account_journal_bank_view"/>
<field name="sequence_id" ref="sequence_bank_journal"/>
<field model="account.account" name="default_debit_account_id" ref="bnk"/>
<field model="account.account" name="default_credit_account_id" ref="bnk"/>
@@ -369,7 +364,6 @@
<field name="name">Checks Journal - (test)</field>
<field name="code">TCHK</field>
<field name="type">bank</field>
- <field name="view_id" ref="account_journal_bank_view"/>
<field name="sequence_id" ref="sequence_check_journal"/>
<field model="account.account" name="default_debit_account_id" ref="cash"/>
<field model="account.account" name="default_credit_account_id" ref="cash"/>
@@ -390,7 +384,6 @@
that test OpenERP arrive directly in the touchscreen UI.
-->
<field name="cash_control" eval="False"/>
- <field name="view_id" ref="account_journal_bank_view"/>
<field name="sequence_id" ref="sequence_cash_journal"/>
<field model="account.account" name="default_debit_account_id" ref="cash"/>
<field model="account.account" name="default_credit_account_id" ref="cash"/>
@@ -401,7 +394,6 @@
<field name="name">Miscellaneous Journal - (test)</field>
<field name="code">TMIS</field>
<field name="type">general</field>
- <field name="view_id" ref="account_journal_view"/>
<field name="sequence_id" ref="sequence_miscellaneous_journal"/>
<field name="analytic_journal_id" ref="sit"/>
<field name="user_id" ref="base.user_root"/>
@@ -410,7 +402,6 @@
<field name="name">Opening Entries Journal - (test)</field>
<field name="code">TOEJ</field>
<field name="type">situation</field>
- <field name="view_id" ref="account_journal_view"/>
<field name="sequence_id" ref="sequence_opening_journal"/>
<field model="account.account" name="default_debit_account_id" ref="o_income"/>
<field model="account.account" name="default_credit_account_id" ref="o_expense"/>
@@ -422,7 +413,6 @@
<field name="name">USD Bank Journal - (test)</field>
<field name="code">TUBK</field>
<field name="type">bank</field>
- <field name="view_id" ref="account_journal_bank_view"/>
<field model="account.account" name="default_debit_account_id" ref="usd_bnk"/>
<field model="account.account" name="default_credit_account_id" ref="usd_bnk"/>
<field name="currency" ref="base.USD"/>
diff --git a/addons/account/report/account_invoice_report.py b/addons/account/report/account_invoice_report.py
index 68eaedb20a6..a001b6b4f52 100644
--- a/addons/account/report/account_invoice_report.py
+++ b/addons/account/report/account_invoice_report.py
@@ -98,150 +98,124 @@ class account_invoice_report(osv.osv):
'partner_bank_id': fields.many2one('res.partner.bank', 'Bank Account',readonly=True),
'residual': fields.float('Total Residual', readonly=True),
'user_currency_residual': fields.function(_compute_amounts_in_user_currency, string="Total Residual", type='float', digits_compute=dp.get_precision('Account'), multi="_compute_amounts"),
- 'delay_to_pay': fields.float('Avg. Delay To Pay', readonly=True, group_operator="avg"),
- 'due_delay': fields.float('Avg. Due Delay', readonly=True, group_operator="avg"),
}
_order = 'date desc'
-
def _select(self):
select_str = """
- SELECT min(ail.id) as id,
- ai.date_invoice as date,
- to_char(ai.date_invoice, 'YYYY') as year,
- to_char(ai.date_invoice, 'MM') as month,
- to_char(ai.date_invoice, 'YYYY-MM-DD') as day,
- ail.product_id,
- ai.partner_id as partner_id,
- ai.payment_term as payment_term,
- ai.period_id as period_id,
- (case when u.uom_type not in ('reference') then
- (select name from product_uom where uom_type='reference' and active and category_id=u.category_id LIMIT 1)
- else
- u.name
- end) as uom_name,
- ai.currency_id as currency_id,
- ai.journal_id as journal_id,
- ai.fiscal_position as fiscal_position,
- ai.user_id as user_id,
- ai.company_id as company_id,
- count(ail.*) as nbr,
- ai.type as type,
- ai.state,
- pt.categ_id,
- ai.date_due as date_due,
- ai.account_id as account_id,
- ail.account_id as account_line_id,
- ai.partner_bank_id as partner_bank_id,
- sum(case when ai.type in ('out_refund','in_invoice') then
- -ail.quantity / u.factor
- else
- ail.quantity / u.factor
- end) as product_qty,
-
- sum(case when ai.type in ('out_refund','in_invoice') then
- -ail.price_subtotal
- else
- ail.price_subtotal
- end) / cr.rate as price_total,
-
- (case when ai.type in ('out_refund','in_invoice') then
- sum(-ail.price_subtotal)
- else
- sum(ail.price_subtotal)
- end) / (CASE WHEN sum(ail.quantity/u.factor) <> 0
- THEN
- (case when ai.type in ('out_refund','in_invoice')
- then sum(-ail.quantity/u.factor)
- else sum(ail.quantity/u.factor) end)
- ELSE 1
- END)
- / cr.rate as price_average,
-
- cr.rate as currency_rate,
- sum((select extract(epoch from avg(date_trunc('day',aml.date_created)-date_trunc('day',l.create_date)))/(24*60*60)::decimal(16,2)
- from account_move_line as aml
- left join account_invoice as a ON (a.move_id=aml.move_id)
- left join account_invoice_line as l ON (a.id=l.invoice_id)
- where a.id=ai.id)) as delay_to_pay,
- sum((select extract(epoch from avg(date_trunc('day',a.date_due)-date_trunc('day',a.date_invoice)))/(24*60*60)::decimal(16,2)
- from account_move_line as aml
- left join account_invoice as a ON (a.move_id=aml.move_id)
- left join account_invoice_line as l ON (a.id=l.invoice_id)
- where a.id=ai.id)) as due_delay,
- (case when ai.type in ('out_refund','in_invoice') then
- -ai.residual
- else
- ai.residual
- end)/ (CASE WHEN
- (select count(l.id) from account_invoice_line as l
- left join account_invoice as a ON (a.id=l.invoice_id)
- where a.id=ai.id) <> 0
- THEN
- (select count(l.id) from account_invoice_line as l
- left join account_invoice as a ON (a.id=l.invoice_id)
- where a.id=ai.id)
- ELSE 1
- END) / cr.rate as residual
+ SELECT sub.id, sub.date, sub.year, sub.month, sub.day, sub.product_id, sub.partner_id,
+ sub.payment_term, sub.period_id, sub.uom_name, sub.currency_id, sub.journal_id,
+ sub.fiscal_position, sub.user_id, sub.company_id, sub.nbr, sub.type, sub.state,
+ sub.categ_id, sub.date_due, sub.account_id, sub.account_line_id, sub.partner_bank_id,
+ sub.product_qty, sub.price_total / cr.rate as price_total, sub.price_average /cr.rate as price_average,
+ cr.rate as currency_rate, sub.residual / cr.rate as residual
"""
return select_str
- def _where(self):
- where_str = """
- WHERE cr.id in (select id from res_currency_rate cr2 where (cr2.currency_id = ai.currency_id)
- and ((ai.date_invoice is not null and cr.name <= ai.date_invoice) or (ai.date_invoice is null and cr.name <= NOW())) order by name desc limit 1)
+ def _sub_select(self):
+ select_str = """
+ SELECT min(ail.id) AS id,
+ ai.date_invoice AS date,
+ to_char(ai.date_invoice::timestamp with time zone, 'YYYY'::text) AS year,
+ to_char(ai.date_invoice::timestamp with time zone, 'MM'::text) AS month,
+ to_char(ai.date_invoice::timestamp with time zone, 'YYYY-MM-DD'::text) AS day,
+ ail.product_id, ai.partner_id, ai.payment_term, ai.period_id,
+ CASE
+ WHEN u.uom_type::text <> 'reference'::text
+ THEN ( SELECT product_uom.name
+ FROM product_uom
+ WHERE product_uom.uom_type::text = 'reference'::text
+ AND product_uom.active
+ AND product_uom.category_id = u.category_id LIMIT 1)
+ ELSE u.name
+ END AS uom_name,
+ ai.currency_id, ai.journal_id, ai.fiscal_position, ai.user_id, ai.company_id,
+ count(ail.*) AS nbr,
+ ai.type, ai.state, pt.categ_id, ai.date_due, ai.account_id, ail.account_id AS account_line_id,
+ ai.partner_bank_id,
+ SUM(CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN (- ail.quantity) / u.factor
+ ELSE ail.quantity / u.factor
+ END) AS product_qty,
+ SUM(CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN - ail.price_subtotal
+ ELSE ail.price_subtotal
+ END) AS price_total,
+ CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN SUM(- ail.price_subtotal)
+ ELSE SUM(ail.price_subtotal)
+ END / CASE
+ WHEN SUM(ail.quantity / u.factor) <> 0::numeric
+ THEN CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN SUM((- ail.quantity) / u.factor)
+ ELSE SUM(ail.quantity / u.factor)
+ END
+ ELSE 1::numeric
+ END AS price_average,
+ CASE
+ WHEN ai.type::text = ANY (ARRAY['out_refund'::character varying::text, 'in_invoice'::character varying::text])
+ THEN - ai.residual
+ ELSE ai.residual
+ END / CASE
+ WHEN (( SELECT count(l.id) AS count
+ FROM account_invoice_line l
+ LEFT JOIN account_invoice a ON a.id = l.invoice_id
+ WHERE a.id = ai.id)) <> 0
+ THEN ( SELECT count(l.id) AS count
+ FROM account_invoice_line l
+ LEFT JOIN account_invoice a ON a.id = l.invoice_id
+ WHERE a.id = ai.id)
+ ELSE 1::bigint
+ END::numeric AS residual
"""
- return where_str
+ return select_str
def _from(self):
from_str = """
- FROM account_invoice_line as ail
- left join account_invoice as ai ON (ai.id=ail.invoice_id)
- left join product_product pr on (pr.id=ail.product_id)
- left join product_template pt on (pt.id=pr.product_tmpl_id)
- left join product_uom u on (u.id=ail.uos_id),
- res_currency_rate cr
+ FROM account_invoice_line ail
+ JOIN account_invoice ai ON ai.id = ail.invoice_id
+ LEFT JOIN product_product pr ON pr.id = ail.product_id
+ left JOIN product_template pt ON pt.id = pr.product_tmpl_id
+ LEFT JOIN product_uom u ON u.id = ail.uos_id
"""
return from_str
def _group_by(self):
group_by_str = """
- GROUP BY ail.product_id,
- ai.date_invoice,
- ai.id,
- cr.rate,
- to_char(ai.date_invoice, 'YYYY'),
- to_char(ai.date_invoice, 'MM'),
- to_char(ai.date_invoice, 'YYYY-MM-DD'),
- ai.partner_id,
- ai.payment_term,
- ai.period_id,
- u.name,
- ai.currency_id,
- ai.journal_id,
- ai.fiscal_position,
- ai.user_id,
- ai.company_id,
- ai.type,
- ai.state,
- pt.categ_id,
- ai.date_due,
- ai.account_id,
- ail.account_id,
- ai.partner_bank_id,
- ai.residual,
- ai.amount_total,
- u.uom_type,
- u.category_id
+ GROUP BY ail.product_id, ai.date_invoice, ai.id,
+ to_char(ai.date_invoice::timestamp with time zone, 'YYYY'::text),
+ to_char(ai.date_invoice::timestamp with time zone, 'MM'::text),
+ to_char(ai.date_invoice::timestamp with time zone, 'YYYY-MM-DD'::text),
+ ai.partner_id, ai.payment_term, ai.period_id, u.name, ai.currency_id, ai.journal_id,
+ ai.fiscal_position, ai.user_id, ai.company_id, ai.type, ai.state, pt.categ_id,
+ ai.date_due, ai.account_id, ail.account_id, ai.partner_bank_id, ai.residual,
+ ai.amount_total, u.uom_type, u.category_id
"""
return group_by_str
def init(self, cr):
# self._table = account_invoice_report
tools.drop_view_if_exists(cr, self._table)
- cr.execute("CREATE or REPLACE VIEW %s as (%s %s %s %s)" % (
+ cr.execute("""CREATE or REPLACE VIEW %s as (
+ %s
+ FROM (
+ %s %s %s
+ ) AS sub
+ JOIN res_currency_rate cr ON (cr.currency_id = sub.currency_id)
+ WHERE
+ cr.id IN (SELECT id
+ FROM res_currency_rate cr2
+ WHERE (cr2.currency_id = sub.currency_id)
+ AND ((sub.date IS NOT NULL AND cr.name <= sub.date)
+ OR (sub.date IS NULL AND cr.name <= NOW()))
+ ORDER BY name DESC LIMIT 1)
+ )""" % (
self._table,
- self._select(), self._from(), self._where(), self._group_by()))
+ self._select(), self._sub_select(), self._from(), self._group_by()))
account_invoice_report()
diff --git a/addons/account/report/account_invoice_report_view.xml b/addons/account/report/account_invoice_report_view.xml
index 289db376e5d..66e17560bde 100644
--- a/addons/account/report/account_invoice_report_view.xml
+++ b/addons/account/report/account_invoice_report_view.xml
@@ -30,8 +30,6 @@
<!-- <field name="reconciled" sum="# Reconciled"/> -->
<field name="user_currency_price_total" sum="Total Without Tax"/>
<field name="user_currency_residual" sum="Total Residual" invisible="context.get('residual_invisible',False)"/>
- <field name="due_delay" sum="Avg. Due Delay" invisible="context.get('residual_invisible',False)"/>
- <field name="delay_to_pay" sum="Avg. Delay To Pay" invisible="context.get('residual_invisible',False)"/>
</tree>
</field>
</record>
@@ -93,7 +91,7 @@
<field name="view_mode">tree,graph</field>
<field name="context">{'search_default_period':1,'search_default_current':1, 'search_default_year': 1, 'search_default_category_product':1, 'search_default_customer':1, 'group_by':[], 'group_by_no_leaf':1,}</field>
<field name="search_view_id" ref="view_account_invoice_report_search"/>
- <field name="help">From this report, you can have an overview of the amount invoiced to your customer as well as payment delays. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.</field>
+ <field name="help">From this report, you can have an overview of the amount invoiced to your customer. The tool search can also be used to personalise your Invoices reports and so, match this analysis to your needs.</field>
</record>
diff --git a/addons/account/res_currency.py b/addons/account/res_currency.py
index ce781a1e11a..60bb6152a9b 100644
--- a/addons/account/res_currency.py
+++ b/addons/account/res_currency.py
@@ -29,6 +29,7 @@ class res_currency_account(osv.osv):
if context is None:
context = {}
rate = super(res_currency_account, self)._get_conversion_rate(cr, uid, from_currency, to_currency, context=context)
+ #process the case where the account doesn't work with an outgoing currency rate method 'at date' but 'average'
account = context.get('res.currency.compute.account')
account_invert = context.get('res.currency.compute.account_invert')
if account and account.currency_mode == 'average' and account.currency_id:
diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv
index 28bedbf65a1..d1f0bbab6b5 100644
--- a/addons/account/security/ir.model.access.csv
+++ b/addons/account/security/ir.model.access.csv
@@ -7,8 +7,6 @@ access_account_tax_internal_user,account.tax internal user,model_account_tax,bas
access_account_account,account.account,model_account_account,account.group_account_user,1,0,0,0
access_account_account_user,account.account user,model_account_account,base.group_user,1,0,0,0
access_account_account_partner_manager,account.account partner manager,model_account_account,base.group_partner_manager,1,0,0,0
-access_account_journal_view,account.journal.view,model_account_journal_view,account.group_account_user,1,0,0,0
-access_account_journal_column,account.journal.column,model_account_journal_column,account.group_account_user,1,0,0,0
access_account_journal_period_manager,account.journal.period manager,model_account_journal_period,account.group_account_manager,1,0,0,0
access_account_tax_code,account.tax.code,model_account_tax_code,account.group_account_invoice,1,0,0,0
access_account_tax,account.tax,model_account_tax,account.group_account_invoice,1,0,0,0
@@ -83,8 +81,6 @@ access_account_entries_report_employee,account.entries.report employee,model_acc
access_analytic_entries_report_manager,analytic.entries.report,model_analytic_entries_report,account.group_account_manager,1,0,0,0
access_account_cashbox_line,account.cashbox.line,model_account_cashbox_line,account.group_account_user,1,1,1,1
access_account_journal_cashbox_line,account.journal.cashbox.line,model_account_journal_cashbox_line,account.group_account_user,1,1,1,0
-access_account_journal_view_invoice,account.journal.view invoice,model_account_journal_view,account.group_account_invoice,1,1,1,1
-access_account_journal_column_invoice,account.journal.column invoice,model_account_journal_column,account.group_account_invoice,1,1,1,1
access_account_invoice_tax_accountant,account.invoice.tax accountant,model_account_invoice_tax,account.group_account_user,1,0,0,0
access_account_move_reconcile_manager,account.move.reconcile manager,model_account_move_reconcile,account.group_account_manager,1,0,0,0
access_account_analytic_line_invoice,account.analytic.line invoice,model_account_analytic_line,account.group_account_invoice,1,1,1,1
diff --git a/addons/account/static/src/js/account_move_line_quickadd.js b/addons/account/static/src/js/account_move_line_quickadd.js
new file mode 100644
index 00000000000..997b2b03bb6
--- /dev/null
+++ b/addons/account/static/src/js/account_move_line_quickadd.js
@@ -0,0 +1,99 @@
+openerp.account.quickadd = function (instance) {
+ var _t = instance.web._t,
+ _lt = instance.web._lt;
+ var QWeb = instance.web.qweb;
+
+ instance.web.account = instance.web.account || {};
+
+ instance.web.views.add('tree_account_move_line_quickadd', 'instance.web.account.QuickAddListView');
+ instance.web.account.QuickAddListView = instance.web.ListView.extend({
+ init: function() {
+ this._super.apply(this, arguments);
+ this.journals = [];
+ this.periods = [];
+ this.current_journal = null;
+ this.current_period = null;
+ this.default_period = null;
+ this.default_journal = null;
+ this.current_journal_type = null;
+ this.current_journal_currency = null;
+ this.current_journal_analytic = null;
+ },
+ start:function(){
+ var tmp = this._super.apply(this, arguments);
+ var self = this;
+ this.$el.parent().prepend(QWeb.render("AccountMoveLineQuickAdd", {widget: this}));
+
+ this.$el.parent().find('.oe_account_select_journal').change(function() {
+ self.current_journal = this.value === '' ? null : parseInt(this.value);
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.$el.parent().find('.oe_account_select_period').change(function() {
+ self.current_period = this.value === '' ? null : parseInt(this.value);
+ self.do_search(self.last_domain, self.last_context, self.last_group_by);
+ });
+ this.on('edit:after', this, function () {
+ self.$el.parent().find('.oe_account_select_journal').attr('disabled', 'disabled');
+ self.$el.parent().find('.oe_account_select_period').attr('disabled', 'disabled');
+ });
+ this.on('save:after cancel:after', this, function () {
+ self.$el.parent().find('.oe_account_select_journal').removeAttr('disabled');
+ self.$el.parent().find('.oe_account_select_period').removeAttr('disabled');
+ });
+ var mod = new instance.web.Model("account.move.line", self.dataset.context, self.dataset.domain);
+ mod.call("default_get", [['journal_id','period_id'],self.dataset.context]).then(function(result) {
+ self.current_period = result['period_id'];
+ self.current_journal = result['journal_id'];
+ });
+ return tmp;
+ },
+ do_search: function(domain, context, group_by) {
+ var self = this;
+ this.last_domain = domain;
+ this.last_context = context;
+ this.last_group_by = group_by;
+ this.old_search = _.bind(this._super, this);
+ var mod = new instance.web.Model("account.move.line", context, domain);
+ return $.when(mod.call("list_journals", []).then(function(result) {
+ self.journals = result;
+ }),mod.call("list_periods", []).then(function(result) {
+ self.periods = result;
+ })).then(function () {
+ var o;
+ self.$el.parent().find('.oe_account_select_journal').children().remove().end();
+ self.$el.parent().find('.oe_account_select_journal').append(new Option('', ''));
+ for (var i = 0;i < self.journals.length;i++){
+ o = new Option(self.journals[i][1], self.journals[i][0]);
+ if (self.journals[i][0] === self.current_journal){
+ self.current_journal_type = self.journals[i][2];
+ self.current_journal_currency = self.journals[i][3];
+ self.current_journal_analytic = self.journals[i][4];
+ $(o).attr('selected',true);
+ }
+ self.$el.parent().find('.oe_account_select_journal').append(o);
+ }
+ self.$el.parent().find('.oe_account_select_period').children().remove().end();
+ self.$el.parent().find('.oe_account_select_period').append(new Option('', ''));
+ for (var i = 0;i < self.periods.length;i++){
+ o = new Option(self.periods[i][1], self.periods[i][0]);
+ self.$el.parent().find('.oe_account_select_period').append(o);
+ }
+ self.$el.parent().find('.oe_account_select_period').val(self.current_period).attr('selected',true);
+ return self.search_by_journal_period();
+ });
+ },
+ search_by_journal_period: function() {
+ var self = this;
+ var domain = [];
+ if (self.current_journal !== null) domain.push(["journal_id", "=", self.current_journal]);
+ if (self.current_period !== null) domain.push(["period_id", "=", self.current_period]);
+ self.last_context["journal_id"] = self.current_journal === null ? false : self.current_journal;
+ if (self.current_period === null) delete self.last_context["period_id"];
+ else self.last_context["period_id"] = self.current_period;
+ self.last_context["journal_type"] = self.current_journal_type;
+ self.last_context["currency"] = self.current_journal_currency;
+ self.last_context["analytic_journal_id"] = self.current_journal_analytic;
+ return self.old_search(new instance.web.CompoundDomain(self.last_domain, domain), self.last_context, self.last_group_by);
+ },
+ });
+};
diff --git a/addons/account/static/src/js/account_move_reconciliation.js b/addons/account/static/src/js/account_move_reconciliation.js
index 22fe9b7b392..19c194166e2 100644
--- a/addons/account/static/src/js/account_move_reconciliation.js
+++ b/addons/account/static/src/js/account_move_reconciliation.js
@@ -1,9 +1,10 @@
openerp.account = function (instance) {
+ openerp.account.quickadd(instance);
var _t = instance.web._t,
_lt = instance.web._lt;
var QWeb = instance.web.qweb;
- instance.web.account = {};
+ instance.web.account = instance.web.account || {};
instance.web.views.add('tree_account_reconciliation', 'instance.web.account.ReconciliationListView');
instance.web.account.ReconciliationListView = instance.web.ListView.extend({
diff --git a/addons/account/static/src/xml/account_move_line_quickadd.xml b/addons/account/static/src/xml/account_move_line_quickadd.xml
new file mode 100644
index 00000000000..3ed66eec917
--- /dev/null
+++ b/addons/account/static/src/xml/account_move_line_quickadd.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<templates id="template" xml:space="preserve">
+
+ <t t-name="AccountMoveLineQuickAdd">
+ <div class="oe_account_quickadd ui-toolbar" style="margin-bottom:0px;">
+ <div class="oe_form_dropdown_section">
+ <h4>Period :</h4>
+ <select class="oe_account_select_period">
+
+ </select>
+ </div>
+ <div class="oe_form_dropdown_section">
+ <h4>Journal :</h4>
+ <select class="oe_account_select_journal" >
+
+ </select>
+ </div>
+ </div>
+ </t>
+
+</templates>
diff --git a/addons/account/test/account_fiscalyear_close.yml b/addons/account/test/account_fiscalyear_close.yml
index 1e24d2ca0e7..1c3547ccefd 100644
--- a/addons/account/test/account_fiscalyear_close.yml
+++ b/addons/account/test/account_fiscalyear_close.yml
@@ -29,7 +29,6 @@
default_debit_account_id: cash
default_credit_account_id: cash
company_id: base.main_company
- view_id: account_journal_bank_view
centralisation: 1
-
I called the Generate Fiscalyear Opening Entries wizard
@@ -47,47 +46,4 @@
!python {model: account.fiscalyear.close}: |
self.data_save(cr, uid, [ref("account_fiscalyear_close_0")], {"lang": 'en_US',
"active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_fy_close")],
- "tz": False, "active_id": ref("account.menu_wizard_fy_close"), })
-
--
- I check the opening entries By using "Entries by Line wizard"
--
- !record {model: account.move.journal, id: account_move_journal_0}:
- {}
--
- I clicked on Open Journal Button to check the entries
-
--
- !python {model: account.move.journal}: |
- self.action_open_window(cr, uid, [ref("account_move_journal_0")], {"lang": 'en_US',
- "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
- "tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
- })
-
-#-
-# In order to test Cancel Opening Entries I cancelled the opening entries created for "Fiscal Year 2011"
-#-
-# !record {model: account.open.closed.fiscalyear, id: account_open_closed_fiscalyear_1}:
-# fyear_id: account.data_fiscalyear
-#-
-# I clicked on Open button
-#-
-# !python {model: account.open.closed.fiscalyear}: |
-# self.remove_entries(cr, uid, [ref("account_open_closed_fiscalyear_1")], {"lang":
-# 'en_US', "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_wizard_open_closed_fy")],
-# "tz": False, "active_id": ref("account.menu_wizard_open_closed_fy"), })
-#-
-# I check the opening entries By using "Entries by Line wizard"
-#-
-# !record {model: account.move.journal, id: account_move_journal_2}:
-# journal_id: account.sales_journal
-# period_id: account_period_jan11
-#
-#-
-# I checked the Opening entries are cancelled successfully
-#-
-# !python {model: account.move.journal}: |
-# self.action_open_window(cr, uid, [ref("account_move_journal_2")], {"lang": 'en_US',
-# "active_model": "ir.ui.menu", "active_ids": [ref("account.menu_action_move_journal_line_form")],
-# "tz": False, "active_id": ref("account.menu_action_move_journal_line_form"),
-# })
+ "tz": False, "active_id": ref("account.menu_wizard_fy_close"), }) \ No newline at end of file
diff --git a/addons/account/test/account_validate_account_move.yml b/addons/account/test/account_validate_account_move.yml
index 188df14c234..d47ee564019 100644
--- a/addons/account/test/account_validate_account_move.yml
+++ b/addons/account/test/account_validate_account_move.yml
@@ -30,10 +30,9 @@
-
!python {model: account.move.line}: |
import time
- date = self._get_date(cr, uid, {'lang': u'en_US', 'normal_view': False, 'active_model': 'ir.ui.menu',
- 'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'journal_id': 1, 'view_mode': False,
- 'visible_id': 1, 'period_id': 6, 'tz': False, 'active_ids': [ref('menu_action_account_moves_all')],
- 'search_default_posted': 0, 'active_id': ref('menu_action_account_moves_all')})
+ date = self._get_date(cr, uid, {
+ 'journal_id': 1,
+ 'period_id': 6,})
partner = self.onchange_partner_id(cr, uid, [], False, ref('base.res_partner_12'), ref('account.cash'), debit=0, credit=2000, date=date, journal=False)
account = self.onchange_account_id(cr, uid, [], account_id=ref('account.a_recv'), partner_id= ref('base.res_partner_12'))
vals = {
@@ -62,11 +61,10 @@
!python {model: account.move.line}: |
ids = self._balance_search(cr, uid, self, 'balance', [('balance', '=', 2000.0)], None, {'lang': u'en_US', 'tz': False, 'active_model': 'ir.ui.menu',
'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'view_mode': False, 'visible_id': 1,
- 'active_ids': [ref('menu_action_account_moves_all')], 'search_default_posted': 0, 'active_id': ref('menu_action_account_moves_all')})
+ 'search_default_posted': 0})
bal = self._balance(cr, uid, ids[0][2], 'balance', None,{'lang': u'en_US', 'tz': False, 'active_model': 'ir.ui.menu',
'search_default_journal_id': 1, 'journal_type': 'sale', 'search_default_period_id': 6, 'view_mode': False,
- 'visible_id': 1, 'active_ids': [ref('menu_action_account_moves_all')], 'search_default_posted': 0,
- 'active_id': ref('menu_action_account_moves_all')})
+ 'visible_id': 1, 'search_default_posted': 0})
assert bal, 'Balance has not been computed correctly'
-
I check that Initially account move state is "Draft"
diff --git a/addons/account/wizard/__init__.py b/addons/account/wizard/__init__.py
index 87a053d558c..839e490ca66 100644
--- a/addons/account/wizard/__init__.py
+++ b/addons/account/wizard/__init__.py
@@ -31,7 +31,6 @@ import account_reconcile_partner_process
import account_reconcile
import account_unreconcile
import account_invoice_refund
-import account_move_journal
import account_journal_select
import account_move_bank_reconcile
import account_subscription_generate
diff --git a/addons/account/wizard/account_move_journal.py b/addons/account/wizard/account_move_journal.py
deleted file mode 100644
index 246532d38d7..00000000000
--- a/addons/account/wizard/account_move_journal.py
+++ /dev/null
@@ -1,194 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-# OpenERP, Open Source Management Solution
-# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-# This program is free software: you can redistribute it and/or modify
-# it under the terms of the GNU Affero General Public License as
-# published by the Free Software Foundation, either version 3 of the
-# License, or (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU Affero General Public License for more details.
-#
-# You should have received a copy of the GNU Affero General Public License
-# along with this program. If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-from lxml import etree
-
-from osv import osv, fields
-from tools.translate import _
-import tools
-
-class account_move_journal(osv.osv_memory):
- _name = "account.move.journal"
- _description = "Move journal"
-
- _columns = {
- 'target_move': fields.selection([('posted', 'All Posted Entries'),
- ('all', 'All Entries'),
- ], 'Target Moves', required=True),
- }
-
- _defaults = {
- 'target_move': 'all'
- }
- def _get_period(self, cr, uid, context=None):
- """
- Return default account period value
- """
- account_period_obj = self.pool.get('account.period')
- ids = account_period_obj.find(cr, uid, context=context)
- period_id = False
- if ids:
- period_id = ids[0]
- return period_id
-
- def _get_journal(self, cr, uid, context=None):
- """
- Return journal based on the journal type
- """
-
- journal_id = False
-
- journal_pool = self.pool.get('account.journal')
- if context.get('journal_type', False):
- jids = journal_pool.search(cr, uid, [('type','=', context.get('journal_type'))])
- if not jids:
- raise osv.except_osv(_('Configuration Error!'), _('Cannot find any account journal of %s type for this company.\n\nYou can create one in the menu: \nConfiguration/Journals/Journals.') % context.get('journal_type'))
- journal_id = jids[0]
-
- return journal_id
-
- def fields_view_get(self, cr, uid, view_id=None, view_type='form', context=None, toolbar=False, submenu=False):
- """
- Returns views and fields for current model where view will depend on {view_type}.
- @param cr: A database cursor
- @param user: ID of the user currently logged in
- @param view_id: list of fields, which required to read signatures
- @param view_type: defines a view type. it can be one of (form, tree, graph, calender, gantt, search, mdx)
- @param context: context arguments, like lang, time zone
- @param toolbar: contains a list of reports, wizards, and links related to current model
-
- @return: Returns a dict that contains definition for fields, views, and toolbars
- """
- if context is None:context = {}
- res = super(account_move_journal, self).fields_view_get(cr, uid, view_id=view_id, view_type=view_type, context=context, toolbar=toolbar,submenu=False)
-
- if context:
- if not view_id:
- return res
-
- period_pool = self.pool.get('account.period')
- journal_pool = self.pool.get('account.journal')
-
- journal_id = self._get_journal(cr, uid, context)
- period_id = self._get_period(cr, uid, context)
-
- journal = False
- if journal_id:
- journal = journal_pool.read(cr, uid, journal_id, ['name'], context=context).get('name',False)
- journal_string = _("Journal: %s") % tools.ustr(journal)
- else:
- journal_string = _("Journal: All")
-
- period = False
- if period_id:
- period = period_pool.browse(cr, uid, period_id, context=context).name
- period_string = _("Period: %s") % tools.ustr(period)
-
- open_string = _("Open")
- view = """<?xml version="1.0" encoding="utf-8"?>
- <form string="Standard entries" version="7.0">
- <group>
- <field name="target_move"/>
- </group>
- %s: <label string="%s"/>
- %s: <label string="%s"/>
- <footer>
- <button string="%s" name="action_open_window" default_focus="1" type="object" class="oe_highlight"/>
- or
- <button string="Cancel" class="oe_link" special="cancel"/>
- </footer>
- </form>""" % (_('Journal'), journal_string, _('Period'), period_string, open_string)
-
- view = etree.fromstring(view.encode('utf8'))
- xarch, xfields = self._view_look_dom_arch(cr, uid, view, view_id, context=context)
- view = xarch
- res.update({
- 'arch': view
- })
- return res
-
- def action_open_window(self, cr, uid, ids, context=None):
- """
- This function Open action move line window on given period and Journal/Payment Mode
- @param cr: the current row, from the database cursor,
- @param uid: the current user’s ID for security checks,
- @param ids: account move journal’s ID or list of IDs
- @return: dictionary of Open action move line window on given period and Journal/Payment Mode
- """
-
- period_pool = self.pool.get('account.journal.period')
- data_pool = self.pool.get('ir.model.data')
- journal_pool = self.pool.get('account.journal')
- account_period_obj = self.pool.get('account.period')
-
- if context is None:
- context = {}
-
- journal_id = self._get_journal(cr, uid, context)
- period_id = self._get_period(cr, uid, context)
- target_move = self.read(cr, uid, ids, ['target_move'], context=context)[0]['target_move']
-
- name = _("Journal Items")
- if journal_id:
- ids = period_pool.search(cr, uid, [('journal_id', '=', journal_id), ('period_id', '=', period_id)], context=context)
-
- if not ids:
- journal = journal_pool.browse(cr, uid, journal_id, context=context)
- period = account_period_obj.browse(cr, uid, period_id, context=context)
-
- name = journal.name
- state = period.state
-
- if state == 'done':
- raise osv.except_osv(_('User Error!'), _('This period is already closed.'))
-
- company = period.company_id.id
- res = {
- 'name': name,
- 'period_id': period_id,
- 'journal_id': journal_id,
- 'company_id': company
- }
- period_pool.create(cr, uid, res,context=context)
-
- ids = period_pool.search(cr, uid, [('journal_id', '=', journal_id), ('period_id', '=', period_id)], context=context)
- period = period_pool.browse(cr, uid, ids[0], context=context)
- name = (period.journal_id.code or '') + ':' + (period.period_id.code or '')
-
- result = data_pool.get_object_reference(cr, uid, 'account', 'view_account_move_line_filter')
- res_id = result and result[1] or False
- move = 0
- if target_move == 'posted':
- move = 1
- return {
- 'name': name,
- 'view_type': 'form',
- 'view_mode': 'tree,graph,form',
- 'res_model': 'account.move.line',
- 'view_id': False,
- 'context': "{'search_default_posted': %d, 'search_default_journal_id':%d, 'search_default_period_id':%d}" % (move, journal_id, period_id),
- 'type': 'ir.actions.act_window',
- 'search_view_id': res_id
- }
-
-account_move_journal()
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account/wizard/account_move_journal_view.xml b/addons/account/wizard/account_move_journal_view.xml
deleted file mode 100644
index 5d80cf319c5..00000000000
--- a/addons/account/wizard/account_move_journal_view.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<openerp>
- <data>
-
- <record id="view_account_move_journal_form" model="ir.ui.view">
- <field name="name">account.move.journal.form</field>
- <field name="model">account.move.journal</field>
- <field name="arch" type="xml">
- <form string="Standard Entries">
- <field name="target_move"/>
- </form>
- </field>
- </record>
-
- </data>
-</openerp>
diff --git a/addons/account_analytic_analysis/__init__.py b/addons/account_analytic_analysis/__init__.py
index 429aa011f31..9aae723c5cf 100644
--- a/addons/account_analytic_analysis/__init__.py
+++ b/addons/account_analytic_analysis/__init__.py
@@ -21,6 +21,7 @@
import account_analytic_analysis
import cron_account_analytic_account
+import res_config
# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
diff --git a/addons/account_analytic_analysis/__openerp__.py b/addons/account_analytic_analysis/__openerp__.py
index 7675ef9f38e..53ebf225de1 100644
--- a/addons/account_analytic_analysis/__openerp__.py
+++ b/addons/account_analytic_analysis/__openerp__.py
@@ -40,6 +40,7 @@ Adds menu to show relevant information to each manager.You can also view the rep
'account_analytic_analysis_view.xml',
'account_analytic_analysis_menu.xml',
'account_analytic_analysis_cron.xml',
+ 'res_config_view.xml',
],
'css': [
'static/src/css/analytic.css'
diff --git a/addons/account_analytic_analysis/account_analytic_analysis_view.xml b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
index be2a504658f..2ece3a38652 100644
--- a/addons/account_analytic_analysis/account_analytic_analysis_view.xml
+++ b/addons/account_analytic_analysis/account_analytic_analysis_view.xml
@@ -147,6 +147,18 @@
</field>
</record>
+ <record id="view_account_analytic_account_template_required" model="ir.ui.view">
+ <field name="name">account.analytic.account.form.template.required</field>
+ <field name="model">account.analytic.account</field>
+ <field name="groups_id" eval="[(6, 0, [ref('group_template_required')])]"/>
+ <field name="inherit_id" ref="analytic.view_account_analytic_account_form"/>
+ <field name="arch" type="xml">
+ <field name="template_id" position="attributes">
+ <attribute name="attrs">{'required': [('type','=','contract')], 'invisible': [('type','in',['view', 'normal','template'])]}</attribute>
+ </field>
+ </field>
+ </record>
+
<record id="template_of_contract_action" model="ir.actions.act_window">
<field name="name">Template of Contract</field>
<field name="type">ir.actions.act_window</field>
diff --git a/addons/account_analytic_analysis/res_config.py b/addons/account_analytic_analysis/res_config.py
new file mode 100644
index 00000000000..94fe769fdd4
--- /dev/null
+++ b/addons/account_analytic_analysis/res_config.py
@@ -0,0 +1,31 @@
+# -*- coding: utf-8 -*-
+##############################################################################
+#
+# OpenERP, Open Source Business Applications
+# Copyright (C) 2004-2012 OpenERP S.A. (<http://openerp.com>).
+#
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Affero General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU Affero General Public License for more details.
+#
+# You should have received a copy of the GNU Affero General Public License
+# along with this program. If not, see <http://www.gnu.org/licenses/>.
+#
+##############################################################################
+
+from osv import fields, osv
+
+class sale_configuration(osv.osv_memory):
+ _inherit = 'sale.config.settings'
+
+ _columns = {
+ 'group_template_required': fields.boolean("Mandatory use of templates.",
+ implied_group='account_analytic_analysis.group_template_required',
+ help="Allows you to set the template field as required when creating an analytic account or a contract."),
+ }
diff --git a/addons/account_analytic_analysis/res_config_view.xml b/addons/account_analytic_analysis/res_config_view.xml
new file mode 100644
index 00000000000..9c7881f2a9e
--- /dev/null
+++ b/addons/account_analytic_analysis/res_config_view.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+ <data>
+
+ <record id="view_sales_config" model="ir.ui.view">
+ <field name="name">sale settings</field>
+ <field name="model">sale.config.settings</field>
+ <field name="inherit_id" ref="sale.view_sales_config"/>
+ <field name="arch" type="xml">
+ <xpath expr="//div[@name='module_analytic_user_function']" position="inside">
+ <div>
+ <field name="group_template_required" class="oe_inline"/>
+ <label for="group_template_required"/>
+ </div>
+ </xpath>
+ </field>
+ </record>
+
+ </data>
+</openerp>
+
diff --git a/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml b/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml
index 8bcc7f2d7f0..948c390e039 100644
--- a/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml
+++ b/addons/account_analytic_analysis/security/account_analytic_analysis_security.xml
@@ -6,5 +6,12 @@
<field eval="[(4,ref('sale.group_analytic_accounting'))]" name="groups_id"/>
</record>
+ <record id="group_template_required" model="res.groups">
+ <field name="name">Mandatory use of templates in contracts</field>
+ <field name="category_id" ref="base.module_category_sales_management"/>
+ <field name="comment">the field template of the analytic accounts and contracts will be required.</field>
+ <field name="implied_ids" eval="[(4, ref('base.group_user'))]"/>
+ </record>
+
</data>
-</openerp> \ No newline at end of file
+</openerp>
diff --git a/addons/account_analytic_plans/account_analytic_plans_view.xml b/addons/account_analytic_plans/account_analytic_plans_view.xml
index e5c02c8640e..3dcbcda6952 100644
--- a/addons/account_analytic_plans/account_analytic_plans_view.xml
+++ b/addons/account_analytic_plans/account_analytic_plans_view.xml
@@ -29,15 +29,6 @@
</field>
</record>
- <record id="journal_col11" model="account.journal.column">
- <field eval="&quot;&quot;&quot;Analytic Distribution&quot;&quot;&quot;" name="name"/>
- <field eval="15" name="sequence"/>
- <field name="view_id" ref="account.account_journal_view"/>
- <field eval="0" name="required"/>
- <field eval="&quot;&quot;&quot;analytics_id&quot;&quot;&quot;" name="field"/>
- <field eval="0" name="readonly"/>
- </record>
-
<record model="ir.ui.view" id="view_move_line_form_inherit">
<field name="name">account.move.line.form.inherit</field>
<field name="model">account.move.line</field>
diff --git a/addons/account_bank_statement_extensions/account_bank_statement_view.xml b/addons/account_bank_statement_extensions/account_bank_statement_view.xml
index adc2963c803..d64eb68bc99 100644
--- a/addons/account_bank_statement_extensions/account_bank_statement_view.xml
+++ b/addons/account_bank_statement_extensions/account_bank_statement_view.xml
@@ -43,10 +43,10 @@
<field name="arch" type="xml">
<data>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='date']" position="after">
- <field name="val_date"/>
- </xpath>
+ <field name="val_date" invisible="1"/>
+ </xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
- <field name="globalisation_id" string="Glob. Id"/>
+ <field name="globalisation_id" string="Glob. Id" invisible="1"/>
<field name="state" invisible="1"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='date']" position="after">
diff --git a/addons/account_check_writing/account_view.xml b/addons/account_check_writing/account_view.xml
index 53dd1cb1c93..df8d1461a3f 100644
--- a/addons/account_check_writing/account_view.xml
+++ b/addons/account_check_writing/account_view.xml
@@ -11,7 +11,7 @@
<field name="model">account.journal</field>
<field name="inherit_id" ref="account.view_account_journal_form" />
<field name="arch" type="xml">
- <field name="type" on_change="onchange_type(type, currency)" />
+ <field name="type" />
<field name="entry_posted" position="after">
<field name="allow_check_writing" attrs="{'readonly':[('type','!=','bank')]}" />
<field name="use_preprint_check" attrs="{'readonly':[('type','!=','bank')]}" />
diff --git a/addons/account_followup/account_followup_view.xml b/addons/account_followup/account_followup_view.xml
index b26458a73af..0617a95c2f0 100644
--- a/addons/account_followup/account_followup_view.xml
+++ b/addons/account_followup/account_followup_view.xml
@@ -127,7 +127,7 @@
</field>
</record>
- <record id="view_move_line_tree" model="ir.ui.view">
+ <!-- <record id="view_move_line_tree" model="ir.ui.view">
<field name="name">account.move.line.tree.followup</field>
<field name="model">account.move.line</field>
<field name="inherit_id" ref="account.view_move_line_tree"/>
@@ -137,7 +137,7 @@
<field name="followup_line_id"/>
</field>
</field>
- </record>
+ </record> -->
<act_window domain="[('reconcile_id', '=', False),('account_id.type','=','receivable')]" id="act_account_partner_account_move_all" name="Receivable Items" res_model="account.move.line" src_model="" view_id="account_move_line_partner_tree"/>
diff --git a/addons/account_payment/account_payment_view.xml b/addons/account_payment/account_payment_view.xml
index 4d69c2d7315..e07043c495a 100644
--- a/addons/account_payment/account_payment_view.xml
+++ b/addons/account_payment/account_payment_view.xml
@@ -14,28 +14,16 @@
</field>
</record>
- <record model="ir.ui.view" id="view_move_line_tree_wiz">
+ <!-- <record model="ir.ui.view" id="view_move_line_tree_wiz">
<field name="name">account.move.line.tree</field>
<field name="model">account.move.line</field>
- <field name="priority" eval="1"/>
+ <field name="inherit_id" ref="account.view_move_line_tree"/>
<field name="arch" type="xml">
- <tree string="Account Entry Line">
- <field name="partner_id"/>
- <field name="ref"/>
- <field name="name"/>
- <field name="journal_id"/>
- <field name="account_id"/>
- <field name="date_maturity"/>
- <field name="date"/>
- <field name="debit" sum="Total debit"/>
- <field name="credit" sum="Total credit"/>
+ <field name="reconcile" position="after">
<field name="amount_to_pay"/>
- <field name="amount_currency" groups="base.group_multi_currency"/>
- <field name="currency_id" groups="base.group_multi_currency"/>
- <field name="period_id" invisible="1"/>
- </tree>
+ </field>
</field>
- </record>
+ </record> -->
<menuitem id="menu_main_payment" name="Payment" parent="account.menu_finance" sequence="7"/>
diff --git a/addons/account_sequence/account_sequence_data.xml b/addons/account_sequence/account_sequence_data.xml
index b2d40412d0d..21aaaf2baee 100644
--- a/addons/account_sequence/account_sequence_data.xml
+++ b/addons/account_sequence/account_sequence_data.xml
@@ -3,46 +3,7 @@
<data>
<!--Account Journal Internal Number of account move line-->
-
- <record id="sp_journal_col3" model="account.journal.column">
- <field name="view_id" ref="account.account_sp_journal_view"/>
- <field name="name">Internal Number</field>
- <field name="field">internal_sequence_number</field>
- <field eval="True" name="required"/>
- <field eval="2" name="sequence"/>
- </record>
-
- <record id="journal_col1" model="account.journal.column">
- <field name="view_id" ref="account.account_journal_view"/>
- <field name="name">Internal Number</field>
- <field name="field">internal_sequence_number</field>
- <field eval="True" name="required"/>
- <field eval="2" name="sequence"/>
- </record>
-
- <record id="bank_col3" model="account.journal.column">
- <field name="view_id" ref="account.account_journal_bank_view"/>
- <field name="name">Internal Number</field>
- <field name="field">internal_sequence_number</field>
- <field eval="True" name="required"/>
- <field eval="2" name="sequence"/>
- </record>
-
- <record id="bank_col3_multi" model="account.journal.column">
- <field name="view_id" ref="account.account_journal_bank_view_multi"/>
- <field name="name">Internal Number</field>
- <field name="field">internal_sequence_number</field>
- <field eval="True" name="required"/>
- <field eval="2" name="sequence"/>
- </record>
-
- <record id="sp_refund_journal_col3" model="account.journal.column">
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
- <field name="name">Internal Number</field>
- <field name="field">internal_sequence_number</field>
- <field eval="True" name="required"/>
- <field eval="2" name="sequence"/>
- </record>
+
<record id="sequence_journal" model="ir.sequence.type">
<field name="name">Account Journal</field>
<field name="code">account.journal</field>
diff --git a/addons/account_voucher/account_voucher_view.xml b/addons/account_voucher/account_voucher_view.xml
index 4dc753deedc..1e1481c3f2b 100644
--- a/addons/account_voucher/account_voucher_view.xml
+++ b/addons/account_voucher/account_voucher_view.xml
@@ -213,7 +213,7 @@
<field name="inherit_id" ref="account.view_bank_statement_form"/>
<field name="arch" type="xml">
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/tree/field[@name='amount']" position="after">
- <field name="voucher_id" widget="many2onebutton" options="{'label':{'create':'Reconcile','edit':'Edit Reconciliation'}}" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'default_active': False}"/>
+ <field name="voucher_id" string="" widget="many2onebutton" options="{'label':{'create':'Reconcile','edit':'Edit Reconciliation'}}" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'default_active': False}"/>
</xpath>
<xpath expr="//page[@name='statement_line_ids']/field[@name='line_ids']/form/group/field[@name='sequence']" position="before">
<field name="voucher_id" widget="many2onebutton" options="{'label':{'create':'Reconcile','edit':'Edit Reconciliation'}}" context="{'line_type': type, 'default_type': amount &lt; 0 and 'payment' or 'receipt', 'type': amount &lt; 0 and 'payment' or 'receipt', 'default_partner_id': partner_id, 'default_journal_id': parent.journal_id, 'default_amount': abs(amount), 'default_reference': ref, 'default_date': date, 'default_name': name, 'default_active': False}"/>
diff --git a/addons/account_voucher/test/case1_usd_usd.yml b/addons/account_voucher/test/case1_usd_usd.yml
index 300d565f229..0f4c2058fc7 100644
--- a/addons/account_voucher/test/case1_usd_usd.yml
+++ b/addons/account_voucher/test/case1_usd_usd.yml
@@ -66,7 +66,6 @@
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 200 USD
diff --git a/addons/account_voucher/test/case2_suppl_usd_eur.yml b/addons/account_voucher/test/case2_suppl_usd_eur.yml
index 1a0c250395e..b32228032d3 100644
--- a/addons/account_voucher/test/case2_suppl_usd_eur.yml
+++ b/addons/account_voucher/test/case2_suppl_usd_eur.yml
@@ -23,7 +23,6 @@
default_credit_account_id: account.cash
currency: base.EUR
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
@@ -37,7 +36,6 @@
default_credit_account_id: account.cash
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 200 USD
-
diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
index 91f8a629cbb..275e4c58835 100644
--- a/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
+++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_eur.yml
@@ -59,7 +59,6 @@
default_debit_account_id: account.cash
default_credit_account_id: account.cash
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
@@ -73,7 +72,6 @@
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 200 USD
-
diff --git a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
index cc5e819af30..667882e3a32 100644
--- a/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
+++ b/addons/account_voucher/test/case2_usd_eur_debtor_in_usd.yml
@@ -59,7 +59,6 @@
default_debit_account_id: account.cash
default_credit_account_id: account.cash
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
@@ -73,7 +72,6 @@
default_credit_account_id: account_cash_usd_id
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 200 USD
-
diff --git a/addons/account_voucher/test/case3_eur_eur.yml b/addons/account_voucher/test/case3_eur_eur.yml
index 37ea7ea981a..f2f9461c31e 100644
--- a/addons/account_voucher/test/case3_eur_eur.yml
+++ b/addons/account_voucher/test/case3_eur_eur.yml
@@ -27,7 +27,6 @@
default_debit_account_id: account.cash
default_credit_account_id: account.cash
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 150 EUR
-
diff --git a/addons/account_voucher/test/case4_cad_chf.yml b/addons/account_voucher/test/case4_cad_chf.yml
index a2b252497cd..bc33e387a85 100644
--- a/addons/account_voucher/test/case4_cad_chf.yml
+++ b/addons/account_voucher/test/case4_cad_chf.yml
@@ -61,7 +61,6 @@
default_credit_account_id: account_cash_chf_id
currency: base.CHF
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create the first invoice on 1st January for 200 CAD
-
diff --git a/addons/account_voucher/test/case5_suppl_usd_usd.yml b/addons/account_voucher/test/case5_suppl_usd_usd.yml
index 4caeb19c847..3ef6d1269b7 100644
--- a/addons/account_voucher/test/case5_suppl_usd_usd.yml
+++ b/addons/account_voucher/test/case5_suppl_usd_usd.yml
@@ -46,7 +46,6 @@
default_debit_account_id: account.cash
default_credit_account_id: account.cash
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create a bank journal with USD as currency
-
@@ -60,7 +59,6 @@
default_credit_account_id: account_cash_usd_id2
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I set the context as would do the action in supplier invoice menuitem
-
diff --git a/addons/account_voucher/test/case_eur_usd.yml b/addons/account_voucher/test/case_eur_usd.yml
index 125277191cb..94f0c718980 100644
--- a/addons/account_voucher/test/case_eur_usd.yml
+++ b/addons/account_voucher/test/case_eur_usd.yml
@@ -40,7 +40,6 @@
default_credit_account_id: account_eur_usd_id
currency: base.USD
company_id: base.main_company
- view_id: account.account_journal_bank_view
-
I create an invoice
-
diff --git a/addons/analytic/analytic.py b/addons/analytic/analytic.py
index 708f9b3b196..542acb1e88c 100644
--- a/addons/analytic/analytic.py
+++ b/addons/analytic/analytic.py
@@ -20,8 +20,10 @@
##############################################################################
import time
+from datetime import datetime
from osv import fields, osv
+import tools
from tools.translate import _
import decimal_precision as dp
@@ -199,9 +201,14 @@ class account_analytic_account(osv.osv):
return {}
res = {'value':{}}
template = self.browse(cr, uid, template_id, context=context)
- res['value']['date_start'] = template.date_start
- res['value']['date'] = template.date
+ if template.date_start and template.date:
+ from_dt = datetime.strptime(template.date_start, tools.DEFAULT_SERVER_DATE_FORMAT)
+ to_dt = datetime.strptime(template.date, tools.DEFAULT_SERVER_DATE_FORMAT)
+ timedelta = to_dt - from_dt
+ res['value']['date'] = datetime.strftime(datetime.now() + timedelta, tools.DEFAULT_SERVER_DATE_FORMAT)
+ res['value']['date_start'] = fields.date.today()
res['value']['quantity_max'] = template.quantity_max
+ res['value']['parent_id'] = template.parent_id and template.parent_id.id or False
res['value']['description'] = template.description
return res
diff --git a/addons/analytic/analytic_view.xml b/addons/analytic/analytic_view.xml
index 1277d25de71..0faca841a0f 100644
--- a/addons/analytic/analytic_view.xml
+++ b/addons/analytic/analytic_view.xml
@@ -26,10 +26,10 @@
<field name="currency_id" attrs="{'invisible': ['|',('type', '&lt;&gt;', 'view'), ('company_id', '&lt;&gt;', False)]}"/>
</group>
<group>
- <field name="code"/>
<field name="type" invisible="context.get('default_type', False)"/>
- <field name="parent_id" on_change="on_change_parent(parent_id)" attrs="{'invisible': [('type','in',['contract','template'])]}"/>
<field name="template_id" on_change="on_change_template(template_id,context)" domain="[('type','=','template')]" attrs="{'invisible': [('type','in',['view', 'normal','template'])]}" context="{'default_type' : 'template'}"/>
+ <field name="code"/>
+ <field name="parent_id" on_change="on_change_parent(parent_id)" attrs="{'invisible': [('type','in',['contract'])]}"/>
<field name="company_id" on_change="on_change_company(company_id)" widget="selection" groups="base.group_multi_company" attrs="{'required': [('type','&lt;&gt;','view')]}"/>
</group>
</group>
diff --git a/addons/crm/report/crm_lead_report.py b/addons/crm/report/crm_lead_report.py
index da5167da1e6..25598abc3ea 100644
--- a/addons/crm/report/crm_lead_report.py
+++ b/addons/crm/report/crm_lead_report.py
@@ -81,7 +81,6 @@ class crm_lead_report(osv.osv):
'type_id':fields.many2one('crm.case.resource.type', 'Campaign', readonly=True),
'state': fields.selection(AVAILABLE_STATES, 'Status', size=16, readonly=True),
'company_id': fields.many2one('res.company', 'Company', readonly=True),
- 'email': fields.integer('# Emails', size=128, readonly=True),
'probability': fields.float('Probability',digits=(16,2),readonly=True, group_operator="avg"),
'planned_revenue': fields.float('Planned Revenue',digits=(16,2),readonly=True),
'probable_revenue': fields.float('Probable Revenue', digits=(16,2),readonly=True),
@@ -137,7 +136,6 @@ class crm_lead_report(osv.osv):
c.planned_revenue,
c.planned_revenue*(c.probability/100) as probable_revenue,
1 as nbr,
- (SELECT count(id) FROM mail_message WHERE model='crm.lead' AND res_id=c.id AND email_from is not null) AS email,
date_trunc('day',c.create_date) as create_date,
extract('epoch' from (c.date_closed-c.create_date))/(3600*24) as delay_close,
abs(extract('epoch' from (c.date_deadline - c.date_closed))/(3600*24)) as delay_expected,
diff --git a/addons/crm/report/crm_lead_report_view.xml b/addons/crm/report/crm_lead_report_view.xml
index a17633d0ef6..0e5df8837f1 100644
--- a/addons/crm/report/crm_lead_report_view.xml
+++ b/addons/crm/report/crm_lead_report_view.xml
@@ -25,7 +25,6 @@
<field name="partner_id" invisible="1"/>
<field name="country_id" invisible="1"/>
<field name="nbr" sum="# Leads"/>
- <field name="email" sum="# Mails"/>
<field name="delay_open"/>
<field name="delay_close"/>
<field name="planned_revenue"/>
@@ -148,7 +147,6 @@
<field name="company_id" invisible="1" groups="base.group_multi_company"/>
<field name="nbr" string="#Opportunities" sum="#Opportunities"/>
<field name="planned_revenue" sum="Planned Revenues"/>
- <field name="email" sum="# of Emails"/>
<field name="delay_open" sum='Delay to open'/>
<field name="delay_close" sum='Delay to close'/>
<field name="delay_expected"/>
@@ -167,7 +165,7 @@
<field name="context">{'search_default_year': 1,'search_default_lead': 1, "search_default_user":1, "search_default_this_month":1, 'group_by_no_leaf':1, 'group_by':[]}</field>
<field name="view_mode">tree,graph</field>
<field name="domain">[]</field>
- <field name="help">Leads Analysis allows you to check different CRM related information. Check for treatment delays, number of responses given and emails sent. You can sort out your leads analysis by different groups to get accurate grained analysis.</field>
+ <field name="help">Leads Analysis allows you to check different CRM related information like the treatment delays or number of leads per state. You can sort out your leads analysis by different groups to get accurate grained analysis.</field>
</record>
<record model="ir.actions.act_window.view" id="action_report_crm_lead_tree">
<field name="sequence" eval="1"/>
diff --git a/addons/hr_expense/security/ir.model.access.csv b/addons/hr_expense/security/ir.model.access.csv
index 092424ef7e6..361a3d8c74f 100644
--- a/addons/hr_expense/security/ir.model.access.csv
+++ b/addons/hr_expense/security/ir.model.access.csv
@@ -20,5 +20,3 @@ access_account_move_user,account.move.user,account.model_account_move,base.group
access_account_move_line_user,account.move.line.user,account.model_account_move_line,base.group_hr_user,1,1,1,1
access_account_analytic_line_user,account.ianalytic.line.user,account.model_account_analytic_line,base.group_hr_user,1,1,1,1
access_account_journal_period_manager,account.journal.period.manager,account.model_account_journal_period,base.group_hr_manager,1,1,1,1
-hr.access_account_journal_view_hruser,account.journal.view hruser,account.model_account_journal_view,base.group_hr_user,1,0,0,0
-hr.access_account_journal_column_hruser,account.journal.column hruser,account.model_account_journal_column,base.group_hr_user,1,0,0,0
diff --git a/addons/hr_timesheet/security/ir.model.access.csv b/addons/hr_timesheet/security/ir.model.access.csv
index 069a5a9c170..689d425054a 100644
--- a/addons/hr_timesheet/security/ir.model.access.csv
+++ b/addons/hr_timesheet/security/ir.model.access.csv
@@ -8,7 +8,5 @@ access_product_product_user,product.product user,product.model_product_product,b
access_product_template_hr_timesheet,product.template.hr.timesheet,product.model_product_template,base.group_hr_user,1,1,1,1
access_product_uom_hr_timesheet,product.uom.hr.timesheet,product.model_product_uom,base.group_hr_user,1,1,1,1
access_account_fiscalyear_hr_user,account.account.fiscalyear.user,account.model_account_fiscalyear,base.group_hr_user,1,1,1,1
-hr.access_account_journal_view_hruser,account.journal.view hruser,account.model_account_journal_view,base.group_hr_user,1,0,0,0
-hr.access_account_journal_column_hruser,account.journal.column hruser,account.model_account_journal_column,base.group_hr_user,1,0,0,0
access_hr_analytic_timesheet_user,hr.analytic.timesheet.user,model_hr_analytic_timesheet,base.group_user,1,1,1,0
access_account_analytic_journal_user,account.account.analytic.journal.user,account.model_account_analytic_journal,base.group_user,1,0,0,0
diff --git a/addons/l10n_ch/journal_data.xml b/addons/l10n_ch/journal_data.xml
index ede9136c3d2..607273ed401 100644
--- a/addons/l10n_ch/journal_data.xml
+++ b/addons/l10n_ch/journal_data.xml
@@ -5,7 +5,6 @@
<field name="name">Journal de frais</field>
<field name="code">EXPF</field>
<field name="type">purchase</field>
- <field name="view_id" ref="account.account_journal_view"/>
<field name="user_id" ref="base.user_root"/>
<field name="update_posted" eval="True" />
<field name="entry_posted" eval="True" />
@@ -15,7 +14,6 @@
<field name="name">Banque CHF</field>
<field name="code">BCHF</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="user_id" ref="base.user_root"/>
<field name="update_posted" eval="True" />
<field name="entry_posted" eval="True" />
@@ -26,7 +24,6 @@
<field name="name">Banque EUR</field>
<field name="code">BEUR</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="user_id" ref="base.user_root"/>
<field name="update_posted" eval="True" />
<field name="entry_posted" eval="True" />
@@ -37,7 +34,6 @@
<field name="name">Caisse</field>
<field name="code">CAI</field>
<field name="type">cash</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="user_id" ref="base.user_root"/>
<field name="update_posted" eval="True" />
<field name="entry_posted" eval="True" />
@@ -47,7 +43,6 @@
<field name="name">Opérations Diverses</field>
<field name="code">OD</field>
<field name="type">general</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="user_id" ref="base.user_root"/>
<field name="update_posted" eval="True" />
<field name="entry_posted" eval="True" />
@@ -58,7 +53,6 @@
<field name="code">JO</field>
<field name="type">situation</field>
<field name="centralisation">True</field>
- <field name="view_id" ref="account.account_journal_view"/>
<field name="update_posted" eval="True" />
</record>
diff --git a/addons/multi_company/multi_company_demo.xml b/addons/multi_company/multi_company_demo.xml
index 00c68186108..088aa35e915 100644
--- a/addons/multi_company/multi_company_demo.xml
+++ b/addons/multi_company/multi_company_demo.xml
@@ -191,7 +191,6 @@
<field name="name">Sales Journal - (OpenERP IN)</field>
<field name="code">SAJ-OpenERP IN</field>
<field name="type">sale</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -204,7 +203,6 @@
<field name="name">Sales Credit Note Journal - (OpenERP IN)</field>
<field name="code">SCNJ-OpenERP IN</field>
<field name="type">sale_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_sales_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -217,7 +215,6 @@
<field name="name">Expenses Journal - (OpenERP IN)</field>
<field name="code">EXJ-OpenERP IN</field>
<field name="type">purchase</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -230,7 +227,6 @@
<field name="name">Expenses Credit Notes Journal - (OpenERP IN)</field>
<field name="code">ECNJ-OpenERP IN</field>
<field name="type">purchase_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -243,7 +239,6 @@
<field name="name">Bank Journal - (OpenERP IN)</field>
<field name="code">BNK-OpenERP IN</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_bank_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -256,7 +251,6 @@
<field name="name">Checks Journal - (OpenERP IN)</field>
<field name="code">CHK-OpenERP IN</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_check_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -269,7 +263,6 @@
<field name="name">Cash Journal - (OpenERP IN)</field>
<field name="code">CSH-OpenERP IN</field>
<field name="type">cash</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_cash_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -283,7 +276,6 @@
<field name="name">Sales Journal - (OpenERP US)</field>
<field name="code">SAJ-OpenERP US</field>
<field name="type">sale</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -296,7 +288,6 @@
<field name="name">Sales Credit Note Journal - (OpenERP US)</field>
<field name="code">SCNJ-OpenERP US</field>
<field name="type">sale_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_sales_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -309,7 +300,6 @@
<field name="name">Expenses Journal - (OpenERP US)</field>
<field name="code">EXJ-OpenERP US</field>
<field name="type">purchase</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -322,7 +312,6 @@
<field name="name">Expenses Credit Notes Journal - (OpenERP US)</field>
<field name="code">ECNJ-OpenERP US</field>
<field name="type">purchase_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -335,7 +324,6 @@
<field name="name">Bank Journal - (OpenERP US)</field>
<field name="code">BNK-OpenERP US</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_bank_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -348,7 +336,6 @@
<field name="name">Checks Journal - (OpenERP US)</field>
<field name="code">CHK-OpenERP US</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_check_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -361,7 +348,6 @@
<field name="name">Cash Journal - (OpenERP US)</field>
<field name="code">CSH-OpenERP US</field>
<field name="type">cash</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_cash_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -376,7 +362,6 @@
<field name="name">Sales Journal - (OpenERP BE)</field>
<field name="code">SAJ-OpenERP BE</field>
<field name="type">sale</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_sale_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -389,7 +374,6 @@
<field name="name">Sales Credit Note Journal - (OpenERP BE)</field>
<field name="code">SCNJ-OpenERP BE</field>
<field name="type">sale_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_sales_journal"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_sale"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_sale"/>
@@ -402,7 +386,6 @@
<field name="name">Expenses Journal - (OpenERP BE)</field>
<field name="code">EXJ-OpenERP BE</field>
<field name="type">purchase</field>
- <field name="view_id" ref="account.account_sp_journal_view"/>
<field name="sequence_id" ref="account.sequence_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -415,7 +398,6 @@
<field name="name">Expenses Credit Notes Journal - (OpenERP BE)</field>
<field name="code">ECNJ-OpenERP BE</field>
<field name="type">purchase_refund</field>
- <field name="view_id" ref="account.account_sp_refund_journal_view"/>
<field name="sequence_id" ref="account.sequence_refund_purchase_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.a_expense"/>
<field model="account.account" name="default_credit_account_id" ref="account.a_expense"/>
@@ -428,7 +410,6 @@
<field name="name">Bank Journal - (OpenERP BE)</field>
<field name="code">BNK-OpenERP BE</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_bank_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -441,7 +422,6 @@
<field name="name">Checks Journal - (OpenERP BE)</field>
<field name="code">CHK-OpenERP BE</field>
<field name="type">bank</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_check_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
@@ -454,7 +434,6 @@
<field name="name">Cash Journal - (OpenERP BE)</field>
<field name="code">CSH-OpenERP BE</field>
<field name="type">cash</field>
- <field name="view_id" ref="account.account_journal_bank_view"/>
<field name="sequence_id" ref="account.sequence_cash_journal"/>
<field model="account.account" name="default_debit_account_id" ref="account.cash"/>
<field model="account.account" name="default_credit_account_id" ref="account.cash"/>
diff --git a/addons/point_of_sale/security/ir.model.access.csv b/addons/point_of_sale/security/ir.model.access.csv
index 74b4bbf5753..1d2c22053fb 100644
--- a/addons/point_of_sale/security/ir.model.access.csv
+++ b/addons/point_of_sale/security/ir.model.access.csv
@@ -42,12 +42,8 @@ access_account_move,account.move,account.model_account_move,group_pos_manager,1,
access_account_journal,account.journal,account.model_account_journal,group_pos_user,1,1,1,0
access_account_journal_period_user,account.journal.period user,account.model_account_journal_period,group_pos_user,1,1,1,1
access_account_journal_period_manager,account.journal.period manager,account.model_account_journal_period,group_pos_manager,1,0,0,0
-access_account_journal_view,account.journal.view,account.model_account_journal_view,group_pos_user,1,1,1,0
-access_account_journal_view_manager,account.journal.view manager,account.model_account_journal_view,group_pos_manager,1,0,0,0
access_account_analytic_line,account.analytic.line,analytic.model_account_analytic_line,group_pos_user,1,1,1,0
access_account_analytic_account,account.analytic.account,analytic.model_account_analytic_account,group_pos_user,1,1,1,0
-access_account_journal_column,account.journal.column,account.model_account_journal_column,group_pos_user,1,1,1,0
-access_account_journal_column_manager,account.journal.column manager,account.model_account_journal_column,group_pos_manager,1,0,0,0
access_ir_property_pos_manager,ir.property manager,base.model_ir_property,group_pos_manager,1,1,1,1
access_account_bank_statement_line_manager,account.bank.statement.line manager,account.model_account_bank_statement_line,group_pos_manager,1,1,1,1
access_account_invoice_manager,account.invoice manager,account.model_account_invoice,group_pos_manager,1,1,1,1
diff --git a/addons/product/product.py b/addons/product/product.py
index 1333c9581a7..fb28f85b10f 100644
--- a/addons/product/product.py
+++ b/addons/product/product.py
@@ -546,7 +546,7 @@ class product_product(osv.osv):
'default_code' : fields.char('Internal Reference', size=64, select=True),
'active': fields.boolean('Active', help="If unchecked, it will allow you to hide the product without removing it."),
'variants': fields.char('Variants', size=64),
- 'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade"),
+ 'product_tmpl_id': fields.many2one('product.template', 'Product Template', required=True, ondelete="cascade", select=True),
'ean13': fields.char('EAN13 Barcode', size=13, help="International Article Number used for product identification."),
'packaging' : fields.one2many('product.packaging', 'product_id', 'Logistical Units', help="Gives the different ways to package the same product. This has no impact on the picking order and is mainly used if you use the EDI module."),
'price_extra': fields.float('Variant Price Extra', digits_compute=dp.get_precision('Product Price')),
diff --git a/addons/project/project.py b/addons/project/project.py
index c6577b00e6a..b7c88f3532b 100644
--- a/addons/project/project.py
+++ b/addons/project/project.py
@@ -49,11 +49,17 @@ class project_task_type(osv.osv):
'fold': fields.boolean('Hide in views if empty',
help="This stage is not visible, for example in status bar or kanban view, when there are no records in that stage to display."),
}
+ def _get_default_project_id(self, cr, uid, ctx={}):
+ proj = ctx.get('default_project_id', False)
+ if type(proj) is int:
+ return [proj]
+ return proj
_defaults = {
'sequence': 1,
'state': 'open',
'fold': False,
'case_default': True,
+ 'project_ids': _get_default_project_id
}
_order = 'sequence'
diff --git a/addons/project/project_demo.xml b/addons/project/project_demo.xml
index ee887c2728c..f5fbf878fd0 100644
--- a/addons/project/project_demo.xml
+++ b/addons/project/project_demo.xml
@@ -36,7 +36,11 @@
<field name="user_id" ref="base.user_demo"/>
<field name="description">Implement new website for Sale and Warehouse Management for a customer.</field>
<field name="alias_model">project.task</field>
- <field name="type_ids" eval="[(6, 0, [ref('project_tt_analysis'),ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_deployment')])]"/>
+ </record>
+
+ <!-- We assign after so that default values applies -->
+ <record id="project_project_1" model="project.project">
+ <field name="type_ids" eval="[(4, ref('project_tt_analysis')) ,(4,ref('project_tt_specification')), (4,ref('project_tt_development')), (4,ref('project_tt_testing')), (4,ref('project_tt_deployment'))]"/>
</record>
<record id="project_project_2" model="project.project">
@@ -45,7 +49,11 @@
<field name="privacy_visibility">public</field>
<field name="user_id" ref="base.user_demo"/>
<field name="alias_model">project.task</field>
- <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge'),ref('project_tt_deployment')])]"/>
+ </record>
+
+ <!-- We assign after so that default values applies -->
+ <record id="project_project_2" model="project.project">
+ <field name="type_ids" eval="[(4, ref('project_tt_specification')),(4,ref('project_tt_development')),(4,ref('project_tt_testing')),(4,ref('project_tt_merge')),(4,ref('project_tt_deployment'))]"/>
</record>
<record id="project_project_3" model="project.project">
@@ -55,10 +63,11 @@
<field name="user_id" ref="base.user_demo"/>
<field name="alias_model">project.task</field>
<field name="privacy_visibility">public</field>
- <field name="members" eval="[(6, 0, [
- ref('base.user_root'),
- ref('base.user_demo')])]"/>
- <field name="type_ids" eval="[(6, 0, [ref('project_tt_specification'),ref('project_tt_development'),ref('project_tt_testing'),ref('project_tt_merge'),ref('project_tt_deployment')])]"/>
+ <field name="members" eval="[(4, ref('base.user_root')), (4, ref('base.user_demo'))]"/>
+ </record>
+
+ <record id="project_project_3" model="project.project">
+ <field name="type_ids" eval="[(4, ref('project_tt_specification')),(4,ref('project_tt_development')),(4,ref('project_tt_testing')),(4,ref('project_tt_merge')),(4,ref('project_tt_deployment'))]"/>
</record>
<record id="project_project_4" model="project.project">
@@ -67,10 +76,11 @@
<field name="name">Website Design Templates</field>
<field name="user_id" ref="base.user_root"/>
<field name="alias_model">project.task</field>
- <field name="type_ids" eval="[(6, 0, [ref('project_tt_design'),ref('project_tt_development'),ref('project_tt_testing')])]"/>
- <field name="members" eval="[(6, 0, [
- ref('base.user_root'),
- ref('base.user_demo')])]"/>
+ <field name="members" eval="[(4, ref('base.user_root')), (4,ref('base.user_demo'))]"/>
+ </record>
+
+ <record id="project_project_4" model="project.project">
+ <field name="type_ids" eval="[(4, ref('project_tt_design')),(4,ref('project_tt_development')),(4,ref('project_tt_testing'))]"/>
</record>
<record id="project_project_5" model="project.project">
@@ -79,12 +89,15 @@
<field name="partner_id" ref="base.res_partner_7"/>
<field name="name">Data Import/Export Plugin</field>
<field name="alias_model">project.task</field>
- <field name="type_ids" eval="[(6, 0, [ref('project_tt_development')])]"/>
<field name="members" eval="[(6, 0, [
ref('base.user_root'),
ref('base.user_demo')])]"/>
</record>
+ <record id="project_project_5" model="project.project">
+ <field name="type_ids" eval="[(4, ref('project_tt_development'))]"/>
+ </record>
+
<!-- Tasks -->
<record id="project_task_1" model="project.task">
diff --git a/addons/project_issue/project_issue.py b/addons/project_issue/project_issue.py
index fe5ce9f325b..55aa0fd557b 100644
--- a/addons/project_issue/project_issue.py
+++ b/addons/project_issue/project_issue.py
@@ -225,7 +225,7 @@ class project_issue(base_stage, osv.osv):
Define Responsible user and Email account for mail gateway.'),
'partner_id': fields.many2one('res.partner', 'Contact', select=1),
'company_id': fields.many2one('res.company', 'Company'),
- 'description': fields.text('Description'),
+ 'description': fields.text('Private Note'),
'state': fields.related('stage_id', 'state', type="selection", store=True,
selection=_ISSUE_STATE, string="Status", readonly=True,
help='The status is set to \'Draft\', when a case is created.\
diff --git a/addons/project_issue/project_issue_view.xml b/addons/project_issue/project_issue_view.xml
index 9e25fbca6a6..60cc6448a46 100644
--- a/addons/project_issue/project_issue_view.xml
+++ b/addons/project_issue/project_issue_view.xml
@@ -111,26 +111,26 @@
<field name="user_id"/>
<field name="partner_id" on_change="onchange_partner_id(partner_id, email_from)"/>
<field name="email_from"/>
- </group>
- <group>
- <field name="priority" groups="base.group_user"/>
<label for="project_id" groups="base.group_user"/>
<div groups="base.group_user">
<field name="project_id" on_change="on_change_project(project_id)" class="oe_inline" context="{'default_use_issues':1}"/>
- <button name="case_escalate" string="Escalate" type="object" states="draft,open,pending" class="oe_inline"/>
+ <button name="case_escalate" string="⇒ Escalate" type="object" states="draft,open,pending" class="oe_link"/>
</div>
+ </group>
+ <group>
+ <field name="categ_ids" widget="many2many_tags"/>
+ <field name="version_id" groups="base.group_user"/>
+ <field name="priority" groups="base.group_user"/>
<label for="task_id" groups="base.group_user"/>
<div groups="base.group_user">
<field name="task_id" on_change="onchange_task_id(task_id)" class="oe_inline" context="{'default_project_id':project_id}"/>
<field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}" class="oe_inline"/>
</div>
- <field name="categ_ids" widget="many2many_tags"/>
- <field name="version_id" groups="base.group_user"/>
</group>
</group>
<notebook>
<page string="Description">
- <field name="description" placeholder="Add a description..."/>
+ <field name="description" placeholder="Add an internal note..." groups="base.group_user"/>
</page>
<page string="Extra Info" groups="base.group_no_one">
<group col="4" colspan="4">
diff --git a/addons/sale/res_config_view.xml b/addons/sale/res_config_view.xml
index daf396d302b..b150fb276b7 100644
--- a/addons/sale/res_config_view.xml
+++ b/addons/sale/res_config_view.xml
@@ -86,13 +86,13 @@
your customer.
</p>
<group>
- <label for="id" string="Contract Feature"/>
+ <label for="id" string="Contract Features"/>
<div>
<div>
<field name="module_account_analytic_analysis" on_change="onchange_timesheet(module_account_analytic_analysis)" class="oe_inline"/>
<label for="module_account_analytic_analysis"/>
</div>
- <div attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}">
+ <div name="module_analytic_user_function" attrs="{'invisible':[('module_account_analytic_analysis','=',False)]}">
<field name="module_analytic_user_function" class="oe_inline"/>
<label for="module_analytic_user_function"/>
</div>
diff --git a/addons/sale_crm/report/sales_crm_account_invoice_report.py b/addons/sale_crm/report/sales_crm_account_invoice_report.py
index 8e356527536..27da7640946 100644
--- a/addons/sale_crm/report/sales_crm_account_invoice_report.py
+++ b/addons/sale_crm/report/sales_crm_account_invoice_report.py
@@ -27,7 +27,10 @@ class account_invoice_report(osv.osv):
}
def _select(self):
- return super(account_invoice_report, self)._select() + ", ai.section_id as section_id"
+ return super(account_invoice_report, self)._select() + ", sub.section_id as section_id"
+
+ def _sub_select(self):
+ return super(account_invoice_report, self)._sub_select() + ", ai.section_id as section_id"
def _group_by(self):
return super(account_invoice_report, self)._group_by() + ", ai.section_id"
diff --git a/addons/stock/stock_data.xml b/addons/stock/stock_data.xml
index a1ce136e304..6a955d950bb 100644
--- a/addons/stock/stock_data.xml
+++ b/addons/stock/stock_data.xml
@@ -21,7 +21,6 @@ watch your stock valuation, and track production lots upstream and downstream (b
<field name="name">Stock Journal</field>
<field name="code">STJ</field>
<field name="type">general</field>
- <field name="view_id" ref="account.account_journal_view"/>
<field name="sequence_id" ref="stock_journal_sequence"/>
<field name="user_id" ref="base.user_root"/>
</record>
diff --git a/addons/stock_location/test/stock_location_pull_flow.yml b/addons/stock_location/test/stock_location_pull_flow.yml
index a7dd7d82607..0ff1b5d3af8 100644
--- a/addons/stock_location/test/stock_location_pull_flow.yml
+++ b/addons/stock_location/test/stock_location_pull_flow.yml
@@ -58,7 +58,6 @@
name: Purchase Journal For Tests
sequence_id: account.sequence_purchase_journal
type: purchase
- view_id: account.account_journal_bank_view
-
I create a Sale Journal.
@@ -69,7 +68,6 @@
name: Sale Journal For Tests
sequence_id: account.sequence_sale_journal
type: sale
- view_id: account.account_journal_view
-
I create an Expense Account