diff --git a/partner_statement/__manifest__.py b/partner_statement/__manifest__.py
index dc546eee..105eb05a 100644
--- a/partner_statement/__manifest__.py
+++ b/partner_statement/__manifest__.py
@@ -3,7 +3,7 @@
{
"name": "Partner Statement",
- "version": "13.0.1.1.0",
+ "version": "14.0.1.1.0",
"category": "Accounting & Finance",
"summary": "OCA Financial Reports",
"author": "ForgeFlow, Odoo Community Association (OCA)",
@@ -12,6 +12,7 @@
"depends": ["account"],
"external_dependencies": {"python": ["dateutil"]},
"data": [
+ "security/ir.model.access.csv",
"security/statement_security.xml",
"views/activity_statement.xml",
"views/outstanding_statement.xml",
diff --git a/partner_statement/report/activity_statement.py b/partner_statement/report/activity_statement.py
index adddb6f6..3caae0f9 100644
--- a/partner_statement/report/activity_statement.py
+++ b/partner_statement/report/activity_statement.py
@@ -27,9 +27,10 @@ class ActivityStatement(models.AbstractModel):
ELSE sum(l.credit)
END as credit
FROM account_move_line l
+ JOIN account_account aa ON (aa.id = l.account_id)
+ JOIN account_account_type at ON (at.id = aa.user_type_id)
JOIN account_move m ON (l.move_id = m.id)
- WHERE l.partner_id IN %(partners)s
- AND l.account_internal_type = %(account_type)s
+ WHERE l.partner_id IN %(partners)s AND at.type = %(account_type)s
AND l.date < %(date_start)s AND not l.blocked
AND m.state IN ('posted')
GROUP BY l.partner_id, l.currency_id, l.amount_currency,
@@ -106,10 +107,12 @@ class ActivityStatement(models.AbstractModel):
ELSE l.date_maturity
END as date_maturity
FROM account_move_line l
+ JOIN account_account aa ON (aa.id = l.account_id)
+ JOIN account_account_type at ON (at.id = aa.user_type_id)
JOIN account_move m ON (l.move_id = m.id)
JOIN account_journal aj ON (l.journal_id = aj.id)
WHERE l.partner_id IN %(partners)s
- AND l.account_internal_type = %(account_type)s
+ AND at.type = %(account_type)s
AND %(date_start)s <= l.date
AND l.date <= %(date_end)s
AND m.state IN ('posted')
diff --git a/partner_statement/report/outstanding_statement.py b/partner_statement/report/outstanding_statement.py
index f1ae61e8..7e8574ff 100644
--- a/partner_statement/report/outstanding_statement.py
+++ b/partner_statement/report/outstanding_statement.py
@@ -35,14 +35,16 @@ class OutstandingStatement(models.AbstractModel):
ELSE l.balance + sum(coalesce(pc.amount, 0.0))
END AS open_amount,
CASE WHEN l.balance > 0.0
- THEN l.amount_currency - sum(coalesce(pd.amount_currency, 0.0))
- ELSE l.amount_currency + sum(coalesce(pc.amount_currency, 0.0))
+ THEN l.amount_currency - sum(coalesce(pd.debit_amount_currency, 0.0))
+ ELSE l.amount_currency + sum(coalesce(pc.credit_amount_currency, 0.0))
END AS open_amount_currency,
CASE WHEN l.date_maturity is null
THEN l.date
ELSE l.date_maturity
END as date_maturity
FROM account_move_line l
+ JOIN account_account aa ON (aa.id = l.account_id)
+ JOIN account_account_type at ON (at.id = aa.user_type_id)
JOIN account_move m ON (l.move_id = m.id)
LEFT JOIN (SELECT pr.*
FROM account_partial_reconcile pr
@@ -56,8 +58,7 @@ class OutstandingStatement(models.AbstractModel):
ON pr.debit_move_id = l2.id
WHERE l2.date <= %(date_end)s
) as pc ON pc.credit_move_id = l.id
- WHERE l.partner_id IN %(partners)s
- AND l.account_internal_type = %(account_type)s
+ WHERE l.partner_id IN %(partners)s AND at.type = %(account_type)s
AND (
(pd.id IS NOT NULL AND
pd.max_date <= %(date_end)s) OR
diff --git a/partner_statement/report/report_statement_common.py b/partner_statement/report/report_statement_common.py
index e4ac4819..d35c888d 100644
--- a/partner_statement/report/report_statement_common.py
+++ b/partner_statement/report/report_statement_common.py
@@ -44,8 +44,8 @@ class ReportStatementCommon(models.AbstractModel):
ELSE l.balance + sum(coalesce(pc.amount, 0.0))
END AS open_due,
CASE WHEN l.balance > 0.0
- THEN l.amount_currency - sum(coalesce(pd.amount_currency, 0.0))
- ELSE l.amount_currency + sum(coalesce(pc.amount_currency, 0.0))
+ THEN l.amount_currency - sum(coalesce(pd.debit_amount_currency, 0.0))
+ ELSE l.amount_currency + sum(coalesce(pc.credit_amount_currency, 0.0))
END AS open_due_currency,
CASE WHEN l.date_maturity is null
THEN l.date
@@ -53,6 +53,8 @@ class ReportStatementCommon(models.AbstractModel):
END as date_maturity
FROM account_move_line l
JOIN account_move m ON (l.move_id = m.id)
+ JOIN account_account aa ON (aa.id = l.account_id)
+ JOIN account_account_type at ON (at.id = aa.user_type_id)
LEFT JOIN (SELECT pr.*
FROM account_partial_reconcile pr
INNER JOIN account_move_line l2
@@ -65,8 +67,7 @@ class ReportStatementCommon(models.AbstractModel):
ON pr.debit_move_id = l2.id
WHERE l2.date <= %(date_end)s
) as pc ON pc.credit_move_id = l.id
- WHERE l.partner_id IN %(partners)s
- AND l.account_internal_type = %(account_type)s
+ WHERE l.partner_id IN %(partners)s AND at.type = %(account_type)s
AND (
(pd.id IS NOT NULL AND
pd.max_date <= %(date_end)s) OR
diff --git a/partner_statement/security/ir.model.access.csv b/partner_statement/security/ir.model.access.csv
new file mode 100644
index 00000000..f3a19dcc
--- /dev/null
+++ b/partner_statement/security/ir.model.access.csv
@@ -0,0 +1,3 @@
+id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
+access_activity_statement_wizard,access_activity_statement_wizard,model_activity_statement_wizard,account.group_account_invoice,1,1,1,0
+access_outstanding_statement_wizard,access_outstanding_statement_wizard,model_outstanding_statement_wizard,account.group_account_invoice,1,1,1,0
diff --git a/partner_statement/views/activity_statement.xml b/partner_statement/views/activity_statement.xml
index 36563bf5..721b7856 100644
--- a/partner_statement/views/activity_statement.xml
+++ b/partner_statement/views/activity_statement.xml
@@ -161,13 +161,11 @@
-
+
+ Activity Statement
+ res.partner
+ partner_statement.activity_statement
+ qweb-pdf
+ partner_statement.activity_statement
+
diff --git a/partner_statement/views/outstanding_statement.xml b/partner_statement/views/outstanding_statement.xml
index 9752406f..4fca43f4 100644
--- a/partner_statement/views/outstanding_statement.xml
+++ b/partner_statement/views/outstanding_statement.xml
@@ -157,13 +157,11 @@
-
+
+ Outstanding Statement
+ res.partner
+ partner_statement.outstanding_statement
+ qweb-pdf
+ partner_statement.outstanding_statement
+
diff --git a/partner_statement/wizard/statement_wizard.xml b/partner_statement/wizard/statement_wizard.xml
index 9c3d41c7..84ec2762 100644
--- a/partner_statement/wizard/statement_wizard.xml
+++ b/partner_statement/wizard/statement_wizard.xml
@@ -3,24 +3,28 @@
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
-
-
+
+ Partner Activity Statement
+
+ activity.statement.wizard
+ form
+
+ new
+
+
+ Partner Outstanding Statement
+
+ outstanding.statement.wizard
+ form
+
+ new
+ Statement Common Wizard View
@@ -28,11 +32,11 @@