Merge lp:~openobject-italia-core-devs/openobject-italia/add_abi_cab into lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1
- add_abi_cab
- Merge into italian-addons-6.1
Proposed by
Franco Tampieri
Status: | Superseded |
---|---|
Proposed branch: | lp:~openobject-italia-core-devs/openobject-italia/add_abi_cab |
Merge into: | lp:~openobject-italia-core-devs/openobject-italia/italian-addons-6.1 |
Diff against target: |
1310 lines (+941/-182) 25 files modified
l10n_it_abicab/AUTHORS.txt (+1/-0) l10n_it_abicab/__init__.py (+24/-0) l10n_it_abicab/__openerp__.py (+37/-0) l10n_it_abicab/abicab.py (+46/-0) l10n_it_abicab/abicab_view.xml (+46/-0) l10n_it_abicab/i18n/it.po (+37/-0) l10n_it_account/AUTHORS.txt (+1/-0) l10n_it_account/__init__.py (+2/-3) l10n_it_account/__openerp__.py (+4/-4) l10n_it_account/account/__init__.py (+2/-3) l10n_it_account/account/account.py (+0/-136) l10n_it_account/account/partner_view.xml (+0/-27) l10n_it_fiscalcode/AUTHORS.txt (+10/-0) l10n_it_fiscalcode/__init__.py (+25/-0) l10n_it_fiscalcode/__openerp__.py (+46/-0) l10n_it_fiscalcode/fiscalcode.py (+49/-0) l10n_it_fiscalcode/fiscalcode_view.xml (+24/-0) l10n_it_fiscalcode/i18n/it.po (+113/-0) l10n_it_fiscalcode/i18n/l10n_it_account.pot (+117/-0) l10n_it_fiscalcode/wizard/__init__.py (+24/-0) l10n_it_fiscalcode/wizard/compute_fc.py (+125/-0) l10n_it_fiscalcode/wizard/compute_fc_view.xml (+50/-0) l10n_it_sale/AUTHORS.txt (+1/-1) l10n_it_sale/partner/partner_view.xml (+7/-8) l10n_it_withholding_tax/i18n/it.po (+150/-0) |
To merge this branch: | bzr merge lp:~openobject-italia-core-devs/openobject-italia/add_abi_cab |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Lorenzo Battistini | Disapprove | ||
Review via email:
|
This proposal supersedes a proposal from 2012-10-11.
This proposal has been superseded by a proposal from 2012-10-13.
Commit message
Description of the change
[Add] Abi/Cab code
[Add] New fiscal Code Management
[Add] l10n_it_
[Mod] l10n_it_account removed the fiscal code management.
To post a comment you must log in.
- 207. By Franco Tampieri
-
[Fix] Add some usability improvement
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Lorenzo Battistini (elbati) wrote : Posted in a previous version of this proposal | # |
review:
Disapprove
Revision history for this message
![](/+icing/build/overlay/assets/skins/sam/images/close.gif)
Lorenzo Battistini (elbati) wrote : | # |
review:
Disapprove
- 208. By Lorenzo Battistini
-
[fix] reverting l10n_it_account to 6.1 version
- 209. By Lorenzo Battistini
-
[fix] l10n_it_account reverted
- 210. By Lorenzo Battistini
-
[FIX] l10n_it_fiscalcode - view
Unmerged revisions
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added directory 'l10n_it_abicab' | |||
2 | === added file 'l10n_it_abicab/AUTHORS.txt' | |||
3 | --- l10n_it_abicab/AUTHORS.txt 1970-01-01 00:00:00 +0000 | |||
4 | +++ l10n_it_abicab/AUTHORS.txt 2012-10-13 22:49:20 +0000 | |||
5 | @@ -0,0 +1,1 @@ | |||
6 | 1 | Franco Tampieri <franco.tampieri@agilebg.com> | ||
7 | 0 | 2 | ||
8 | === added file 'l10n_it_abicab/__init__.py' | |||
9 | --- l10n_it_abicab/__init__.py 1970-01-01 00:00:00 +0000 | |||
10 | +++ l10n_it_abicab/__init__.py 2012-10-13 22:49:20 +0000 | |||
11 | @@ -0,0 +1,24 @@ | |||
12 | 1 | # -*- encoding: utf-8 -*- | ||
13 | 2 | ############################################################################## | ||
14 | 3 | # | ||
15 | 4 | # OpenERP, Open Source Management Solution | ||
16 | 5 | # Copyright (C) 2012 | ||
17 | 6 | # Associazione OpenERP Italia (<http://www.openerp-italia.org>) | ||
18 | 7 | # | ||
19 | 8 | # This program is free software: you can redistribute it and/or modify | ||
20 | 9 | # it under the terms of the GNU Affero General Public License as | ||
21 | 10 | # published by the Free Software Foundation, either version 3 of the | ||
22 | 11 | # License, or (at your option) any later version. | ||
23 | 12 | # | ||
24 | 13 | # This program is distributed in the hope that it will be useful, | ||
25 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
26 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
27 | 16 | # GNU Affero General Public License for more details. | ||
28 | 17 | # | ||
29 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
30 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
31 | 20 | # | ||
32 | 21 | ############################################################################# | ||
33 | 22 | |||
34 | 23 | import abicab | ||
35 | 24 | |||
36 | 0 | 25 | ||
37 | === added file 'l10n_it_abicab/__openerp__.py' | |||
38 | --- l10n_it_abicab/__openerp__.py 1970-01-01 00:00:00 +0000 | |||
39 | +++ l10n_it_abicab/__openerp__.py 2012-10-13 22:49:20 +0000 | |||
40 | @@ -0,0 +1,37 @@ | |||
41 | 1 | # -*- encoding: utf-8 -*- | ||
42 | 2 | ############################################################################## | ||
43 | 3 | # | ||
44 | 4 | # OpenERP, Open Source Management Solution | ||
45 | 5 | # Copyright (C) 2012 | ||
46 | 6 | # Associazione OpenERP Italia (<http://www.openerp-italia.org>) | ||
47 | 7 | # | ||
48 | 8 | # This program is free software: you can redistribute it and/or modify | ||
49 | 9 | # it under the terms of the GNU Affero General Public License as | ||
50 | 10 | # published by the Free Software Foundation, either version 3 of the | ||
51 | 11 | # License, or (at your option) any later version. | ||
52 | 12 | # | ||
53 | 13 | # This program is distributed in the hope that it will be useful, | ||
54 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
55 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
56 | 16 | # GNU Affero General Public License for more details. | ||
57 | 17 | # | ||
58 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
59 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
60 | 20 | # | ||
61 | 21 | ############################################################################# | ||
62 | 22 | |||
63 | 23 | { | ||
64 | 24 | 'name': 'Italian Localisation - Base Bank ABI/CAB codes', | ||
65 | 25 | 'version': '1.0', | ||
66 | 26 | 'category': 'Localisation/Italy', | ||
67 | 27 | 'description': """ | ||
68 | 28 | Insert in the res.bank model the proprieties of the ABI/CAB | ||
69 | 29 | """, | ||
70 | 30 | 'author': 'OpenERP Italian Community', | ||
71 | 31 | 'depends': ['base'], | ||
72 | 32 | 'website': 'http://www.openerp-italia.org/', | ||
73 | 33 | 'update_xml': ['abicab_view.xml'], | ||
74 | 34 | 'installable': True, | ||
75 | 35 | 'active': False, | ||
76 | 36 | 'certificate': '', | ||
77 | 37 | } | ||
78 | 0 | \ No newline at end of file | 38 | \ No newline at end of file |
79 | 1 | 39 | ||
80 | === added file 'l10n_it_abicab/abicab.py' | |||
81 | --- l10n_it_abicab/abicab.py 1970-01-01 00:00:00 +0000 | |||
82 | +++ l10n_it_abicab/abicab.py 2012-10-13 22:49:20 +0000 | |||
83 | @@ -0,0 +1,46 @@ | |||
84 | 1 | # -*- encoding: utf-8 -*- | ||
85 | 2 | ############################################################################## | ||
86 | 3 | # | ||
87 | 4 | # OpenERP, Open Source Management Solution | ||
88 | 5 | # Copyright (C) 2012 | ||
89 | 6 | # Associazione OpenERP Italia (<http://www.openerp-italia.org>) | ||
90 | 7 | # | ||
91 | 8 | # This program is free software: you can redistribute it and/or modify | ||
92 | 9 | # it under the terms of the GNU Affero General Public License as | ||
93 | 10 | # published by the Free Software Foundation, either version 3 of the | ||
94 | 11 | # License, or (at your option) any later version. | ||
95 | 12 | # | ||
96 | 13 | # This program is distributed in the hope that it will be useful, | ||
97 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
98 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
99 | 16 | # GNU Affero General Public License for more details. | ||
100 | 17 | # | ||
101 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
102 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
103 | 20 | # | ||
104 | 21 | ############################################################################# | ||
105 | 22 | |||
106 | 23 | from osv import fields, osv | ||
107 | 24 | |||
108 | 25 | class res_bank(osv.osv): | ||
109 | 26 | _inherit = "res.bank" | ||
110 | 27 | _columns = { | ||
111 | 28 | 'abi': fields.char('ABI', size=5), | ||
112 | 29 | 'cab': fields.char('CAB', size=5), | ||
113 | 30 | } | ||
114 | 31 | |||
115 | 32 | class res_partner_bank(osv.osv): | ||
116 | 33 | _inherit = "res.partner.bank" | ||
117 | 34 | _columns = { | ||
118 | 35 | 'bank_abi': fields.char('ABI', size=5), | ||
119 | 36 | 'bank_cab': fields.char('CAB', size=5), | ||
120 | 37 | } | ||
121 | 38 | |||
122 | 39 | def onchange_bank_id(self, cr, uid, ids, bank_id, context=None): | ||
123 | 40 | result = super(res_partner_bank, self).onchange_bank_id(cr, uid, ids, bank_id, context=context) | ||
124 | 41 | if bank_id: | ||
125 | 42 | bank = self.pool.get('res.bank').browse(cr, uid, bank_id, context=context) | ||
126 | 43 | result['value']['bank_abi'] = bank.abi | ||
127 | 44 | result['value']['bank_cab'] = bank.cab | ||
128 | 45 | return result | ||
129 | 46 | |||
130 | 0 | 47 | ||
131 | === added file 'l10n_it_abicab/abicab_view.xml' | |||
132 | --- l10n_it_abicab/abicab_view.xml 1970-01-01 00:00:00 +0000 | |||
133 | +++ l10n_it_abicab/abicab_view.xml 2012-10-13 22:49:20 +0000 | |||
134 | @@ -0,0 +1,46 @@ | |||
135 | 1 | <?xml version="1.0" ?> | ||
136 | 2 | <openerp> | ||
137 | 3 | <data> | ||
138 | 4 | |||
139 | 5 | <record id="view_bank_tree_abicab" model="ir.ui.view"> | ||
140 | 6 | <field name="name">res.bank.tree.abicab</field> | ||
141 | 7 | <field name="model">res.bank</field> | ||
142 | 8 | <field name="inherit_id" ref="base.view_res_bank_tree"/> | ||
143 | 9 | <field name="arch" type="xml"> | ||
144 | 10 | <field name="name" position="after"> | ||
145 | 11 | <field name="abi"/> | ||
146 | 12 | <field name="cab"/> | ||
147 | 13 | </field> | ||
148 | 14 | </field> | ||
149 | 15 | </record> | ||
150 | 16 | |||
151 | 17 | <record id="view_bank_form_abicab" model="ir.ui.view"> | ||
152 | 18 | <field name="name">res.bank.form.abicab</field> | ||
153 | 19 | <field name="model">res.bank</field> | ||
154 | 20 | <field name="inherit_id" ref="base.view_res_bank_form"/> | ||
155 | 21 | <field name="arch" type="xml"> | ||
156 | 22 | <field name="name" position="after"> | ||
157 | 23 | <newline/> | ||
158 | 24 | <separator string="Bank Details" colspan="6"/> | ||
159 | 25 | <group colspan="6" col="6"> | ||
160 | 26 | <field name="abi"/> | ||
161 | 27 | <field name="cab"/> | ||
162 | 28 | </group> | ||
163 | 29 | </field> | ||
164 | 30 | </field> | ||
165 | 31 | </record> | ||
166 | 32 | |||
167 | 33 | <record id="view_partner_bank_form_abicab" model="ir.ui.view"> | ||
168 | 34 | <field name="name">res.partner.bank.form</field> | ||
169 | 35 | <field name="model">res.partner</field> | ||
170 | 36 | <field name="inherit_id" ref="base.view_partner_form"/> | ||
171 | 37 | <field name="arch" type="xml"> | ||
172 | 38 | <field name="bank_name" position="after"> | ||
173 | 39 | <field name="bank_abi"/> | ||
174 | 40 | <field name="bank_cab"/> | ||
175 | 41 | </field> | ||
176 | 42 | </field> | ||
177 | 43 | </record> | ||
178 | 44 | |||
179 | 45 | </data> | ||
180 | 46 | </openerp> | ||
181 | 0 | \ No newline at end of file | 47 | \ No newline at end of file |
182 | 1 | 48 | ||
183 | === added directory 'l10n_it_abicab/i18n' | |||
184 | === added file 'l10n_it_abicab/i18n/it.mo' | |||
185 | 2 | Binary files l10n_it_abicab/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_abicab/i18n/it.mo 2012-10-13 22:49:20 +0000 differ | 49 | Binary files l10n_it_abicab/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_abicab/i18n/it.mo 2012-10-13 22:49:20 +0000 differ |
186 | === added file 'l10n_it_abicab/i18n/it.po' | |||
187 | --- l10n_it_abicab/i18n/it.po 1970-01-01 00:00:00 +0000 | |||
188 | +++ l10n_it_abicab/i18n/it.po 2012-10-13 22:49:20 +0000 | |||
189 | @@ -0,0 +1,37 @@ | |||
190 | 1 | # Translation of OpenERP Server. | ||
191 | 2 | # This file contains the translation of the following modules: | ||
192 | 3 | # * l10n_it_abicab | ||
193 | 4 | # | ||
194 | 5 | msgid "" | ||
195 | 6 | msgstr "" | ||
196 | 7 | "Project-Id-Version: OpenERP Server 6.0.3\n" | ||
197 | 8 | "Report-Msgid-Bugs-To: support@openerp.com\n" | ||
198 | 9 | "POT-Creation-Date: 2011-12-29 13:07+0000\n" | ||
199 | 10 | "PO-Revision-Date: 2011-12-29 14:08+0100\n" | ||
200 | 11 | "Last-Translator: Franco Tampieri <info@titdata.it>\n" | ||
201 | 12 | "Language-Team: \n" | ||
202 | 13 | "MIME-Version: 1.0\n" | ||
203 | 14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
204 | 15 | "Content-Transfer-Encoding: 8bit\n" | ||
205 | 16 | "Plural-Forms: \n" | ||
206 | 17 | |||
207 | 18 | #. module: l10n_it_abicab | ||
208 | 19 | #: field:res.bank,abi:0 | ||
209 | 20 | msgid "ABI" | ||
210 | 21 | msgstr "ABI" | ||
211 | 22 | |||
212 | 23 | #. module: l10n_it_abicab | ||
213 | 24 | #: view:res.bank:0 | ||
214 | 25 | msgid "Bank Details" | ||
215 | 26 | msgstr "Dettagli Banca" | ||
216 | 27 | |||
217 | 28 | #. module: l10n_it_abicab | ||
218 | 29 | #: model:ir.model,name:l10n_it_abicab.model_res_bank | ||
219 | 30 | msgid "Bank" | ||
220 | 31 | msgstr "Banca" | ||
221 | 32 | |||
222 | 33 | #. module: l10n_it_abicab | ||
223 | 34 | #: field:res.bank,cab:0 | ||
224 | 35 | msgid "CAB" | ||
225 | 36 | msgstr "CAB" | ||
226 | 37 | |||
227 | 0 | 38 | ||
228 | === modified file 'l10n_it_account/AUTHORS.txt' | |||
229 | --- l10n_it_account/AUTHORS.txt 2010-09-22 13:43:42 +0000 | |||
230 | +++ l10n_it_account/AUTHORS.txt 2012-10-13 22:49:20 +0000 | |||
231 | @@ -6,4 +6,5 @@ | |||
232 | 6 | Giovanni Barzan <giovanni.barzan@gmail.com> | 6 | Giovanni Barzan <giovanni.barzan@gmail.com> |
233 | 7 | Lorenzo Battistini <lorenzo.battistini@albatos.com> | 7 | Lorenzo Battistini <lorenzo.battistini@albatos.com> |
234 | 8 | Roberto Onnis <onnis.roberto@gmail.com> | 8 | Roberto Onnis <onnis.roberto@gmail.com> |
235 | 9 | Franco Tampieri <franco.tampieri@agilebg.com> | ||
236 | 9 | 10 | ||
237 | 10 | 11 | ||
238 | === modified file 'l10n_it_account/__init__.py' | |||
239 | --- l10n_it_account/__init__.py 2012-03-09 08:52:48 +0000 | |||
240 | +++ l10n_it_account/__init__.py 2012-10-13 22:49:20 +0000 | |||
241 | @@ -1,8 +1,8 @@ | |||
242 | 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
243 | 2 | ############################################################################## | 2 | ############################################################################## |
245 | 3 | # | 3 | # |
246 | 4 | # Copyright (C) 2010 Associazione OpenERP Italia | 4 | # Copyright (C) 2010 Associazione OpenERP Italia |
248 | 5 | # (<http://www.openerp-italia.org>). | 5 | # (<http://www.openerp-italia.org>). |
249 | 6 | # All Rights Reserved | 6 | # All Rights Reserved |
250 | 7 | # | 7 | # |
251 | 8 | # This program is free software: you can redistribute it and/or modify | 8 | # This program is free software: you can redistribute it and/or modify |
252 | @@ -21,5 +21,4 @@ | |||
253 | 21 | ############################################################################## | 21 | ############################################################################## |
254 | 22 | 22 | ||
255 | 23 | import account | 23 | import account |
256 | 24 | # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4: | ||
257 | 25 | 24 | ||
258 | 26 | 25 | ||
259 | === modified file 'l10n_it_account/__openerp__.py' | |||
260 | --- l10n_it_account/__openerp__.py 2012-03-09 08:52:48 +0000 | |||
261 | +++ l10n_it_account/__openerp__.py 2012-10-13 22:49:20 +0000 | |||
262 | @@ -1,8 +1,8 @@ | |||
263 | 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
264 | 2 | ############################################################################## | 2 | ############################################################################## |
266 | 3 | # | 3 | # |
267 | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia |
269 | 5 | # (<http://www.openerp-italia.org>). | 5 | # (<http://www.openerp-italia.org>). |
270 | 6 | # All Rights Reserved | 6 | # All Rights Reserved |
271 | 7 | # | 7 | # |
272 | 8 | # This program is free software: you can redistribute it and/or modify | 8 | # This program is free software: you can redistribute it and/or modify |
273 | @@ -34,8 +34,8 @@ | |||
274 | 34 | 'author': 'OpenERP Italian Community', | 34 | 'author': 'OpenERP Italian Community', |
275 | 35 | 'website': 'http://www.openerp-italia.org', | 35 | 'website': 'http://www.openerp-italia.org', |
276 | 36 | 'license': 'AGPL-3', | 36 | 'license': 'AGPL-3', |
279 | 37 | "depends" : ['account','base_vat','account_chart','base_iban', 'l10n_it_base'], | 37 | "depends" : ['account','base_vat','account_chart','base_iban'], |
280 | 38 | "init_xml" : ['account/partner_view.xml'], | 38 | "init_xml" : [], |
281 | 39 | "update_xml" : [], | 39 | "update_xml" : [], |
282 | 40 | "demo_xml" : [], | 40 | "demo_xml" : [], |
283 | 41 | "active": False, | 41 | "active": False, |
284 | 42 | 42 | ||
285 | === modified file 'l10n_it_account/account/__init__.py' | |||
286 | --- l10n_it_account/account/__init__.py 2012-03-09 08:52:48 +0000 | |||
287 | +++ l10n_it_account/account/__init__.py 2012-10-13 22:49:20 +0000 | |||
288 | @@ -1,8 +1,8 @@ | |||
289 | 1 | # -*- coding: utf-8 -*- | 1 | # -*- coding: utf-8 -*- |
290 | 2 | ############################################################################## | 2 | ############################################################################## |
292 | 3 | # | 3 | # |
293 | 4 | # Copyright (C) 2010 Associazione OpenERP Italia | 4 | # Copyright (C) 2010 Associazione OpenERP Italia |
295 | 5 | # (<http://www.openerp-italia.org>). | 5 | # (<http://www.openerp-italia.org>). |
296 | 6 | # All Rights Reserved | 6 | # All Rights Reserved |
297 | 7 | # | 7 | # |
298 | 8 | # This program is free software: you can redistribute it and/or modify | 8 | # This program is free software: you can redistribute it and/or modify |
299 | @@ -20,5 +20,4 @@ | |||
300 | 20 | # | 20 | # |
301 | 21 | ############################################################################## | 21 | ############################################################################## |
302 | 22 | 22 | ||
303 | 23 | import account | ||
304 | 24 | import invoice | 23 | import invoice |
305 | 25 | 24 | ||
306 | === removed file 'l10n_it_account/account/account.py' | |||
307 | --- l10n_it_account/account/account.py 2012-03-09 08:52:48 +0000 | |||
308 | +++ l10n_it_account/account/account.py 1970-01-01 00:00:00 +0000 | |||
309 | @@ -1,136 +0,0 @@ | |||
310 | 1 | # -*- coding: utf-8 -*- | ||
311 | 2 | ############################################################################## | ||
312 | 3 | # | ||
313 | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia | ||
314 | 5 | # (<http://www.openerp-italia.org>). | ||
315 | 6 | # All Rights Reserved | ||
316 | 7 | # | ||
317 | 8 | # This program is free software: you can redistribute it and/or modify | ||
318 | 9 | # it under the terms of the GNU Affero General Public License as published by | ||
319 | 10 | # the Free Software Foundation, either version 3 of the License, or | ||
320 | 11 | # (at your option) any later version. | ||
321 | 12 | # | ||
322 | 13 | # This program is distributed in the hope that it will be useful, | ||
323 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
324 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
325 | 16 | # GNU General Public License for more details. | ||
326 | 17 | # | ||
327 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
328 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
329 | 20 | # | ||
330 | 21 | ############################################################################## | ||
331 | 22 | |||
332 | 23 | from osv import fields, osv | ||
333 | 24 | import datetime | ||
334 | 25 | |||
335 | 26 | class res_partner(osv.osv): | ||
336 | 27 | _inherit = 'res.partner' | ||
337 | 28 | |||
338 | 29 | def check_fiscalcode(self, cr, uid, ids, context={}): | ||
339 | 30 | |||
340 | 31 | for partner in self.browse(cr, uid, ids): | ||
341 | 32 | if not partner.fiscalcode: | ||
342 | 33 | return True | ||
343 | 34 | if len(partner.fiscalcode) != 16: | ||
344 | 35 | return False | ||
345 | 36 | |||
346 | 37 | return True | ||
347 | 38 | |||
348 | 39 | _columns = { | ||
349 | 40 | 'fiscalcode': fields.char('Fiscal Code', size=16, help="Italian Fiscal Code"), | ||
350 | 41 | 'fiscalcode_surname': fields.char('Surname', size=64), | ||
351 | 42 | 'fiscalcode_firstname': fields.char('First name', size=64), | ||
352 | 43 | 'birth_date': fields.date('Date of birth'), | ||
353 | 44 | 'birth_city': fields.many2one('res.city', 'City of birth'), | ||
354 | 45 | 'sex': fields.selection([ | ||
355 | 46 | ('M','Male'), | ||
356 | 47 | ('F', 'Female'), | ||
357 | 48 | ], "Sex"), | ||
358 | 49 | } | ||
359 | 50 | #_constraints = [(check_fiscalcode, "The fiscal code doesn't seem to be correct.", ["fiscalcode"])] | ||
360 | 51 | |||
361 | 52 | |||
362 | 53 | def _codicefiscale(self, cognome, nome, giornonascita, mesenascita, annonascita, | ||
363 | 54 | sesso, cittanascita): | ||
364 | 55 | |||
365 | 56 | MESI = 'ABCDEHLMPRST' | ||
366 | 57 | CONSONANTI = 'BCDFGHJKLMNPQRSTVWXYZ' | ||
367 | 58 | VOCALI = 'AEIOU' | ||
368 | 59 | LETTERE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
369 | 60 | REGOLECONTROLLO = { | ||
370 | 61 | 'A':(0,1), 'B':(1,0), 'C':(2,5), 'D':(3,7), 'E':(4,9), | ||
371 | 62 | 'F':(5,13), 'G':(6,15), 'H':(7,17), 'I':(8,19), 'J':(9,21), | ||
372 | 63 | 'K':(10,2), 'L':(11,4), 'M':(12,18), 'N':(13,20), 'O':(14,11), | ||
373 | 64 | 'P':(15,3), 'Q':(16,6), 'R':(17,8), 'S':(18,12), 'T':(19,14), | ||
374 | 65 | 'U':(20,16), 'V':(21,10), 'W':(22,22), 'X':(23,25), 'Y':(24,24), | ||
375 | 66 | 'Z':(25,23), | ||
376 | 67 | '0':(0,1), '1':(1,0), '2':(2,5), '3':(3,7), '4':(4,9), | ||
377 | 68 | '5':(5,13), '6':(6,15), '7':(7,17), '8':(8,19), '9':(9,21) | ||
378 | 69 | } | ||
379 | 70 | ### | ||
380 | 71 | # Funzioni | ||
381 | 72 | ## | ||
382 | 73 | |||
383 | 74 | def _surname(stringa): | ||
384 | 75 | """Ricava, da stringa, 3 lettere in base alla convenzione dei CF.""" | ||
385 | 76 | cons = [c for c in stringa if c in CONSONANTI] | ||
386 | 77 | voc = [c for c in stringa if c in VOCALI] | ||
387 | 78 | chars=cons+voc | ||
388 | 79 | if len(chars)<3: | ||
389 | 80 | chars+=['X', 'X'] | ||
390 | 81 | return chars[:3] | ||
391 | 82 | |||
392 | 83 | def _name(stringa): | ||
393 | 84 | """Ricava, da stringa, 3 lettere in base alla convenzione dei CF.""" | ||
394 | 85 | cons = [c for c in stringa if c in CONSONANTI] | ||
395 | 86 | voc = [c for c in stringa if c in VOCALI] | ||
396 | 87 | if len(cons)>3: | ||
397 | 88 | cons = [cons[0]] +[cons[2]] + [cons[3]] | ||
398 | 89 | chars=cons+voc | ||
399 | 90 | if len(chars)<3: | ||
400 | 91 | chars+=['X', 'X'] | ||
401 | 92 | return chars[:3] | ||
402 | 93 | |||
403 | 94 | def _datan(giorno, mese, anno, sesso): | ||
404 | 95 | """Restituisce il campo data del CF.""" | ||
405 | 96 | chars = (list(anno[-2:]) + [MESI[int(mese)-1]]) | ||
406 | 97 | gn=int(giorno) | ||
407 | 98 | if sesso=='F': | ||
408 | 99 | gn+=40 | ||
409 | 100 | chars += list("%02d" % gn) | ||
410 | 101 | return chars | ||
411 | 102 | |||
412 | 103 | def _codicecontrollo(c): | ||
413 | 104 | """Restituisce il codice di controllo, l'ultimo carattere del CF.""" | ||
414 | 105 | sommone = 0 | ||
415 | 106 | for i, car in enumerate(c): | ||
416 | 107 | j = 1 - i % 2 | ||
417 | 108 | sommone += REGOLECONTROLLO[car][j] | ||
418 | 109 | resto = sommone % 26 | ||
419 | 110 | return [LETTERE[resto]] | ||
420 | 111 | |||
421 | 112 | """Restituisce il CF costruito sulla base degli argomenti.""" | ||
422 | 113 | nome=nome.upper() | ||
423 | 114 | cognome=cognome.upper() | ||
424 | 115 | sesso=sesso.upper() | ||
425 | 116 | cittanascita = cittanascita.upper() | ||
426 | 117 | chars = (_surname(cognome) + | ||
427 | 118 | _name(nome) + | ||
428 | 119 | _datan(giornonascita, mesenascita, annonascita, sesso) + | ||
429 | 120 | list(cittanascita)) | ||
430 | 121 | chars += _codicecontrollo(chars) | ||
431 | 122 | return ''.join(chars) | ||
432 | 123 | |||
433 | 124 | def compute_fiscal_code(self, cr, uid, ids, context): | ||
434 | 125 | partners = self.browse(cr, uid, ids, context) | ||
435 | 126 | for partner in partners: | ||
436 | 127 | if not partner.fiscalcode_surname or not partner.fiscalcode_firstname or not partner.birth_date or not partner.birth_city or not partner.sex: | ||
437 | 128 | raise osv.except_osv('Error', 'One or more fields are missing') | ||
438 | 129 | birth_date = datetime.datetime.strptime(partner.birth_date, "%Y-%m-%d") | ||
439 | 130 | CF = self._codicefiscale(partner.fiscalcode_surname, partner.fiscalcode_firstname, str(birth_date.day), | ||
440 | 131 | str(birth_date.month), str(birth_date.year), partner.sex, | ||
441 | 132 | partner.birth_city.cadaster_code) | ||
442 | 133 | self.write(cr, uid, partner.id, {'fiscalcode': CF}) | ||
443 | 134 | return True | ||
444 | 135 | |||
445 | 136 | res_partner() | ||
446 | 137 | 0 | ||
447 | === removed file 'l10n_it_account/account/partner_view.xml' | |||
448 | --- l10n_it_account/account/partner_view.xml 2010-10-28 16:05:31 +0000 | |||
449 | +++ l10n_it_account/account/partner_view.xml 1970-01-01 00:00:00 +0000 | |||
450 | @@ -1,27 +0,0 @@ | |||
451 | 1 | <?xml version="1.0" ?> | ||
452 | 2 | <openerp> | ||
453 | 3 | <data> | ||
454 | 4 | |||
455 | 5 | <record id="view_partner_form_fiscalcode_data" model="ir.ui.view"> | ||
456 | 6 | <field name="name">res.partner.fiscalcode.data</field> | ||
457 | 7 | <field name="model">res.partner</field> | ||
458 | 8 | <field name="inherit_id" ref="base.view_partner_form"/> | ||
459 | 9 | <field name="arch" type="xml"> | ||
460 | 10 | <page string="Notes" position="after" > | ||
461 | 11 | <page string="Fiscal Code" > | ||
462 | 12 | <separator colspan="4"/> | ||
463 | 13 | <field name="fiscalcode"/> | ||
464 | 14 | <newline/> | ||
465 | 15 | <separator string="Compute Fiscal Code" colspan="4"/> | ||
466 | 16 | <field name="fiscalcode_surname"/> | ||
467 | 17 | <field name="fiscalcode_firstname"/> | ||
468 | 18 | <field name="birth_date"/> | ||
469 | 19 | <field name="birth_city"/> | ||
470 | 20 | <field name="sex"/> | ||
471 | 21 | <button name="compute_fiscal_code" type="object" string="Compute"/> | ||
472 | 22 | </page> | ||
473 | 23 | </page> | ||
474 | 24 | </field> | ||
475 | 25 | </record> | ||
476 | 26 | </data> | ||
477 | 27 | </openerp> | ||
478 | 28 | 0 | ||
479 | === added directory 'l10n_it_fiscalcode' | |||
480 | === added file 'l10n_it_fiscalcode/AUTHORS.txt' | |||
481 | --- l10n_it_fiscalcode/AUTHORS.txt 1970-01-01 00:00:00 +0000 | |||
482 | +++ l10n_it_fiscalcode/AUTHORS.txt 2012-10-13 22:49:20 +0000 | |||
483 | @@ -0,0 +1,10 @@ | |||
484 | 1 | Davide Corio <davide.corio@domsense.com> | ||
485 | 2 | Luca Subiaco <subluca@gmail.com> | ||
486 | 3 | Simone Orsi <simone.orsi@domsense.com> | ||
487 | 4 | Mario Riva <mario.riva@domsense.com> | ||
488 | 5 | Mauro Soligo <mauro.soligo@katodo.com> | ||
489 | 6 | Giovanni Barzan <giovanni.barzan@gmail.com> | ||
490 | 7 | Lorenzo Battistini <lorenzo.battistini@albatos.com> | ||
491 | 8 | Roberto Onnis <onnis.roberto@gmail.com> | ||
492 | 9 | Franco Tampieri <franco.tampieri@agilebg.com> | ||
493 | 10 | |||
494 | 0 | 11 | ||
495 | === added file 'l10n_it_fiscalcode/__init__.py' | |||
496 | --- l10n_it_fiscalcode/__init__.py 1970-01-01 00:00:00 +0000 | |||
497 | +++ l10n_it_fiscalcode/__init__.py 2012-10-13 22:49:20 +0000 | |||
498 | @@ -0,0 +1,25 @@ | |||
499 | 1 | # -*- coding: utf-8 -*- | ||
500 | 2 | ############################################################################## | ||
501 | 3 | # | ||
502 | 4 | # Copyright (C) 2012 Associazione OpenERP Italia | ||
503 | 5 | # (<http://www.openerp-italia.org>). | ||
504 | 6 | # All Rights Reserved | ||
505 | 7 | # | ||
506 | 8 | # This program is free software: you can redistribute it and/or modify | ||
507 | 9 | # it under the terms of the GNU Affero General Public License as published by | ||
508 | 10 | # the Free Software Foundation, either version 3 of the License, or | ||
509 | 11 | # (at your option) any later version. | ||
510 | 12 | # | ||
511 | 13 | # This program is distributed in the hope that it will be useful, | ||
512 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
513 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
514 | 16 | # GNU General Public License for more details. | ||
515 | 17 | # | ||
516 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
517 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
518 | 20 | # | ||
519 | 21 | ############################################################################## | ||
520 | 22 | |||
521 | 23 | import fiscalcode | ||
522 | 24 | import wizard | ||
523 | 25 | |||
524 | 0 | 26 | ||
525 | === added file 'l10n_it_fiscalcode/__openerp__.py' | |||
526 | --- l10n_it_fiscalcode/__openerp__.py 1970-01-01 00:00:00 +0000 | |||
527 | +++ l10n_it_fiscalcode/__openerp__.py 2012-10-13 22:49:20 +0000 | |||
528 | @@ -0,0 +1,46 @@ | |||
529 | 1 | # -*- coding: utf-8 -*- | ||
530 | 2 | ############################################################################## | ||
531 | 3 | # | ||
532 | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia | ||
533 | 5 | # (<http://www.openerp-italia.org>). | ||
534 | 6 | # All Rights Reserved | ||
535 | 7 | # | ||
536 | 8 | # This program is free software: you can redistribute it and/or modify | ||
537 | 9 | # it under the terms of the GNU Affero General Public License as published | ||
538 | 10 | # by the Free Software Foundation, either version 3 of the License, or | ||
539 | 11 | # (at your option) any later version. | ||
540 | 12 | # | ||
541 | 13 | # This program is distributed in the hope that it will be useful, | ||
542 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
543 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
544 | 16 | # GNU General Public License for more details. | ||
545 | 17 | # | ||
546 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
547 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
548 | 20 | # | ||
549 | 21 | ############################################################################## | ||
550 | 22 | { | ||
551 | 23 | 'name': 'Italian Localisation - Fiscal Code', | ||
552 | 24 | 'version': '0.1', | ||
553 | 25 | 'category': 'Localisation/Italy', | ||
554 | 26 | 'description': """ | ||
555 | 27 | This module customizes OpenERP in order to fit italian laws and mores - Account version | ||
556 | 28 | |||
557 | 29 | Functionalities: | ||
558 | 30 | |||
559 | 31 | - Fiscal code computation for partner | ||
560 | 32 | |||
561 | 33 | """, | ||
562 | 34 | 'author': 'OpenERP Italian Community', | ||
563 | 35 | 'website': 'http://www.openerp-italia.org', | ||
564 | 36 | 'license': 'AGPL-3', | ||
565 | 37 | "depends" : ['base', 'l10n_it_base'], | ||
566 | 38 | "init_xml" : [ | ||
567 | 39 | 'fiscalcode_view.xml', | ||
568 | 40 | 'wizard/compute_fc_view.xml' | ||
569 | 41 | ], | ||
570 | 42 | "update_xml" : [], | ||
571 | 43 | "demo_xml" : [], | ||
572 | 44 | "active": False, | ||
573 | 45 | "installable": True | ||
574 | 46 | } | ||
575 | 0 | 47 | ||
576 | === added file 'l10n_it_fiscalcode/fiscalcode.py' | |||
577 | --- l10n_it_fiscalcode/fiscalcode.py 1970-01-01 00:00:00 +0000 | |||
578 | +++ l10n_it_fiscalcode/fiscalcode.py 2012-10-13 22:49:20 +0000 | |||
579 | @@ -0,0 +1,49 @@ | |||
580 | 1 | # -*- coding: utf-8 -*- | ||
581 | 2 | ############################################################################## | ||
582 | 3 | # | ||
583 | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia | ||
584 | 5 | # (<http://www.openerp-italia.org>). | ||
585 | 6 | # All Rights Reserved | ||
586 | 7 | # | ||
587 | 8 | # This program is free software: you can redistribute it and/or modify | ||
588 | 9 | # it under the terms of the GNU Affero General Public License as published by | ||
589 | 10 | # the Free Software Foundation, either version 3 of the License, or | ||
590 | 11 | # (at your option) any later version. | ||
591 | 12 | # | ||
592 | 13 | # This program is distributed in the hope that it will be useful, | ||
593 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
594 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
595 | 16 | # GNU General Public License for more details. | ||
596 | 17 | # | ||
597 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
598 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
599 | 20 | # | ||
600 | 21 | ############################################################################## | ||
601 | 22 | |||
602 | 23 | from osv import fields, osv | ||
603 | 24 | import tools | ||
604 | 25 | import pooler | ||
605 | 26 | from tools.translate import _ | ||
606 | 27 | import datetime | ||
607 | 28 | |||
608 | 29 | class res_partner(osv.osv): | ||
609 | 30 | _inherit = 'res.partner' | ||
610 | 31 | |||
611 | 32 | def check_fiscalcode(self, cr, uid, ids, context={}): | ||
612 | 33 | |||
613 | 34 | for partner in self.browse(cr, uid, ids): | ||
614 | 35 | if not partner.fiscalcode: | ||
615 | 36 | return True | ||
616 | 37 | elif len(partner.fiscalcode) != 16 and partner.individual: | ||
617 | 38 | return False | ||
618 | 39 | else: | ||
619 | 40 | return True | ||
620 | 41 | |||
621 | 42 | _columns = { | ||
622 | 43 | 'fiscalcode': fields.char('Fiscal Code', size=16, help="Italian Fiscal Code"), | ||
623 | 44 | 'individual': fields.boolean('Individual', help="If checked the C.F. is referred to a Individual Person"), | ||
624 | 45 | } | ||
625 | 46 | _defaults = { | ||
626 | 47 | 'individual': False, | ||
627 | 48 | } | ||
628 | 49 | _constraints = [(check_fiscalcode, "The fiscal code doesn't seem to be correct.", ["fiscalcode"])] | ||
629 | 0 | \ No newline at end of file | 50 | \ No newline at end of file |
630 | 1 | 51 | ||
631 | === added file 'l10n_it_fiscalcode/fiscalcode_view.xml' | |||
632 | --- l10n_it_fiscalcode/fiscalcode_view.xml 1970-01-01 00:00:00 +0000 | |||
633 | +++ l10n_it_fiscalcode/fiscalcode_view.xml 2012-10-13 22:49:20 +0000 | |||
634 | @@ -0,0 +1,24 @@ | |||
635 | 1 | <?xml version="1.0" ?> | ||
636 | 2 | <openerp> | ||
637 | 3 | <data> | ||
638 | 4 | |||
639 | 5 | <record id="view_partner_form_fiscalcode_data" model="ir.ui.view"> | ||
640 | 6 | <field name="name">res.partner.fiscalcode.data</field> | ||
641 | 7 | <field name="model">res.partner</field> | ||
642 | 8 | <field name="inherit_id" ref="base.view_partner_form"/> | ||
643 | 9 | <field name="arch" type="xml"> | ||
644 | 10 | <field name="property_account_payable" position="after"> | ||
645 | 11 | <separator string="Fiscal Data" colspan="2"/> | ||
646 | 12 | <group colspan="2" col="6"> | ||
647 | 13 | <field name="fiscalcode"/> | ||
648 | 14 | <field name="individual" colspan="1" groups="base.group_extended" /> | ||
649 | 15 | </group> | ||
650 | 16 | </field> | ||
651 | 17 | <field name="property_account_position" position="before"> | ||
652 | 18 | <separator string="Payment Mode" colspan="2"/> | ||
653 | 19 | </field> | ||
654 | 20 | </field> | ||
655 | 21 | </record> | ||
656 | 22 | |||
657 | 23 | </data> | ||
658 | 24 | </openerp> | ||
659 | 0 | 25 | ||
660 | === added directory 'l10n_it_fiscalcode/i18n' | |||
661 | === added file 'l10n_it_fiscalcode/i18n/it.mo' | |||
662 | 1 | Binary files l10n_it_fiscalcode/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_fiscalcode/i18n/it.mo 2012-10-13 22:49:20 +0000 differ | 26 | Binary files l10n_it_fiscalcode/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_fiscalcode/i18n/it.mo 2012-10-13 22:49:20 +0000 differ |
663 | === added file 'l10n_it_fiscalcode/i18n/it.po' | |||
664 | --- l10n_it_fiscalcode/i18n/it.po 1970-01-01 00:00:00 +0000 | |||
665 | +++ l10n_it_fiscalcode/i18n/it.po 2012-10-13 22:49:20 +0000 | |||
666 | @@ -0,0 +1,113 @@ | |||
667 | 1 | # Translation of OpenERP Server. | ||
668 | 2 | # This file contains the translation of the following modules: | ||
669 | 3 | # * l10n_it_fiscalcode | ||
670 | 4 | # | ||
671 | 5 | msgid "" | ||
672 | 6 | msgstr "" | ||
673 | 7 | "Project-Id-Version: OpenERP Server 6.1\n" | ||
674 | 8 | "Report-Msgid-Bugs-To: \n" | ||
675 | 9 | "POT-Creation-Date: 2012-10-13 21:44+0000\n" | ||
676 | 10 | "PO-Revision-Date: 2012-10-13 23:49+0100\n" | ||
677 | 11 | "Last-Translator: Franco Tampieri <info@francotampieri.com>\n" | ||
678 | 12 | "Language-Team: \n" | ||
679 | 13 | "MIME-Version: 1.0\n" | ||
680 | 14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
681 | 15 | "Content-Transfer-Encoding: 8bit\n" | ||
682 | 16 | "Plural-Forms: \n" | ||
683 | 17 | |||
684 | 18 | #. module: l10n_it_fiscalcode | ||
685 | 19 | #: field:wizard.compute.fc,fiscalcode_surname:0 | ||
686 | 20 | msgid "Surname" | ||
687 | 21 | msgstr "Cognome" | ||
688 | 22 | |||
689 | 23 | #. module: l10n_it_fiscalcode | ||
690 | 24 | #: model:ir.model,name:l10n_it_fiscalcode.model_res_partner | ||
691 | 25 | msgid "Partner" | ||
692 | 26 | msgstr "Cliente" | ||
693 | 27 | |||
694 | 28 | #. module: l10n_it_fiscalcode | ||
695 | 29 | #: help:res.partner,individual:0 | ||
696 | 30 | msgid "If checked the C.F. is referred to a Individual Person" | ||
697 | 31 | msgstr "Se selezionato il Cofice Fiscale farร riferimento a quello di una Persona Fisica" | ||
698 | 32 | |||
699 | 33 | #. module: l10n_it_fiscalcode | ||
700 | 34 | #: view:wizard.compute.fc:0 | ||
701 | 35 | msgid "Compute" | ||
702 | 36 | msgstr "Calcola" | ||
703 | 37 | |||
704 | 38 | #. module: l10n_it_fiscalcode | ||
705 | 39 | #: field:wizard.compute.fc,birth_date:0 | ||
706 | 40 | msgid "Date of birth" | ||
707 | 41 | msgstr "Data di nascita" | ||
708 | 42 | |||
709 | 43 | #. module: l10n_it_fiscalcode | ||
710 | 44 | #: view:res.partner:0 | ||
711 | 45 | msgid "Payment Mode" | ||
712 | 46 | msgstr "Modalitร di Pagamento" | ||
713 | 47 | |||
714 | 48 | #. module: l10n_it_fiscalcode | ||
715 | 49 | #: field:wizard.compute.fc,sex:0 | ||
716 | 50 | msgid "Sex" | ||
717 | 51 | msgstr "Sesso" | ||
718 | 52 | |||
719 | 53 | #. module: l10n_it_fiscalcode | ||
720 | 54 | #: field:wizard.compute.fc,fiscalcode_firstname:0 | ||
721 | 55 | msgid "First name" | ||
722 | 56 | msgstr "Nome" | ||
723 | 57 | |||
724 | 58 | #. module: l10n_it_fiscalcode | ||
725 | 59 | #: view:wizard.compute.fc:0 | ||
726 | 60 | msgid "Fiscal Code" | ||
727 | 61 | msgstr "Codice Fiscale" | ||
728 | 62 | |||
729 | 63 | #. module: l10n_it_fiscalcode | ||
730 | 64 | #: field:res.partner,individual:0 | ||
731 | 65 | msgid "Individual" | ||
732 | 66 | msgstr "Persona Fisica" | ||
733 | 67 | |||
734 | 68 | #. module: l10n_it_fiscalcode | ||
735 | 69 | #: view:wizard.compute.fc:0 | ||
736 | 70 | msgid "Individual Data" | ||
737 | 71 | msgstr "Dati Persona Fisica" | ||
738 | 72 | |||
739 | 73 | #. module: l10n_it_fiscalcode | ||
740 | 74 | #: selection:wizard.compute.fc,sex:0 | ||
741 | 75 | msgid "Female" | ||
742 | 76 | msgstr "Femmina" | ||
743 | 77 | |||
744 | 78 | #. module: l10n_it_fiscalcode | ||
745 | 79 | #: view:res.partner:0 | ||
746 | 80 | msgid "Fiscal Data" | ||
747 | 81 | msgstr "Dati Fiscali" | ||
748 | 82 | |||
749 | 83 | #. module: l10n_it_fiscalcode | ||
750 | 84 | #: view:wizard.compute.fc:0 | ||
751 | 85 | msgid "Cancel" | ||
752 | 86 | msgstr "Annulla" | ||
753 | 87 | |||
754 | 88 | #. module: l10n_it_fiscalcode | ||
755 | 89 | #: model:ir.actions.act_window,name:l10n_it_fiscalcode.action_compute_fc | ||
756 | 90 | #: model:ir.model,name:l10n_it_fiscalcode.model_wizard_compute_fc | ||
757 | 91 | msgid "Compute Fiscal Code" | ||
758 | 92 | msgstr "Calcola il Codice Fiscale" | ||
759 | 93 | |||
760 | 94 | #. module: l10n_it_fiscalcode | ||
761 | 95 | #: view:res.partner:0 | ||
762 | 96 | msgid "Compute F.C." | ||
763 | 97 | msgstr "Calcola C.F." | ||
764 | 98 | |||
765 | 99 | #. module: l10n_it_fiscalcode | ||
766 | 100 | #: selection:wizard.compute.fc,sex:0 | ||
767 | 101 | msgid "Male" | ||
768 | 102 | msgstr "Maschio" | ||
769 | 103 | |||
770 | 104 | #. module: l10n_it_fiscalcode | ||
771 | 105 | #: field:wizard.compute.fc,birth_city:0 | ||
772 | 106 | msgid "City of birth" | ||
773 | 107 | msgstr "Cittร di Nascita" | ||
774 | 108 | |||
775 | 109 | #. module: l10n_it_fiscalcode | ||
776 | 110 | #: constraint:res.partner:0 | ||
777 | 111 | msgid "The fiscal code doesn't seem to be correct." | ||
778 | 112 | msgstr "Il Codice Fiscale non sembra corretto per una Persona Fisica." | ||
779 | 113 | |||
780 | 0 | 114 | ||
781 | === added file 'l10n_it_fiscalcode/i18n/l10n_it_account.pot' | |||
782 | --- l10n_it_fiscalcode/i18n/l10n_it_account.pot 1970-01-01 00:00:00 +0000 | |||
783 | +++ l10n_it_fiscalcode/i18n/l10n_it_account.pot 2012-10-13 22:49:20 +0000 | |||
784 | @@ -0,0 +1,117 @@ | |||
785 | 1 | # Translation of OpenERP Server. | ||
786 | 2 | # This file contains the translation of the following modules: | ||
787 | 3 | # * l10n_it_account | ||
788 | 4 | # | ||
789 | 5 | msgid "" | ||
790 | 6 | msgstr "" | ||
791 | 7 | "Project-Id-Version: OpenERP Server 6.0.2\n" | ||
792 | 8 | "Report-Msgid-Bugs-To: support@openerp.com\n" | ||
793 | 9 | "POT-Creation-Date: 2011-05-05 16:44+0000\n" | ||
794 | 10 | "PO-Revision-Date: 2011-05-05 16:44+0000\n" | ||
795 | 11 | "Last-Translator: <>\n" | ||
796 | 12 | "Language-Team: \n" | ||
797 | 13 | "MIME-Version: 1.0\n" | ||
798 | 14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
799 | 15 | "Content-Transfer-Encoding: \n" | ||
800 | 16 | "Plural-Forms: \n" | ||
801 | 17 | |||
802 | 18 | #. module: l10n_it_account | ||
803 | 19 | #: code:addons/l10n_it_account/account/invoice.py:45 | ||
804 | 20 | #, python-format | ||
805 | 21 | msgid "Cannot create invoice! Post the invoice with a greater date" | ||
806 | 22 | msgstr "" | ||
807 | 23 | |||
808 | 24 | #. module: l10n_it_account | ||
809 | 25 | #: view:res.partner:0 | ||
810 | 26 | msgid "Compute" | ||
811 | 27 | msgstr "" | ||
812 | 28 | |||
813 | 29 | #. module: l10n_it_account | ||
814 | 30 | #: model:ir.model,name:l10n_it_account.model_account_invoice | ||
815 | 31 | msgid "Invoice" | ||
816 | 32 | msgstr "" | ||
817 | 33 | |||
818 | 34 | #. module: l10n_it_account | ||
819 | 35 | #: field:res.partner,birth_date:0 | ||
820 | 36 | msgid "Date of birth" | ||
821 | 37 | msgstr "" | ||
822 | 38 | |||
823 | 39 | #. module: l10n_it_account | ||
824 | 40 | #: view:res.partner:0 | ||
825 | 41 | msgid "Notes" | ||
826 | 42 | msgstr "" | ||
827 | 43 | |||
828 | 44 | #. module: l10n_it_account | ||
829 | 45 | #: model:ir.module.module,description:l10n_it_account.module_meta_information | ||
830 | 46 | msgid "This module customizes OpenERP in order to fit italian laws and mores - Account version\n" | ||
831 | 47 | "\n" | ||
832 | 48 | "Functionalities:\n" | ||
833 | 49 | "\n" | ||
834 | 50 | "- Fiscal code computation for partner\n" | ||
835 | 51 | "- Check invoice date consistency\n" | ||
836 | 52 | "\n" | ||
837 | 53 | "" | ||
838 | 54 | msgstr "" | ||
839 | 55 | |||
840 | 56 | #. module: l10n_it_account | ||
841 | 57 | #: help:res.partner,fiscalcode:0 | ||
842 | 58 | msgid "Italian Fiscal Code" | ||
843 | 59 | msgstr "" | ||
844 | 60 | |||
845 | 61 | #. module: l10n_it_account | ||
846 | 62 | #: field:res.partner,sex:0 | ||
847 | 63 | msgid "Sex" | ||
848 | 64 | msgstr "" | ||
849 | 65 | |||
850 | 66 | #. module: l10n_it_account | ||
851 | 67 | #: field:res.partner,fiscalcode_surname:0 | ||
852 | 68 | msgid "Surname" | ||
853 | 69 | msgstr "" | ||
854 | 70 | |||
855 | 71 | #. module: l10n_it_account | ||
856 | 72 | #: field:res.partner,fiscalcode_firstname:0 | ||
857 | 73 | msgid "First name" | ||
858 | 74 | msgstr "" | ||
859 | 75 | |||
860 | 76 | #. module: l10n_it_account | ||
861 | 77 | #: view:res.partner:0 | ||
862 | 78 | #: field:res.partner,fiscalcode:0 | ||
863 | 79 | msgid "Fiscal Code" | ||
864 | 80 | msgstr "" | ||
865 | 81 | |||
866 | 82 | #. module: l10n_it_account | ||
867 | 83 | #: model:ir.module.module,shortdesc:l10n_it_account.module_meta_information | ||
868 | 84 | msgid "Italian Localisation - Account" | ||
869 | 85 | msgstr "" | ||
870 | 86 | |||
871 | 87 | #. module: l10n_it_account | ||
872 | 88 | #: selection:res.partner,sex:0 | ||
873 | 89 | msgid "Female" | ||
874 | 90 | msgstr "" | ||
875 | 91 | |||
876 | 92 | #. module: l10n_it_account | ||
877 | 93 | #: model:ir.model,name:l10n_it_account.model_res_partner | ||
878 | 94 | msgid "Partner" | ||
879 | 95 | msgstr "" | ||
880 | 96 | |||
881 | 97 | #. module: l10n_it_account | ||
882 | 98 | #: view:res.partner:0 | ||
883 | 99 | msgid "Compute Fiscal Code" | ||
884 | 100 | msgstr "" | ||
885 | 101 | |||
886 | 102 | #. module: l10n_it_account | ||
887 | 103 | #: selection:res.partner,sex:0 | ||
888 | 104 | msgid "Male" | ||
889 | 105 | msgstr "" | ||
890 | 106 | |||
891 | 107 | #. module: l10n_it_account | ||
892 | 108 | #: code:addons/l10n_it_account/account/invoice.py:44 | ||
893 | 109 | #, python-format | ||
894 | 110 | msgid "Date Inconsistency" | ||
895 | 111 | msgstr "" | ||
896 | 112 | |||
897 | 113 | #. module: l10n_it_account | ||
898 | 114 | #: field:res.partner,birth_city:0 | ||
899 | 115 | msgid "City of birth" | ||
900 | 116 | msgstr "" | ||
901 | 117 | |||
902 | 0 | 118 | ||
903 | === added directory 'l10n_it_fiscalcode/wizard' | |||
904 | === added file 'l10n_it_fiscalcode/wizard/__init__.py' | |||
905 | --- l10n_it_fiscalcode/wizard/__init__.py 1970-01-01 00:00:00 +0000 | |||
906 | +++ l10n_it_fiscalcode/wizard/__init__.py 2012-10-13 22:49:20 +0000 | |||
907 | @@ -0,0 +1,24 @@ | |||
908 | 1 | # -*- coding: utf-8 -*- | ||
909 | 2 | ############################################################################## | ||
910 | 3 | # | ||
911 | 4 | # Copyright (C) 2012 Associazione OpenERP Italia | ||
912 | 5 | # (<http://www.openerp-italia.org>). | ||
913 | 6 | # All Rights Reserved | ||
914 | 7 | # | ||
915 | 8 | # This program is free software: you can redistribute it and/or modify | ||
916 | 9 | # it under the terms of the GNU Affero General Public License as published by | ||
917 | 10 | # the Free Software Foundation, either version 3 of the License, or | ||
918 | 11 | # (at your option) any later version. | ||
919 | 12 | # | ||
920 | 13 | # This program is distributed in the hope that it will be useful, | ||
921 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
922 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
923 | 16 | # GNU General Public License for more details. | ||
924 | 17 | # | ||
925 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
926 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
927 | 20 | # | ||
928 | 21 | ############################################################################## | ||
929 | 22 | |||
930 | 23 | import compute_fc | ||
931 | 24 | |||
932 | 0 | 25 | ||
933 | === added file 'l10n_it_fiscalcode/wizard/compute_fc.py' | |||
934 | --- l10n_it_fiscalcode/wizard/compute_fc.py 1970-01-01 00:00:00 +0000 | |||
935 | +++ l10n_it_fiscalcode/wizard/compute_fc.py 2012-10-13 22:49:20 +0000 | |||
936 | @@ -0,0 +1,125 @@ | |||
937 | 1 | # -*- coding: utf-8 -*- | ||
938 | 2 | ############################################################################## | ||
939 | 3 | # | ||
940 | 4 | # Copyright (C) 2010-2012 Associazione OpenERP Italia | ||
941 | 5 | # (<http://www.openerp-italia.org>). | ||
942 | 6 | # All Rights Reserved | ||
943 | 7 | # | ||
944 | 8 | # This program is free software: you can redistribute it and/or modify | ||
945 | 9 | # it under the terms of the GNU Affero General Public License as published by | ||
946 | 10 | # the Free Software Foundation, either version 3 of the License, or | ||
947 | 11 | # (at your option) any later version. | ||
948 | 12 | # | ||
949 | 13 | # This program is distributed in the hope that it will be useful, | ||
950 | 14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
951 | 15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
952 | 16 | # GNU General Public License for more details. | ||
953 | 17 | # | ||
954 | 18 | # You should have received a copy of the GNU Affero General Public License | ||
955 | 19 | # along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
956 | 20 | # | ||
957 | 21 | ############################################################################## | ||
958 | 22 | |||
959 | 23 | from osv import fields, osv | ||
960 | 24 | import tools | ||
961 | 25 | import pooler | ||
962 | 26 | from tools.translate import _ | ||
963 | 27 | |||
964 | 28 | import datetime | ||
965 | 29 | |||
966 | 30 | class wizard_compute_fc(osv.osv_memory): | ||
967 | 31 | |||
968 | 32 | _name = "wizard.compute.fc" | ||
969 | 33 | _description = "Compute Fiscal Code" | ||
970 | 34 | _columns = { | ||
971 | 35 | 'fiscalcode_surname': fields.char('Surname', size=64), | ||
972 | 36 | 'fiscalcode_firstname': fields.char('First name', size=64), | ||
973 | 37 | 'birth_date': fields.date('Date of birth'), | ||
974 | 38 | 'birth_city': fields.many2one('res.city', 'City of birth'), | ||
975 | 39 | 'sex': fields.selection([('M','Male'), | ||
976 | 40 | ('F', 'Female'), | ||
977 | 41 | ], "Sex"), | ||
978 | 42 | } | ||
979 | 43 | |||
980 | 44 | |||
981 | 45 | def _codicefiscale(self, cognome, nome, giornonascita, mesenascita, annonascita, sesso, cittanascita): | ||
982 | 46 | |||
983 | 47 | MESI = 'ABCDEHLMPRST' | ||
984 | 48 | CONSONANTI = 'BCDFGHJKLMNPQRSTVWXYZ' | ||
985 | 49 | VOCALI = 'AEIOU' | ||
986 | 50 | LETTERE = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
987 | 51 | |||
988 | 52 | REGOLECONTROLLO = { | ||
989 | 53 | 'A':(0,1), 'B':(1,0), 'C':(2,5), 'D':(3,7), 'E':(4,9), | ||
990 | 54 | 'F':(5,13), 'G':(6,15), 'H':(7,17), 'I':(8,19), 'J':(9,21), | ||
991 | 55 | 'K':(10,2), 'L':(11,4), 'M':(12,18), 'N':(13,20), 'O':(14,11), | ||
992 | 56 | 'P':(15,3), 'Q':(16,6), 'R':(17,8), 'S':(18,12), 'T':(19,14), | ||
993 | 57 | 'U':(20,16), 'V':(21,10), 'W':(22,22), 'X':(23,25), 'Y':(24,24), | ||
994 | 58 | 'Z':(25,23), | ||
995 | 59 | '0':(0,1), '1':(1,0), '2':(2,5), '3':(3,7), '4':(4,9), | ||
996 | 60 | '5':(5,13), '6':(6,15), '7':(7,17), '8':(8,19), '9':(9,21) | ||
997 | 61 | } | ||
998 | 62 | |||
999 | 63 | """Funzioni per il calcolo del C.F.""" | ||
1000 | 64 | def _surname(stringa): | ||
1001 | 65 | """Ricava, da stringa, 3 lettere in base alla convenzione dei C.F.""" | ||
1002 | 66 | cons = [c for c in stringa if c in CONSONANTI] | ||
1003 | 67 | voc = [c for c in stringa if c in VOCALI] | ||
1004 | 68 | chars=cons+voc | ||
1005 | 69 | if len(chars)<3: | ||
1006 | 70 | chars+=['X', 'X'] | ||
1007 | 71 | return chars[:3] | ||
1008 | 72 | |||
1009 | 73 | def _name(stringa): | ||
1010 | 74 | """Ricava, da stringa, 3 lettere in base alla convenzione dei C.F.""" | ||
1011 | 75 | cons = [c for c in stringa if c in CONSONANTI] | ||
1012 | 76 | voc = [c for c in stringa if c in VOCALI] | ||
1013 | 77 | if len(cons)>3: | ||
1014 | 78 | cons = [cons[0]] +[cons[2]] + [cons[3]] | ||
1015 | 79 | chars=cons+voc | ||
1016 | 80 | if len(chars)<3: | ||
1017 | 81 | chars+=['X', 'X'] | ||
1018 | 82 | return chars[:3] | ||
1019 | 83 | |||
1020 | 84 | def _datan(giorno, mese, anno, sesso): | ||
1021 | 85 | """Restituisce il campo data del CF.""" | ||
1022 | 86 | chars = (list(anno[-2:]) + [MESI[int(mese)-1]]) | ||
1023 | 87 | gn=int(giorno) | ||
1024 | 88 | if sesso=='F': | ||
1025 | 89 | gn+=40 | ||
1026 | 90 | chars += list("%02d" % gn) | ||
1027 | 91 | return chars | ||
1028 | 92 | |||
1029 | 93 | def _codicecontrollo(c): | ||
1030 | 94 | """Restituisce il codice di controllo, l'ultimo carattere del C.F.""" | ||
1031 | 95 | sommone = 0 | ||
1032 | 96 | for i, car in enumerate(c): | ||
1033 | 97 | j = 1 - i % 2 | ||
1034 | 98 | sommone += REGOLECONTROLLO[car][j] | ||
1035 | 99 | resto = sommone % 26 | ||
1036 | 100 | return [LETTERE[resto]] | ||
1037 | 101 | |||
1038 | 102 | """Restituisce il C.F costruito sulla base degli argomenti.""" | ||
1039 | 103 | nome=nome.upper() | ||
1040 | 104 | cognome=cognome.upper() | ||
1041 | 105 | sesso=sesso.upper() | ||
1042 | 106 | cittanascita = cittanascita.upper() | ||
1043 | 107 | chars = (_surname(cognome) + | ||
1044 | 108 | _name(nome) + | ||
1045 | 109 | _datan(giornonascita, mesenascita, annonascita, sesso) + | ||
1046 | 110 | list(cittanascita)) | ||
1047 | 111 | chars += _codicecontrollo(chars) | ||
1048 | 112 | return ''.join(chars) | ||
1049 | 113 | |||
1050 | 114 | def compute_fc(self, cr, uid, ids, context): | ||
1051 | 115 | active_id = context.get('active_id', []) | ||
1052 | 116 | form_obj = self.browse(cr, uid, ids, context) | ||
1053 | 117 | for fields in form_obj: | ||
1054 | 118 | if not fields.fiscalcode_surname or not fields.fiscalcode_firstname or not fields.birth_date or not fields.birth_city or not fields.sex: | ||
1055 | 119 | raise osv.except_osv('Error', 'One or more fields are missing') | ||
1056 | 120 | birth_date = datetime.datetime.strptime(fields.birth_date, "%Y-%m-%d") | ||
1057 | 121 | CF = self._codicefiscale(fields.fiscalcode_surname, fields.fiscalcode_firstname, str(birth_date.day), | ||
1058 | 122 | str(birth_date.month), str(birth_date.year), fields.sex, | ||
1059 | 123 | fields.birth_city.cadaster_code) | ||
1060 | 124 | self.pool.get('res.partner').write(cr, uid, active_id, {'fiscalcode': CF, 'individual': True}) | ||
1061 | 125 | return {} | ||
1062 | 0 | \ No newline at end of file | 126 | \ No newline at end of file |
1063 | 1 | 127 | ||
1064 | === added file 'l10n_it_fiscalcode/wizard/compute_fc_view.xml' | |||
1065 | --- l10n_it_fiscalcode/wizard/compute_fc_view.xml 1970-01-01 00:00:00 +0000 | |||
1066 | +++ l10n_it_fiscalcode/wizard/compute_fc_view.xml 2012-10-13 22:49:20 +0000 | |||
1067 | @@ -0,0 +1,50 @@ | |||
1068 | 1 | <?xml version="1.0" ?> | ||
1069 | 2 | <openerp> | ||
1070 | 3 | <data> | ||
1071 | 4 | |||
1072 | 5 | <record id="wizard_compute_fc_form" model="ir.ui.view"> | ||
1073 | 6 | <field name="name">wizard.compute.fc.form</field> | ||
1074 | 7 | <field name="model">wizard.compute.fc</field> | ||
1075 | 8 | <field name="type">form</field> | ||
1076 | 9 | <field name="arch" type="xml"> | ||
1077 | 10 | <form string="Fiscal Code"> | ||
1078 | 11 | <group col="2" width="250"> | ||
1079 | 12 | <group string="Individual Data"> | ||
1080 | 13 | <field name="fiscalcode_surname" colspan="2" default_focus="1"/> | ||
1081 | 14 | <field name="fiscalcode_firstname" colspan="2"/> | ||
1082 | 15 | <field name="sex" colspan="2"/> | ||
1083 | 16 | <field name="birth_date" colspan="2"/> | ||
1084 | 17 | <field name="birth_city" colspan="2"/> | ||
1085 | 18 | </group> | ||
1086 | 19 | <newline/> | ||
1087 | 20 | <group col="2"> | ||
1088 | 21 | <button string="Cancel" special="cancel" icon="gtk-cancel" colspan="1"/> | ||
1089 | 22 | <button name="compute_fc" type="object" string="Compute" colspan="1"/> | ||
1090 | 23 | </group> | ||
1091 | 24 | </group> | ||
1092 | 25 | </form> | ||
1093 | 26 | </field> | ||
1094 | 27 | </record> | ||
1095 | 28 | |||
1096 | 29 | <record id="action_compute_fc" model="ir.actions.act_window"> | ||
1097 | 30 | <field name="name">Compute Fiscal Code</field> | ||
1098 | 31 | <field name="type">ir.actions.act_window</field> | ||
1099 | 32 | <field name="res_model">wizard.compute.fc</field> | ||
1100 | 33 | <field name="view_type">form</field> | ||
1101 | 34 | <field name="view_mode">form</field> | ||
1102 | 35 | <field name="target">new</field> | ||
1103 | 36 | </record> | ||
1104 | 37 | |||
1105 | 38 | <record id="view_partner_form_fiscalcode_button" model="ir.ui.view"> | ||
1106 | 39 | <field name="name">res.partner.fiscalcode.button</field> | ||
1107 | 40 | <field name="model">res.partner</field> | ||
1108 | 41 | <field name="inherit_id" ref="l10n_it_fiscalcode.view_partner_form_fiscalcode_data"/> | ||
1109 | 42 | <field name="arch" type="xml"> | ||
1110 | 43 | <field name="fiscalcode" position="after"> | ||
1111 | 44 | <button name="%(l10n_it_fiscalcode.action_compute_fc)d" string="Compute F.C." type="action" icon="gtk-execute"/> | ||
1112 | 45 | </field> | ||
1113 | 46 | </field> | ||
1114 | 47 | </record> | ||
1115 | 48 | |||
1116 | 49 | </data> | ||
1117 | 50 | </openerp> | ||
1118 | 0 | 51 | ||
1119 | === modified file 'l10n_it_sale/AUTHORS.txt' | |||
1120 | --- l10n_it_sale/AUTHORS.txt 2010-09-22 13:43:42 +0000 | |||
1121 | +++ l10n_it_sale/AUTHORS.txt 2012-10-13 22:49:20 +0000 | |||
1122 | @@ -6,4 +6,4 @@ | |||
1123 | 6 | Giovanni Barzan <giovanni.barzan@gmail.com> | 6 | Giovanni Barzan <giovanni.barzan@gmail.com> |
1124 | 7 | Lorenzo Battistini <lorenzo.battistini@albatos.com> | 7 | Lorenzo Battistini <lorenzo.battistini@albatos.com> |
1125 | 8 | Roberto Onnis <onnis.roberto@gmail.com> | 8 | Roberto Onnis <onnis.roberto@gmail.com> |
1127 | 9 | 9 | Franco Tampieri <franco.tampieri@agilebg.com> | |
1128 | 10 | 10 | ||
1129 | === modified file 'l10n_it_sale/partner/partner_view.xml' | |||
1130 | --- l10n_it_sale/partner/partner_view.xml 2010-10-10 12:42:33 +0000 | |||
1131 | +++ l10n_it_sale/partner/partner_view.xml 2012-10-13 22:49:20 +0000 | |||
1132 | @@ -7,14 +7,13 @@ | |||
1133 | 7 | <field name="inherit_id" ref="base.view_partner_form"/> | 7 | <field name="inherit_id" ref="base.view_partner_form"/> |
1134 | 8 | <field name="type">form</field> | 8 | <field name="type">form</field> |
1135 | 9 | <field name="arch" type="xml"> | 9 | <field name="arch" type="xml"> |
1144 | 10 | <page string="Notes" position="after"> | 10 | <page string="Sales & Purchases" position="inside"> |
1145 | 11 | <page string="Default shipping conditions"> | 11 | <group colspan="2" col="2" groups="base.group_extended"> |
1146 | 12 | <field name="carriage_condition_id"/> | 12 | <separator string="Default shipping conditions" colspan="2"/> |
1147 | 13 | <newline/> | 13 | <field name="carriage_condition_id" groups="base.group_extended"/> |
1148 | 14 | <field name="goods_description_id"/> | 14 | <field name="goods_description_id" groups="base.group_extended"/> |
1149 | 15 | <newline/> | 15 | <field name="transportation_reason_id" groups="base.group_extended"/> |
1150 | 16 | <field name="transportation_reason_id"/> | 16 | </group> |
1143 | 17 | </page> | ||
1151 | 18 | </page> | 17 | </page> |
1152 | 19 | </field> | 18 | </field> |
1153 | 20 | </record> | 19 | </record> |
1154 | 21 | 20 | ||
1155 | === added file 'l10n_it_withholding_tax/i18n/it.mo' | |||
1156 | 22 | Binary files l10n_it_withholding_tax/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_withholding_tax/i18n/it.mo 2012-10-13 22:49:20 +0000 differ | 21 | Binary files l10n_it_withholding_tax/i18n/it.mo 1970-01-01 00:00:00 +0000 and l10n_it_withholding_tax/i18n/it.mo 2012-10-13 22:49:20 +0000 differ |
1157 | === added file 'l10n_it_withholding_tax/i18n/it.po' | |||
1158 | --- l10n_it_withholding_tax/i18n/it.po 1970-01-01 00:00:00 +0000 | |||
1159 | +++ l10n_it_withholding_tax/i18n/it.po 2012-10-13 22:49:20 +0000 | |||
1160 | @@ -0,0 +1,150 @@ | |||
1161 | 1 | # Translation of OpenERP Server. | ||
1162 | 2 | # This file contains the translation of the following modules: | ||
1163 | 3 | # * l10n_it_withholding_tax | ||
1164 | 4 | # | ||
1165 | 5 | msgid "" | ||
1166 | 6 | msgstr "" | ||
1167 | 7 | "Project-Id-Version: OpenERP Server 6.1\n" | ||
1168 | 8 | "Report-Msgid-Bugs-To: \n" | ||
1169 | 9 | "POT-Creation-Date: 2012-10-12 15:54+0000\n" | ||
1170 | 10 | "PO-Revision-Date: 2012-10-12 18:02+0100\n" | ||
1171 | 11 | "Last-Translator: Franco Tampieri <info@francotampieri.com>\n" | ||
1172 | 12 | "Language-Team: \n" | ||
1173 | 13 | "MIME-Version: 1.0\n" | ||
1174 | 14 | "Content-Type: text/plain; charset=UTF-8\n" | ||
1175 | 15 | "Content-Transfer-Encoding: 8bit\n" | ||
1176 | 16 | "Plural-Forms: \n" | ||
1177 | 17 | |||
1178 | 18 | #. module: l10n_it_withholding_tax | ||
1179 | 19 | #: code:addons/l10n_it_withholding_tax/account.py:90 | ||
1180 | 20 | #, python-format | ||
1181 | 21 | msgid "The company does not have an associated Withholding Payment Term" | ||
1182 | 22 | msgstr "L'Azienda non ha associato nessun Termine di pagamento per le Ritenute" | ||
1183 | 23 | |||
1184 | 24 | #. module: l10n_it_withholding_tax | ||
1185 | 25 | #: constraint:res.company:0 | ||
1186 | 26 | msgid "Error! You can not create recursive companies." | ||
1187 | 27 | msgstr "Errore! Non รจ possibile creare aziende ricorsive." | ||
1188 | 28 | |||
1189 | 29 | #. module: l10n_it_withholding_tax | ||
1190 | 30 | #: code:addons/l10n_it_withholding_tax/account.py:106 | ||
1191 | 31 | #, python-format | ||
1192 | 32 | msgid "The payment term %s does not have due dates" | ||
1193 | 33 | msgstr "The payment term %s does not have due dates" | ||
1194 | 34 | |||
1195 | 35 | #. module: l10n_it_withholding_tax | ||
1196 | 36 | #: code:addons/l10n_it_withholding_tax/account.py:102 | ||
1197 | 37 | #, python-format | ||
1198 | 38 | msgid "The payment term %s has too many due dates" | ||
1199 | 39 | msgstr "The payment term %s has too many due dates" | ||
1200 | 40 | |||
1201 | 41 | #. module: l10n_it_withholding_tax | ||
1202 | 42 | #: view:account.voucher:0 | ||
1203 | 43 | msgid "Withholding tax entries" | ||
1204 | 44 | msgstr "Voci Tasse Ritenute" | ||
1205 | 45 | |||
1206 | 46 | #. module: l10n_it_withholding_tax | ||
1207 | 47 | #: field:account.invoice,has_withholding:0 | ||
1208 | 48 | msgid "With withholding tax" | ||
1209 | 49 | msgstr "Con tasse ritenute" | ||
1210 | 50 | |||
1211 | 51 | #. module: l10n_it_withholding_tax | ||
1212 | 52 | #: field:res.company,withholding_payment_term_id:0 | ||
1213 | 53 | msgid "Withholding tax Payment Term" | ||
1214 | 54 | msgstr "Termini Pagamento Ritenute" | ||
1215 | 55 | |||
1216 | 56 | #. module: l10n_it_withholding_tax | ||
1217 | 57 | #: field:res.company,withholding_account_id:0 | ||
1218 | 58 | msgid "Withholding account" | ||
1219 | 59 | msgstr "Conto Ritenute" | ||
1220 | 60 | |||
1221 | 61 | #. module: l10n_it_withholding_tax | ||
1222 | 62 | #: sql_constraint:res.company:0 | ||
1223 | 63 | msgid "The company name must be unique !" | ||
1224 | 64 | msgstr "Il nome azienda deve essere unico!" | ||
1225 | 65 | |||
1226 | 66 | #. module: l10n_it_withholding_tax | ||
1227 | 67 | #: field:account.invoice,net_pay:0 | ||
1228 | 68 | msgid "Net Pay" | ||
1229 | 69 | msgstr "Netto da Pagare" | ||
1230 | 70 | |||
1231 | 71 | #. module: l10n_it_withholding_tax | ||
1232 | 72 | #: model:ir.model,name:l10n_it_withholding_tax.model_res_company | ||
1233 | 73 | msgid "Companies" | ||
1234 | 74 | msgstr "Aziende" | ||
1235 | 75 | |||
1236 | 76 | #. module: l10n_it_withholding_tax | ||
1237 | 77 | #: code:addons/l10n_it_withholding_tax/account.py:92 | ||
1238 | 78 | #, python-format | ||
1239 | 79 | msgid "The company does not have an associated Withholding journal" | ||
1240 | 80 | msgstr "L'Azienda non ha un Sezionale associato per le Ritenute" | ||
1241 | 81 | |||
1242 | 82 | #. module: l10n_it_withholding_tax | ||
1243 | 83 | #: code:addons/l10n_it_withholding_tax/account.py:86 | ||
1244 | 84 | #: code:addons/l10n_it_withholding_tax/account.py:88 | ||
1245 | 85 | #: code:addons/l10n_it_withholding_tax/account.py:90 | ||
1246 | 86 | #: code:addons/l10n_it_withholding_tax/account.py:92 | ||
1247 | 87 | #: code:addons/l10n_it_withholding_tax/account.py:101 | ||
1248 | 88 | #: code:addons/l10n_it_withholding_tax/account.py:105 | ||
1249 | 89 | #, python-format | ||
1250 | 90 | msgid "Error" | ||
1251 | 91 | msgstr "Errore" | ||
1252 | 92 | |||
1253 | 93 | #. module: l10n_it_withholding_tax | ||
1254 | 94 | #: code:addons/l10n_it_withholding_tax/account.py:86 | ||
1255 | 95 | #, python-format | ||
1256 | 96 | msgid "Can't handle withholding tax with voucher of type other than payment" | ||
1257 | 97 | msgstr "Can't handle withholding tax with voucher of type other than payment" | ||
1258 | 98 | |||
1259 | 99 | #. module: l10n_it_withholding_tax | ||
1260 | 100 | #: help:res.company,withholding_account_id:0 | ||
1261 | 101 | msgid "Payable account used for amount due to tax authority" | ||
1262 | 102 | msgstr "Payable account used for amount due to tax authority" | ||
1263 | 103 | |||
1264 | 104 | #. module: l10n_it_withholding_tax | ||
1265 | 105 | #: sql_constraint:account.invoice:0 | ||
1266 | 106 | msgid "Invoice Number must be unique per Company!" | ||
1267 | 107 | msgstr "Nell'azienda il numero fattura dev'essere univoco!" | ||
1268 | 108 | |||
1269 | 109 | #. module: l10n_it_withholding_tax | ||
1270 | 110 | #: help:res.company,withholding_journal_id:0 | ||
1271 | 111 | msgid "Journal used for registration of witholding amounts to be paid" | ||
1272 | 112 | msgstr "Journal used for registration of witholding amounts to be paid" | ||
1273 | 113 | |||
1274 | 114 | #. module: l10n_it_withholding_tax | ||
1275 | 115 | #: code:addons/l10n_it_withholding_tax/account.py:119 | ||
1276 | 116 | #, python-format | ||
1277 | 117 | msgid "Payable withholding - " | ||
1278 | 118 | msgstr "Ritenute Pagabili - " | ||
1279 | 119 | |||
1280 | 120 | #. module: l10n_it_withholding_tax | ||
1281 | 121 | #: model:ir.model,name:l10n_it_withholding_tax.model_account_voucher | ||
1282 | 122 | msgid "Accounting Voucher" | ||
1283 | 123 | msgstr "Voucher contabile" | ||
1284 | 124 | |||
1285 | 125 | #. module: l10n_it_withholding_tax | ||
1286 | 126 | #: field:account.invoice,withholding_amount:0 | ||
1287 | 127 | msgid "Withholding amount" | ||
1288 | 128 | msgstr "Totale Ritenute" | ||
1289 | 129 | |||
1290 | 130 | #. module: l10n_it_withholding_tax | ||
1291 | 131 | #: model:ir.model,name:l10n_it_withholding_tax.model_account_invoice | ||
1292 | 132 | msgid "Invoice" | ||
1293 | 133 | msgstr "Fattura" | ||
1294 | 134 | |||
1295 | 135 | #. module: l10n_it_withholding_tax | ||
1296 | 136 | #: field:res.company,withholding_journal_id:0 | ||
1297 | 137 | msgid "Withholding journal" | ||
1298 | 138 | msgstr "Sezionale Ritenute" | ||
1299 | 139 | |||
1300 | 140 | #. module: l10n_it_withholding_tax | ||
1301 | 141 | #: code:addons/l10n_it_withholding_tax/account.py:88 | ||
1302 | 142 | #, python-format | ||
1303 | 143 | msgid "The company does not have an associated Withholding account" | ||
1304 | 144 | msgstr "L'Azienda non ha un conto associato per le Ritenute" | ||
1305 | 145 | |||
1306 | 146 | #. module: l10n_it_withholding_tax | ||
1307 | 147 | #: field:account.voucher,withholding_move_ids:0 | ||
1308 | 148 | msgid "Withholding Tax Entries" | ||
1309 | 149 | msgstr "Voci Tasse Ritenute" | ||
1310 | 150 |
https:/ /code.launchpad .net/~dr. dran/openobject -italia/ add_abi_ cab/+merge/ 129576/ comments/ 279093