Merge lp:~akretion-team/account-financial-tools/account-financial-tools-check-deposit into lp:~account-core-editors/account-financial-tools/7.0
- account-financial-tools-check-deposit
- Merge into 7.0
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 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Nicolas JEUDY (community) | code reading | Disapprove | |
Frederic Clementi - Camptocamp | Pending | ||
Review via email: mp+210315@code.launchpad.net |
Commit message
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.
- 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
Nicolas Bessi - Camptocamp (nbessi-c2c-deactivatedaccount) wrote : | # |
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
Nicolas JEUDY (njeudy) : | # |
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
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 |
The project has moved to Github https:/ /github. com/OCA/ account- financial- tools. /github. com/OCA/ maintainers- tools/wiki/ How-to- move-a- Merge-Proposal- to-GitHub.
Please resubmit your MP on github using following procedure https:/
I put this MP in rejected in the meanwhile.
Regards