From e4bb1ebd820a38a5138a0313996a98a643c5874d Mon Sep 17 00:00:00 2001
From: Arthur Maniet <arthurmaniet@me.com>
Date: Sun, 31 May 2015 19:14:54 +0200
Subject: [PATCH] [ADD] accounting dashboard: shortcuts for check printing and
 SEPA credit transfers

---
 addons/account_check_writing/__init__.py      |  1 +
 addons/account_check_writing/__openerp__.py   |  1 +
 .../account_journal_dashboard.py              | 35 +++++++++++++++++++
 .../views/account_journal_dashboard_view.xml  | 24 +++++++++++++
 4 files changed, 61 insertions(+)
 create mode 100644 addons/account_check_writing/account_journal_dashboard.py
 create mode 100644 addons/account_check_writing/views/account_journal_dashboard_view.xml

diff --git a/addons/account_check_writing/__init__.py b/addons/account_check_writing/__init__.py
index 7bf5a4953e5a..c2c597fe5aec 100644
--- a/addons/account_check_writing/__init__.py
+++ b/addons/account_check_writing/__init__.py
@@ -1,4 +1,5 @@
 # -*- coding: utf-8 -*-
 
 import account_journal
+import account_journal_dashboard
 import account_payment
diff --git a/addons/account_check_writing/__openerp__.py b/addons/account_check_writing/__openerp__.py
index bf502eaf2c77..7cf703840f25 100644
--- a/addons/account_check_writing/__openerp__.py
+++ b/addons/account_check_writing/__openerp__.py
@@ -16,6 +16,7 @@ The check settings are located in the accounting journals configuration page.
     'depends' : ['account_accountant'],
     'data': [
         'data/check_writing.xml',
+        'views/account_journal_dashboard_view.xml',
         'views/account_journal_view.xml',
         'views/account_payment_view.xml',
     ],
diff --git a/addons/account_check_writing/account_journal_dashboard.py b/addons/account_check_writing/account_journal_dashboard.py
new file mode 100644
index 000000000000..ef11a6da60b8
--- /dev/null
+++ b/addons/account_check_writing/account_journal_dashboard.py
@@ -0,0 +1,35 @@
+# -*- coding: utf-8 -*-
+
+from openerp import models, api, _
+
+class account_journal(models.Model):
+    _inherit = "account.journal"
+
+    @api.multi
+    def get_journal_dashboard_datas(self):
+        domain_checks_to_print = [
+            ('journal_id', '=', self.id),
+            ('payment_method.code', '=', 'check_writing'),
+            ('state','=','posted')
+        ]
+        return dict(
+            super(account_journal, self).get_journal_dashboard_datas(),
+            num_checks_to_print=len(self.env['account.payment'].search(domain_checks_to_print))
+        )
+
+    @api.multi
+    def action_checks_to_print(self):
+        return {
+            'name': _('Checks to Print'),
+            'type': 'ir.actions.act_window',
+            'view_mode': 'list,form,graph',
+            'res_model': 'account.payment',
+            'context': dict(
+                self.env.context,
+                search_default_checks_to_send=1,
+                journal_id=self.id,
+                default_journal_id=self.id,
+                default_payment_type='outbound',
+                default_payment_method=self.env.ref('account_check_writing.account_payment_method_check_writing').id,
+            ),
+        }
diff --git a/addons/account_check_writing/views/account_journal_dashboard_view.xml b/addons/account_check_writing/views/account_journal_dashboard_view.xml
new file mode 100644
index 000000000000..8ce220b7eee0
--- /dev/null
+++ b/addons/account_check_writing/views/account_journal_dashboard_view.xml
@@ -0,0 +1,24 @@
+<openerp>
+    <data>
+        <record id="account_journal_dashboard_kanban_view_inherited" model="ir.ui.view">
+            <field name="name">account.journal.dashboard.kanban.inherited</field>
+            <field name="model">account.journal</field>
+            <field name="inherit_id" ref="account.account_journal_dashboard_kanban_view" />
+            <field name="arch" type="xml">
+                <xpath expr="//t[@t-name='JournalBodyBankCash']//div[contains(@class, 'o_kanban_primary_right')]" position="inside">
+                    <div t-if="journal_type == 'bank' and dashboard.num_checks_to_print != 0">
+                        <div class="row">
+                            <div class="col-xs-12">
+                                <a type="object" name="action_checks_to_print">
+                                    <t t-esc="dashboard.num_checks_to_print"/>
+                                    <t t-if="dashboard.num_checks_to_print == 1">Check to print</t>
+                                    <t t-if="dashboard.num_checks_to_print != 1">Checks to print</t>
+                                </a>
+                            </div>
+                        </div>
+                    </div>
+                </xpath>
+            </field>
+        </record>
+    </data>
+</openerp>
-- 
GitLab