Merge lp:~openerp-open-net/openobject-addons/ons_business into lp:openobject-addons
- ons_business
- Merge into trunk
Proposed by
hayat
Status: | Rejected |
---|---|
Rejected by: | Fabien (Open ERP) |
Proposed branch: | lp:~openerp-open-net/openobject-addons/ons_business |
Merge into: | lp:openobject-addons |
Diff against target: |
1700 lines (+1654/-0) 9 files modified
__init__.py (+21/-0) __terp__.py (+35/-0) business.py (+360/-0) business_sequence.xml (+16/-0) business_view.xml (+335/-0) i18n/fr_FR.csv (+33/-0) i18n/fr_FR.po (+388/-0) inits.py (+45/-0) report/invoices.rml (+421/-0) |
To merge this branch: | bzr merge lp:~openerp-open-net/openobject-addons/ons_business |
Related bugs: | |
Related blueprints: |
A chat capability between user in openerp
(Undefined)
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
OpenERP Core Team | Pending | ||
Review via email: mp+64321@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Revision history for this message
Fabien (Open ERP) (fp-tinyerp) wrote : | # |
Unmerged revisions
- 1. By root <root@y-phil-studio>
-
1e version sans le module Lawyer
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file '__init__.py' |
2 | --- __init__.py 1970-01-01 00:00:00 +0000 |
3 | +++ __init__.py 2011-06-12 01:27:27 +0000 |
4 | @@ -0,0 +1,21 @@ |
5 | +#!/usr/bin/env python |
6 | +#coding: utf-8 |
7 | + |
8 | +# (c) 2007 Sednacom <http://www.sednacom.fr> |
9 | +# author : gael@sednacom.fr |
10 | + |
11 | +# This program is free software; you can redistribute it and/or modify |
12 | +# it under the terms of the GNU General Public License as published by |
13 | +# the Free Software Foundation; either version 2 of the License, or |
14 | +# (at your option) any later version. |
15 | +# |
16 | +# This program is distributed in the hope that it will be useful, |
17 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
18 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
19 | +# GNU General Public License for more details. |
20 | +# |
21 | +# You should have received a copy of the GNU General Public License |
22 | +# along with this program; if not, write to the Free Software |
23 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
24 | + |
25 | +import business, inits |
26 | |
27 | === added file '__terp__.py' |
28 | --- __terp__.py 1970-01-01 00:00:00 +0000 |
29 | +++ __terp__.py 2011-06-12 01:27:27 +0000 |
30 | @@ -0,0 +1,35 @@ |
31 | +#!/usr/bin/env python |
32 | +# coding : utf-8 |
33 | + |
34 | +# (c) 2010 Sednacom, Sisalp, Prolibre et Open Net |
35 | +# author : cyp@open-net.ch |
36 | + |
37 | +# This program is free software; you can redistribute it and/or modify |
38 | +# it under the terms of the GNU General Public License as published by |
39 | +# the Free Software Foundation; either version 2 of the License, or |
40 | +# (at your option) any later version. |
41 | +# |
42 | +# This program is distributed in the hope that it will be useful, |
43 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
44 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
45 | +# GNU General Public License for more details. |
46 | +# |
47 | +# You should have received a copy of the GNU General Public License |
48 | +# along with this program; if not, write to the Free Software |
49 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
50 | + |
51 | +{ |
52 | + "name" : "Module business", |
53 | + "version" : "2.0.05", |
54 | + "author" : "Sednacom, Sisalp, Prolibre and Open Net", |
55 | + "category" : "Generic Modules/Others", |
56 | + "website": "http://open-net.ch/ERP-CRM-OpenERP/Nos-modules/business", |
57 | + "description": "This module lets you regroup everything invoices, purchases, timesheets and analytic accounts within one affair", |
58 | + "depends" : ["base","product","purchase","sale","account","project","hr_timesheet","hr_timesheet_sheet"], |
59 | + "init_xml" : [], |
60 | + "demo_xml" : [], |
61 | + "update_xml" : ["business_view.xml", |
62 | + "business_sequence.xml"], |
63 | + "active": False, |
64 | + "installable": True |
65 | +} |
66 | |
67 | === added file 'business.py' |
68 | --- business.py 1970-01-01 00:00:00 +0000 |
69 | +++ business.py 2011-06-12 01:27:27 +0000 |
70 | @@ -0,0 +1,360 @@ |
71 | +#!/usr/bin/env python |
72 | +# -*- coding: utf-8 -*- |
73 | +#coding: utf-8 |
74 | + |
75 | +# (c) 2009 Prolibre <http://www.prolibre.com> |
76 | +# author : info@prolibre.com |
77 | + |
78 | +# This program is free software; you can redistribute it and/or modify |
79 | +# it under the terms of the GNU General Public License as published by |
80 | +# the Free Software Foundation; either version 2 of the License, or |
81 | +# (at your option) any later version. |
82 | +# |
83 | +# This program is distributed in the hope that it will be useful, |
84 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
85 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
86 | +# GNU General Public License for more details. |
87 | +# |
88 | +# You should have received a copy of the GNU General Public License |
89 | +# along with this program; if not, write to the Free Software |
90 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
91 | + |
92 | +from osv import osv, fields |
93 | +import tools |
94 | +from mx import DateTime |
95 | +import netsvc |
96 | + |
97 | +class business_business(osv.osv): |
98 | + _name = "business.business" |
99 | + _description = "business affair" |
100 | + |
101 | + def make_list_partners(self, cr, uid, ids,business, arg, context): |
102 | + for busi in self.browse(cr, uid, ids): |
103 | + business_id = busi.name |
104 | + res1=[] |
105 | + if business_id: |
106 | + crit = [('business_id','=',business_id)] |
107 | + res2 = self.pool.get('sale.order').search(cr, uid, crit) |
108 | + for sale in self.pool.get('sale.order').browse(cr, uid, res2): |
109 | + res1.append(sale.partner_id.id) |
110 | + res3 = self.pool.get('purchase.order').search(cr, uid, crit) |
111 | + for purchase in self.pool.get('purchase.order').browse(cr, uid, res3): |
112 | + res1.append(purchase.partner_id.id) |
113 | + res = unique(res1) |
114 | + print res |
115 | + else: |
116 | + return False |
117 | + return res |
118 | + |
119 | + _columns = { |
120 | + 'name' : fields.char('Business', size=64, required=True), |
121 | + 'code' : fields.char('Business Number', size=64, required=True), |
122 | + 'date_start': fields.date('Start Date'), |
123 | + 'date_end': fields.date('End Date'), |
124 | + 'analytic_account' : fields.many2one('account.analytic.account', 'Analytic Account',required=False), |
125 | + #'list_partners' : fields.one2many('partner.from.list', 'business_id', 'Sale', readonly=True), |
126 | + 'sales' : fields.one2many('sale.order', 'business_id', 'Sales'), |
127 | + 'purchases' : fields.one2many('purchase.order', 'business_id', 'Purchases'), |
128 | + 'invoices' :fields.one2many('account.invoice', 'business_id', 'Invoices'), |
129 | + 'projects' : fields.one2many('project.project', 'business_id', 'Projects'), |
130 | + 'timesheet' : fields.one2many('hr.analytic.timesheet', 'business_id', 'Time Sheets'), |
131 | + 'main_partner':fields.many2one('res.partner','Main Partner',required=True), |
132 | + 'users': fields.many2many( 'res.users', 'business_users_rel', 'biz_id', 'user_id', 'Involved Users' ), |
133 | + 'state': fields.selection([ |
134 | + ('draft','Draft'), |
135 | + ('open','Open'), |
136 | + ('close','Close'), |
137 | + ], 'Business State', readonly=True,), |
138 | + } |
139 | + |
140 | + _defaults={ |
141 | + 'code': lambda obj, cr, uid, context: obj.pool.get('ir.sequence').get(cr, uid, 'business.business'), |
142 | + 'state':lambda *a:'draft', |
143 | + } |
144 | + |
145 | + def create(self, cr, user, vals, context=None): |
146 | + new_id = super(business_business,self).create(cr, user, vals, context) |
147 | + if (new_id): |
148 | + client_analytic_id = self.pool.get('ir.model.data')._get_id(cr,user,self.__module__.split('.')[0],'business_client_analytic_account') |
149 | + res_id = self.pool.get('ir.model.data').browse(cr,user,client_analytic_id).res_id |
150 | + main_partner_name = self.pool.get('res.partner').browse(cr,user,vals['main_partner']).name |
151 | + parent_analytic_id = self.pool.get('account.analytic.account').search(cr,user,[('name','=',main_partner_name),('parent_id','=',res_id)]) |
152 | + if not (parent_analytic_id): |
153 | + parent_analytic_id=[self.pool.get('account.analytic.account').create(cr,user,{'name':main_partner_name,'parent_id':res_id})] |
154 | + anal_acc_id = self.pool.get('account.analytic.account').create(cr,user,{'name':vals['name'],'parent_id':parent_analytic_id[0]}) |
155 | + if anal_acc_id > 0 and (('analytic_account' not in vals) or not vals['analytic_account']): |
156 | + super(business_business,self).write(cr, user, new_id, { 'analytic_account': anal_acc_id }, context=context) |
157 | + |
158 | + return new_id |
159 | + |
160 | + def business_open(self, cr, uid, ids, *args): |
161 | + self.write(cr,uid,ids,{'state':'open'}) |
162 | + return True |
163 | + |
164 | + def business_close(self, cr, uid, ids, *args): |
165 | + self.write(cr,uid,ids,{'state':'close'}) |
166 | + return True |
167 | + |
168 | + def business_draft(self, cr, uid, ids, *args): |
169 | + self.write(cr,uid,ids,{'state':'draft'}) |
170 | + return True |
171 | + |
172 | +business_business() |
173 | + |
174 | +class sale_order(osv.osv): |
175 | + _name = "sale.order" |
176 | + _inherit = "sale.order" |
177 | + _description = "Sale order with business affair" |
178 | + |
179 | + _columns = { |
180 | + 'business_id' : fields.many2one('business.business','Business', required=False , readonly=True, states={'draft':[('readonly',False)]}), |
181 | + } |
182 | + |
183 | + def onchange_business_id(self, cr, uid, ids, business_id): |
184 | + if not business_id: |
185 | + return {} |
186 | + analytic = self.pool.get('business.business').browse(cr, uid, business_id).analytic_account.id |
187 | + return {'value':{'project_id': analytic}} |
188 | + |
189 | + def action_invoice_create(self, cr, uid, ids, grouped=False, states=['confirmed','done']): |
190 | + res = super(sale_order, self).action_invoice_create(cr, uid, ids, grouped, states) |
191 | + for o in self.browse(cr, uid, ids): |
192 | + inv = self.pool.get('account.invoice').write(cr, uid, [res], {'business_id': o.business_id.id}) |
193 | + return res |
194 | + |
195 | +sale_order() |
196 | + |
197 | +class purchase_order(osv.osv): |
198 | + _inherit = "purchase.order" |
199 | + _description = "Purchase order with business affair" |
200 | + |
201 | + _columns = { |
202 | + 'business_id' : fields.many2one('business.business','Business', required=False, readonly=True, states={'draft':[('readonly',False)]}), |
203 | + } |
204 | + |
205 | + def action_invoice_create(self, cr, uid, ids, *args): |
206 | + res = super(purchase_order, self).action_invoice_create(cr, uid, ids, *args) |
207 | + for o in self.browse(cr, uid, ids): |
208 | + inv = self.pool.get('account.invoice').write(cr, uid, [res], {'business_id': o.business_id.id}) |
209 | + return res |
210 | + |
211 | + def onchange_biz_partner_id(self, cr, uid, ids, part, biz_id): |
212 | + if not part: |
213 | + return {'value':{'partner_address_id': False, 'fiscal_position': False, 'business_id': biz_id}} |
214 | + addr = self.pool.get('res.partner').address_get(cr, uid, [part], ['default']) |
215 | + part = self.pool.get('res.partner').browse(cr, uid, part) |
216 | + pricelist = part.property_product_pricelist_purchase.id |
217 | + fiscal_position = part.property_account_position and part.property_account_position.id or False |
218 | + return {'value':{'partner_address_id': addr['default'], 'pricelist_id': pricelist, 'fiscal_position': fiscal_position, 'business_id': biz_id}} |
219 | + |
220 | +purchase_order() |
221 | + |
222 | +class purchase_order_line(osv.osv): |
223 | + _name = "purchase.order.line" |
224 | + _inherit = "purchase.order.line" |
225 | + _description = "purchase order line with business affair" |
226 | + |
227 | + def _default_purchase_analytic( self, cr, uid, context): |
228 | + #print '_default_purchase_analytic',context |
229 | + business_id = context.get( 'business_id', False ) |
230 | + if business_id: |
231 | + res = self.pool.get( 'business.business' ).browse( cr, uid, business_id, context ).analytic_account.id |
232 | + else: |
233 | + res = False |
234 | + #purchase_order_obj = obj.pool.get('purchase.order').browse( cr, uid, context ) |
235 | + |
236 | + #print purchase_order_obj |
237 | + return res |
238 | + |
239 | + #_defaults = { |
240 | + # 'account_analytic_id' : _default_purchase_analytic, |
241 | + #} |
242 | + |
243 | +purchase_order_line() |
244 | + |
245 | +class account_invoice(osv.osv): |
246 | + _name = "account.invoice" |
247 | + _inherit = "account.invoice" |
248 | + _description = "invoice with business affair" |
249 | + |
250 | + _columns = { |
251 | + 'business_id' : fields.many2one('business.business','Business', required=False, readonly=True, states={'draft':[('readonly',False)]}), |
252 | + } |
253 | + |
254 | +account_invoice() |
255 | + |
256 | + |
257 | + |
258 | +class project(osv.osv): |
259 | + _name = "project.project" |
260 | + _inherit="project.project" |
261 | + _description = "Project with business affair" |
262 | + |
263 | + _columns = { |
264 | + 'business_id' : fields.many2one('business.business','Business', required=False), |
265 | + 'category_id': fields.many2one('account.analytic.account','Analytic Account'), |
266 | + } |
267 | + |
268 | + def onchange_business_id(self, cr, uid, ids, business_id): |
269 | + if not business_id: |
270 | + return {} |
271 | + analytic = self.pool.get('business.business').browse(cr, uid, business_id).analytic_account.id |
272 | + return {'value':{'category_id': analytic}} |
273 | + |
274 | +project() |
275 | + |
276 | +class partner_from_sale(osv.osv): |
277 | + _name = "partner.from.sale" |
278 | + _description = "Partners from business sales" |
279 | + _order='partner_id' |
280 | + _auto = False |
281 | + |
282 | + _columns = { |
283 | + 'name': fields.one2many('sale.order', 'business_id', 'Sale Order', readonly=True), |
284 | + 'business_id': fields.many2one('business.business','Business'), |
285 | + 'partner_id' : fields.many2one('res.partner','Partner'), |
286 | + } |
287 | + |
288 | + def init(self, cr): |
289 | + cr.execute(""" |
290 | + create or replace view partner_from_sale as ( |
291 | + select |
292 | + id, partner_id,business_id,name |
293 | + from |
294 | + sale_order |
295 | + )""") |
296 | + |
297 | +partner_from_sale() |
298 | + |
299 | +class partner_from_purchase(osv.osv): |
300 | + _name = "partner.from.purchase" |
301 | + _description = "Partners from business purchases" |
302 | + _order='partner_id' |
303 | + _auto = False |
304 | + |
305 | + _columns = { |
306 | + 'name': fields.one2many('purchase.order', 'business_id', 'Purchase Order', readonly=True), |
307 | + 'business_id': fields.many2one('business.business','Business'), |
308 | + 'partner_id' : fields.many2one('res.partner','Partner'), |
309 | + } |
310 | + def init(self, cr): |
311 | + cr.execute(""" |
312 | + create or replace view partner_from_purchase as ( |
313 | + select |
314 | + id, partner_id,business_id,name |
315 | + from |
316 | + purchase_order |
317 | + )""") |
318 | + |
319 | +partner_from_purchase() |
320 | + |
321 | +class partner_from_invoice(osv.osv): |
322 | + _name = "partner.from.invoice" |
323 | + _description = "Partners from business invoices" |
324 | + _order='partner_id' |
325 | + _auto = False |
326 | + |
327 | + _columns = { |
328 | + 'name': fields.one2many('account_invoice', 'business_id', 'Purchase Order', readonly=True), |
329 | + 'business_id': fields.many2one('business.business','Business'), |
330 | + 'partner_id' : fields.many2one('res.partner','Partner'), |
331 | + } |
332 | + |
333 | + def init(self, cr): |
334 | + cr.execute(""" |
335 | + create or replace view partner_from_invoice as ( |
336 | + select |
337 | + id, partner_id,business_id,name |
338 | + from |
339 | + account_invoice |
340 | + )""") |
341 | + |
342 | +partner_from_invoice() |
343 | + |
344 | +class partner_from_list(osv.osv): |
345 | + _name = "partner.from.list" |
346 | + _description = "Partners from business" |
347 | + _order='partner_id' |
348 | + _auto = False |
349 | + |
350 | + _columns = { |
351 | + 'business_id': fields.many2one('business.business','Business'), |
352 | + 'partner_id' : fields.many2one('res.partner','Partner'), |
353 | + } |
354 | + |
355 | + def init(self, cr): |
356 | + cr.execute(""" |
357 | + create or replace view partner_from_list as ( |
358 | + SELECT DISTINCT r.id,r.id as partner_id,b.id as business_id |
359 | + FROM res_partner r, business_business b, |
360 | + partner_from_invoice i, partner_from_sale s, |
361 | + partner_from_purchase p |
362 | + WHERE b.id=p.business_id and b.id=s.business_id and b.id=i.business_id |
363 | + )""") |
364 | + |
365 | +partner_from_list() |
366 | + |
367 | +class hr_analytic_timesheet(osv.osv): |
368 | + _inherit = "hr.analytic.timesheet" |
369 | + |
370 | + _columns = { |
371 | + 'business_id': fields.many2one('business.business','Business'), |
372 | + } |
373 | + |
374 | + def onchange_biz_user_id(self, cr, uid, ids, user_id, biz_id): |
375 | + if not user_id: |
376 | + return {} |
377 | + return {'value' : { |
378 | + 'product_id' : self._getEmployeeProduct(cr,user_id, context= {}), |
379 | + 'product_uom_id' : self._getEmployeeUnit(cr, user_id, context= {}), |
380 | + 'account_id' : biz_id, |
381 | + 'general_account_id' : self._getGeneralAccount(cr, user_id, context= {}), |
382 | + 'journal_id' : self._getAnalyticJournal(cr, user_id, context= {}), |
383 | + }} |
384 | + |
385 | +hr_analytic_timesheet() |
386 | + |
387 | +class project_work(osv.osv): |
388 | + _inherit = "project.task.work" |
389 | + |
390 | + _columns = { |
391 | + 'business_id': fields.many2one('business.business','Business'), |
392 | + } |
393 | + |
394 | + def create(self, cr, uid, vals, *args, **kwargs): |
395 | + business_id = False |
396 | + if ('business_id' not in vals or ('business_id' in vals and not vals['business_id'])) and ('task_id' in vals): |
397 | + task = self.pool.get('project.task').browse(cr, uid, vals['task_id']) |
398 | + if task and task.project_id and task.project_id.business_id: |
399 | + business_id = task.project_id.business_id.id |
400 | + vals['business_id'] = business_id |
401 | + ret = super(project_work,self).create(cr, uid, vals, *args, **kwargs) |
402 | + |
403 | + if business_id: |
404 | + task = self.browse(cr, uid, ret) |
405 | + if task: |
406 | + line_id = task.hr_analytic_timesheet_id |
407 | + # in case,if a record is deleted from timesheet,but we change it from tasks! |
408 | + list_avail_ids = self.pool.get('hr.analytic.timesheet').search(cr, uid, []) |
409 | + if line_id in list_avail_ids: |
410 | + obj = self.pool.get('hr.analytic.timesheet') |
411 | + if obj: |
412 | + obj.write(cr, uid, [line_id], { 'business_id': vals['business_id'] }, {}) |
413 | + |
414 | + def write(self, cr, uid, ids, vals, context={}): |
415 | + ret = super(project_work,self).write(cr, uid, ids, vals, context) |
416 | + |
417 | + if 'business_id' in vals: |
418 | + task = self.browse(cr, uid, ids)[0] |
419 | + if task: |
420 | + line_id = task.hr_analytic_timesheet_id |
421 | + # in case,if a record is deleted from timesheet,but we change it from tasks! |
422 | + list_avail_ids = self.pool.get('hr.analytic.timesheet').search(cr, uid, []) |
423 | + if line_id in list_avail_ids: |
424 | + obj = self.pool.get('hr.analytic.timesheet') |
425 | + if obj: |
426 | + obj.write(cr, uid, [line_id], { 'business_id': vals['business_id'] }, {}) |
427 | + |
428 | + return ret |
429 | + |
430 | +project_work() |
431 | |
432 | === added file 'business_sequence.xml' |
433 | --- business_sequence.xml 1970-01-01 00:00:00 +0000 |
434 | +++ business_sequence.xml 2011-06-12 01:27:27 +0000 |
435 | @@ -0,0 +1,16 @@ |
436 | +<?xml version="1.0" encoding="utf-8"?> |
437 | +<openerp> |
438 | + <data noupdate="1"> |
439 | + <!-- Sequences for Business No --> |
440 | + <record id="seq_type_business" model="ir.sequence.type"> |
441 | + <field name="name">Business</field> |
442 | + <field name="code">business.business</field> |
443 | + </record> |
444 | + <record id="seq_business" model="ir.sequence"> |
445 | + <field name="name">Business</field> |
446 | + <field name="code">business.business</field> |
447 | + <field name="prefix">Aff</field> |
448 | + <field name="padding">4</field> |
449 | + </record> |
450 | + </data> |
451 | +</openerp> |
452 | |
453 | === added file 'business_view.xml' |
454 | --- business_view.xml 1970-01-01 00:00:00 +0000 |
455 | +++ business_view.xml 2011-06-12 01:27:27 +0000 |
456 | @@ -0,0 +1,335 @@ |
457 | +<?xml version="1.0" encoding="utf-8"?> |
458 | +<openerp> |
459 | + <data> |
460 | + <!-- order view --> |
461 | + <record model="ir.ui.view" id="view_order_tree_business"> |
462 | + <field name="name">sale.order.tree</field> |
463 | + <field name="model">sale.order</field> |
464 | + <field name="inherit_id" ref="sale.view_order_tree" /> |
465 | + <field name="type">tree</field> |
466 | + <field name="arch" type="xml"> |
467 | + <field name="partner_id" position="before" > |
468 | + <field name="business_id"/> |
469 | + </field> |
470 | + </field> |
471 | + </record> |
472 | + |
473 | + <record model="ir.ui.view" id="view_order_form_business"> |
474 | + <field name="name">sale.order.form</field> |
475 | + <field name="model">sale.order</field> |
476 | + <field name="inherit_id" ref="sale.view_order_form" /> |
477 | + <field name="type">form</field> |
478 | + <field name="arch" type="xml"> |
479 | + <field name="project_id" position="before" > |
480 | + <field name="business_id" select="1" on_change="onchange_business_id(business_id)"/> |
481 | + </field> |
482 | + </field> |
483 | + </record> |
484 | + |
485 | + <!-- invoice view --> |
486 | + <record model="ir.ui.view" id="invoice_tree_business"> |
487 | + <field name="name">business.account.invoice.tree</field> |
488 | + <field name="model">account.invoice</field> |
489 | + <field name="inherit_id" ref="account.invoice_tree"/> |
490 | + <field name="type">tree</field> |
491 | + <field name="arch" type="xml"> |
492 | + <field name="number" position="after" > |
493 | + <field name="business_id" select="1"/> |
494 | + </field> |
495 | + </field> |
496 | + </record> |
497 | + |
498 | + <record model="ir.ui.view" id="invoice_form_business_sales"> |
499 | + <field name="name">business.sales.account.invoice.form</field> |
500 | + <field name="model">account.invoice</field> |
501 | + <field name="inherit_id" ref="account.invoice_form"/> |
502 | + <field name="type">form</field> |
503 | + <field name="arch" type="xml"> |
504 | + <field name="currency_id" position="after" > |
505 | + <field name="business_id" select="1"/> |
506 | + </field> |
507 | + </field> |
508 | + </record> |
509 | + |
510 | + <record model="ir.ui.view" id="invoice_form_business_sales_purchases"> |
511 | + <field name="name">business.purchases.account.invoice.form</field> |
512 | + <field name="model">account.invoice</field> |
513 | + <field name="inherit_id" ref="account.invoice_supplier_form"/> |
514 | + <field name="type">form</field> |
515 | + <field name="arch" type="xml"> |
516 | + <field name="account_id" position="after" > |
517 | + <field name="business_id" select="1"/> |
518 | + </field> |
519 | + </field> |
520 | + </record> |
521 | + |
522 | + <!-- Project view --> |
523 | + <record model="ir.ui.view" id="edit_project_business"> |
524 | + <field name="name">project.project.form</field> |
525 | + <field name="model">project.project</field> |
526 | + <field name="inherit_id" ref="project.edit_project"/> |
527 | + <field name="type">form</field> |
528 | + <field name="arch" type="xml"> |
529 | + <field name="state" position="after" > |
530 | + <field name="business_id" select="1" on_change="onchange_business_id(business_id)"/> |
531 | + </field> |
532 | + </field> |
533 | + </record> |
534 | + |
535 | + <record model="ir.ui.view" id="view_project_business"> |
536 | + <field name="name">project.project.tree</field> |
537 | + <field name="model">project.project</field> |
538 | + <field name="inherit_id" ref="project.view_project"/> |
539 | + <field name="type">tree</field> |
540 | + <field name="field_parent">child_id</field> |
541 | + <field name="arch" type="xml"> |
542 | + <field name="manager" position="after" > |
543 | + <field name="business_id" select="1"/> |
544 | + </field> |
545 | + </field> |
546 | + </record> |
547 | + |
548 | + <!-- Account analytic account view --> |
549 | + <record model="ir.ui.view" id="biz_analytic_1-form"> |
550 | + <field name="name">biz_analytic_1.form</field> |
551 | + <field name="model">account.analytic.account</field> |
552 | + <field name="inherit_id" ref="account.view_account_analytic_account_form"/> |
553 | + <field name="type">form</field> |
554 | + <field name="arch" type="xml"> |
555 | + <field name="partner_id" position="replace" > |
556 | + <field name="partner_id" required="1"/> |
557 | + </field> |
558 | + </field> |
559 | + </record> |
560 | + |
561 | + <record model="ir.ui.view" id="biz_analytic_2-form"> |
562 | + <field name="name">biz_analytic_2.form</field> |
563 | + <field name="model">account.analytic.account</field> |
564 | + <field name="inherit_id" ref="hr_timesheet_invoice.account_analytic_account_form_form"/> |
565 | + <field name="type">tree</field> |
566 | + <field name="field_parent">child_id</field> |
567 | + <field name="arch" type="xml"> |
568 | + <field name="pricelist_id" position="replace" > |
569 | + <field name="pricelist_id" required="1"/> |
570 | + </field> |
571 | + </field> |
572 | + </record> |
573 | + |
574 | + <!-- Business affair view --> |
575 | + <record model="ir.ui.view" id="business_form"> |
576 | + <field name="name">business.business.form</field> |
577 | + <field name="model">business.business</field> |
578 | + <field name="type">form</field> |
579 | + <field name="arch" type="xml"> |
580 | + <form string="Business!"> |
581 | + <notebook> |
582 | + <page string="Affair"> |
583 | + <field name="name" select="1"/> |
584 | + <field name="code" select="1"/> |
585 | + <field name="date_start" select="1"/> |
586 | + <field name="date_end" select="1"/> |
587 | + <field name="analytic_account" select="2" required="1"/> |
588 | + <field name="main_partner" select="1" required="1"/> |
589 | + <group colspan="4" col="4"> |
590 | + <separator string="Business State" colspan="4"/> |
591 | + <field colspan="1" nolabel="1" name="state" select="2"/> |
592 | + <button colspan="1" name="business_open" string="Open" states="draft" type="object"/> |
593 | + <button colspan="1" name="business_close" string="Close" states="open" type="object"/> |
594 | + <button colspan="1" name="business_draft" string="Draft" states="open,close" type="object"/> |
595 | + </group> |
596 | + </page> |
597 | + <page string="Projects"> |
598 | + <field name="projects" select="2" nolabel="1"/> |
599 | + </page> |
600 | + <page string="TimeSheets"> |
601 | + <field name="timesheet" select="2" nolabel="1" widget="one2many_list" mode="tree,form"> |
602 | + <tree editable="bottom" string="Timesheet Line"> |
603 | + <field name="user_id" on_change="onchange_biz_user_id(user_id, parent.analytic_account)" required="1"/> |
604 | + <field name="date" on_change="on_change_date(date)"/> |
605 | + <field domain="[('type','=','normal'),('state', '<>', 'close')]" name="account_id"/> |
606 | + <field name="name"/> |
607 | + <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)" sum="Total time"/> |
608 | + <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)" required="1" domain="[('type','=','service')]"/> |
609 | + <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/> |
610 | + <field name="amount" sum="Total cost"/> |
611 | + <field name="general_account_id"/> |
612 | + <field name="journal_id"/> |
613 | + <field name="to_invoice"/> |
614 | + </tree> |
615 | + <form string="Timesheet Lines"> |
616 | + <field colspan="4" name="name" select="2"/> |
617 | + <field name="user_id" on_change="on_change_user_id(user_id)" required="1" select="1"/> |
618 | + <field name="date" select="1" on_change="on_change_date(date)"/> |
619 | + <field name="unit_amount" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/> |
620 | + <newline/> |
621 | + <field name="product_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)" required="1" domain="[('type','=','service')]"/> |
622 | + <field name="product_uom_id" on_change="on_change_unit_amount(product_id, unit_amount, product_uom_id)"/> |
623 | + |
624 | + <field domain="[('type','=','normal'),('state', '<>', 'close')]" name="account_id" select="1"/> |
625 | + <field name="amount" select="2"/> |
626 | + <field name="general_account_id" select="2"/> |
627 | + <field name="journal_id"/> |
628 | + <field name="to_invoice"/> |
629 | + </form> |
630 | + </field> |
631 | + </page> |
632 | + <page string="Involved Users"> |
633 | + <field name="users" select="2" nolabel="1"/> |
634 | + </page> |
635 | + </notebook> |
636 | + </form> |
637 | + </field> |
638 | + </record> |
639 | + |
640 | + <record model="ir.ui.view" id="business_tree"> |
641 | + <field name="name">business.business.tree</field> |
642 | + <field name="model">business.business</field> |
643 | + <field name="type">tree</field> |
644 | + <field name="arch" type="xml"> |
645 | + <tree string="Businesses"> |
646 | + <field name="name" select="1"/> |
647 | + <field name="code" select="1"/> |
648 | + <field name="date_start" select="1"/> |
649 | + <field name="date_end" select="1"/> |
650 | + <field name="analytic_account" select="2"/> |
651 | + <field name="sales" select="2"/> |
652 | + <field name="purchases" select="2"/> |
653 | + <field name="invoices" select="2"/> |
654 | + <field name="projects" select="2"/> |
655 | + <field name="timesheet" select="2"/> |
656 | + </tree> |
657 | + </field> |
658 | + </record> |
659 | + |
660 | + <record model="ir.actions.act_window" id="business_all_form_action"> |
661 | + <field name="name">Business: all affairs</field> |
662 | + <field name="type">ir.actions.act_window</field> |
663 | + <field name="res_model">business.business</field> |
664 | + <field name="view_type">form</field> |
665 | + <field name="view_mode">tree,form</field> |
666 | + <field name="view_id" ref="business_tree"/> |
667 | + </record> |
668 | + |
669 | + <record model="ir.actions.act_window" id="business_draft_form_action"> |
670 | + <field name="name">Business: draft affairs</field> |
671 | + <field name="type">ir.actions.act_window</field> |
672 | + <field name="res_model">business.business</field> |
673 | + <field name="view_type">form</field> |
674 | + <field name="view_mode">tree,form</field> |
675 | + <field name="view_id" ref="business_tree"/> |
676 | + <field name="domain">[('state','=','draft')]</field> |
677 | + </record> |
678 | + |
679 | + <record model="ir.actions.act_window" id="business_open_form_action"> |
680 | + <field name="name">Business: opened affairs</field> |
681 | + <field name="type">ir.actions.act_window</field> |
682 | + <field name="res_model">business.business</field> |
683 | + <field name="view_type">form</field> |
684 | + <field name="view_mode">tree,form</field> |
685 | + <field name="view_id" ref="business_tree"/> |
686 | + <field name="domain">[('state','=','open')]</field> |
687 | + </record> |
688 | + |
689 | + <record model="ir.actions.act_window" id="business_close_form_action"> |
690 | + <field name="name">Business: closed affairs</field> |
691 | + <field name="type">ir.actions.act_window</field> |
692 | + <field name="res_model">business.business</field> |
693 | + <field name="view_type">form</field> |
694 | + <field name="view_mode">tree,form</field> |
695 | + <field name="view_id" ref="business_tree"/> |
696 | + <field name="domain">[('state','=','close')]</field> |
697 | + </record> |
698 | + |
699 | + <record model="ir.actions.act_window" id="business_my_form_action"> |
700 | + <field name="name">Business: my affairs</field> |
701 | + <field name="type">ir.actions.act_window</field> |
702 | + <field name="res_model">business.business</field> |
703 | + <field name="view_type">form</field> |
704 | + <field name="view_mode">tree,form</field> |
705 | + <field name="view_id" ref="business_tree"/> |
706 | + <field name="domain">[('users','in',[uid])]</field> |
707 | + </record> |
708 | + <act_window |
709 | + domain="[('users','in',[uid])]" |
710 | + id="act_employee_2_business" |
711 | + name="My Affairs" |
712 | + res_model="business.business" |
713 | + src_model="hr.employee"/> |
714 | + |
715 | + <!-- stand-alone timesheet lines: add the link field to business --> |
716 | + <record id="view_biz_account_analytic_line_tree_inherit" model="ir.ui.view"> |
717 | + <field name="name">biz.account.analytic.line.tree.to_invoice</field> |
718 | + <field name="model">account.analytic.line</field> |
719 | + <field name="type">tree</field> |
720 | + <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_tree"/> |
721 | + <field name="arch" type="xml"> |
722 | + <field name="date" position="after"> |
723 | + <field name="business_id"/> |
724 | + </field> |
725 | + </field> |
726 | + </record> |
727 | + |
728 | + <record id="view_biz_account_analytic_line_form_inherit" model="ir.ui.view"> |
729 | + <field name="name">biz.account.analytic.line.form.to_invoice</field> |
730 | + <field name="model">account.analytic.line</field> |
731 | + <field name="type">form</field> |
732 | + <field name="inherit_id" ref="hr_timesheet.hr_timesheet_line_form"/> |
733 | + <field name="arch" type="xml"> |
734 | + <field name="date" position="after"> |
735 | + <field name="business_id"/> |
736 | + </field> |
737 | + </field> |
738 | + </record> |
739 | + |
740 | + <!-- menu view --> |
741 | + <menuitem name="Business" id="menu_business_root" sequence="1"/> |
742 | + <menuitem name="Business/All Affairs" id="menu_business_all_form_action" action="business_all_form_action"/> |
743 | + <menuitem name="Business/Draft Affairs" id="menu_business_draft_form_action" action="business_draft_form_action"/> |
744 | + <menuitem name="Business/Opened Affairs" id="menu_business_open_form_action" action="business_open_form_action"/> |
745 | + <menuitem name="Business/Closed Affairs" id="menu_business_close_form_action" action="business_close_form_action"/> |
746 | + <menuitem name="Business/My Affairs" id="menu_business_my_form_action" action="business_my_form_action"/> |
747 | + |
748 | + <!-- list of views --> |
749 | + <act_window name="Purchase Invoices" |
750 | + domain="[('business_id', '=', active_id),('type','=','in_invoice')]" |
751 | + res_model="account.invoice" |
752 | + src_model="business.business" |
753 | + view_type="form" |
754 | + view_mode="tree,form" |
755 | + id="act_business_to_purchases"/> |
756 | + |
757 | + <act_window name="Sale Invoices" |
758 | + domain="[('business_id', '=', active_id),('type','=','out_invoice')]" |
759 | + res_model="account.invoice" |
760 | + src_model="business.business" |
761 | + view_type="form" |
762 | + view_mode="tree,form" |
763 | + id="act_business_to_sales"/> |
764 | + |
765 | + <act_window name="Analytic Account" |
766 | + domain="[('id', '=', analytic_account)]" |
767 | + res_model="account.analytic.account" |
768 | + src_model="business.business" |
769 | + view_type="form" |
770 | + view_mode="tree,form" |
771 | + id="act_business_to_analytic_account"/> |
772 | + |
773 | + <record id="business_client_analytic_account" model="account.analytic.account"> |
774 | + <field name="name">Client</field> |
775 | + </record> |
776 | + |
777 | + <!-- Project's tasks --> |
778 | + <record model="ir.ui.view" id="business_edit_project_business"> |
779 | + <field name="name">business.project.task.form</field> |
780 | + <field name="model">project.task</field> |
781 | + <field name="inherit_id" ref="project.view_task_form2"/> |
782 | + <field name="type">form</field> |
783 | + <field name="arch" type="xml"> |
784 | + <xpath expr="/form/notebook/page/field[@name='work_ids']/tree/field[@name='name']" position="before"> |
785 | + <field name="business_id" invisible="1"/> |
786 | + </xpath> |
787 | + </field> |
788 | + </record> |
789 | + |
790 | + </data> |
791 | +</openerp> |
792 | |
793 | === added directory 'i18n' |
794 | === added file 'i18n/fr_FR.csv' |
795 | --- i18n/fr_FR.csv 1970-01-01 00:00:00 +0000 |
796 | +++ i18n/fr_FR.csv 2011-06-12 01:27:27 +0000 |
797 | @@ -0,0 +1,33 @@ |
798 | +"field","account.invoice,business_id",0,"Business","Affaire" |
799 | +"field","business.business,purchases",0,"Purchases","Achats" |
800 | +"field","business.business,code",0,"Business Number","Numéro Affaire" |
801 | +"field","business.business,name",0,"Business","Affaire" |
802 | +"field","business.business,invoices",0,"Invoices","Factures" |
803 | +"field","business.business,date_end",0,"End Date","Date fin" |
804 | +"field","business.business,date_start",0,"Start Date","Date Début" |
805 | +"field","business.business,sales",0,"Sales","Ventes" |
806 | +"field","business.business,analytic_account",0,"Analytic Account","Compte Analytique" |
807 | +"field","business.business,projects",0,"Projects","Projets" |
808 | +"model","ir.model,name",191,"business affair","Affaire" |
809 | +"model","ir.model,name",192,"business affair","Affaire" |
810 | +"model","ir.model,name",193,"Make a supplier product list","Faire une liste de produit fournisseur" |
811 | +"model","ir.model,name",194,"Partners from business sales","Partenaires des ventes d'une affaire" |
812 | +"model","ir.model,name",195,"Partners from business sales","Partenaires des ventes d'une affaire" |
813 | +"model","ir.model,name",196,"Partners from business purchases","Partenaire des achats d'une affaire" |
814 | +"model","ir.model,name",197,"Partners from business invoices","Partenaires des factures d'une affaire" |
815 | +"model","ir.model,name",198,"Partners from business","Partenaires d'une affaire" |
816 | +"model","ir.ui.menu,name",438,"Business","Affaire" |
817 | +"model","ir.ui.menu,name",439,"Business Affair","Affaire" |
818 | +"field","partner.from.invoice,business_id",0,"Business","Affaire" |
819 | +"field","partner.from.list,business_id",0,"Business","Affaire" |
820 | +"field","partner.from.purchase,business_id",0,"Business","Affaire" |
821 | +"field","partner.from.sale,business_id",0,"Business","Affaire" |
822 | +"field","purchase.order,business_id",0,"Business","Affaire" |
823 | +"field","sale.order,business_id",0,"Business","Affaire" |
824 | +"view","business.business",0,"Business","Affaire" |
825 | +"view","business.business",0,"Affair","Affaire" |
826 | +"view","business.business",0,"Sales","Ventes" |
827 | +"view","business.business",0,"Purchases","Achats" |
828 | +"view","business.business",0,"Invoices","Factures" |
829 | +"view","business.business",0,"Projects","Projets" |
830 | +"view","business.business",0,"Business","Affaire" |
831 | |
832 | === added file 'i18n/fr_FR.po' |
833 | --- i18n/fr_FR.po 1970-01-01 00:00:00 +0000 |
834 | +++ i18n/fr_FR.po 2011-06-12 01:27:27 +0000 |
835 | @@ -0,0 +1,388 @@ |
836 | +# Translation of OpenERP Server. |
837 | +# This file contains the translation of the following modules: |
838 | +# * business |
839 | +# |
840 | +msgid "" |
841 | +msgstr "" |
842 | +"Project-Id-Version: OpenERP Server 5.0.5-bzr\n" |
843 | +"Report-Msgid-Bugs-To: support@openerp.com\n" |
844 | +"POT-Creation-Date: 2009-09-15 13:35:00+0000\n" |
845 | +"PO-Revision-Date: 2009-09-15 13:35:00+0000\n" |
846 | +"Last-Translator: <>\n" |
847 | +"Language-Team: \n" |
848 | +"MIME-Version: 1.0\n" |
849 | +"Content-Type: text/plain; charset=UTF-8\n" |
850 | +"Content-Transfer-Encoding: \n" |
851 | +"Plural-Forms: \n" |
852 | + |
853 | +#. module: business |
854 | +#: view:business.business:0 |
855 | +msgid "Sale invoice" |
856 | +msgstr "Facture de vente" |
857 | + |
858 | +#. module: business |
859 | +#: model:ir.model,name:business.model_partner_from_sale |
860 | +msgid "Partners from business sales" |
861 | +msgstr "Partenaires depuis les ventes de l'affaire" |
862 | + |
863 | +#. module: business |
864 | +#: constraint:ir.model:0 |
865 | +msgid "The Object name must start with x_ and not contain any special character !" |
866 | +msgstr "Le nom de l'objet doit commencer avec x_ et ne pas contenir de charactères spéciaux !" |
867 | + |
868 | +#. module: business |
869 | +#: view:business.business:0 |
870 | +msgid "(keep empty to use the current period)" |
871 | +msgstr "(laisser vide pour la période courante)" |
872 | + |
873 | +#. module: business |
874 | +#: view:business.business:0 |
875 | +msgid "Other Info" |
876 | +msgstr "Autres informations" |
877 | + |
878 | +#. module: business |
879 | +#: view:business.business:0 |
880 | +msgid "Create" |
881 | +msgstr "Créer" |
882 | + |
883 | +#. module: business |
884 | +#: constraint:ir.actions.act_window:0 |
885 | +msgid "Invalid model name in the action definition." |
886 | +msgstr "Nom du Modèle non valide dans la définition de l'action." |
887 | + |
888 | +#. module: business |
889 | +#: view:business.business:0 |
890 | +msgid "PRO-FORMA" |
891 | +msgstr "" |
892 | + |
893 | +#. module: business |
894 | +#: view:business.business:0 |
895 | +msgid "Untaxed amount" |
896 | +msgstr "Montant hors-taxe" |
897 | + |
898 | +#. module: business |
899 | +#: field:hr.analytic.timesheet,business_id:0 |
900 | +#: model:ir.ui.menu,name:business.menu_business_root |
901 | +msgid "Business" |
902 | +msgstr "Affaires" |
903 | + |
904 | +#. module: business |
905 | +#: field:account.invoice,business_id:0 |
906 | +msgid "Business" |
907 | +msgstr "Affaire" |
908 | + |
909 | +#. module: business |
910 | +#: view:business.business:0 |
911 | +msgid "Timesheet Lines" |
912 | +msgstr "Lignes horaires" |
913 | + |
914 | +#. module: business |
915 | +#: view:business.business:0 |
916 | +msgid "Set to Draft" |
917 | +msgstr "Passer en brouillon" |
918 | + |
919 | +#. module: business |
920 | +#: view:business.business:0 |
921 | +msgid "Re-Open" |
922 | +msgstr "Réouvrir" |
923 | + |
924 | +#. module: business |
925 | +#: view:business.business:0 |
926 | +msgid "Validate" |
927 | +msgstr "Valider" |
928 | + |
929 | +#. module: business |
930 | +#: view:business.business:0 |
931 | +msgid "Invoice lines" |
932 | +msgstr "Lignes de facture" |
933 | + |
934 | +#. module: business |
935 | +#: view:business.business:0 |
936 | +msgid "Projects" |
937 | +msgstr "Projets" |
938 | + |
939 | +#. module: business |
940 | +#: constraint:ir.ui.view:0 |
941 | +msgid "Invalid XML for View Architecture!" |
942 | +msgstr "XML non valide pour l'architecture de la vue" |
943 | + |
944 | +#. module: business |
945 | +#: view:business.business:0 |
946 | +msgid "Purchase invoices" |
947 | +msgstr "Factures d'achat" |
948 | + |
949 | +#. module: business |
950 | +#: view:business.business:0 |
951 | +msgid "Total time" |
952 | +msgstr "Temps total" |
953 | + |
954 | +#. module: business |
955 | +#: model:ir.ui.menu,name:business.menu_business_all_form_action |
956 | +msgid "All Affairs" |
957 | +msgstr "Toutes les affaires" |
958 | + |
959 | +#. module: business |
960 | +#: model:ir.model,name:business.model_partner_from_list |
961 | +msgid "Partners from business" |
962 | +msgstr "Partenaires d'une affaire" |
963 | + |
964 | +#. module: business |
965 | +#: view:business.business:0 |
966 | +msgid "Total amount" |
967 | +msgstr "Montant total" |
968 | + |
969 | +#. module: business |
970 | +#: view:business.business:0 |
971 | +msgid "Compute Taxes" |
972 | +msgstr "Calculer les taxes" |
973 | + |
974 | +#. module: business |
975 | +#: view:business.business:0 |
976 | +msgid "Taxes" |
977 | +msgstr "Taxes" |
978 | + |
979 | +#. module: business |
980 | +#: view:business.business:0 |
981 | +msgid "TimeSheets" |
982 | +msgstr "Feuilles d'heures" |
983 | + |
984 | +#. module: business |
985 | +#: view:business.business:0 |
986 | +msgid "Cancel" |
987 | +msgstr "Annuler" |
988 | + |
989 | +#. module: business |
990 | +#: model:ir.model,name:business.model_business_business |
991 | +msgid "business affair" |
992 | +msgstr "Affaire" |
993 | + |
994 | +#. module: business |
995 | +#: view:business.business:0 |
996 | +msgid "Payments" |
997 | +msgstr "Payements" |
998 | + |
999 | +#. module: business |
1000 | +#: view:business.business:0 |
1001 | +msgid "Sale invoices" |
1002 | +msgstr "Factures de vente" |
1003 | + |
1004 | +#. module: business |
1005 | +#: view:business.business:0 |
1006 | +msgid "Total cost" |
1007 | +msgstr "Coût total" |
1008 | + |
1009 | +#. module: business |
1010 | +#: view:business.business:0 |
1011 | +msgid "Additionnal Information" |
1012 | +msgstr "Information additionnelle" |
1013 | + |
1014 | +#. module: business |
1015 | +#: view:business.business:0 |
1016 | +msgid "Affair" |
1017 | +msgstr "Affaire" |
1018 | + |
1019 | +#. module: business |
1020 | +#: model:ir.module.module,description:business.module_meta_information |
1021 | +msgid "regroup partner, invoice, purchase, timesheet and analytic account within an affair" |
1022 | +msgstr "Regroupe partenaire, facturation, achat, timesheet et comptabilité analytique dans une affaire" |
1023 | + |
1024 | +#. module: business |
1025 | +#: model:ir.model,name:business.model_partner_from_invoice |
1026 | +msgid "Partners from business invoices" |
1027 | +msgstr "Partenaires depuis les factures de l'affaire" |
1028 | + |
1029 | +#. module: business |
1030 | +#: model:ir.module.module,shortdesc:business.module_meta_information |
1031 | +msgid "Module business" |
1032 | +msgstr "Module Affaire" |
1033 | + |
1034 | +#. module: business |
1035 | +#: model:ir.ui.menu,name:business.menu_business_open_form_action |
1036 | +msgid "Opened Affairs" |
1037 | +msgstr "Affaires en cours" |
1038 | + |
1039 | +#. module: business |
1040 | +#: view:business.business:0 |
1041 | +msgid "Businesses" |
1042 | +msgstr "Affaires" |
1043 | + |
1044 | +#. module: business |
1045 | +#: view:business.business:0 |
1046 | +msgid "Invoice" |
1047 | +msgstr "Facture" |
1048 | + |
1049 | +#. module: business |
1050 | +#: model:ir.ui.menu,name:business.menu_business_close_form_action |
1051 | +msgid "Closed Affairs" |
1052 | +msgstr "Affaires closes" |
1053 | + |
1054 | +#. module: business |
1055 | +#: constraint:account.analytic.account:0 |
1056 | +msgid "Error! You can not create recursive analytic accounts." |
1057 | +msgstr "Erreur ! Vous ne pouvez pas créer de comptes analytiques récursivement." |
1058 | + |
1059 | +#. module: business |
1060 | +#: model:ir.model,name:business.model_partner_from_purchase |
1061 | +msgid "Partners from business purchases" |
1062 | +msgstr "Partenaires depuis les devis" |
1063 | + |
1064 | +#. module: business |
1065 | +#: view:business.business:0 |
1066 | +msgid "Timesheet Line" |
1067 | +msgstr "Ligne horaire" |
1068 | + |
1069 | +#. module: business |
1070 | +#: model:ir.ui.menu,name:business.menu_business_draft_form_action |
1071 | +msgid "Draft Affairs" |
1072 | +msgstr "Affaires démarrées" |
1073 | + |
1074 | +#. module: business |
1075 | +#: model:ir.ui.menu,name:business.menu_business_draft_form_action |
1076 | +msgid "My Affairs" |
1077 | +msgstr "Mes affaires" |
1078 | + |
1079 | +#. module: business |
1080 | +#: view:business.business:0 |
1081 | +msgid "Additional Information" |
1082 | +msgstr "Information additionnelle" |
1083 | + |
1084 | +#. module: business |
1085 | +#: view:business.business:0 |
1086 | +msgid "Business State" |
1087 | +msgstr "Etat de l'affaire" |
1088 | + |
1089 | +#. module: batiplus_products |
1090 | +#: selection:business.business,state:0 |
1091 | +msgid "Open" |
1092 | +msgstr "Ouvert" |
1093 | + |
1094 | +#. module: batiplus_products |
1095 | +#: selection:business.business,state:0 |
1096 | +msgid "Close" |
1097 | +msgstr "Fermé" |
1098 | + |
1099 | +#. module: batiplus_products |
1100 | +#: selection:business.business,state:0 |
1101 | +#: view:business.business:0 |
1102 | +msgid "Draft" |
1103 | +msgstr "Proposition" |
1104 | + |
1105 | +#. module: business |
1106 | +#: model:ir.actions.act_window,name:business.act_business_to_purchases |
1107 | +msgid "Purchase Invoices" |
1108 | +msgstr "Factures d'achat" |
1109 | + |
1110 | +#. module: business |
1111 | +#: model:ir.actions.act_window,name:business.act_business_to_sales |
1112 | +msgid "Sale Invoices" |
1113 | +msgstr "Factures de vente" |
1114 | + |
1115 | +#. module: business |
1116 | +#: model:ir.actions.act_window,name:business.act_business_to_analytic_account |
1117 | +msgid "Analytic Account" |
1118 | +msgstr "Compte analytique" |
1119 | + |
1120 | +#. module: business |
1121 | +#: field:business.business,name:0 |
1122 | +msgid "Business" |
1123 | +msgstr "Affaire" |
1124 | + |
1125 | +#. module: business |
1126 | +#: field:business.business,code:0 |
1127 | +msgid "Business Number" |
1128 | +msgstr "N° d'affaire" |
1129 | + |
1130 | +#. module: business |
1131 | +#: field:business.business,date_start:0 |
1132 | +msgid "Start Date" |
1133 | +msgstr "Date de démarrage" |
1134 | + |
1135 | +#. module: business |
1136 | +#: field:business.business,date_end:0 |
1137 | +msgid "End Date" |
1138 | +msgstr "Date de fin" |
1139 | + |
1140 | +#. module: business |
1141 | +#: field:business.business,analytic_account:0 |
1142 | +msgid "Analytic Account" |
1143 | +msgstr "Compte Analytique" |
1144 | + |
1145 | +#. module: business |
1146 | +#: field:business.business,sales:0 |
1147 | +msgid "Sales" |
1148 | +msgstr "Ventes" |
1149 | + |
1150 | +#. module: business |
1151 | +#: field:business.business,purchases:0 |
1152 | +msgid "Purchases" |
1153 | +msgstr "Achats" |
1154 | + |
1155 | +#. module: business |
1156 | +#: field:business.business,invoices:0 |
1157 | +msgid "Invoices" |
1158 | +msgstr "Factures" |
1159 | + |
1160 | +#. module: business |
1161 | +#: field:business.business,projects:0 |
1162 | +msgid "Projects" |
1163 | +msgstr "Projets" |
1164 | + |
1165 | +#. module: business |
1166 | +#: field:business.business,timesheet:0 |
1167 | +msgid "Time Sheets" |
1168 | +msgstr "Feuilles d'heures" |
1169 | + |
1170 | +#. module: business |
1171 | +#: field:business.business,main_partner:0 |
1172 | +msgid "Main Partner" |
1173 | +msgstr "Partenaire principal" |
1174 | + |
1175 | +#. module: business |
1176 | +#: field:business.business,users:0 |
1177 | +msgid "Involved Users" |
1178 | +msgstr "Utilisateurs concernés" |
1179 | + |
1180 | +#. module: business |
1181 | +#: view:business.business:0 |
1182 | +msgid "Involved Users" |
1183 | +msgstr "Utilisateurs concernés" |
1184 | + |
1185 | +#. module: business |
1186 | +#: view:business.business:0 |
1187 | +msgid "Open" |
1188 | +msgstr "Ouvrir" |
1189 | + |
1190 | +#. module: business |
1191 | +#: view:business.business:0 |
1192 | +msgid "Close" |
1193 | +msgstr "Clore" |
1194 | + |
1195 | +#. module: business |
1196 | +#: view:business.business:0 |
1197 | +msgid "Draft" |
1198 | +msgstr "Démarrer" |
1199 | + |
1200 | +#. module: business |
1201 | +#: model:ir.actions.act_window,name:ons_business.business_all_form_action |
1202 | +msgid "Business: all affairs" |
1203 | +msgstr "Affaires: toutes" |
1204 | + |
1205 | +#. module: business |
1206 | +#: model:ir.actions.act_window,name:ons_business.business_all_form_action |
1207 | +msgid "Business: draft affairs" |
1208 | +msgstr "Affaires: démarrées" |
1209 | + |
1210 | +#. module: business |
1211 | +#: model:ir.actions.act_window,name:ons_business.business_all_form_action |
1212 | +msgid "Business: opened affairs" |
1213 | +msgstr "Affaires en cours" |
1214 | + |
1215 | +#. module: business |
1216 | +#: model:ir.actions.act_window,name:ons_business.business_all_form_action |
1217 | +msgid "Business: closed affairs" |
1218 | +msgstr "Affaires closes" |
1219 | + |
1220 | +#. module: business |
1221 | +#: model:ir.actions.act_window,name:ons_business.business_all_form_action |
1222 | +msgid "Business: my affairs" |
1223 | +msgstr "Mes affaires" |
1224 | |
1225 | === added file 'inits.py' |
1226 | --- inits.py 1970-01-01 00:00:00 +0000 |
1227 | +++ inits.py 2011-06-12 01:27:27 +0000 |
1228 | @@ -0,0 +1,45 @@ |
1229 | +# -*- encoding: utf-8 -*- |
1230 | +# |
1231 | +# File: inits.py |
1232 | +# Module: business |
1233 | +# |
1234 | +# Created by cyp@open-net.ch |
1235 | +# |
1236 | +# Copyright (c) 2010 Open-Net Ltd. All rights reserved. |
1237 | +############################################################################## |
1238 | +# |
1239 | +# WARNING: This program as such is intended to be used by professional |
1240 | +# programmers who take the whole responsability of assessing all potential |
1241 | +# consequences resulting from its eventual inadequacies and bugs |
1242 | +# End users who are looking for a ready-to-use solution with commercial |
1243 | +# garantees and support are strongly adviced to contract a Free Software |
1244 | +# Service Company |
1245 | +# |
1246 | +# This program is Free Software; you can redistribute it and/or |
1247 | +# modify it under the terms of the GNU General Public License |
1248 | +# as published by the Free Software Foundation; either version 2 |
1249 | +# of the License, or (at your option) any later version. |
1250 | +# |
1251 | +# This program is distributed in the hope that it will be useful, |
1252 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of |
1253 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1254 | +# GNU General Public License for more details. |
1255 | +# |
1256 | +# You should have received a copy of the GNU General Public License |
1257 | +# along with this program; if not, write to the Free Software |
1258 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. |
1259 | +# |
1260 | +############################################################################## |
1261 | + |
1262 | +from account import invoice |
1263 | +from osv import fields, osv |
1264 | + |
1265 | +class opennet_own_inits(osv.osv): |
1266 | + _inherit = 'account.invoice' |
1267 | + _auto = False |
1268 | + |
1269 | + def __init__(self, pool, cr): |
1270 | + super(opennet_own_inits, self).__init__(pool, cr) |
1271 | + cr.execute("Update ir_act_report_xml set report_rml='ons_business/report/invoices.rml' Where model='account.invoice' and report_name='account.invoice'") |
1272 | + |
1273 | +opennet_own_inits() |
1274 | |
1275 | === added directory 'report' |
1276 | === added file 'report/invoices.rml' |
1277 | --- report/invoices.rml 1970-01-01 00:00:00 +0000 |
1278 | +++ report/invoices.rml 2011-06-12 01:27:27 +0000 |
1279 | @@ -0,0 +1,421 @@ |
1280 | +<?xml version="1.0"?> |
1281 | +<document filename="test.pdf"> |
1282 | +<!-- |
1283 | + <docinit> |
1284 | + <registerFont fontName="ocrb" fontFile="/home/openerp/addons/business/report/myfont.ttf"/> |
1285 | + </docinit> |
1286 | +--> |
1287 | + <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20"> |
1288 | + <pageTemplate id="first"> |
1289 | + <frame id="first" x1="34.0" y1="28.0" width="530" height="786"/> |
1290 | + </pageTemplate> |
1291 | + </template> |
1292 | + <stylesheet> |
1293 | + <blockTableStyle id="Standard_Outline"> |
1294 | + <blockAlignment value="LEFT"/> |
1295 | + <blockValign value="TOP"/> |
1296 | + </blockTableStyle> |
1297 | + <blockTableStyle id="Table_Partner_Address"> |
1298 | + <blockAlignment value="LEFT"/> |
1299 | + <blockValign value="TOP"/> |
1300 | + </blockTableStyle> |
1301 | + <blockTableStyle id="Table_Invoice_General_Header"> |
1302 | + <blockAlignment value="LEFT"/> |
1303 | + <blockValign value="TOP"/> |
1304 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/> |
1305 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/> |
1306 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
1307 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/> |
1308 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/> |
1309 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1310 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/> |
1311 | + <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/> |
1312 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/> |
1313 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1314 | + </blockTableStyle> |
1315 | + <blockTableStyle id="Table_General_Detail_Content"> |
1316 | + <blockAlignment value="LEFT"/> |
1317 | + <blockValign value="TOP"/> |
1318 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="0,0" stop="0,-1"/> |
1319 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="0,0" stop="0,0"/> |
1320 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
1321 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="1,0" stop="1,-1"/> |
1322 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="1,0" stop="1,0"/> |
1323 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1324 | + <lineStyle kind="LINEBEFORE" colorName="#e6e6e6" start="2,0" stop="2,-1"/> |
1325 | + <lineStyle kind="LINEAFTER" colorName="#e6e6e6" start="2,0" stop="2,-1"/> |
1326 | + <lineStyle kind="LINEABOVE" colorName="#e6e6e6" start="2,0" stop="2,0"/> |
1327 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1328 | + </blockTableStyle> |
1329 | + <blockTableStyle id="Table_Header_Invoice_Line"> |
1330 | + <blockAlignment value="LEFT"/> |
1331 | + <blockValign value="TOP"/> |
1332 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
1333 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1334 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1335 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> |
1336 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/> |
1337 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/> |
1338 | + </blockTableStyle> |
1339 | + <blockTableStyle id="Table_Invoice_Line_Content"> |
1340 | + <blockAlignment value="LEFT"/> |
1341 | + <blockValign value="TOP"/> |
1342 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
1343 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1344 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1345 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/> |
1346 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/> |
1347 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/> |
1348 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/> |
1349 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="7,-1" stop="7,-1"/> |
1350 | + </blockTableStyle> |
1351 | + <blockTableStyle id="Table_Format_2"> |
1352 | + <blockAlignment value="LEFT"/> |
1353 | + <blockValign value="TOP"/> |
1354 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,0" stop="0,-1"/> |
1355 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/> |
1356 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1357 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="1,0" stop="1,-1"/> |
1358 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/> |
1359 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1360 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="2,0" stop="2,-1"/> |
1361 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="2,0" stop="2,0"/> |
1362 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/> |
1363 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="3,0" stop="3,-1"/> |
1364 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="3,0" stop="3,-1"/> |
1365 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="3,0" stop="3,0"/> |
1366 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="3,-1" stop="3,-1"/> |
1367 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,0"/> |
1368 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,0"/> |
1369 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="6,0" stop="6,0"/> |
1370 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="10,0" stop="10,0"/> |
1371 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="11,0" stop="11,0"/> |
1372 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="12,0" stop="12,0"/> |
1373 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,1" stop="0,-1"/> |
1374 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,1" stop="0,1"/> |
1375 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1376 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="1,1" stop="1,-1"/> |
1377 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,1" stop="1,1"/> |
1378 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1379 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,2" stop="0,2"/> |
1380 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,2" stop="1,2"/> |
1381 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="2,2" stop="2,2"/> |
1382 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,4" stop="0,4"/> |
1383 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,4" stop="1,4"/> |
1384 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="2,4" stop="2,4"/> |
1385 | + </blockTableStyle> |
1386 | + <blockTableStyle id="Table_format_Table_Line_total"> |
1387 | + <blockAlignment value="LEFT"/> |
1388 | + <blockValign value="TOP"/> |
1389 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,0" stop="0,-1"/> |
1390 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/> |
1391 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1392 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="1,0" stop="1,-1"/> |
1393 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/> |
1394 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1395 | + </blockTableStyle> |
1396 | + <blockTableStyle id="Table_eclu_Taxes_Total"> |
1397 | + <blockAlignment value="LEFT"/> |
1398 | + <blockValign value="TOP"/> |
1399 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
1400 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
1401 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> |
1402 | + </blockTableStyle> |
1403 | + <blockTableStyle id="Table_Taxes_Total"> |
1404 | + <blockAlignment value="LEFT"/> |
1405 | + <blockValign value="TOP"/> |
1406 | + </blockTableStyle> |
1407 | + <blockTableStyle id="Table_Total_Include_Taxes"> |
1408 | + <blockAlignment value="LEFT"/> |
1409 | + <blockValign value="TOP"/> |
1410 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/> |
1411 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/> |
1412 | + <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/> |
1413 | + </blockTableStyle> |
1414 | + <blockTableStyle id="Table_Main_Table"> |
1415 | + <blockAlignment value="LEFT"/> |
1416 | + <blockValign value="TOP"/> |
1417 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,0" stop="0,-1"/> |
1418 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="0,0" stop="0,-1"/> |
1419 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/> |
1420 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1421 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1422 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1423 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/> |
1424 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
1425 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1426 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1427 | + <lineStyle kind="LINEBEFORE" colorName="#ffffff" start="0,2" stop="0,-1"/> |
1428 | + <lineStyle kind="LINEAFTER" colorName="#ffffff" start="0,2" stop="0,-1"/> |
1429 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1430 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1431 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1432 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/> |
1433 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
1434 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1435 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1436 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1437 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1438 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/> |
1439 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="3,-1" stop="3,-1"/> |
1440 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1441 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1442 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/> |
1443 | + </blockTableStyle> |
1444 | + <blockTableStyle id="Table_Tax_Header"> |
1445 | + <blockAlignment value="LEFT"/> |
1446 | + <blockValign value="TOP"/> |
1447 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/> |
1448 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/> |
1449 | + <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/> |
1450 | + </blockTableStyle> |
1451 | + <blockTableStyle id="Table_Tax_Content"> |
1452 | + <blockAlignment value="LEFT"/> |
1453 | + <blockValign value="TOP"/> |
1454 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/> |
1455 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/> |
1456 | + <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/> |
1457 | + </blockTableStyle> |
1458 | + <blockTableStyle id="Table_Table_Border_White"> |
1459 | + <blockAlignment value="LEFT"/> |
1460 | + <blockValign value="TOP"/> |
1461 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="0,-1" stop="0,-1"/> |
1462 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="1,-1" stop="1,-1"/> |
1463 | + <lineStyle kind="LINEBELOW" colorName="#ffffff" start="2,-1" stop="2,-1"/> |
1464 | + </blockTableStyle> |
1465 | + <blockTableStyle id="Table_Final_Border"> |
1466 | + <blockAlignment value="LEFT"/> |
1467 | + <blockValign value="TOP"/> |
1468 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,0" stop="0,0"/> |
1469 | + <lineStyle kind="LINEABOVE" colorName="#ffffff" start="1,0" stop="1,0"/> |
1470 | + </blockTableStyle> |
1471 | + <blockTableStyle id="Table_Coment_Payment_Term"> |
1472 | + <blockAlignment value="LEFT"/> |
1473 | + <blockValign value="TOP"/> |
1474 | + </blockTableStyle> |
1475 | + <blockTableStyle id="Table_Payment_Terms"> |
1476 | + <blockAlignment value="LEFT"/> |
1477 | + <blockValign value="TOP"/> |
1478 | + </blockTableStyle> |
1479 | + <initialize> |
1480 | + <paraStyle name="all" alignment="justify"/> |
1481 | + </initialize> |
1482 | + <paraStyle name="Standard" fontName="Times-Roman"/> |
1483 | + <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/> |
1484 | + <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/> |
1485 | + <paraStyle name="Table Contents" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/> |
1486 | + <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/> |
1487 | + <paraStyle name="Caption" fontName="Times-Roman" fontSize="10.0" leading="13" spaceBefore="6.0" spaceAfter="6.0"/> |
1488 | + <paraStyle name="Index" fontName="Times-Roman"/> |
1489 | + <paraStyle name="Heading" fontName="Helvetica" fontSize="15.0" leading="19" spaceBefore="12.0" spaceAfter="6.0"/> |
1490 | + <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/> |
1491 | + <paraStyle name="terp_default_8" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1492 | + <paraStyle name="Footer" fontName="Times-Roman"/> |
1493 | + <paraStyle name="P8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="0.0"/> |
1494 | + <paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/> |
1495 | + <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/> |
1496 | + <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/> |
1497 | + <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/> |
1498 | + <paraStyle name="terp_default_Bold_8" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1499 | + <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/> |
1500 | + <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/> |
1501 | + <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/> |
1502 | + <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/> |
1503 | + <paraStyle name="terp_default_Right_8" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1504 | + <paraStyle name="terp_default_Centre_8" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
1505 | + <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/> |
1506 | + <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/> |
1507 | + <paraStyle name="terp_default_address" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1508 | + <paraStyle name="terp_default_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1509 | + <paraStyle name="terp_default_Bold_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1510 | + <paraStyle name="terp_default_Centre_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/> |
1511 | + <paraStyle name="terp_default_Right_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1512 | + <paraStyle name="terp_default_Bold_Right_9" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/> |
1513 | + <paraStyle name="terp_default_2" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1514 | + <paraStyle name="terp_default_White_2" rightIndent="0.0" leftIndent="0.0" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1515 | + <paraStyle name="terp_default_Note" rightIndent="0.0" leftIndent="9.0" fontName="Helvetica-Oblique" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/> |
1516 | + </stylesheet> |
1517 | + <images/> |
1518 | + <story> |
1519 | + <para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para> |
1520 | + <para style="terp_default_8">[[ setLang(o.partner_id.lang) ]] </para> |
1521 | + <blockTable colWidths="297.0,233.0" style="Table_Partner_Address"> |
1522 | + <tr> |
1523 | + <td><para style="P8"><font color="white"> </font></para></td> |
1524 | + <td> |
1525 | + <para style="terp_default_8">[[ o.partner_id.title or '' ]] [[ o.partner_id.name ]]</para> |
1526 | + <para style="terp_default_8">[[ o.address_invoice_id.title or '' ]] [[ o.address_invoice_id.name ]]</para> |
1527 | + <para style="terp_default_8">[[ o.address_invoice_id.street ]]</para> |
1528 | + <para style="terp_default_8">[[ o.address_invoice_id.street2 or '' ]]</para> |
1529 | + <para style="terp_default_8">[[ o.address_invoice_id.zip or '' ]] [[ o.address_invoice_id.city or '' ]]</para> |
1530 | + <para style="terp_default_8">[[ o.address_invoice_id.state_id and o.address_invoice_id.state_id.name or '' ]]</para> |
1531 | + <para style="terp_default_8">[[ o.address_invoice_id.country_id and o.address_invoice_id.country_id.name or '' ]]</para> |
1532 | + <para style="P8"><font color="white"> </font></para> |
1533 | + <para style="terp_default_8">Tel. : [[ o.address_invoice_id.phone or removeParentNode('para') ]]</para> |
1534 | + <para style="terp_default_8">Fax : [[ o.address_invoice_id.fax or removeParentNode('para') ]]</para> |
1535 | + <para style="terp_default_8">VAT : [[ o.partner_id.vat or removeParentNode('para') ]]</para> |
1536 | + </td> |
1537 | + </tr> |
1538 | + </blockTable> |
1539 | + <para style="terp_header">Invoice [[ ((o.type == 'out_invoice' and (o.state == 'open' or o.state == 'paid')) or removeParentNode('para')) and '' ]] [[ o.number ]]</para> |
1540 | + <para style="terp_header">PRO-FORMA [[ ((o.type == 'out_invoice' and o.state == 'proforma2') or removeParentNode('para')) and '' ]]</para> |
1541 | + <para style="terp_header">Draft Invoice [[ ((o.type == 'out_invoice' and o.state == 'draft') or removeParentNode('para')) and '' ]]</para> |
1542 | + <para style="terp_header">Canceled Invoice [[ ((o.type == 'out_invoice' and o.state == 'cancel') or removeParentNode('para')) and '' ]]</para> |
1543 | + <para style="terp_header">Refund [[ (o.type=='out_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para> |
1544 | + <para style="terp_header">Supplier Refund [[ (o.type=='in_refund' or removeParentNode('para')) and '' ]] [[ o.number ]]</para> |
1545 | + <para style="terp_header">Supplier Invoice [[ (o.type=='in_invoice' or removeParentNode('para')) and '' ]] [[ o.number ]]</para> |
1546 | + <para style="P8"><font color="white"> </font></para> |
1547 | + <blockTable colWidths="177.0,177.0,177.0" style="Table_Invoice_General_Header"> |
1548 | + <tr> |
1549 | + <td><para style="terp_tblheader_General_Centre">Document</para></td> |
1550 | + <td><para style="terp_tblheader_General_Centre">Invoice Date</para></td> |
1551 | + <td><para style="terp_tblheader_General_Centre">Partner Ref.</para></td> |
1552 | + </tr> |
1553 | + </blockTable> |
1554 | + <blockTable colWidths="177.0,177.0,177.0" style="Table_General_Detail_Content"> |
1555 | + <tr> |
1556 | + <td><para style="terp_default_Centre_9">[[ o.name ]]</para></td> |
1557 | + <td><para style="terp_default_Centre_9">[[ formatLang(o.date_invoice,date=True) ]]</para></td> |
1558 | + <td><para style="terp_default_Centre_9">[[ o.address_invoice_id.partner_id.ref or '' ]]</para></td> |
1559 | + </tr> |
1560 | + </blockTable> |
1561 | + <para style="P8"><font color="white"></font></para> |
1562 | + <para style="P8"><font color="white"> </font></para> |
1563 | + <blockTable colWidths="313.0,53.0,73.0,84.0" style="Table_Header_Invoice_Line"> |
1564 | + <tr> |
1565 | + <td><para style="terp_tblheader_Details">Description</para></td> |
1566 | + <td><para style="terp_tblheader_Details">Quantity</para></td> |
1567 | + <td><para style="terp_tblheader_Details_Centre">Unit Price</para></td> |
1568 | + <td><para style="terp_tblheader_Details_Centre">Price</para></td> |
1569 | + </tr> |
1570 | + </blockTable> |
1571 | + <section> |
1572 | + <para style="terp_default_8">[[ repeatIn(o.invoice_line,'l') ]]</para> |
1573 | + <blockTable colWidths="313.0,36.0,27.0,63.0,59.0,26.0" style="Table_Invoice_Line_Content"> |
1574 | + <tr> |
1575 | + <td><para style="terp_default_9">[[ l.name ]]</para></td> |
1576 | + <td><para style="terp_default_Right_9">[[ formatLang(l.quantity)]]</para></td> |
1577 | + <td><para style="terp_default_Right_9">[[ (l.uos_id and l.uos_id.name) or '' ]]</para></td> |
1578 | + <td><para style="terp_default_Right_9">[[ formatLang(l.price_unit) ]]</para></td> |
1579 | + <td><para style="terp_default_Right_9">[[ formatLang(l.price_subtotal) ]]</para></td> |
1580 | + <td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td> |
1581 | + </tr> |
1582 | + <tr> |
1583 | + <td><para style="terp_default_Note">[[ format(l.note) or removeParentNode('tr') ]]</para></td> |
1584 | + <td><para style="terp_default_Note"><font color="white"> </font></para></td> |
1585 | + <td><para style="terp_default_Note"><font color="white"> </font></para></td> |
1586 | + <td><para style="terp_default_Note"><font color="white"> </font></para></td> |
1587 | + <td><para style="terp_default_Note"><font color="white"> </font></para></td> |
1588 | + <td><para style="terp_default_Note"><font color="white"> </font></para></td> |
1589 | + </tr> |
1590 | + </blockTable> |
1591 | + </section> |
1592 | + <blockTable colWidths="371.0,153.0" style="Table_Format_2"> |
1593 | + <tr> |
1594 | + <td> |
1595 | + <blockTable colWidths="176.0,258.0" style="Table_format_Table_Line_total"> |
1596 | + <tr> |
1597 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1598 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1599 | + </tr> |
1600 | + </blockTable> |
1601 | + </td> |
1602 | + <td> |
1603 | + <blockTable colWidths="62.0,59.0,25.0" style="Table_eclu_Taxes_Total"> |
1604 | + <tr> |
1605 | + <td><para style="terp_default_Bold_9">Net Total:</para></td> |
1606 | + <td><para style="terp_default_Right_9">[[ formatLang(o.amount_untaxed) ]]</para></td> |
1607 | + <td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td> |
1608 | + </tr> |
1609 | + </blockTable> |
1610 | + <blockTable colWidths="63.0,58.0,26.0" style="Table_Taxes_Total"> |
1611 | + <tr> |
1612 | + <td><para style="terp_default_Bold_9">Taxes:</para></td> |
1613 | + <td><para style="terp_default_Right_9">[[ formatLang(o.amount_tax) ]]</para></td> |
1614 | + <td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td> |
1615 | + </tr> |
1616 | + </blockTable> |
1617 | + <blockTable colWidths="63.0,58.0,26.0" style="Table_Total_Include_Taxes"> |
1618 | + <tr> |
1619 | + <td><para style="terp_default_Bold_9">Total:</para></td> |
1620 | + <td><para style="terp_default_Right_9">[[ formatLang(o.amount_total) ]]</para></td> |
1621 | + <td><para style="terp_default_Right_9">[[ o.currency_id.code ]]</para></td> |
1622 | + </tr> |
1623 | + </blockTable> |
1624 | + </td> |
1625 | + </tr> |
1626 | + </blockTable> |
1627 | + <blockTable colWidths="530.0" style="Table_Main_Table"> |
1628 | + <tr> |
1629 | + <td> |
1630 | + <blockTable colWidths="54.0,80.0,67.0" style="Table_Tax_Header"> |
1631 | + <tr> |
1632 | + <td><para style="terp_tblheader_Details_Centre">Tax</para></td> |
1633 | + <td><para style="terp_tblheader_Details_Right">Base</para></td> |
1634 | + <td><para style="terp_tblheader_Details_Right">Amount</para></td> |
1635 | + </tr> |
1636 | + </blockTable> |
1637 | + </td> |
1638 | + </tr> |
1639 | + <tr> |
1640 | + <td> |
1641 | + <para style="terp_default_8">[[ repeatIn(o.tax_line,'t') ]]</para> |
1642 | + <blockTable colWidths="53.0,80.0,65.0" style="Table_Tax_Content"> |
1643 | + <tr> |
1644 | + <td><para style="terp_default_Centre_8">[[ t.name ]] </para></td> |
1645 | + <td><para style="terp_default_Right_8">[[ formatLang(t.base) ]]</para></td> |
1646 | + <td><para style="terp_default_Right_8">[[ (t.tax_code_id and t.tax_code_id.notprintable) and removeParentNode('blockTable') or '' ]][[ formatLang(t.amount) ]]</para></td> |
1647 | + </tr> |
1648 | + </blockTable> |
1649 | + </td> |
1650 | + </tr> |
1651 | + <tr> |
1652 | + <td> |
1653 | + <blockTable colWidths="53.0,60.0,65.0" style="Table_Table_Border_White"> |
1654 | + <tr> |
1655 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1656 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1657 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1658 | + </tr> |
1659 | + </blockTable> |
1660 | + </td> |
1661 | + </tr> |
1662 | + </blockTable> |
1663 | + <blockTable colWidths="180.0,350.0" style="Table_Final_Border"> |
1664 | + <tr> |
1665 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1666 | + <td><para style="terp_default_2"><font color="white"> </font></para></td> |
1667 | + </tr> |
1668 | + </blockTable> |
1669 | + <blockTable colWidths="530.0" style="Table_Coment_Payment_Term"> |
1670 | + <tr> |
1671 | + <td><para style="terp_default_9">[[ format(o.comment or removeParentNode('blockTable')) ]]</para></td> |
1672 | + </tr> |
1673 | + </blockTable> |
1674 | + <para style="terp_default_2"> |
1675 | + <font color="white"> </font> |
1676 | + </para> |
1677 | + <blockTable colWidths="530.0" style="Table_Payment_Terms"> |
1678 | + <tr> |
1679 | + <td><para style="terp_default_9">[[ format((o.payment_term and o.payment_term.note) or removeParentNode('blockTable')) ]]</para></td> |
1680 | + </tr> |
1681 | + </blockTable> |
1682 | + <para style="terp_default_2"> |
1683 | + <font color="white"> </font> |
1684 | + </para> |
1685 | + <blockTable colWidths="128.0,402.0" style="Standard_Outline"> |
1686 | + <tr> |
1687 | + <td> |
1688 | + <para style="terp_default_Bold_9">Fiscal Position Remark :</para> |
1689 | + </td> |
1690 | + <td> |
1691 | + <para style="terp_default_9">[[ format(o.fiscal_position and o.fiscal_position.note or removeParentNode('blockTable')) ]]</para> |
1692 | + </td> |
1693 | + </tr> |
1694 | + </blockTable> |
1695 | + <para style="terp_default_2"> |
1696 | + <font color="white"> </font> |
1697 | + </para> |
1698 | + |
1699 | + </story> |
1700 | +</document> |
Hello, I think it's better if you can keep this in a separate module in your branches. I would suggest to register your branch on launchpad to give visibility to your modules. Your branch should contain only your own modules, and not a branch of addons.