Merge lp:~akretion-team/account-financial-tools/account-financial-tools-check-deposit into lp:~account-core-editors/account-financial-tools/7.0

Proposed by Sébastien BEAU - http://www.akretion.com
Status: Rejected
Rejected by: Nicolas Bessi - Camptocamp
Proposed branch: lp:~akretion-team/account-financial-tools/account-financial-tools-check-deposit
Merge into: lp:~account-core-editors/account-financial-tools/7.0
Diff against target: 1506 lines (+1433/-0)
14 files modified
account_check_deposit/__init__.py (+23/-0)
account_check_deposit/__openerp__.py (+48/-0)
account_check_deposit/account_deposit.py (+245/-0)
account_check_deposit/account_deposit_sequence.xml (+26/-0)
account_check_deposit/account_deposit_view.xml (+131/-0)
account_check_deposit/account_type_data.xml (+20/-0)
account_check_deposit/i18n/account_check_deposit.pot (+236/-0)
account_check_deposit/i18n/fr.po (+236/-0)
account_check_deposit/report/.directory (+6/-0)
account_check_deposit/report/.mako (+275/-0)
account_check_deposit/report/__init__.py (+32/-0)
account_check_deposit/report/check_deposit.mako (+112/-0)
account_check_deposit/report/report_webkit_html.py (+41/-0)
account_check_deposit/security/ir.model.access.csv (+2/-0)
To merge this branch: bzr merge lp:~akretion-team/account-financial-tools/account-financial-tools-check-deposit
Reviewer Review Type Date Requested Status
Nicolas JEUDY (community) code reading Disapprove
Frederic Clementi - Camptocamp Pending
Review via email: mp+210315@code.launchpad.net

Description of the change

Add module for check deposit. The "check" account should have the type "receivable check" then you are able to create a deposit and add the check unreconcile.

To post a comment you must log in.
186. By Sébastien BEAU - http://www.akretion.com

[FIX] fix wrong spelling

187. By Sébastien BEAU - http://www.akretion.com

[REF] V7 clean up

Revision history for this message
Nicolas Bessi - Camptocamp (nbessi-c2c-deactivatedaccount) wrote :

The project has moved to Github https://github.com/OCA/account-financial-tools.
Please resubmit your MP on github using following procedure https://github.com/OCA/maintainers-tools/wiki/How-to-move-a-Merge-Proposal-to-GitHub.

I put this MP in rejected in the meanwhile.

Regards

Revision history for this message
Nicolas JEUDY (njeudy) wrote :

Hello,

As nicolas said, can you move this MP to github ?
I will test this module this week end and write my comment. Thanks for the work

Revision history for this message
Nicolas JEUDY (njeudy) :
review: Disapprove (code reading)

Unmerged revisions

190. By Benoit Guillot - http://www.akretion.com

[FIX] fix move line name

189. By Alexis de Lattre

Update field definition

188. By Alexis de Lattre

Add support for multi-currency
Works with a single account journal
Usability and many other enhancements

187. By Sébastien BEAU - http://www.akretion.com

[REF] V7 clean up

186. By Sébastien BEAU - http://www.akretion.com

[FIX] fix wrong spelling

185. By Sébastien BEAU - http://www.akretion.com

[REF] clean remove useless code, default value are called during the create

184. By Sébastien BEAU - http://www.akretion.com

[CLEAN] pep8 cleanup no code change

183. By Sébastien BEAU - http://www.akretion.com

[REF] remove dependency on sale_quick_payment as check can be registred in various way like native voucher

182. By Sébastien BEAU - http://www.akretion.com

[FIX] fix error when replaying commit

181. By Sébastien BEAU - http://www.akretion.com

[IMP] add total amount and flag to know if the deposit have been reconcile, the best will be to add a workflow

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'account_check_deposit'
2=== added file 'account_check_deposit/__init__.py'
3--- account_check_deposit/__init__.py 1970-01-01 00:00:00 +0000
4+++ account_check_deposit/__init__.py 2014-03-10 23:55:30 +0000
5@@ -0,0 +1,23 @@
6+# -*- coding: utf-8 -*-
7+###############################################################################
8+# #
9+# account_check_deposit for OpenERP #
10+# Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com> #
11+# #
12+# This program is free software: you can redistribute it and/or modify #
13+# it under the terms of the GNU Affero General Public License as #
14+# published by the Free Software Foundation, either version 3 of the #
15+# License, or (at your option) any later version. #
16+# #
17+# This program is distributed in the hope that it will be useful, #
18+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
19+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
20+# GNU Affero General Public License for more details. #
21+# #
22+# You should have received a copy of the GNU Affero General Public License #
23+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
24+# #
25+###############################################################################
26+
27+import account_deposit
28+
29
30=== added file 'account_check_deposit/__openerp__.py'
31--- account_check_deposit/__openerp__.py 1970-01-01 00:00:00 +0000
32+++ account_check_deposit/__openerp__.py 2014-03-10 23:55:30 +0000
33@@ -0,0 +1,48 @@
34+# -*- coding: utf-8 -*-
35+###############################################################################
36+# #
37+# account_check_deposit for OpenERP #
38+# Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com> #
39+# Copyright (C) 2013 Akretion Chafique DELLI <chafique.delli@akretion.com> #
40+# #
41+# This program is free software: you can redistribute it and/or modify #
42+# it under the terms of the GNU Affero General Public License as #
43+# published by the Free Software Foundation, either version 3 of the #
44+# License, or (at your option) any later version. #
45+# #
46+# This program is distributed in the hope that it will be useful, #
47+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
48+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
49+# GNU Affero General Public License for more details. #
50+# #
51+# You should have received a copy of the GNU Affero General Public License #
52+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
53+# #
54+###############################################################################
55+
56+{
57+ 'name': 'account_check_deposit',
58+ 'version': '0.1',
59+ 'category': 'Generic Modules/Others',
60+ 'license': 'AGPL-3',
61+ 'description': """This module allows you to use check deposits.
62+ With a new model : account_check_deposit you can select all
63+ the checks payments and create a global deposit for the selected checks.
64+ You may have to create an account for "received checks" and a
65+ journal for payment by checks.""",
66+ 'author': 'Akretion',
67+ 'website': 'http://www.akretion.com/',
68+ 'depends': [
69+ 'account_accountant',
70+ 'report_webkit',
71+ ],
72+ 'data': [
73+ 'account_deposit_view.xml',
74+ 'account_deposit_sequence.xml',
75+ 'account_type_data.xml',
76+ 'security/ir.model.access.csv',
77+ ],
78+ 'installable': True,
79+ 'application': True,
80+ 'active': False,
81+}
82
83=== added file 'account_check_deposit/account_deposit.py'
84--- account_check_deposit/account_deposit.py 1970-01-01 00:00:00 +0000
85+++ account_check_deposit/account_deposit.py 2014-03-10 23:55:30 +0000
86@@ -0,0 +1,245 @@
87+# -*- coding: utf-8 -*-
88+###############################################################################
89+# #
90+# account_check_deposit for OpenERP #
91+# Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com> #
92+# Copyright (C) 2013 Akretion Chafique DELLI <chafique.delli@akretion.com> #
93+# #
94+# This program is free software: you can redistribute it and/or modify #
95+# it under the terms of the GNU Affero General Public License as #
96+# published by the Free Software Foundation, either version 3 of the #
97+# License, or (at your option) any later version. #
98+# #
99+# This program is distributed in the hope that it will be useful, #
100+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
101+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
102+# GNU Affero General Public License for more details. #
103+# #
104+# You should have received a copy of the GNU Affero General Public License #
105+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
106+# #
107+###############################################################################
108+
109+from openerp.osv import fields, osv, orm
110+from openerp.tools.translate import _
111+
112+
113+class account_check_deposit(orm.Model):
114+ _name = "account.check.deposit"
115+ _description = "Account Check Deposit"
116+
117+ def sum_amount(self, cr, uid, ids, name, args, context=None):
118+ res = {}
119+ for deposit in self.browse(cr, uid, ids, context=context):
120+ total = 0
121+ for line in deposit.check_payment_ids:
122+ total += line.debit
123+ res[deposit.id] = total
124+ return res
125+
126+ def _is_reconcile(self, cr, uid, ids, name, args, context=None):
127+ res = {}
128+ for deposit in self.browse(cr, uid, ids, context=context):
129+ res[deposit.id] = False
130+ if deposit.move_id:
131+ for line in deposit.move_id.line_id:
132+ if line.debit > 0 and line.reconcile_id:
133+ res[deposit.id] = True
134+ return res
135+
136+ _columns = {
137+ 'name': fields.char(
138+ 'Name',
139+ size=64,
140+ required=True,
141+ readonly=True,
142+ states={'draft': [('readonly', '=', False)]}),
143+ 'check_payment_ids': fields.one2many(
144+ 'account.move.line',
145+ 'check_deposit_id',
146+ 'Check Payments',
147+ readonly=True,
148+ states={'draft': [('readonly', '=', False)]}),
149+ 'deposit_date': fields.date(
150+ 'Deposit Date',
151+ readonly=True,
152+ states={'draft': [('readonly', '=', False)]}),
153+ 'journal_id': fields.many2one(
154+ 'account.journal',
155+ 'Journal',
156+ required=True,
157+ readonly=True,
158+ states={'draft': [('readonly', '=', False)]}),
159+ 'state': fields.selection([
160+ ('draft', 'Draft'),
161+ ('done', 'Done'),
162+ ], 'Status',
163+ readonly=True),
164+ 'move_id': fields.many2one(
165+ 'account.move',
166+ 'Journal Entry',
167+ readonly=True,
168+ states={'draft': [('readonly', '=', False)]}),
169+ 'bank_id': fields.many2one(
170+ 'res.partner.bank',
171+ 'Bank',
172+ required=True,
173+ readonly=True,
174+ domain="[('partner_id', '=', partner_id)]",
175+ states={'draft': [('readonly', '=', False)]}),
176+ 'line_ids': fields.related(
177+ 'move_id',
178+ 'line_id',
179+ relation='account.move.line',
180+ type='one2many',
181+ string='Lines',
182+ readonly=True),
183+ 'partner_id': fields.related(
184+ 'company_id',
185+ 'partner_id',
186+ type="many2one",
187+ relation="res.partner",
188+ string="Partner",
189+ readonly=True),
190+ 'company_id': fields.many2one(
191+ 'res.company',
192+ 'Company',
193+ required=True,
194+ change_default=True,
195+ readonly=True,
196+ states={'draft': [('readonly', '=', False)]}),
197+ 'total_amount': fields.function(
198+ sum_amount,
199+ string="total amount",
200+ type="float"),
201+ 'is_reconcile': fields.function(
202+ _is_reconcile,
203+ string="Reconcile",
204+ type="boolean"),
205+ }
206+
207+ _defaults = {
208+ 'name': lambda self, cr, uid, context: '/',
209+ 'deposit_date': fields.date.context_today,
210+ 'state': 'draft',
211+ 'company_id': lambda self, cr, uid, c: self.pool.get('res.company').\
212+ _company_default_get(cr, uid, 'account.check.deposit', context=c),
213+ }
214+
215+ def unlink(self, cr, uid, ids, context=None):
216+ for deposit in self.browse(cr, uid, ids, context=context):
217+ if deposit.state == 'done':
218+ raise osv.except_osv(_('User Error!'),
219+ _('You cannot delete a validad deposit, cancel it before'))
220+ return super(account_check_deposit, self).unlink(cr, uid, ids, context=context)
221+
222+ def cancel(self, cr, uid, ids, context=None):
223+ for deposit in self.browse(cr, uid, ids, context=context):
224+ if not deposit.journal_id.update_posted:
225+ raise osv.except_osv(
226+ _('Error!'),
227+ _('You cannot modify a posted entry of this journal.\n'
228+ 'First you should set the journal to allow cancelling '
229+ 'entries.'))
230+ for line in deposit.check_payment_ids:
231+ if line.reconcile_id:
232+ line.reconcile_id.unlink()
233+ if deposit.move_id:
234+ deposit.move_id.button_cancel()
235+ deposit.move_id.unlink()
236+ deposit.write({'state': 'draft'})
237+ return True
238+
239+ def create(self, cr, uid, vals, context=None):
240+ if vals.get('name', '/') == '/':
241+ vals['name'] = self.pool.get('ir.sequence').\
242+ get(cr, uid, 'account.check.deposit')
243+ return super(account_check_deposit, self).\
244+ create(cr, uid, vals, context=context)
245+
246+ def _prepare_account_move_vals(self, cr, uid, deposit, context=None):
247+ date = deposit.deposit_date
248+ move_vals = {
249+ 'journal_id': deposit.journal_id.id,
250+ 'date': date,
251+ }
252+ period_obj = self.pool['account.period']
253+ period_ids = period_obj.find(cr, uid, dt=date, context=context)
254+ if period_ids:
255+ move_vals['period_id'] = period_ids[0]
256+ sum_move_line = self._prepare_sum_move_line_vals(
257+ cr, uid, deposit, move_vals, context=context)
258+ move_lines = [[0, 0, sum_move_line]]
259+
260+ for line in deposit.check_payment_ids:
261+ move_line = self._prepare_move_line_vals(
262+ cr, uid, line, move_vals, context=context)
263+ move_lines.append([0, 0, move_line])
264+
265+ move_vals.update({'line_id': move_lines})
266+ return move_vals
267+
268+ def _prepare_move_line_vals(self, cr, uid, line, move_vals, context=None):
269+ return {
270+ 'name': line.ref,
271+ 'credit': line.debit,
272+ 'account_id': line.account_id.id,
273+ 'partner_id': line.partner_id.id,
274+ 'check_line_id': line.id,
275+ }
276+
277+ def _prepare_sum_move_line_vals(self, cr, uid, deposit, move_vals, context=None):
278+ debit = 0.0
279+ for line in deposit.check_payment_ids:
280+ debit += line.debit
281+ return {
282+ 'name': deposit.name,
283+ 'debit': debit,
284+ 'ref': deposit.name,
285+ }
286+
287+ def _reconcile_checks(self, cr, uid, move_id, context=None):
288+ move_line_obj = self.pool['account.move.line']
289+ move_obj = self.pool['account.move']
290+ move = move_obj.browse(cr, uid, move_id, context=context)
291+ for line in move.line_id:
292+ if line.check_line_id:
293+ move_line_obj.reconcile(cr, uid, [
294+ line.id,
295+ line.check_line_id.id,
296+ ], context=context)
297+ return True
298+
299+ def onchange_company_id(self, cr, uid, ids, company_id, context=None):
300+ vals = {}
301+ if company_id:
302+ company = self.pool.get('res.company').\
303+ browse(cr, uid, company_id, context=context)
304+ vals['partner_id'] = company.partner_id.id
305+ return {'value': vals}
306+
307+ def validate_deposit(self, cr, uid, ids, context=None):
308+ move_obj = self.pool.get('account.move')
309+ if context is None:
310+ context = {}
311+ for deposit in self.browse(cr, uid, ids, context=context):
312+ context['journal_id'] = deposit.journal_id.id
313+ move_vals = self._prepare_account_move_vals(cr, uid, deposit, context=context)
314+ move_id = move_obj.create(cr, uid, move_vals, context=context)
315+ move_obj.post(cr, uid, [move_id], context=context)
316+ self._reconcile_checks(cr, uid, move_id, context=context)
317+ deposit.write({'state': 'done', 'move_id': move_id})
318+ return True
319+
320+
321+class account_move_line(orm.Model):
322+ _inherit = "account.move.line"
323+
324+ _columns = {
325+ 'check_deposit_id': fields.many2one(
326+ 'account.check.deposit',
327+ 'Check Deposit'),
328+ 'check_line_id': fields.many2one(
329+ 'account.move.line',
330+ 'Check Receive Move line'),
331+ }
332
333=== added file 'account_check_deposit/account_deposit_sequence.xml'
334--- account_check_deposit/account_deposit_sequence.xml 1970-01-01 00:00:00 +0000
335+++ account_check_deposit/account_deposit_sequence.xml 2014-03-10 23:55:30 +0000
336@@ -0,0 +1,26 @@
337+<?xml version="1.0" encoding="utf-8"?>
338+<!--
339+ account_check_deposit for OpenERP
340+ Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com>
341+ The licence is in the file __openerp__.py
342+-->
343+
344+<openerp>
345+ <data noupdate="1">
346+
347+ <!-- Sequences for account.check.deposit -->
348+ <record id="seq_type_account_check_deposit" model="ir.sequence.type">
349+ <field name="name">Account Check Deposit</field>
350+ <field name="code">account.check.deposit</field>
351+ </record>
352+
353+ <record id="seq_account_check_deposit" model="ir.sequence">
354+ <field name="name">Account Check Deposit</field>
355+ <field name="code">account.check.deposit</field>
356+ <field name="prefix">DEP</field>
357+ <field name="padding">3</field>
358+ <field name="company_id" eval="False"/>
359+ </record>
360+
361+ </data>
362+</openerp>
363
364=== added file 'account_check_deposit/account_deposit_view.xml'
365--- account_check_deposit/account_deposit_view.xml 1970-01-01 00:00:00 +0000
366+++ account_check_deposit/account_deposit_view.xml 2014-03-10 23:55:30 +0000
367@@ -0,0 +1,131 @@
368+<?xml version="1.0" encoding="utf-8"?>
369+<!--
370+ account_check_deposit for OpenERP
371+ Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com>
372+ Copyright (C) 2013 Akretion Chafique DELLI <chafique.delli@akretion.com>
373+ The licence is in the file __openerp__.py
374+-->
375+
376+<openerp>
377+ <data>
378+ <report
379+ auto="False"
380+ file="account_check_deposit/report/check_deposit.mako"
381+ id="check_deposit_webkit"
382+ model="account.check.deposit"
383+ name="check.deposit.webkit"
384+ report_type="webkit"
385+ string="Print Checks Deposit"/>
386+
387+ <!-- INHERITED VIEW FOR THE OBJECT : account_check_deposit -->
388+
389+ <record id="account_check_deposit_view_form" model="ir.ui.view">
390+ <field name="name">account_check_deposit.account_check_deposit.view_form</field>
391+ <field name="model">account.check.deposit</field>
392+ <field name="type">form</field>
393+ <field name="arch" type="xml">
394+ <form string="Checks Deposit" version="7.0">
395+ <header>
396+ <button name="validate_deposit" states="draft"
397+ string="Validate Deposit"
398+ type="object" class="oe_highlight"/>
399+ <button name="cancel" states="done"
400+ string="Cancel" type="object" />
401+ <field name="state" widget="statusbar"
402+ statusbar_visible="draft,done"
403+ statusbar_colors='{"draft":"blue"}'/>
404+ </header>
405+ <sheet>
406+ <h1>
407+ <label string="Deposit N°" />
408+ <field name="name" class="oe_inline" />
409+ </h1>
410+ <group name="deposit_fields">
411+ <field name="deposit_date" />
412+ <field name="journal_id" />
413+ <field name="move_id" />
414+ <field name="company_id"
415+ on_change="onchange_company_id(company_id, context)"/>
416+ <field name="partner_id" invisible="1"/>
417+ <field name="bank_id"/>
418+ </group>
419+ <notebook colspan="4">
420+ <page string="Check Payments">
421+ <field name="check_payment_ids" nolabel="1"
422+ colspan="4" widget="many2many"
423+ domain="[('reconcile_id','=',False),
424+ ('account_id.user_type.code','=','received_check')]">
425+ <tree string="Check Payment">
426+ <field name="journal_id" />
427+ <field name="period_id" />
428+ <field name="date"/>
429+ <field name="name"/>
430+ <field name="ref"/>
431+ <field name="partner_id" />
432+ <field name="account_id" />
433+ <field name="move_id" />
434+ <field name="debit" sum="Total Debit"/>
435+ <field name="credit" sum="Total Credit"/>
436+ <field name="reconcile"/>
437+ </tree>
438+ </field>
439+ </page>
440+ <page string="Move Line">
441+ <field name="line_ids" nolabel="1"/>
442+ </page>
443+ </notebook>
444+ </sheet>
445+ </form>
446+ </field>
447+ </record>
448+
449+ <record id="account_check_deposit_view_tree" model="ir.ui.view">
450+ <field name="name">account_check_deposit.account_check_deposit.view_tree</field>
451+ <field name="model">account.check.deposit</field>
452+ <field name="type">tree</field>
453+ <field name="arch" type="xml">
454+ <tree string="Checks Deposit">
455+ <field name="name"/>
456+ <field name="deposit_date"/>
457+ <field name="state"/>
458+ <field name="move_id"/>
459+ <field name="total_amount"/>
460+ <field name="is_reconcile"/>
461+ </tree>
462+ </field>
463+ </record>
464+
465+ <record id="view_check_deposit_search" model="ir.ui.view">
466+ <field name="name">account.check.deposit.search</field>
467+ <field name="model">account.check.deposit</field>
468+ <field name="arch" type="xml">
469+ <search string="Checks Deposit Search">
470+ <field name="name" string="Checks Deposit"/>
471+ <field name="deposit_date" string="Date"/>
472+ <field name="state"/>
473+ <field name="move_id"/>
474+ <group expand="0" string="Group By...">
475+ </group>
476+ </search>
477+ </field>
478+ </record>
479+
480+ <record id="action_check_deposit_tree" model="ir.actions.act_window">
481+ <field name="name">Checks Deposit</field>
482+ <field name="res_model">account.check.deposit</field>
483+ <field name="view_type">form</field>
484+ <field name="view_mode">tree,form,graph</field>
485+ <field name="domain">[]</field>
486+ <field name="context">{}</field>
487+ <field name="search_view_id" ref="view_check_deposit_search"/>
488+ <field name="help" type="html"></field>
489+ </record>
490+
491+ <menuitem string="Checks Deposit"
492+ action="action_check_deposit_tree"
493+ id="menu_check_deposit_tree"
494+ parent="account.menu_finance_bank_and_cash"
495+ sequence="20"/>
496+
497+ </data>
498+</openerp>
499
500=== added file 'account_check_deposit/account_type_data.xml'
501--- account_check_deposit/account_type_data.xml 1970-01-01 00:00:00 +0000
502+++ account_check_deposit/account_type_data.xml 2014-03-10 23:55:30 +0000
503@@ -0,0 +1,20 @@
504+<?xml version="1.0" encoding="utf-8"?>
505+<!--
506+ account_check_deposit for OpenERP
507+ Copyright (C) 2012 Akretion Benoît GUILLOT <benoit.guillot@akretion.com>
508+ The licence is in the file __openerp__.py
509+-->
510+
511+<openerp>
512+ <data noupdate="1">
513+
514+ <!-- New account.account.type -->
515+
516+ <record model="account.account.type" id="data_account_type_received_check">
517+ <field name="name">Received Checks</field>
518+ <field name="code">received_check</field>
519+ <field name="close_method">none</field>
520+ </record>
521+
522+ </data>
523+</openerp>
524
525=== added directory 'account_check_deposit/i18n'
526=== added file 'account_check_deposit/i18n/account_check_deposit.pot'
527--- account_check_deposit/i18n/account_check_deposit.pot 1970-01-01 00:00:00 +0000
528+++ account_check_deposit/i18n/account_check_deposit.pot 2014-03-10 23:55:30 +0000
529@@ -0,0 +1,236 @@
530+# Translation of OpenERP Server.
531+# This file contains the translation of the following modules:
532+# * account_check_deposit
533+#
534+msgid ""
535+msgstr ""
536+"Project-Id-Version: OpenERP Server 7.0\n"
537+"Report-Msgid-Bugs-To: \n"
538+"POT-Creation-Date: 2013-02-21 10:01+0000\n"
539+"PO-Revision-Date: 2013-02-21 10:01+0000\n"
540+"Last-Translator: <>\n"
541+"Language-Team: \n"
542+"MIME-Version: 1.0\n"
543+"Content-Type: text/plain; charset=UTF-8\n"
544+"Content-Transfer-Encoding: \n"
545+"Plural-Forms: \n"
546+
547+#. module: account_check_deposit
548+#: code:addons/account_check_deposit/account_deposit.py:76
549+#, python-format
550+msgid "You cannot modify a posted entry of this journal.\n"
551+"First you should set the journal to allow cancelling entries."
552+msgstr ""
553+
554+#. module: account_check_deposit
555+#: report:addons/account_check_deposit/report/check_deposit.mako:58
556+msgid "Beneficiary"
557+msgstr ""
558+
559+#. module: account_check_deposit
560+#: view:account.check.deposit:0
561+msgid "Group By..."
562+msgstr ""
563+
564+#. module: account_check_deposit
565+#: model:ir.actions.report.xml,name:account_check_deposit.check_deposit_webkit
566+msgid "WebKit Checks Deposit"
567+msgstr ""
568+
569+#. module: account_check_deposit
570+#: report:addons/account_check_deposit/report/check_deposit.mako:79
571+msgid "Designation"
572+msgstr ""
573+
574+#. module: account_check_deposit
575+#: field:account.check.deposit,state:0
576+msgid "Status"
577+msgstr ""
578+
579+#. module: account_check_deposit
580+#: report:addons/account_check_deposit/report/check_deposit.mako:78
581+msgid "Description"
582+msgstr ""
583+
584+#. module: account_check_deposit
585+#: field:account.move.line,check_deposit_id:0
586+msgid "Check Deposit"
587+msgstr ""
588+
589+#. module: account_check_deposit
590+#: field:account.check.deposit,company_id:0
591+msgid "Company"
592+msgstr ""
593+
594+#. module: account_check_deposit
595+#: report:addons/account_check_deposit/report/check_deposit.mako:65
596+msgid "RIB Key"
597+msgstr ""
598+
599+#. module: account_check_deposit
600+#: field:account.check.deposit,deposit_date:0
601+#: report:addons/account_check_deposit/report/check_deposit.mako:53
602+msgid "Deposit Date"
603+msgstr ""
604+
605+#. module: account_check_deposit
606+#: report:addons/account_check_deposit/report/check_deposit.mako:63
607+msgid "Account to crediting"
608+msgstr ""
609+
610+#. module: account_check_deposit
611+#: report:addons/account_check_deposit/report/check_deposit.mako:76
612+msgid "Payment Date"
613+msgstr ""
614+
615+#. module: account_check_deposit
616+#: view:account.check.deposit:0
617+msgid "Date"
618+msgstr ""
619+
620+#. module: account_check_deposit
621+#: view:account.check.deposit:0
622+msgid "Total Credit"
623+msgstr ""
624+
625+#. module: account_check_deposit
626+#: field:account.check.deposit,bank_id:0
627+msgid "Bank"
628+msgstr ""
629+
630+#. module: account_check_deposit
631+#: field:account.check.deposit,name:0
632+msgid "Name"
633+msgstr ""
634+
635+#. module: account_check_deposit
636+#: view:account.check.deposit:0
637+msgid "Checks Deposit Search"
638+msgstr ""
639+
640+#. module: account_check_deposit
641+#: model:account.account.type,name:account_check_deposit.data_account_type_received_check
642+msgid "Recieved Checks"
643+msgstr ""
644+
645+#. module: account_check_deposit
646+#: view:account.check.deposit:0
647+#: report:addons/account_check_deposit/report/check_deposit.mako:49
648+msgid "Deposit N°"
649+msgstr ""
650+
651+#. module: account_check_deposit
652+#: view:account.check.deposit:0
653+msgid "Total Debit"
654+msgstr ""
655+
656+#. module: account_check_deposit
657+#: code:addons/account_check_deposit/account_deposit.py:76
658+#, python-format
659+msgid "Error!"
660+msgstr ""
661+
662+#. module: account_check_deposit
663+#: report:addons/account_check_deposit/report/check_deposit.mako:80
664+msgid "Amount"
665+msgstr ""
666+
667+#. module: account_check_deposit
668+#: view:account.check.deposit:0
669+#: model:ir.actions.act_window,name:account_check_deposit.action_check_deposit_tree
670+#: model:ir.ui.menu,name:account_check_deposit.menu_check_deposit_tree
671+msgid "Checks Deposit"
672+msgstr ""
673+
674+#. module: account_check_deposit
675+#: field:account.check.deposit,total_amount:0
676+msgid "total amount"
677+msgstr ""
678+
679+#. module: account_check_deposit
680+#: field:account.check.deposit,partner_id:0
681+msgid "Partner"
682+msgstr ""
683+
684+#. module: account_check_deposit
685+#: selection:account.check.deposit,state:0
686+msgid "Cancelled"
687+msgstr ""
688+
689+#. module: account_check_deposit
690+#: view:account.check.deposit:0
691+msgid "Validate Deposit"
692+msgstr ""
693+
694+#. module: account_check_deposit
695+#: view:account.check.deposit:0
696+#: field:account.check.deposit,check_payment_ids:0
697+#: report:addons/account_check_deposit/report/check_deposit.mako:70
698+msgid "Check Payments"
699+msgstr ""
700+
701+#. module: account_check_deposit
702+#: report:addons/account_check_deposit/report/check_deposit.mako:41
703+msgid "Deposit Slip of Checks(\\u20acuros)"
704+msgstr ""
705+
706+#. module: account_check_deposit
707+#: report:addons/account_check_deposit/report/check_deposit.mako:55
708+msgid "Bank Code"
709+msgstr ""
710+
711+#. module: account_check_deposit
712+#: report:addons/account_check_deposit/report/check_deposit.mako:77
713+msgid "Reference"
714+msgstr ""
715+
716+#. module: account_check_deposit
717+#: model:ir.model,name:account_check_deposit.model_account_check_deposit
718+msgid "Account Check Deposit"
719+msgstr ""
720+
721+#. module: account_check_deposit
722+#: report:addons/account_check_deposit/report/check_deposit.mako:60
723+msgid "Office Code"
724+msgstr ""
725+
726+#. module: account_check_deposit
727+#: view:account.check.deposit:0
728+msgid "Check Payment"
729+msgstr ""
730+
731+#. module: account_check_deposit
732+#: selection:account.check.deposit,state:0
733+msgid "Done"
734+msgstr ""
735+
736+#. module: account_check_deposit
737+#: view:account.check.deposit:0
738+msgid "Cancel"
739+msgstr ""
740+
741+#. module: account_check_deposit
742+#: selection:account.check.deposit,state:0
743+msgid "Draft"
744+msgstr ""
745+
746+#. module: account_check_deposit
747+#: report:addons/account_check_deposit/report/check_deposit.mako:99
748+msgid "Total:"
749+msgstr ""
750+
751+#. module: account_check_deposit
752+#: field:account.check.deposit,move_id:0
753+msgid "Journal Entry"
754+msgstr ""
755+
756+#. module: account_check_deposit
757+#: field:account.check.deposit,journal_id:0
758+msgid "Journal"
759+msgstr ""
760+
761+#. module: account_check_deposit
762+#: model:ir.model,name:account_check_deposit.model_account_move_line
763+msgid "Journal Items"
764+msgstr ""
765+
766
767=== added file 'account_check_deposit/i18n/fr.po'
768--- account_check_deposit/i18n/fr.po 1970-01-01 00:00:00 +0000
769+++ account_check_deposit/i18n/fr.po 2014-03-10 23:55:30 +0000
770@@ -0,0 +1,236 @@
771+# Translation of OpenERP Server.
772+# This file contains the translation of the following modules:
773+# * account_check_deposit
774+#
775+msgid ""
776+msgstr ""
777+"Project-Id-Version: OpenERP Server 7.0\n"
778+"Report-Msgid-Bugs-To: \n"
779+"POT-Creation-Date: 2013-02-21 10:01+0000\n"
780+"PO-Revision-Date: 2013-02-21 10:01+0000\n"
781+"Last-Translator: <>\n"
782+"Language-Team: \n"
783+"MIME-Version: 1.0\n"
784+"Content-Type: text/plain; charset=UTF-8\n"
785+"Content-Transfer-Encoding: \n"
786+"Plural-Forms: \n"
787+
788+#. module: account_check_deposit
789+#: code:addons/account_check_deposit/account_deposit.py:76
790+#, python-format
791+msgid "You cannot modify a posted entry of this journal.\n"
792+"First you should set the journal to allow cancelling entries."
793+msgstr ""
794+
795+#. module: account_check_deposit
796+#: report:addons/account_check_deposit/report/check_deposit.mako:58
797+msgid "Beneficiary"
798+msgstr "Bénéficiaire"
799+
800+#. module: account_check_deposit
801+#: view:account.check.deposit:0
802+msgid "Group By..."
803+msgstr "Regrouper par..."
804+
805+#. module: account_check_deposit
806+#: model:ir.actions.report.xml,name:account_check_deposit.check_deposit_webkit
807+msgid "Print Checks Deposit"
808+msgstr "Imprimer Remise de Chèques"
809+
810+#. module: account_check_deposit
811+#: report:addons/account_check_deposit/report/check_deposit.mako:79
812+msgid "Designation"
813+msgstr "Désignation"
814+
815+#. module: account_check_deposit
816+#: field:account.check.deposit,state:0
817+msgid "Status"
818+msgstr "Etat"
819+
820+#. module: account_check_deposit
821+#: report:addons/account_check_deposit/report/check_deposit.mako:78
822+msgid "Description"
823+msgstr "Description"
824+
825+#. module: account_check_deposit
826+#: field:account.move.line,check_deposit_id:0
827+msgid "Check Deposit"
828+msgstr "Remise de Chèque"
829+
830+#. module: account_check_deposit
831+#: field:account.check.deposit,company_id:0
832+msgid "Company"
833+msgstr "Société"
834+
835+#. module: account_check_deposit
836+#: report:addons/account_check_deposit/report/check_deposit.mako:65
837+msgid "BIS Key"
838+msgstr "Clé RIB"
839+
840+#. module: account_check_deposit
841+#: field:account.check.deposit,deposit_date:0
842+#: report:addons/account_check_deposit/report/check_deposit.mako:53
843+msgid "Deposit Date"
844+msgstr "Date du Versement"
845+
846+#. module: account_check_deposit
847+#: report:addons/account_check_deposit/report/check_deposit.mako:63
848+msgid "Account to crediting"
849+msgstr "Compte à Créditer"
850+
851+#. module: account_check_deposit
852+#: report:addons/account_check_deposit/report/check_deposit.mako:76
853+msgid "Payment Date"
854+msgstr "Date de Paiement"
855+
856+#. module: account_check_deposit
857+#: view:account.check.deposit:0
858+msgid "Date"
859+msgstr "Date"
860+
861+#. module: account_check_deposit
862+#: view:account.check.deposit:0
863+msgid "Total Credit"
864+msgstr "Crédit Total"
865+
866+#. module: account_check_deposit
867+#: field:account.check.deposit,bank_id:0
868+msgid "Bank"
869+msgstr "Banque"
870+
871+#. module: account_check_deposit
872+#: field:account.check.deposit,name:0
873+msgid "Name"
874+msgstr "Nom"
875+
876+#. module: account_check_deposit
877+#: view:account.check.deposit:0
878+msgid "Checks Deposit Search"
879+msgstr "Rechercher une Remise de Chèques"
880+
881+#. module: account_check_deposit
882+#: model:account.account.type,name:account_check_deposit.data_account_type_received_check
883+msgid "Recieved Checks"
884+msgstr "Chèques Reçus"
885+
886+#. module: account_check_deposit
887+#: view:account.check.deposit:0
888+#: report:addons/account_check_deposit/report/check_deposit.mako:49
889+msgid "Deposit N°"
890+msgstr "Versement N°"
891+
892+#. module: account_check_deposit
893+#: view:account.check.deposit:0
894+msgid "Total Debit"
895+msgstr "Débit Total"
896+
897+#. module: account_check_deposit
898+#: code:addons/account_check_deposit/account_deposit.py:76
899+#, python-format
900+msgid "Error!"
901+msgstr "Erreur!"
902+
903+#. module: account_check_deposit
904+#: report:addons/account_check_deposit/report/check_deposit.mako:80
905+msgid "Amount"
906+msgstr "Montant"
907+
908+#. module: account_check_deposit
909+#: view:account.check.deposit:0
910+#: model:ir.actions.act_window,name:account_check_deposit.action_check_deposit_tree
911+#: model:ir.ui.menu,name:account_check_deposit.menu_check_deposit_tree
912+msgid "Checks Deposit"
913+msgstr "Remise de Chèques"
914+
915+#. module: account_check_deposit
916+#: field:account.check.deposit,total_amount:0
917+msgid "total amount"
918+msgstr "montant total"
919+
920+#. module: account_check_deposit
921+#: field:account.check.deposit,partner_id:0
922+msgid "Partner"
923+msgstr "Partenaire"
924+
925+#. module: account_check_deposit
926+#: selection:account.check.deposit,state:0
927+msgid "Cancelled"
928+msgstr "Annulé"
929+
930+#. module: account_check_deposit
931+#: view:account.check.deposit:0
932+msgid "Validate Deposit"
933+msgstr "Valider Versement"
934+
935+#. module: account_check_deposit
936+#: view:account.check.deposit:0
937+#: field:account.check.deposit,check_payment_ids:0
938+#: report:addons/account_check_deposit/report/check_deposit.mako:70
939+msgid "Check Payments"
940+msgstr "Paiements par Chèque"
941+
942+#. module: account_check_deposit
943+#: report:addons/account_check_deposit/report/check_deposit.mako:41
944+msgid "Deposit Slip of Checks(Euros)"
945+msgstr "Bordereau de Remise de Chèques(Euros)"
946+
947+#. module: account_check_deposit
948+#: report:addons/account_check_deposit/report/check_deposit.mako:55
949+msgid "Bank Code"
950+msgstr "Code Banque"
951+
952+#. module: account_check_deposit
953+#: report:addons/account_check_deposit/report/check_deposit.mako:77
954+msgid "Reference"
955+msgstr "Référence"
956+
957+#. module: account_check_deposit
958+#: model:ir.model,name:account_check_deposit.model_account_check_deposit
959+msgid "Account Check Deposit"
960+msgstr "Compte Remise de Chèque"
961+
962+#. module: account_check_deposit
963+#: report:addons/account_check_deposit/report/check_deposit.mako:60
964+msgid "Office Code"
965+msgstr "Code Guichet"
966+
967+#. module: account_check_deposit
968+#: view:account.check.deposit:0
969+msgid "Check Payment"
970+msgstr "Paiement par Chèque"
971+
972+#. module: account_check_deposit
973+#: selection:account.check.deposit,state:0
974+msgid "Done"
975+msgstr "Terminé"
976+
977+#. module: account_check_deposit
978+#: view:account.check.deposit:0
979+msgid "Cancel"
980+msgstr "Annuler"
981+
982+#. module: account_check_deposit
983+#: selection:account.check.deposit,state:0
984+msgid "Draft"
985+msgstr "Brouillon"
986+
987+#. module: account_check_deposit
988+#: report:addons/account_check_deposit/report/check_deposit.mako:99
989+msgid "Total:"
990+msgstr "Total:"
991+
992+#. module: account_check_deposit
993+#: field:account.check.deposit,move_id:0
994+msgid "Journal Entry"
995+msgstr "Pièce Comptable"
996+
997+#. module: account_check_deposit
998+#: field:account.check.deposit,journal_id:0
999+msgid "Journal"
1000+msgstr "Journal"
1001+
1002+#. module: account_check_deposit
1003+#: model:ir.model,name:account_check_deposit.model_account_move_line
1004+msgid "Journal Items"
1005+msgstr "Écritures comptables"
1006+
1007
1008=== added directory 'account_check_deposit/report'
1009=== added file 'account_check_deposit/report/.directory'
1010--- account_check_deposit/report/.directory 1970-01-01 00:00:00 +0000
1011+++ account_check_deposit/report/.directory 2014-03-10 23:55:30 +0000
1012@@ -0,0 +1,6 @@
1013+[Dolphin]
1014+AdditionalInfoV2=Details_Size,Details_Date,CustomizedDetails
1015+Sorting=2
1016+Timestamp=2012,3,5,14,27,49
1017+Version=2
1018+ViewMode=1
1019
1020=== added file 'account_check_deposit/report/.mako'
1021--- account_check_deposit/report/.mako 1970-01-01 00:00:00 +0000
1022+++ account_check_deposit/report/.mako 2014-03-10 23:55:30 +0000
1023@@ -0,0 +1,275 @@
1024+<html>
1025+<head>
1026+ <style type="text/css">
1027+ ${css}
1028+ pre {font-family:helvetica; font-size:12;}
1029+ </style>
1030+</head>
1031+<body>
1032+ <style type="text/css">
1033+ table {
1034+ width: 100%;
1035+ page-break-after:auto;
1036+ border-collapse: collapse;
1037+ cellspacing="0";
1038+ font-size:10px;
1039+ }
1040+ td { margin: 0px; padding: 3px; border: 1px solid lightgrey; vertical-align: top; }
1041+ pre {font-family:helvetica; font-size:12;}
1042+ </style>
1043+
1044+ <%
1045+ def carriage_returns(text):
1046+ return text.replace('\n', '<br />')
1047+ %>
1048+
1049+ %for order in objects :
1050+<br>
1051+ <% setLang(order.partner_id.lang) %>
1052+ <table >
1053+ %if order.company_id.address_label_position == 'left':
1054+ <tr>
1055+ <td style="width:50%">
1056+${_("Shipping Address")}
1057+<hr>
1058+ <pre>
1059+${order.partner_shipping_id.address_label}
1060+ <pre>
1061+ </td>
1062+ <td style="width:50%">
1063+ %if order.partner_id.address_label != order.partner_shipping_id.address_label:
1064+<b>${_("Ordering Contact")}</b><br>
1065+${order.partner_id.address_label|carriage_returns}
1066+ %endif
1067+ %if order.partner_id.phone :
1068+${_("Phone")}: ${order.partner_id.phone|entity} <br>
1069+ %endif
1070+ %if order.partner_id.fax :
1071+${_("Fax")}: ${order.partner_id.fax|entity} <br>
1072+ %endif
1073+ %if order.partner_id.email :
1074+${_("Mail")}: ${order.partner_id.email|entity} <br>
1075+ %endif
1076+ %if order.partner_invoice_id.address_label != order.partner_shipping_id.address_label:
1077+<br>
1078+<b>${_("Invoice Address")}</b><br>
1079+${order.partner_invoice_id.address_label|carriage_returns}
1080+ %endif
1081+ %if order.partner_invoice_id.partner_id.vat :
1082+${_("VAT")}: ${order.partner_invoice_id.partner_id.vat|entity} <br>
1083+ %endif
1084+
1085+ </td>
1086+
1087+ </tr>
1088+ %endif
1089+
1090+ %if order.company_id.address_label_position == 'right' or not order.company_id.address_label_position:
1091+ <tr>
1092+ <td style="width:50%">
1093+ %if order.partner_id.address_label != order.partner_shipping_id.address_label:
1094+<b>${_("Ordering Contact")}</b><br>
1095+<hr>
1096+${order.partner_id.address_label|carriage_returns}
1097+ %endif
1098+ %if order.partner_id.phone :
1099+${_("Tel")}: ${order.partner_id.phone|entity} <br>
1100+ %endif
1101+ %if order.partner_id.fax :
1102+${_("Fax")}: ${order.partner_id.fax|entity} <br>
1103+ %endif
1104+ %if order.partner_id.email :
1105+${_("E-mail")}: ${order.partner_id.email|entity} <br>
1106+ %endif
1107+ %if order.partner_invoice_id.address_label != order.partner_shipping_id.address_label:
1108+<br>
1109+<hr>
1110+<b>${_("Invoice Address")}</b><br>
1111+<hr>
1112+${order.partner_invoice_id.address_label|carriage_returns}
1113+ %endif
1114+ %if order.partner_invoice_id.vat :
1115+${_("VAT")}: ${order.partner_invoice_id.vat|entity} <br>
1116+ %endif
1117+
1118+ </td>
1119+ <td style="width:50%">
1120+<b>${_("Shipping Address")}</b><br>
1121+<hr>
1122+ <pre>
1123+${order.partner_shipping_id.address_label}
1124+ <pre>
1125+ </td>
1126+ </tr>
1127+ %endif
1128+ </table>
1129+
1130+ <br />
1131+ <br />
1132+
1133+ %if order.state == 'draft' :
1134+ <span class="title">${_("Quotation N°")} ${order.name or ''|entity}</span>
1135+ %elif order.state == 'cancel' :
1136+ <span class="title">${_("Sale Order Canceled")} ${order.name or ''|entity}</span>
1137+ %else :
1138+ <span class="title">${_("Order N°")} ${order.name or ''|entity}</span>
1139+ %endif
1140+ <br/>
1141+ <table style="width:100%">
1142+ <tr>
1143+ %if order.client_order_ref:
1144+ <td>${_("Reference")}</td>
1145+ %endif
1146+ %if order.project_id:
1147+ <td>${_("Projekt")}</td>
1148+ %endif
1149+ <td style="text-align:center;white-space:nowrap"><b>${_("Order Date")}</b></td>
1150+ %if order.carrier_id:
1151+ <td style="text-align:center;white-space:nowrap"><b>${_("Carrier")}</b></td>
1152+ %endif
1153+ %if order.user_id:
1154+ <td style="text-align:center;white-space:nowrap"><b>${_("Salesman")}</b></td>
1155+ %endif
1156+ %if order.payment_term :
1157+ <td style="text-align:center;white-space:nowrap"><b>${_("Payment Term")}</b></td>
1158+ %endif
1159+ %if order.incoterm:
1160+ <td style="text-align:center;white-space:nowrap"><b>${_("Incoterm")}</b></td>
1161+ %endif
1162+
1163+ <td style="text-align:center;white-space:nowrap"><b>${_("Curr")}</b></td>
1164+ </tr>
1165+ <tr>
1166+ %if order.client_order_ref:
1167+ <td>
1168+ ${order.client_order_ref}
1169+ </td>
1170+ %endif
1171+ %if order.project_id:
1172+ <td>${order.project_id.name}</td>
1173+ %endif
1174+ %if order.date_order:
1175+ <td>
1176+ ${order.date_order or ''}</td>
1177+ %endif
1178+ %if order.carrier_id:
1179+ <td>
1180+ ${order.carrier_id.name }
1181+ </td>
1182+ %endif
1183+ %if order.user_id :
1184+ <td>${order.user_id.name or ''}</td>
1185+ %endif
1186+ %if order.payment_term :
1187+ <td>${order.payment_term.name}</td>
1188+ %endif
1189+ %if order.incoterm:
1190+ <td>${order.incoterm.name}</td>
1191+ %endif
1192+
1193+ <td style="white-space:nowrap">${order.pricelist_id.currency_id.name} </td>
1194+ </table>
1195+ <h1><br /></h1>
1196+ <table style="width:100%">
1197+ <thead>
1198+ <tr>
1199+%if order.print_code:
1200+ <td style="text-align:center;white-space:nowrap"><b>${_("Code")}</b></td>
1201+ <td style="text-align:center;white-space:nowrap"><b>${_("Description")}</b></td>
1202+%else:
1203+ <td style="text-align:center;white-space:nowrap"><b>${_("Description")}</b></td>
1204+%endif
1205+ <td style="text-align:center;white-space:nowrap"><b>${_("Tax")}</b></td>
1206+%if order.print_uom:
1207+ <td style="text-align:center;white-space:nowrap"><b>${_("Quantity")}</b></td><td style="text-align:center;white-space:nowrap"><b>${_("UoM")}</b></td>
1208+%endif
1209+%if order.print_uos:
1210+ <th style="text-align:center;white-space:nowrap">${_("UoS Qty")}</th><th style="text-align:center;white-space:nowrap;">${_("UoS")}</th>
1211+%endif
1212+%if order.print_ean:
1213+ <td style="text-align:center;white-space:nowrap"><b>${_("EAN")}</b></td>
1214+%endif
1215+%if order.print_packing:
1216+ <td style="text-align:center;white-space:nowrap"><b>${_("Pack")}</b></td>
1217+ <td style="text-align:center;white-space:nowrap"><b>${_("Packaging")}</b></td>
1218+%endif
1219+ <td style="text-align:center;white-space:nowrap"><b>${_("Price Unit")}</b></td>
1220+%if order.print_discount:
1221+ <td style="text-align:center;white-space:nowrap"><b>${_("Discount")}</b></td>
1222+%endif
1223+ <td style="text-align:center;white-space:nowrap"><b>${_("Sub Total")}</b></td>
1224+ </tr>
1225+ </thead>
1226+ %for line in order.order_line_sorted :
1227+ <tbody>
1228+ <tr>
1229+%if order.print_code:
1230+ <td>${line.product_id.default_code or ''|entity}</td>
1231+ <td>
1232+${line.product_id.name or line.name|entity}
1233+
1234+
1235+</td>
1236+%else:
1237+ <td>${line.name|entity}
1238+
1239+ </td
1240+%endif
1241+ <td>${ ', '.join([tax.name or '' for tax in line.tax_id]) }</td>
1242+%if order.print_uom:
1243+ <td style="white-space:nowrap;text-align:right;">${str(line.product_uom_qty).replace(',000','') or '0'}</td>
1244+ <td style="white-space:nowrap;text-align:left;">${line.product_uom.name or ''}</td>
1245+%endif
1246+%if order.print_uos:
1247+ <td style="white-space:nowrap;text-align:right;">${str(line.product_uos_qty).replace(',000','') or '0'}</td>
1248+ <td style="white-space:nowrap;text-align:left;">${line.product_uos.name or ''}</td>
1249+%endif
1250+%if order.print_ean:
1251+ <td style="white-space:nowrap;text-align:left;">${line.product_packaging.ean or line.product_id.ean13 or ''}</td>
1252+%endif
1253+%if order.print_packing:
1254+ <td style="white-space:normal;text-align:left;">${line.product_packaging.qty and line.product_uom_qty/line.product_packaging.qty or ''}</td>
1255+ <td style="white-space:normal;text-align:left;">${line.product_packaging and line.product_packaging.ul.name or ''} ${line.product_packaging and _(" / " or '')} ${line.product_packaging and line.product_packaging.qty or ''} ${line.product_packaging and line.product_id.uom_id.name or ''}</td>
1256+%endif
1257+ <td style="white-space:nowrap;text-align:right;">${line.price_unit or ''}</td>
1258+%if order.print_discount:
1259+ <td style="text-align:right;">${line.discount}</th>
1260+%endif
1261+ <td style="white-space:nowrap;text-align:right;">${line.price_subtotal or ''}</td>
1262+ </tr>
1263+ %endfor
1264+ </tbody>
1265+ <tfoot>
1266+ <tr>
1267+ <td colspan="${order.cols}" style="border-style:none"/>
1268+ <td style="border-top: 2px solid"><b>${_("Net Total:")}</b></td>
1269+ <td class="amount" style="border-top:2px solid;text-align:right;">${formatLang(order.amount_untaxed, get_digits(dp='Sale Price'))} </td>
1270+ </tr>
1271+ <tr>
1272+ <td colspan="${order.cols}" style="border-style:none"/>
1273+ <td style="border-style:none"><b>${_("Taxes:")}</b></td>
1274+ <td class="amount" style="text-align:right;">${formatLang(order.amount_tax, get_digits(dp='Sale Price'))} </td>
1275+ </tr>
1276+ <tr>
1277+ <td colspan="${order.cols}" style="border-style:none"/>
1278+ <td style="border-top:2px solid"><b>${_("Total:")}</b></td>
1279+ <td class="amount" style="border-top:2px solid;text-align:right;">${formatLang(order.amount_total, get_digits(dp='Sale Price'))} </td>
1280+ </tr>
1281+ </tfoot>
1282+
1283+ </table>
1284+
1285+%if order.note and 'note_print' not in order._columns:
1286+<br>
1287+ <pre>${order.note}</pre>
1288+%endif:
1289+%if 'note_print' in order._columns and order.note_print:
1290+<br>
1291+ <pre>${order.note_print}</pre>
1292+%endif:
1293+
1294+
1295+ <p style="page-break-after:always"></p>
1296+ %endfor
1297+</body>
1298+</html>
1299
1300=== added file 'account_check_deposit/report/__init__.py'
1301--- account_check_deposit/report/__init__.py 1970-01-01 00:00:00 +0000
1302+++ account_check_deposit/report/__init__.py 2014-03-10 23:55:30 +0000
1303@@ -0,0 +1,32 @@
1304+ #-*- coding: utf-8 -*-
1305+##############################################################################
1306+#
1307+# Copyright (c) 2010 Camptocamp SA (http://www.camptocamp.com)
1308+# All Right Reserved
1309+#
1310+# Author : Ferdinand Gassauer (Camptocamp Austria)
1311+#
1312+# WARNING: This program as such is intended to be used by professional
1313+# programmers who take the whole responsability of assessing all potential
1314+# consequences resulting from its eventual inadequacies and bugs
1315+# End users who are looking for a ready-to-use solution with commercial
1316+# garantees and support are strongly adviced to contract a Free Software
1317+# Service Company
1318+#
1319+# This program is Free Software; you can redistribute it and/or
1320+# modify it under the terms of the GNU General Public License
1321+# as published by the Free Software Foundation; either version 2
1322+# of the License, or (at your option) any later version.
1323+#
1324+# This program is distributed in the hope that it will be useful,
1325+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1326+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1327+# GNU General Public License for more details.
1328+#
1329+# You should have received a copy of the GNU General Public License
1330+# along with this program; if not, write to the Free Software
1331+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
1332+#
1333+##############################################################################
1334+
1335+import report_webkit_html
1336
1337=== added file 'account_check_deposit/report/check_deposit.mako'
1338--- account_check_deposit/report/check_deposit.mako 1970-01-01 00:00:00 +0000
1339+++ account_check_deposit/report/check_deposit.mako 2014-03-10 23:55:30 +0000
1340@@ -0,0 +1,112 @@
1341+# -*- coding: utf-8 -*-
1342+<html>
1343+<head>
1344+ <style type="text/css">
1345+
1346+ table {
1347+ width: 100%;
1348+ page-break-after:auto;
1349+ border-collapse: collapse;
1350+ cellspacing="0";
1351+ font-size:14px;
1352+ }
1353+ td { margin: 0px; padding: 3px; border: 1px solid lightgrey; vertical-align: top; }
1354+ .valign_up1, .valign_up2, .halign, .vtrait1, .vtrait2{
1355+ position:absolute;
1356+ }
1357+ .valign_up1 { left:200px; font-weight: lighter; color:MediumSlateBlue ;
1358+ }
1359+ .valign_up2 { left:650px; font-weight: lighter; color:MediumSlateBlue ;
1360+ }
1361+ .halign { left:500px}
1362+ .vtrait1 { left:185px; font-weight: lighter; color:MediumSlateBlue ; }
1363+ .vtrait2 { left:630px; font-weight: lighter; color:MediumSlateBlue ; }
1364+ .entete_tab {text-align:center; white-space:nowrap; border-bottom:1px solid;}
1365+ .cellule_tab {white-space:nowrap; text-align:center;}
1366+ .amount {white-space:nowrap; text-align:right;}
1367+ .total {border-top:2px solid;}
1368+ .titre {text-align:center; font-family:helvetica; font-size:35px; background:lightgrey}
1369+
1370+ pre {font-family:helvetica; font-size:12px;}
1371+ h1 {font-family:helvetica; font-size:18px;}
1372+ h2 {font-family:helvetica; font-size:25px; border-bottom:1px solid}
1373+ h3 {font-family:helvetica; font-size:22px; color: MediumSlateBlue ; margin-bottom: auto;}
1374+
1375+
1376+ </style>
1377+</head>
1378+<body>
1379+%for deposit in objects :
1380+<% setLang(deposit.partner_id.lang) %>
1381+<b><span class="titre">${_("Deposit Slip of Checks(Euros)")}</span></b>
1382+<br>
1383+<br>
1384+<br>
1385+<br>
1386+<br>
1387+<br>
1388+ <h2>
1389+<b>${_("Deposit N°")} ${deposit.name}</b>
1390+ </h2>
1391+
1392+ <h1>
1393+<b>${_("Deposit Date")}</b><span class="vtrait1">${_("|")}</span>
1394+<span class="valign_up1"> ${deposit.deposit_date}</span>
1395+<b><span class="halign">${_("Bank Code")}</span></b>
1396+<span class="vtrait2">${_("|")}</span><span class="valign_up2"> ${deposit.bank_id.bank_code}</span>
1397+<br>
1398+<b>${_("Beneficiary")}</b><span class="vtrait1">${_("|")}</span>
1399+<span class="valign_up1"> ${company.partner_id.name}</span>
1400+<b><span class="halign">${_("Office Code")}</span></b>
1401+<span class="vtrait2">${_("|")}</span><span class="valign_up2"> ${deposit.bank_id.office}</span>
1402+<br>
1403+<b>${_("Account to crediting")}</b><span class="vtrait1">${_("|")}</span>
1404+<span class="valign_up1"> ${deposit.bank_id.rib_acc_number}</span>
1405+<b><span class="halign">${_("BIS Key")}</span></b><span class="vtrait2">${_("|")}</span>
1406+<span class="valign_up2"> ${deposit.bank_id.key}</span>
1407+ </h1>
1408+<br>
1409+ <h3>
1410+<b>${_("Check Payments")}</b>
1411+ </h3>
1412+
1413+ <table style="width:100%">
1414+ <thead>
1415+ <tr>
1416+<th class="entete_tab">${_("Payment Date")}</th>
1417+<th class="entete_tab">${_("Reference")}</th>
1418+<th class="entete_tab">${_("Description")}</th>
1419+<th class="entete_tab">${_("Designation")}</th>
1420+<th class="entete_tab">${_("Amount")}</th>
1421+ </thead>
1422+ </tr>
1423+
1424+<br>
1425+ %for move_line in deposit.check_payment_ids :
1426+ <tbody>
1427+ <tr>
1428+ <td class="cellule_tab">${move_line.date or ''}</td>
1429+ <td class="cellule_tab">${move_line.ref or ''}</td>
1430+ <td class="cellule_tab">${move_line.name or ''}</td>
1431+ <td class="cellule_tab">${move_line.partner_id.name or ''}</td>
1432+ <td class="amount">${move_line.debit or '0'}</td>
1433+ </tr>
1434+ </tbody>
1435+ %endfor
1436+ %endfor
1437+ <tfoot>
1438+ <tr>
1439+ <td colspan=4 class="amount total"><b>${_("Total:")}</b></td>
1440+ <td colspan=5 class="amount total"><b>${deposit.total_amount or '0'}</b></td>
1441+ </tr>
1442+ </tfoot>
1443+ </table>
1444+
1445+
1446+
1447+
1448+
1449+
1450+
1451+</body>
1452+</html>
1453
1454=== added file 'account_check_deposit/report/report_webkit_html.py'
1455--- account_check_deposit/report/report_webkit_html.py 1970-01-01 00:00:00 +0000
1456+++ account_check_deposit/report/report_webkit_html.py 2014-03-10 23:55:30 +0000
1457@@ -0,0 +1,41 @@
1458+# -*- coding: utf-8 -*-
1459+##############################################################################
1460+#
1461+# OpenERP, Open Source Management Solution
1462+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
1463+# Copyright (C) 2010-2012 Camptocamp Austria (<http://www.camptocamp.at>)
1464+# Copyright (C) 2013 AKRETION (<http://www.akretion.com>)
1465+#
1466+# This program is free software: you can redistribute it and/or modify
1467+# it under the terms of the GNU Affero General Public License as
1468+# published by the Free Software Foundation, either version 3 of the
1469+# License, or (at your option) any later version.
1470+#
1471+# This program is distributed in the hope that it will be useful,
1472+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1473+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1474+# GNU Affero General Public License for more details.
1475+#
1476+# You should have received a copy of the GNU Affero General Public License
1477+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1478+#
1479+##############################################################################
1480+
1481+import time
1482+from report import report_sxw
1483+
1484+
1485+class report_webkit_html(report_sxw.rml_parse):
1486+
1487+ def __init__(self, cr, uid, name, context):
1488+ super(report_webkit_html, self).__init__(cr, uid, name, context=context)
1489+ self.localcontext.update({
1490+ 'time': time,
1491+ 'cr': cr,
1492+ 'uid': uid,
1493+ })
1494+
1495+report_sxw.report_sxw('report.account.check.deposit',
1496+ 'account.check.deposit',
1497+ 'addons/account_check_deposit/report/check_deposit.mako',
1498+ parser=report_webkit_html)
1499
1500=== added directory 'account_check_deposit/security'
1501=== added file 'account_check_deposit/security/ir.model.access.csv'
1502--- account_check_deposit/security/ir.model.access.csv 1970-01-01 00:00:00 +0000
1503+++ account_check_deposit/security/ir.model.access.csv 2014-03-10 23:55:30 +0000
1504@@ -0,0 +1,2 @@
1505+"id","name","model_id:id","group_id:id","perm_read","perm_write","perm_create","perm_unlink"
1506+"access_account_check_deposit_account_check_deposit_group_manager","account_check_deposit_account_check_deposit_group_manager","model_account_check_deposit","account.group_account_user",1,1,1,1

Subscribers

People subscribed via source and target branches