diff --git a/addons/account/account_view.xml b/addons/account/account_view.xml
index 31b6c73d179..5c1acf39e1c 100644
--- a/addons/account/account_view.xml
+++ b/addons/account/account_view.xml
@@ -610,6 +610,7 @@
account.tax
form
+ [('parent_id','=',False)]
diff --git a/addons/account/account_wizard.xml b/addons/account/account_wizard.xml
index 525fa46607a..e9e0d6826f5 100644
--- a/addons/account/account_wizard.xml
+++ b/addons/account/account_wizard.xml
@@ -89,14 +89,9 @@
-
-
-
-
-
diff --git a/addons/account/report/general_ledger.py b/addons/account/report/general_ledger.py
index c27f3fcee24..e00a594f95f 100755
--- a/addons/account/report/general_ledger.py
+++ b/addons/account/report/general_ledger.py
@@ -167,31 +167,34 @@ class general_ledger(rml_parse.rml_parse):
## We will now compute solde initiaux
- for move in res:
-
- SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date <= '" + self.borne_date['max_date'] + "'" + " AND l.date >= '" + self.borne_date['min_date'] + "'"
- self.cr.execute(SOLDEINIT)
- resultat = self.cr.dictfetchall()
-
- if resultat[0] :
+ if not len(res):
+ return[account]
+ else:
+ for move in res:
- if resultat[0]['sum_debit'] == None:
- sum_debit = 0
- else:
-
- sum_debit = resultat[0]['sum_debit']
- if resultat[0]['sum_credit'] == None:
- sum_credit = 0
- else:
- sum_credit = resultat[0]['sum_credit']
-
- move.init_credit = sum_credit
- move.init_debit = sum_debit
+ SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date <= '" + self.borne_date['max_date'] + "'" + " AND l.date >= '" + self.borne_date['min_date'] + "'"
+ self.cr.execute(SOLDEINIT)
+ resultat = self.cr.dictfetchall()
- else:
- move.init_credit = 0
- move.init_debit = 0
-
+ if resultat[0] :
+
+ if resultat[0]['sum_debit'] == None:
+ sum_debit = 0
+ else:
+
+ sum_debit = resultat[0]['sum_debit']
+ if resultat[0]['sum_credit'] == None:
+ sum_credit = 0
+ else:
+ sum_credit = resultat[0]['sum_credit']
+
+ move.init_credit = sum_credit
+ move.init_debit = sum_debit
+
+ else:
+ move.init_credit = 0
+ move.init_debit = 0
+
##
return res
diff --git a/addons/account/report/general_ledger_landscape.py b/addons/account/report/general_ledger_landscape.py
index 3410d1ffc11..8fb70864e00 100755
--- a/addons/account/report/general_ledger_landscape.py
+++ b/addons/account/report/general_ledger_landscape.py
@@ -162,6 +162,7 @@ class general_ledger_landscape(rml_parse.rml_parse):
else :
borne_max = date_max
elif form['state'] == 'none':
+
sql = """
SELECT min(date) as start_date,max(date) as stop_date FROM account_move_line """
self.cr.execute(sql)
@@ -179,7 +180,7 @@ class general_ledger_landscape(rml_parse.rml_parse):
def get_children_accounts(self, account, form):
-
+
self.child_ids = self.pool.get('account.account').search(self.cr, self.uid,
[('parent_id', 'child_of', self.ids)])
#
@@ -223,7 +224,10 @@ class general_ledger_landscape(rml_parse.rml_parse):
context=ctx)) <> 0 :
res.append(child_account)
##
- if form['soldeinit']:
+ if not len(res):
+
+ return [account]
+ else:
## We will now compute solde initiaux
for move in res:
SOLDEINIT = "SELECT sum(l.debit) AS sum_debit, sum(l.credit) AS sum_credit FROM account_move_line l WHERE l.account_id = " + str(move.id) + " AND l.date < '" + self.borne_date['max_date'] + "'" + " AND l.date > '" + self.borne_date['min_date'] + "'"
@@ -246,7 +250,7 @@ class general_ledger_landscape(rml_parse.rml_parse):
move.init_credit = 0
move.init_debit = 0
- ##
+
return res
def lines(self, account, form):
diff --git a/addons/account/security/ir.model.access.csv b/addons/account/security/ir.model.access.csv
index 9dbdcb18b55..d231315c175 100644
--- a/addons/account/security/ir.model.access.csv
+++ b/addons/account/security/ir.model.access.csv
@@ -13,6 +13,7 @@
"access_account_journal_period_manager","account.journal.period manager","model_account_journal_period","account.group_account_manager",1,1,1,1
"access_account_journal_period","account.journal.period","model_account_journal_period","account.group_account_user",1,1,1,1
"access_account_move","account.move","model_account_move","account.group_account_user",1,1,1,1
+"access_account_move_line","account.move.line","model_account_move_line","account.group_account_user",1,1,1,1
"access_account_move_reconcile","account.move.reconcile","model_account_move_reconcile","account.group_account_user",1,1,1,1
"access_account_tax_code","account.tax.code","model_account_tax_code",,1,0,0,0
"access_account_tax","account.tax","model_account_tax",,1,0,0,0
@@ -27,7 +28,6 @@
"access_account_tax_template","account.tax.template","model_account_tax_template","account.group_account_manager",1,1,1,1
"access_wizard_multi_charts_accounts","wizard.multi.charts.accounts","model_wizard_multi_charts_accounts","account.group_account_manager",1,1,1,1
"access_account_bank_accounts_wizard","account.bank.accounts.wizard","model_account_bank_accounts_wizard","account.group_account_manager",1,1,1,1
-"access_account_move_line","account.move.line invoice","model_account_move_line","account.group_account_invoice",1,1,1,1
"access_account_bank_statement","account.bank.statement","model_account_bank_statement","account.group_account_user",1,1,1,1
"access_account_bank_statement_reconcile","account.bank.statement.reconcile","model_account_bank_statement_reconcile","account.group_account_user",1,1,1,1
"access_account_bank_statement_reconcile_line","account.bank.statement.reconcile.line","model_account_bank_statement_reconcile_line","account.group_account_user",1,1,1,1
@@ -41,6 +41,7 @@
"access_account_invoice_tax_uinvoice","account.invoice.tax","model_account_invoice_tax","account.group_account_invoice",1,1,1,1
"access_account_analytic_line_uinvoice","account.analytic.line","model_account_analytic_line","account.group_account_user",1,1,1,1
"access_account_move_uinvoice","account.move","model_account_move","account.group_account_invoice",1,1,1,1
+"access_account_move_line_uinvoice","account.move.line invoice","model_account_move_line","account.group_account_invoice",1,1,1,1
"access_account_move_reconcile_uinvoice","account.move.reconcile","model_account_move_reconcile","account.group_account_invoice",1,1,1,1
"access_account_journal_period_uinvoice","account.journal.period","model_account_journal_period","account.group_account_invoice",1,1,1,1
"access_account_payment_term_manager","account.payment.term","model_account_payment_term","account.group_account_manager",1,1,1,1
@@ -66,16 +67,14 @@
"access_res_currency_rate_account_manager","res.currency.rate account manager","base.model_res_currency_rate","group_account_manager",1,1,1,1
"access_account_config_wizard_account_manager","account.config.wizard account manager","model_account_config_wizard","group_account_manager",1,1,1,1
"access_account_config_wizard_system_manager","account.config.wizard system manager","model_account_config_wizard","base.group_system",1,1,1,1
-"access_account_invoice_partner_manager","account.invoice partner manager","model_account_invoice","base.group_partner_manager",1,0,0,0
-"access_account_invoice_line_partner_manager","account.invoice.line partner manager","model_account_invoice_line","base.group_partner_manager",1,0,0,0
-"access_account_invoice_tax_partner_manager","account.invoice.tax partner manager","model_account_invoice_tax","base.group_partner_manager",1,0,0,0
+"access_account_invoice_user","account.invoice user","model_account_invoice","base.group_user",1,0,0,0
+"access_account_invoice_user","account.invoice.line user","model_account_invoice_line","base.group_user",1,0,0,0
+"access_account_invoice_user","account.invoice.tax user","model_account_invoice_tax","base.group_user",1,0,0,0
"access_account_payment_term_partner_manager","account.payment.term partner manager","model_account_payment_term","base.group_user",1,0,0,0
"access_account_payment_term_line_partner_manager","account.payment.term.line partner manager","model_account_payment_term_line","base.group_user",1,0,0,0
"access_account_account_product_manager","account.account product manager","model_account_account","product.group_product_manager",1,0,0,0
"access_account_journal_product_manager","account.journal product manager","model_account_journal","product.group_product_manager",1,0,0,0
"access_account_fiscal_position_product_manager","account.fiscal.position account.manager","model_account_fiscal_position","account.group_account_manager",1,1,1,1
-"access_account_fiscal_position","account.fiscal.position all","model_account_fiscal_position","base.group_user",1,0,0,0
-"access_account_fiscal_position_tax_product_manager","account.fiscal.position.tax account.manager","model_account_fiscal_position_tax","account.group_account_manager",1,1,1,1
-"access_account_fiscal_position_tax","account.fiscal.position.tax all","model_account_fiscal_position_tax","base.group_user",1,0,0,0
"access_account_fiscal_position_account_product_manager","account.fiscal.position account.manager","model_account_fiscal_position_account","account.group_account_manager",1,1,1,1
+"access_account_fiscal_position","account.fiscal.position all","model_account_fiscal_position","base.group_user",1,0,0,0
"access_account_fiscal_position_account","account.fiscal.position all","model_account_fiscal_position_account","base.group_user",1,0,0,0
diff --git a/addons/account/wizard/wizard_account_balance_report.py b/addons/account/wizard/wizard_account_balance_report.py
index af23f0581ca..8e3b2a142c9 100644
--- a/addons/account/wizard/wizard_account_balance_report.py
+++ b/addons/account/wizard/wizard_account_balance_report.py
@@ -35,7 +35,7 @@ period_form = '''
-
+
@@ -99,15 +99,7 @@ class wizard_report(wizard.interface):
return data['form']
def _check_state(self, cr, uid, data, context):
- my_ids=data['ids']
- if data['model']!='account.account':
- my_ids=[data['form']['Account_list']]
- child_ids = pooler.get_pool(cr.dbname).get('account.account').search(cr, uid,[('parent_id', 'child_of',my_ids )])
- for child in child_ids :
- child_account = pooler.get_pool(cr.dbname).get('account.account').browse(cr, uid, child)
- res = pooler.get_pool(cr.dbname).get('account.move.line').search(cr, uid,[('account_id','=',child_account.id)])
- if not len(res):
- raise wizard.except_wizard('UserError',"Make sure the account you select has children accounts.")
+
if data['form']['state'] == 'bydate':
self._check_date(cr, uid, data, context)
data['form']['fiscalyear'] = 0
diff --git a/addons/account/wizard/wizard_general_ledger_report.py b/addons/account/wizard/wizard_general_ledger_report.py
index 0aa23c79ccb..2ba3b2b0a1f 100644
--- a/addons/account/wizard/wizard_general_ledger_report.py
+++ b/addons/account/wizard/wizard_general_ledger_report.py
@@ -68,7 +68,7 @@ period_form = '''