1 # -*- coding: utf-8 -*-
4 from openerp
.report
import report_sxw
5 from openerp
import pooler
7 def titlize(journal_name
):
8 words
= journal_name
.split()
9 while words
.pop() != 'journal':
11 return ' '.join(words
)
13 class order(report_sxw
.rml_parse
):
15 def __init__(self
, cr
, uid
, name
, context
):
16 super(order
, self
).__init
__(cr
, uid
, name
, context
=context
)
18 user
= pooler
.get_pool(cr
.dbname
).get('res.users').browse(cr
, uid
, uid
, context
=context
)
19 partner
= user
.company_id
.partner_id
21 self
.localcontext
.update({
23 'disc': self
.discount
,
24 'net': self
.netamount
,
25 'get_journal_amt': self
._get
_journal
_amt
,
26 'address': partner
or False,
30 def netamount(self
, order_line_id
):
31 sql
= 'select (qty*price_unit) as net_price from pos_order_line where id = %s'
32 self
.cr
.execute(sql
, (order_line_id
,))
33 res
= self
.cr
.fetchone()
36 def discount(self
, order_id
):
37 sql
= 'select discount, price_unit, qty from pos_order_line where order_id = %s '
38 self
.cr
.execute(sql
, (order_id
,))
39 res
= self
.cr
.fetchall()
43 dsum
= dsum
+(line
[2] * (line
[0]*line
[1]/100))
46 def _get_journal_amt(self
, order_id
):
48 sql
= """ select aj.name,absl.amount as amt from account_bank_statement as abs
49 LEFT JOIN account_bank_statement_line as absl ON abs.id = absl.statement_id
50 LEFT JOIN account_journal as aj ON aj.id = abs.journal_id
51 WHERE absl.pos_statement_id =%d"""%(order_id)
53 data
= self
.cr
.dictfetchall()
58 report_sxw
.report_sxw('report.bikecoop_l10n_fr.receipt', 'pos.order', 'addons/bikecoop_l10n_fr/report/pos_receipt_bikecoop_l10n_fr.rml', parser
=order
, header
=False)