Merge lp:~savoirfairelinux-openerp/openerp-canada/7.0-l10n_ca_account_check_writing-print-lang into lp:openerp-canada

Proposed by Virgil Dupras
Status: Merged
Merged at revision: 14
Proposed branch: lp:~savoirfairelinux-openerp/openerp-canada/7.0-l10n_ca_account_check_writing-print-lang
Merge into: lp:openerp-canada
Diff against target: 891 lines (+657/-42)
13 files modified
l10n_ca_account_check_writing/__openerp__.py (+4/-1)
l10n_ca_account_check_writing/account_voucher.py (+72/-6)
l10n_ca_account_check_writing/i18n/fr.po (+94/-0)
l10n_ca_account_check_writing/i18n/l10n_ca_account_check_writing.pot (+53/-16)
l10n_ca_account_check_writing/report/l10n_ca_check_print.py (+13/-13)
l10n_ca_account_check_writing/report/l10n_ca_check_print_middle.rml (+3/-2)
l10n_ca_account_check_writing/report/l10n_ca_check_print_top.rml (+3/-4)
res_currency_print_on_check/__init__.py (+22/-0)
res_currency_print_on_check/__openerp__.py (+47/-0)
res_currency_print_on_check/currency.py (+28/-0)
res_currency_print_on_check/currency_data.xml (+274/-0)
res_currency_print_on_check/currency_view.xml (+17/-0)
res_currency_print_on_check/i18n/res_currency_print_on_check.pot (+27/-0)
To merge this branch: bzr merge lp:~savoirfairelinux-openerp/openerp-canada/7.0-l10n_ca_account_check_writing-print-lang
Reviewer Review Type Date Requested Status
Maxime Chambreuil (http://www.savoirfairelinux.com) Approve
Review via email: mp+165672@code.launchpad.net
To post a comment you must log in.
13. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[IMP] Bump version and update translation file

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

The amount in letter is not translated.

review: Needs Fixing (test)
14. By Virgil Dupras

[MRG] Print supplier invoice reference on the cheque

15. By Joao Alfredo Gama Batista

[MRG] Currency

16. By Virgil Dupras

[ENH] Use num2words for number conversion in check printing.

OpenERP's built-in functionnality to do that doesn't work well at all in French.

Revision history for this message
Virgil Dupras (hsoft) wrote :

OpenERP's built-in function for num --> words translation are not very good, so I searched for a library that would do that in multiple languages. It's num2words at https://pypi.python.org/pypi/num2words

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

For check in the middle, amount in letter is well translated -> Good!

but cents are not present (should be there in digits).

and I have thoses errors in the log :

2013-05-28 23:37:11,410 21950 WARNING Check openerp.osv.orm.browse_record.account.voucher: Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'
2013-05-28 23:37:11,410 21950 ERROR Check openerp.tools.safe_eval: Cannot eval "voucher.journal_id.use_preprint_check and voucher.chk_seq or ''"
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 486, in __getattr__
    raise AttributeError(e)
AttributeError: "Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'"
2013-05-28 23:37:11,423 21950 WARNING Check openerp.osv.orm.browse_record.account.voucher: Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'
2013-05-28 23:37:11,423 21950 ERROR Check openerp.tools.safe_eval: Cannot eval "voucher.journal_id.use_preprint_check and voucher.chk_seq or ''"
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 486, in __getattr__
    raise AttributeError(e)
AttributeError: "Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'"
2013-05-28 23:37:11,425 21950 WARNING Check openerp.report.render.rml2pdf.trml2pdf: Warning: style not found, P26 - setting default!

2013-05-28 23:37:11,428 21950 WARNING Check openerp.osv.orm.browse_record.account.voucher: Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'
2013-05-28 23:37:11,428 21950 ERROR Check openerp.tools.safe_eval: Cannot eval "voucher.journal_id.use_preprint_check and voucher.chk_seq or ''"
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 486, in __getattr__
    raise AttributeError(e)
AttributeError: "Field 'chk_seq' does not exist in object 'browse_record(account.voucher, 1)'"

For check on top, the amount in letters is not translated and I have the same error in the log.

review: Needs Fixing
Revision history for this message
Virgil Dupras (hsoft) wrote :

For the cents issue, the problem is I lack specifications. Where am I supposed to put them? I should replace the last 6 stars with something like "42/100"?

As for the errors, they were there before, but they don't seem to prevent the checks from being generated. I'd say it's a separate issue.

And for the top check, I was also getting language discrepancy until I tried to update the module in my OpenERP installation. The problems went away. Maybe it's the same case on your local install.

17. By Virgil Dupras

[ENH] Add numerical cents values on the worded amount when printing checks.

18. By Virgil Dupras

[MRG] num2words mention

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Cent issue: Replace the first stars:

One hundred dollars and 42/100 ***************

Error message: Let's take this MP as an opportunity to fix them

Language discrepancy: I will test later today or this week-end.

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Cent issue: Sorry I was wrong, it should be:

One hundred and 42/100 canadian dollars ********
cent dollars canadiens et 42/100 ***************

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :
Download full text (3.7 KiB)

I updated my branches to the latest revisions.

Check is not printed with the currency of the account voucher.

When I print the check in the middle, I have the address of the supplier on the check and an error message for a missing style :

2013-06-04 02:16:32,224 14069 WARNING Check openerp.report.render.rml2pdf.trml2pdf: Warning: style not found, P26 - setting default!

When I print the check on top, I don't have the address as I get this error message and I am missing the style too:

2013-06-04 02:14:20,648 14069 WARNING Check openerp.report.render.rml2pdf.trml2pdf: Warning: style not found, P26 - setting default!

2013-06-04 02:14:20,857 14069 INFO Check werkzeug: 127.0.0.1 - - [04/Jun/2013 02:14:20] "POST /web/report HTTP/1.1" 200 -
2013-06-04 02:14:21,629 14069 INFO Check werkzeug: 127.0.0.1 - - [04/Jun/2013 02:14:21] "POST /web/dataset/search_read HTTP/1.1" 200 -
2013-06-04 02:14:38,574 14069 INFO Check werkzeug: 127.0.0.1 - - [04/Jun/2013 02:14:38] "POST /web/action/load HTTP/1.1" 200 -
2013-06-04 02:14:38,654 14069 WARNING Check openerp.osv.orm.browse_record.res.partner: Field 'address' does not exist in object 'browse_record(res.partner, 5)'
2013-06-04 02:14:38,654 14069 ERROR Check openerp.tools.safe_eval: Cannot eval " voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') "
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 486, in __getattr__
    raise AttributeError(e)
AttributeError: "Field 'address' does not exist in object 'browse_record(res.partner, 5)'"
2013-06-04 02:14:38,654 14069 WARNING Check openerp.report.render.rml2pdf.utils: rml_except: " voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') "
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/report/render/rml2pdf/utils.py", line 76, in _child_get
    eval(n.get('rml_except'), {}, self.localcontext)
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
  File "/home/max/openerp/server/7.0/openerp/osv/orm.py", line 486, in __getattr__
    raise AttributeError(e)
AttributeError: "Field 'address' does not exist in object 'browse_record(res.partner, 5)'"
2013-06-04 02:14:38,654 14069 ERROR Check openerp.tools.safe_eval: Cannot eval 'get_zip_line(voucher.partner_id.address[0])'
Traceback (most recent call last):
  File "/home/max/openerp/server/7.0/openerp/tools/safe_eval.py", line 241, in safe_eval
    return eval(test_expr(expr, _SAFE_OPCODES, mode=mode), globals_dict, locals_dict)
  File "", line 1, in <module>
NameError: name 'get_zip_line' is not defined
2013-06-04 02:14:38,654 14069 WARNING Check openerp.osv.orm.browse_record.res.partner: Field 'address' does not exist in object 'brows...

Read more...

review: Needs Fixing
19. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[FIX] Style and address

20. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[FIX] Use same style across reports

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Hard-coded currency in the last issue for this MP to be merged.

Don't give up ;)

21. By Virgil Dupras

[ADD] res_currency_display_name

22. By Virgil Dupras

[FIX] Renamed module name to be consistent with the supplied field's new name.

23. By Virgil Dupras

[IMP] Use res_currency_print_on_check to add the currency name on printed checks.

Revision history for this message
Virgil Dupras (hsoft) wrote :

There's one last, possibly very tricky) problem: pluralisation. Currently, currency names are displayed in their singular form.

Not all languages handle plurarisation the same way and not all currency names are pluralised the same way.

Should we change the display name constants from singular to plural?

Revision history for this message
Virgil Dupras (hsoft) wrote :

About the cents thing: so the logic is different in english and in french. How should the module handle languages that are neither french or english? Use the english cents order?

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Pluralisation : Use plural by default. User will be able to change the translation to have something like "canadian dollar(s)" if he wants.

Cents: use the english order by default.

Revision history for this message
Virgil Dupras (hsoft) wrote :

That's the thing: we don't have the plural form right now, only the singular one. Moreover, we dont't have a mechanism to easily switch from singular to plural (or the opposite). If we have plural, then that's all we have.

Should we change values from print_in_check's XML file to plural values?

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) wrote :

Yes

24. By Virgil Dupras

[IMP] Properly localize amount's currency and format depending on the supplier language

25. By Virgil Dupras

[FIX] Pluralized and de-capitalized currency names in res_currency_print_on_check.

In short, changed the names so that they match what should be printed on a check.

26. By Virgil Dupras

[FIX] Fixed a cents rounding bug in check writing.

27. By Maxime Chambreuil (http://www.savoirfairelinux.com)

[IMP] Module name

Revision history for this message
Maxime Chambreuil (http://www.savoirfairelinux.com) (max3903) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'l10n_ca_account_check_writing/__openerp__.py'
--- l10n_ca_account_check_writing/__openerp__.py 2013-06-08 22:30:59 +0000
+++ l10n_ca_account_check_writing/__openerp__.py 2013-06-11 13:35:38 +0000
@@ -31,8 +31,11 @@
31This module provides reports to print check using the canadian format from:31This module provides reports to print check using the canadian format from:
32http://www.cdnpay.ca/imis15/pdf/pdfs_rules/standard_006_fr.pdf32http://www.cdnpay.ca/imis15/pdf/pdfs_rules/standard_006_fr.pdf
3333
34To use this module, you will need to install num2words Python library:
35https://pypi.python.org/pypi/num2words
36
34 """,37 """,
35 'depends': ['account_check_writing'],38 'depends': ['account_check_writing', 'res_currency_print_on_check'],
36 'data': [39 'data': [
37 'l10n_ca_account_check_writing_report.xml',40 'l10n_ca_account_check_writing_report.xml',
38 ],41 ],
3942
=== modified file 'l10n_ca_account_check_writing/account_voucher.py'
--- l10n_ca_account_check_writing/account_voucher.py 2013-05-10 14:57:50 +0000
+++ l10n_ca_account_check_writing/account_voucher.py 2013-06-11 13:35:38 +0000
@@ -20,7 +20,41 @@
20##############################################################################20##############################################################################
2121
22from openerp.osv import orm, fields22from openerp.osv import orm, fields
23from openerp.tools.amount_to_text_en import amount_to_text23from openerp.tools.translate import _
24# OpenERP's built-in routines for converting numbers to words is pretty bad, especially in French
25# This is why we use the library below. You can get it at:
26# https://pypi.python.org/pypi/num2words
27from num2words import num2words
28
29# For the words we use in custom_translation(), we have to put dummy _() calls here so that OpenERP
30# picks them up during .pot generation
31_("and")
32
33def custom_translation(s, lang):
34 # OpenERP uses the current stack frame, yes, the *stack frame* to determine which language _()
35 # should translate a string in. If we want to translate a string in another language, such as
36 # a supplier's language, we have to resort to hacks such as this one. "context" is sought after
37 # in the stackframe, so we have to set it.
38 context = {'lang': lang}
39 return _(s)
40
41def get_amount_line(amount, currency, lang):
42 try:
43 amount_in_word = num2words(int(amount), lang=lang[:2])
44 except NotImplementedError:
45 amount_in_word = num2words(int(amount))
46 currency_name = currency.print_on_check
47 cents = int(amount * 100) % 100
48 total_length = len(amount_in_word) + len(currency_name)
49 if total_length < 87:
50 stars = '*' * (87 - total_length)
51 else:
52 stars = ''
53 AND = custom_translation("and", lang)
54 amount_line_fmt = '{amount_in_word} {AND} {cents}/100 {currency_name} {stars}'
55 if lang.startswith('fr'):
56 amount_line_fmt = '{amount_in_word} {currency_name} {AND} {cents}/100 {stars}'
57 return amount_line_fmt.format(**vars())
2458
25class account_voucher(orm.Model):59class account_voucher(orm.Model):
26 _inherit = 'account.voucher'60 _inherit = 'account.voucher'
@@ -36,11 +70,18 @@
36 ttype, date, payment_rate_currency_id, company_id, context=context)70 ttype, date, payment_rate_currency_id, company_id, context=context)
37 if 'value' in default:71 if 'value' in default:
38 amount = 'amount' in default['value'] and default['value']['amount'] or amount72 amount = 'amount' in default['value'] and default['value']['amount'] or amount
3973 if ids:
40 #TODO : generic amount_to_text is not ready yet, otherwise language (and country) and currency can be passed74 supplier_lang = self.browse(cr, uid, ids[0], context=context).partner_id.lang
41 #amount_in_word = amount_to_text(amount, context=context)75 else:
42 amount_in_word = amount_to_text(amount, currency='Canadian Dollars')76 # It's a new record and we don't have access to our supplier lang yet
43 default['value'].update({'amount_in_word':amount_in_word})77 supplier_lang = 'en_US'
78 supplier_context = context.copy()
79 # for some calls, such as the currency browse() call, we want to separate our user's
80 # language from our supplier's. That's why we need a separate context.
81 supplier_context['lang'] = supplier_lang
82 currency = self.pool.get('res.currency').browse(cr, uid, currency_id, context=supplier_context)
83 amount_line = get_amount_line(amount, currency, supplier_lang)
84 default['value'].update({'amount_in_word':amount_line})
44 if journal_id:85 if journal_id:
45 allow_check_writing = self.pool.get('account.journal').browse(86 allow_check_writing = self.pool.get('account.journal').browse(
46 cr, uid, journal_id, context=context).allow_check_writing87 cr, uid, journal_id, context=context).allow_check_writing
@@ -72,3 +113,28 @@
72 },113 },
73 'nodestroy': True114 'nodestroy': True
74 }115 }
116
117# By default, the supplier reference number is not so easily accessible from a voucher line because
118# there's no direct link between the voucher and the invoice. Fortunately, there was this recently
119# submitted patch from Lorenzo Battistini (Agile) BG at
120# https://code.launchpad.net/~elbati/account-payment/adding_account_voucher_supplier_invoice_number_7/+merge/165622
121# which solves this exact problem and I shamelessely copied that code, which works well.
122
123class voucher_line(orm.Model):
124 _inherit = 'account.voucher.line'
125
126 def get_suppl_inv_num(self, cr, uid, move_line_id, context=None):
127 move_line = self.pool.get('account.move.line').browse(cr, uid, move_line_id, context)
128 return (move_line.invoice and move_line.invoice.supplier_invoice_number or '')
129
130 def _get_supplier_invoice_number(self, cr, uid, ids, name, args, context=None):
131 res={}
132 for line in self.browse(cr, uid, ids, context):
133 res[line.id] = ''
134 if line.move_line_id:
135 res[line.id] = self.get_suppl_inv_num(cr, uid, line.move_line_id.id, context=context)
136 return res
137
138 _columns = {
139 'supplier_invoice_number': fields.function(_get_supplier_invoice_number, type='char', size=64, string="Supplier Invoice Number"),
140 }
75141
=== added file 'l10n_ca_account_check_writing/i18n/fr.po'
--- l10n_ca_account_check_writing/i18n/fr.po 1970-01-01 00:00:00 +0000
+++ l10n_ca_account_check_writing/i18n/fr.po 2013-06-11 13:35:38 +0000
@@ -0,0 +1,94 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * l10n_ca_account_check_writing
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-05-25 15:55+0000\n"
10"PO-Revision-Date: 2013-05-25 15:55+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: l10n_ca_account_check_writing
19#: report:l10n.ca.account.print.check.middle:0
20#: report:l10n.ca.account.print.check.top:0
21msgid "Check Amount"
22msgstr "Montant du chèque"
23
24#. module: l10n_ca_account_check_writing
25#: code:addons/l10n_ca_account_check_writing/account_voucher.py:31
26#, python-format
27msgid "and"
28msgstr "et"
29
30#. module: l10n_ca_account_check_writing
31#: report:l10n.ca.account.print.check.top:0
32msgid "Open Balance"
33msgstr "Solde ouvert"
34
35#. module: l10n_ca_account_check_writing
36#: report:l10n.ca.account.print.check.middle:0
37#: report:l10n.ca.account.print.check.top:0
38msgid "Description"
39msgstr "Description"
40
41#. module: l10n_ca_account_check_writing
42#: report:l10n.ca.account.print.check.middle:0
43#: report:l10n.ca.account.print.check.top:0
44msgid "Due Date"
45msgstr "Date"
46
47#. module: l10n_ca_account_check_writing
48#: model:ir.actions.report.xml,name:l10n_ca_account_check_writing.l10n_ca_account_print_check_middle
49msgid "Print Check CA (Middle)"
50msgstr "Imprimer chèque CA (Milieu)"
51
52#. module: l10n_ca_account_check_writing
53#: model:ir.model,name:l10n_ca_account_check_writing.model_account_voucher
54msgid "Accounting Voucher"
55msgstr "Justificatif comptable"
56
57#. module: l10n_ca_account_check_writing
58#: model:ir.model,name:l10n_ca_account_check_writing.model_res_company
59msgid "Companies"
60msgstr "Sociétés"
61
62#. module: l10n_ca_account_check_writing
63#: report:l10n.ca.account.print.check.middle:0
64#: report:l10n.ca.account.print.check.top:0
65msgid "Discount"
66msgstr "Remise"
67
68#. module: l10n_ca_account_check_writing
69#: report:l10n.ca.account.print.check.middle:0
70#: report:l10n.ca.account.print.check.top:0
71msgid "Original Amount"
72msgstr "Montant original"
73
74#. module: l10n_ca_account_check_writing
75#: report:l10n.ca.account.print.check.middle:0
76msgid "Date"
77msgstr "Date"
78
79#. module: l10n_ca_account_check_writing
80#: report:l10n.ca.account.print.check.middle:0
81msgid "Balance Due"
82msgstr "Solde dû"
83
84#. module: l10n_ca_account_check_writing
85#: report:l10n.ca.account.print.check.middle:0
86#: report:l10n.ca.account.print.check.top:0
87msgid "Payment"
88msgstr "Paiement"
89
90#. module: l10n_ca_account_check_writing
91#: model:ir.actions.report.xml,name:l10n_ca_account_check_writing.l10n_ca_account_print_check_top
92msgid "Print Check CA (Top)"
93msgstr "Imprimer chèque CA (Haut)"
94
095
=== modified file 'l10n_ca_account_check_writing/i18n/l10n_ca_account_check_writing.pot'
--- l10n_ca_account_check_writing/i18n/l10n_ca_account_check_writing.pot 2013-04-25 21:23:42 +0000
+++ l10n_ca_account_check_writing/i18n/l10n_ca_account_check_writing.pot 2013-06-11 13:35:38 +0000
@@ -4,10 +4,10 @@
4#4#
5msgid ""5msgid ""
6msgstr ""6msgstr ""
7"Project-Id-Version: OpenERP Server 6.1\n"7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-04-23 20:44+0000\n"9"POT-Creation-Date: 2013-06-10 18:26+0000\n"
10"PO-Revision-Date: 2013-04-23 20:44+0000\n"10"PO-Revision-Date: 2013-06-10 18:26+0000\n"
11"Last-Translator: <>\n"11"Last-Translator: <>\n"
12"Language-Team: \n"12"Language-Team: \n"
13"MIME-Version: 1.0\n"13"MIME-Version: 1.0\n"
@@ -17,51 +17,88 @@
1717
18#. module: l10n_ca_account_check_writing18#. module: l10n_ca_account_check_writing
19#: report:l10n.ca.account.print.check.middle:019#: report:l10n.ca.account.print.check.middle:0
20#: report:l10n.ca.account.print.check.top:0
20msgid "Check Amount"21msgid "Check Amount"
21msgstr "Check Amount"22msgstr ""
23
24#. module: l10n_ca_account_check_writing
25#: code:addons/l10n_ca_account_check_writing/account_voucher.py:31
26#, python-format
27msgid "and"
28msgstr ""
29
30#. module: l10n_ca_account_check_writing
31#: report:l10n.ca.account.print.check.top:0
32msgid "Open Balance"
33msgstr ""
2234
23#. module: l10n_ca_account_check_writing35#. module: l10n_ca_account_check_writing
24#: report:l10n.ca.account.print.check.middle:036#: report:l10n.ca.account.print.check.middle:0
37#: report:l10n.ca.account.print.check.top:0
25msgid "Description"38msgid "Description"
26msgstr "Description"39msgstr ""
2740
28#. module: l10n_ca_account_check_writing41#. module: l10n_ca_account_check_writing
29#: report:l10n.ca.account.print.check.middle:042#: report:l10n.ca.account.print.check.middle:0
43#: report:l10n.ca.account.print.check.top:0
30msgid "Due Date"44msgid "Due Date"
31msgstr "Due Date"45msgstr ""
3246
33#. module: l10n_ca_account_check_writing47#. module: l10n_ca_account_check_writing
34#: model:ir.actions.report.xml,name:l10n_ca_account_check_writing.l10n_ca_account_print_check_middle48#: model:ir.actions.report.xml,name:l10n_ca_account_check_writing.l10n_ca_account_print_check_middle
35msgid "Print Check (CA)"49msgid "Print Check CA (Middle)"
36msgstr "Print Check (CA)"50msgstr ""
51
52#. module: l10n_ca_account_check_writing
53#: model:ir.model,name:l10n_ca_account_check_writing.model_account_voucher
54msgid "Accounting Voucher"
55msgstr ""
56
57#. module: l10n_ca_account_check_writing
58#: model:ir.model,name:l10n_ca_account_check_writing.model_res_company
59msgid "Companies"
60msgstr ""
61
62#. module: l10n_ca_account_check_writing
63#: model:ir.model,name:l10n_ca_account_check_writing.model_account_voucher_line
64msgid "Voucher Lines"
65msgstr ""
3766
38#. module: l10n_ca_account_check_writing67#. module: l10n_ca_account_check_writing
39#: report:l10n.ca.account.print.check.middle:068#: report:l10n.ca.account.print.check.middle:0
69#: report:l10n.ca.account.print.check.top:0
40msgid "Discount"70msgid "Discount"
41msgstr "Discount"71msgstr ""
4272
43#. module: l10n_ca_account_check_writing73#. module: l10n_ca_account_check_writing
44#: report:l10n.ca.account.print.check.middle:074#: report:l10n.ca.account.print.check.middle:0
75#: report:l10n.ca.account.print.check.top:0
45msgid "Original Amount"76msgid "Original Amount"
46msgstr "Original Amount"77msgstr ""
4778
48#. module: l10n_ca_account_check_writing79#. module: l10n_ca_account_check_writing
49#: report:l10n.ca.account.print.check.middle:080#: report:l10n.ca.account.print.check.middle:0
50msgid "Date"81msgid "Date"
51msgstr "Date"82msgstr ""
5283
53#. module: l10n_ca_account_check_writing84#. module: l10n_ca_account_check_writing
54#: report:l10n.ca.account.print.check.middle:085#: report:l10n.ca.account.print.check.middle:0
55msgid "Balance Due"86msgid "Balance Due"
56msgstr "Balance Due"87msgstr ""
88
89#. module: l10n_ca_account_check_writing
90#: field:account.voucher.line,supplier_invoice_number:0
91msgid "Supplier Invoice Number"
92msgstr ""
5793
58#. module: l10n_ca_account_check_writing94#. module: l10n_ca_account_check_writing
59#: report:l10n.ca.account.print.check.middle:095#: report:l10n.ca.account.print.check.middle:0
96#: report:l10n.ca.account.print.check.top:0
60msgid "Payment"97msgid "Payment"
61msgstr "Payment"98msgstr ""
6299
63#. module: l10n_ca_account_check_writing100#. module: l10n_ca_account_check_writing
64#: report:l10n.ca.account.print.check.middle:0101#: model:ir.actions.report.xml,name:l10n_ca_account_check_writing.l10n_ca_account_print_check_top
65msgid "$"102msgid "Print Check CA (Top)"
66msgstr "$"103msgstr ""
67104
68105
=== modified file 'l10n_ca_account_check_writing/report/l10n_ca_check_print.py'
--- l10n_ca_account_check_writing/report/l10n_ca_check_print.py 2013-05-10 16:02:52 +0000
+++ l10n_ca_account_check_writing/report/l10n_ca_check_print.py 2013-06-11 13:35:38 +0000
@@ -32,27 +32,27 @@
32 self.localcontext.update({32 self.localcontext.update({
33 'time': time,33 'time': time,
34 'get_lines': self.get_lines,34 'get_lines': self.get_lines,
35 'fill_stars' : self.fill_stars,
36 })35 })
37 def fill_stars(self, amount):
38 #amount = amount.replace('Dollars','')
39 if len(amount) < 90:
40 stars = 100 - len(amount)
41 return ' '.join([amount,'*'*stars])
42
43 else: return amount
44 36
45 def get_lines(self, voucher_lines):37 def get_lines(self, voucher_lines):
46 result = []38 result = []
47 self.number_lines = len(voucher_lines)39 self.number_lines = len(voucher_lines)
48 for i in range(0, min(10,self.number_lines)):40 for i in range(0, min(10,self.number_lines)):
49 if i < self.number_lines:41 if i < self.number_lines:
42 voucher_line = voucher_lines[i]
43 # In general, the supplier invoice reference number is a much better description
44 # for writing checks than our own reference number, but if we don't have it, we
45 # might as well use our internal number
46 if voucher_line.supplier_invoice_number:
47 name = voucher_line.supplier_invoice_number
48 else:
49 name = voucher_line.name
50 res = {50 res = {
51 'date_due' : voucher_lines[i].date_due,51 'date_due' : voucher_line.date_due,
52 'name' : voucher_lines[i].name,52 'name' : name,
53 'amount_original' : voucher_lines[i].amount_original and voucher_lines[i].amount_original or False,53 'amount_original' : voucher_line.amount_original and voucher_line.amount_original or False,
54 'amount_unreconciled' : voucher_lines[i].amount_unreconciled and voucher_lines[i].amount_unreconciled or False,54 'amount_unreconciled' : voucher_line.amount_unreconciled and voucher_line.amount_unreconciled or False,
55 'amount' : voucher_lines[i].amount and voucher_lines[i].amount or False,55 'amount' : voucher_line.amount and voucher_line.amount or False,
56 }56 }
57 else :57 else :
58 res = {58 res = {
5959
=== modified file 'l10n_ca_account_check_writing/report/l10n_ca_check_print.sxw'
60Binary files l10n_ca_account_check_writing/report/l10n_ca_check_print.sxw 2013-04-25 21:23:42 +0000 and l10n_ca_account_check_writing/report/l10n_ca_check_print.sxw 2013-06-11 13:35:38 +0000 differ60Binary files l10n_ca_account_check_writing/report/l10n_ca_check_print.sxw 2013-04-25 21:23:42 +0000 and l10n_ca_account_check_writing/report/l10n_ca_check_print.sxw 2013-06-11 13:35:38 +0000 differ
=== modified file 'l10n_ca_account_check_writing/report/l10n_ca_check_print_middle.rml'
--- l10n_ca_account_check_writing/report/l10n_ca_check_print_middle.rml 2013-04-25 21:23:42 +0000
+++ l10n_ca_account_check_writing/report/l10n_ca_check_print_middle.rml 2013-06-11 13:35:38 +0000
@@ -99,6 +99,7 @@
99 </stylesheet>99 </stylesheet>
100 <story>100 <story>
101 <para style="P1">[[repeatIn(objects,'voucher')]]</para>101 <para style="P1">[[repeatIn(objects,'voucher')]]</para>
102 <para style="P1">[[ setLang(voucher.partner_id.lang) ]]</para>
102 <blockTable colWidths="568.0" style="Table2" rowHeights="280">103 <blockTable colWidths="568.0" style="Table2" rowHeights="280">
103 <tr>104 <tr>
104 <td>105 <td>
@@ -149,7 +150,7 @@
149 <para style="P19">[[ l['name'] ]]</para>150 <para style="P19">[[ l['name'] ]]</para>
150 </td>151 </td>
151 <td>152 <td>
152 <para style="P19">[[formatLang( l['amount_original']) ]]</para>153 <para style="P19">[[ formatLang( l['amount_original']) ]]</para>
153 </td>154 </td>
154 <td>155 <td>
155 <para style="P19">[[ formatLang( l['amount_due']) ]]</para>156 <para style="P19">[[ formatLang( l['amount_due']) ]]</para>
@@ -209,7 +210,7 @@
209 <para style="P3"><font color="white"> </font></para>210 <para style="P3"><font color="white"> </font></para>
210 </td>211 </td>
211 <td>212 <td>
212 <para style="P26">[[ str(fill_stars(voucher.amount_in_word)) ]]</para>213 <para style="P9">[[ voucher.amount_in_word ]]</para>
213 </td>214 </td>
214 </tr>215 </tr>
215 </blockTable>216 </blockTable>
216217
=== modified file 'l10n_ca_account_check_writing/report/l10n_ca_check_print_top.rml'
--- l10n_ca_account_check_writing/report/l10n_ca_check_print_top.rml 2013-04-25 21:23:42 +0000
+++ l10n_ca_account_check_writing/report/l10n_ca_check_print_top.rml 2013-06-11 13:35:38 +0000
@@ -97,6 +97,7 @@
97 </stylesheet>97 </stylesheet>
98 <story>98 <story>
99 <para style="P1">[[repeatIn(objects,'voucher')]]</para>99 <para style="P1">[[repeatIn(objects,'voucher')]]</para>
100 <para style="P1">[[ setLang(voucher.partner_id.lang) ]]</para>
100 <blockTable colWidths="568.0" style="Table1">101 <blockTable colWidths="568.0" style="Table1">
101 <tr>102 <tr>
102 <td>103 <td>
@@ -142,7 +143,7 @@
142 <blockTable colWidths="550.0" rowHeights="18" style="Table5">143 <blockTable colWidths="550.0" rowHeights="18" style="Table5">
143 <tr>144 <tr>
144 <td>145 <td>
145 <para style="P9">[[ fill_stars(voucher.amount_in_word) ]]</para>146 <para style="P9">[[ voucher.amount_in_word ]]</para>
146 </td>147 </td>
147 </tr>148 </tr>
148 </blockTable>149 </blockTable>
@@ -153,9 +154,7 @@
153 </td>154 </td>
154 <td>155 <td>
155 <para style="P9">[[ voucher.partner_id.name ]] </para>156 <para style="P9">[[ voucher.partner_id.name ]] </para>
156 <para style="P15">[[ voucher.partner_id.address and voucher.partner_id.address[0] and voucher.partner_id.address[0].street2 or removeParentNode('para') ]]</para>157 <para style="P15">[[ display_address(voucher.partner_id) or removeParentNode('para') ]]</para>
157 <para style="P15">[[ get_zip_line(voucher.partner_id.address[0]) ]] </para>
158 <para style="P15">[[ voucher.partner_id.address[0].country_id.name]]</para>
159 </td>158 </td>
160 <td>159 <td>
161 <para/>160 <para/>
162161
=== added directory 'res_currency_print_on_check'
=== added file 'res_currency_print_on_check/__init__.py'
--- res_currency_print_on_check/__init__.py 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/__init__.py 2013-06-11 13:35:38 +0000
@@ -0,0 +1,22 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22import currency
023
=== added file 'res_currency_print_on_check/__openerp__.py'
--- res_currency_print_on_check/__openerp__.py 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/__openerp__.py 2013-06-11 13:35:38 +0000
@@ -0,0 +1,47 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22# NOTE: The name of the supplied field was initially "display_name", but it seems that OpenERP,
23# whenever it seems "name" in the field, returns the value for "name". Well...
24
25{
26 'name': 'Display name for currencies',
27 'version': '1.0',
28 'author': 'Savoir-faire Linux',
29 'website': 'http://www.savoirfairelinux.com',
30 'category': 'Generic Modules/Accounting',
31 'description': """
32Supply res.currency.print_on_check
33==================================
34
35This module improves res.currency by adding the "print_on_check" field, which stores the human
36readable name of the currency (US Dollar, Euro, Canadian Dollar, etc.)
37""",
38 'depends': ['base'],
39 'data': [
40 'currency_view.xml',
41 'currency_data.xml',
42 ],
43 'demo': [],
44 'test': [],
45 'installable': True,
46 'active': False,
47}
048
=== added file 'res_currency_print_on_check/currency.py'
--- res_currency_print_on_check/currency.py 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/currency.py 2013-06-11 13:35:38 +0000
@@ -0,0 +1,28 @@
1# -*- coding: utf-8 -*-
2##############################################################################
3#
4# OpenERP, Open Source Management Solution
5# Copyright (C) 2013 Savoir-faire Linux (<http://www.savoirfairelinux.com>).
6#
7# This program is free software: you can redistribute it and/or modify
8# it under the terms of the GNU Affero General Public License as
9# published by the Free Software Foundation, either version 3 of the
10# License, or (at your option) any later version.
11#
12# This program is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15# GNU Affero General Public License for more details.
16#
17# You should have received a copy of the GNU Affero General Public License
18# along with this program. If not, see <http://www.gnu.org/licenses/>.
19#
20##############################################################################
21
22from openerp.osv import orm, fields
23
24class res_currency(orm.Model):
25 _inherit = 'res.currency'
26 _columns = {
27 'print_on_check': fields.char('Display Name', size=64, translate=True),
28 }
029
=== added file 'res_currency_print_on_check/currency_data.xml'
--- res_currency_print_on_check/currency_data.xml 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/currency_data.xml 2013-06-11 13:35:38 +0000
@@ -0,0 +1,274 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <record id="base.USD" model="res.currency">
6 <field name="print_on_check">U.S. dollars</field>
7 </record>
8
9 <record id="base.EUR" model="res.currency">
10 <field name="print_on_check">euros</field>
11 </record>
12
13 <record id="base.GBP" model="res.currency">
14 <field name="print_on_check">U.K. pounds</field>
15 </record>
16
17 <record id="base.CAD" model="res.currency">
18 <field name="print_on_check">canadian dollars</field>
19 </record>
20
21 <record id="base.AUD" model="res.currency">
22 <field name="print_on_check">australian dollars</field>
23 </record>
24
25 <record id="base.JPY" model="res.currency">
26 <field name="print_on_check">japanese yens</field>
27 </record>
28
29 <record id="base.INR" model="res.currency">
30 <field name="print_on_check">indian rupees</field>
31 </record>
32
33 <record id="base.NZD" model="res.currency">
34 <field name="print_on_check">New Zealand dollars</field>
35 </record>
36
37 <record id="base.CHF" model="res.currency">
38 <field name="print_on_check">swiss francs</field>
39 </record>
40
41 <record id="base.ZAR" model="res.currency">
42 <field name="print_on_check">south african rands</field>
43 </record>
44
45 <record id="base.AED" model="res.currency">
46 <field name="print_on_check">U.A.E. dirhams</field>
47 </record>
48
49 <record id="base.ANG" model="res.currency">
50 <field name="print_on_check">Neth. Antilles florins</field>
51 </record>
52
53 <record id="base.ARS" model="res.currency">
54 <field name="print_on_check">argentine pesos</field>
55 </record>
56
57 <record id="base.BBD" model="res.currency">
58 <field name="print_on_check">barbadian dollars</field>
59 </record>
60
61 <record id="base.BHD" model="res.currency">
62 <field name="print_on_check">bahraini dinars</field>
63 </record>
64
65 <record id="base.BRL" model="res.currency">
66 <field name="print_on_check">brazilian reals</field>
67 </record>
68
69 <record id="base.BSD" model="res.currency">
70 <field name="print_on_check">bahamian dollars</field>
71 </record>
72
73 <record id="base.CLP" model="res.currency">
74 <field name="print_on_check">chilean pesos</field>
75 </record>
76
77 <record id="base.CNY" model="res.currency">
78 <field name="print_on_check">chinese renminbis</field>
79 </record>
80
81 <record id="base.COP" model="res.currency">
82 <field name="print_on_check">colombian pesos</field>
83 </record>
84
85 <record id="base.CZK" model="res.currency">
86 <field name="print_on_check">Czech Republic korunas</field>
87 </record>
88
89 <record id="base.DKK" model="res.currency">
90 <field name="print_on_check">danish krones</field>
91 </record>
92
93 <record id="base.EGP" model="res.currency">
94 <field name="print_on_check">egyptian pounds</field>
95 </record>
96
97 <record id="base.FJD" model="res.currency">
98 <field name="print_on_check">Fiji dollars</field>
99 </record>
100
101 <record id="base.GHS" model="res.currency">
102 <field name="print_on_check">ghanaian cedis</field>
103 </record>
104
105 <record id="base.HKD" model="res.currency">
106 <field name="print_on_check">Hong Kong dollars</field>
107 </record>
108
109 <record id="base.HNL" model="res.currency">
110 <field name="print_on_check">honduran lempiras</field>
111 </record>
112
113 <record id="base.HRK" model="res.currency">
114 <field name="print_on_check">croatian kunas</field>
115 </record>
116
117 <record id="base.HUF" model="res.currency">
118 <field name="print_on_check">hungarian forints</field>
119 </record>
120
121 <record id="base.IDR" model="res.currency">
122 <field name="print_on_check">indonesian rupiahs</field>
123 </record>
124
125 <record id="base.ILS" model="res.currency">
126 <field name="print_on_check">israeli new shekels</field>
127 </record>
128
129 <record id="base.ISK" model="res.currency">
130 <field name="print_on_check">icelandic kronas</field>
131 </record>
132
133 <record id="base.JMD" model="res.currency">
134 <field name="print_on_check">jamaican dollars</field>
135 </record>
136
137 <record id="base.KRW" model="res.currency">
138 <field name="print_on_check">south korean wons</field>
139 </record>
140
141 <record id="base.LKR" model="res.currency">
142 <field name="print_on_check">Sri Lanka rupees</field>
143 </record>
144
145 <record id="base.LTL" model="res.currency">
146 <field name="print_on_check">lithuanian litas</field>
147 </record>
148
149 <record id="base.LVL" model="res.currency">
150 <field name="print_on_check">latvian lats</field>
151 </record>
152
153 <record id="base.MAD" model="res.currency">
154 <field name="print_on_check">moroccan dirhams</field>
155 </record>
156
157 <record id="base.MMK" model="res.currency">
158 <field name="print_on_check">Myanmar kyats</field>
159 </record>
160
161 <record id="base.MXN" model="res.currency">
162 <field name="print_on_check">mexican pesos</field>
163 </record>
164
165 <record id="base.MYR" model="res.currency">
166 <field name="print_on_check">malaysian ringgits</field>
167 </record>
168
169 <record id="base.MZN" model="res.currency">
170 <field name="print_on_check">mozambican meticals</field>
171 </record>
172
173 <record id="base.NIO" model="res.currency">
174 <field name="print_on_check">nicaraguan córdobas</field>
175 </record>
176
177 <record id="base.NOK" model="res.currency">
178 <field name="print_on_check">norwegian krones</field>
179 </record>
180
181 <record id="base.PAB" model="res.currency">
182 <field name="print_on_check">panamanian balboas</field>
183 </record>
184
185 <record id="base.PEN" model="res.currency">
186 <field name="print_on_check">peruvian new sols</field>
187 </record>
188
189 <record id="base.PHP" model="res.currency">
190 <field name="print_on_check">philippine pesos</field>
191 </record>
192
193 <record id="base.PKR" model="res.currency">
194 <field name="print_on_check">pakistan rupees</field>
195 </record>
196
197 <record id="base.PLN" model="res.currency">
198 <field name="print_on_check">polish zlotys</field>
199 </record>
200
201 <record id="base.RON" model="res.currency">
202 <field name="print_on_check">romanian new leus</field>
203 </record>
204
205 <record id="base.RSD" model="res.currency">
206 <field name="print_on_check">serbian dinars</field>
207 </record>
208
209 <record id="base.RUB" model="res.currency">
210 <field name="print_on_check">russian roubles</field>
211 </record>
212
213 <record id="base.SAR" model="res.currency">
214 <field name="print_on_check">saudi riyals</field>
215 </record>
216
217 <record id="base.SEK" model="res.currency">
218 <field name="print_on_check">swedish kronas</field>
219 </record>
220
221 <record id="base.SGD" model="res.currency">
222 <field name="print_on_check">Singapore dollars</field>
223 </record>
224
225 <record id="base.SIT" model="res.currency">
226 <field name="print_on_check">slovenian tolars</field>
227 </record>
228
229 <record id="base.SKK" model="res.currency">
230 <field name="print_on_check">slovak korunas</field>
231 </record>
232
233 <record id="base.THB" model="res.currency">
234 <field name="print_on_check">thai bahts</field>
235 </record>
236
237 <record id="base.TND" model="res.currency">
238 <field name="print_on_check">tunisian dinars</field>
239 </record>
240
241 <record id="base.TRL" model="res.currency">
242 <field name="print_on_check">turkish liras</field>
243 </record>
244
245 <record id="base.TWD" model="res.currency">
246 <field name="print_on_check">taiwanese new dollars</field>
247 </record>
248
249 <record id="base.UAH" model="res.currency">
250 <field name="print_on_check">ukrainian hryvnias</field>
251 </record>
252
253 <record id="base.VEF" model="res.currency">
254 <field name="print_on_check">venezuelan bolivars fuerte</field>
255 </record>
256
257 <record id="base.VND" model="res.currency">
258 <field name="print_on_check">vietnamese dongs</field>
259 </record>
260
261 <record id="base.XAF" model="res.currency">
262 <field name="print_on_check">CFA francs</field>
263 </record>
264
265 <record id="base.XCD" model="res.currency">
266 <field name="print_on_check">east caribbean dollars</field>
267 </record>
268
269 <record id="base.XPF" model="res.currency">
270 <field name="print_on_check">CFP francs</field>
271 </record>
272
273 </data>
274</openerp>
0275
=== added file 'res_currency_print_on_check/currency_view.xml'
--- res_currency_print_on_check/currency_view.xml 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/currency_view.xml 2013-06-11 13:35:38 +0000
@@ -0,0 +1,17 @@
1<?xml version="1.0" encoding="utf-8"?>
2<openerp>
3 <data>
4
5 <record id="view_currency_form" model="ir.ui.view">
6 <field name="name">res.currency.form.print_on_check</field>
7 <field name="model">res.currency</field>
8 <field name="inherit_id" ref="base.view_currency_form"/>
9 <field name="arch" type="xml">
10 <xpath expr="//field[@name='rate']" position="after">
11 <field name="print_on_check"/>
12 </xpath>
13 </field>
14 </record>
15
16 </data>
17</openerp>
018
=== added directory 'res_currency_print_on_check/i18n'
=== added file 'res_currency_print_on_check/i18n/res_currency_print_on_check.pot'
--- res_currency_print_on_check/i18n/res_currency_print_on_check.pot 1970-01-01 00:00:00 +0000
+++ res_currency_print_on_check/i18n/res_currency_print_on_check.pot 2013-06-11 13:35:38 +0000
@@ -0,0 +1,27 @@
1# Translation of OpenERP Server.
2# This file contains the translation of the following modules:
3# * res_currency_print_on_check
4#
5msgid ""
6msgstr ""
7"Project-Id-Version: OpenERP Server 7.0\n"
8"Report-Msgid-Bugs-To: \n"
9"POT-Creation-Date: 2013-06-08 16:22+0000\n"
10"PO-Revision-Date: 2013-06-08 16:22+0000\n"
11"Last-Translator: <>\n"
12"Language-Team: \n"
13"MIME-Version: 1.0\n"
14"Content-Type: text/plain; charset=UTF-8\n"
15"Content-Transfer-Encoding: \n"
16"Plural-Forms: \n"
17
18#. module: res_currency_print_on_check
19#: model:ir.model,name:res_currency_print_on_check.model_res_currency
20msgid "Currency"
21msgstr "Currency"
22
23#. module: res_currency_print_on_check
24#: field:res.currency,print_on_check:0
25msgid "Display Name"
26msgstr "Display Name"
27

Subscribers

People subscribed via source and target branches