Merge lp:~serpentcs/purchase-report/purchase-serpentcs into lp:~purchase-core-editors/purchase-report/7.0

Proposed by Nishant Jogi (Serpent Consulting Services)
Status: Work in progress
Proposed branch: lp:~serpentcs/purchase-report/purchase-serpentcs
Merge into: lp:~purchase-core-editors/purchase-report/7.0
Diff against target: 1127 lines (+1051/-0)
14 files modified
purchase_requisition_webkit/__init__.py (+25/-0)
purchase_requisition_webkit/__openerp__.py (+42/-0)
purchase_requisition_webkit/purchase_requisition_report.xml (+160/-0)
purchase_requisition_webkit/report/__init__.py (+24/-0)
purchase_requisition_webkit/report/purchase_requisition.mako (+141/-0)
purchase_requisition_webkit/report/requisition.py (+37/-0)
purchase_webkit/__init__.py (+25/-0)
purchase_webkit/__openerp__.py (+43/-0)
purchase_webkit/purchase_report.xml (+175/-0)
purchase_webkit/report/__init__.py (+23/-0)
purchase_webkit/report/order.mako (+190/-0)
purchase_webkit/report/order.py (+35/-0)
purchase_webkit/report/request_quotation.mako (+94/-0)
purchase_webkit/report/request_quotation.py (+37/-0)
To merge this branch: bzr merge lp:~serpentcs/purchase-report/purchase-serpentcs
Reviewer Review Type Date Requested Status
Alexandre Fayolle - camptocamp Needs Resubmitting
Lorenzo Battistini (community) Needs Fixing
Review via email: mp+190323@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Lorenzo Battistini (elbati) wrote :

Hello Nishant,
I think the purchase_webkit module overlaps the purchase_order_webkit
http://bazaar.launchpad.net/~purchase-core-editors/purchase-report/7.0/files/10/purchase_order_webkit
Is it wanted?

review: Needs Information
Revision history for this message
Nishant Jogi (Serpent Consulting Services) (njogi-serpentcs) wrote :

Hello Lorenzo,
Yes, you are right.
Both module contains same things.
I think it was committed by mistake by me.
It is not wanted.
Thank you.

Revision history for this message
Lorenzo Battistini (elbati) :
review: Needs Fixing
Revision history for this message
Alexandre Fayolle - camptocamp (alexandre-fayolle-c2c) wrote :

Hello,

The management of the project has moved to Github: https://github.com/OCA/purchase-reporting

Please migrate your merge proposal to Github. You may want to check https://github.com/OCA/maintainers-tools/wiki/How-to-move-a-Merge-Proposal-to-GitHub for an explanation on how to proceed.

Thanks for contributing to the project

review: Needs Resubmitting

Unmerged revisions

11. By Nishant Jogi (Serpent Consulting Services)

[ADD] Added Purchase report with rml to webkit conversion.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== added directory 'purchase_requisition_webkit'
2=== added file 'purchase_requisition_webkit/__init__.py'
3--- purchase_requisition_webkit/__init__.py 1970-01-01 00:00:00 +0000
4+++ purchase_requisition_webkit/__init__.py 2013-10-10 09:53:37 +0000
5@@ -0,0 +1,25 @@
6+# -*- coding: utf-8 -*-
7+##############################################################################
8+#
9+# OpenERP, Open Source Management Solution
10+# Copyright (C) 2011-2013 Serpent Consulting Services (<http://www.serpentcs.com>)
11+#
12+# This program is free software: you can redistribute it and/or modify
13+# it under the terms of the GNU Affero General Public License as
14+# published by the Free Software Foundation, either version 3 of the
15+# License, or (at your option) any later version.
16+#
17+# This program is distributed in the hope that it will be useful,
18+# but WITHOUT ANY WARRANTY; without even the implied warranty of
19+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
20+# GNU Affero General Public License for more details.
21+#
22+# You should have received a copy of the GNU Affero General Public License
23+# along with this program. If not, see <http://www.gnu.org/licenses/>.
24+#
25+############################################################################
26+
27+
28+import report
29+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
30+
31
32=== added file 'purchase_requisition_webkit/__openerp__.py'
33--- purchase_requisition_webkit/__openerp__.py 1970-01-01 00:00:00 +0000
34+++ purchase_requisition_webkit/__openerp__.py 2013-10-10 09:53:37 +0000
35@@ -0,0 +1,42 @@
36+# -*- coding: utf-8 -*-
37+##############################################################################
38+#
39+# OpenERP, Open Source Management Solution
40+# Copyright (C) 2011-2013 Serpent Consulting Services (<http://www.serpentcs.com>)
41+#
42+# This program is free software: you can redistribute it and/or modify
43+# it under the terms of the GNU Affero General Public License as
44+# published by the Free Software Foundation, either version 3 of the
45+# License, or (at your option) any later version.
46+#
47+# This program is distributed in the hope that it will be useful,
48+# but WITHOUT ANY WARRANTY; without even the implied warranty of
49+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
50+# GNU Affero General Public License for more details.
51+#
52+# You should have received a copy of the GNU Affero General Public License
53+# along with this program. If not, see <http://www.gnu.org/licenses/>.
54+#
55+############################################################################
56+
57+{
58+ 'name': 'Purchase Requisitions',
59+ 'version': '0.1',
60+ 'author': 'Serpent Consulting Services',
61+ 'category': 'Purchase Management',
62+ 'website': 'http://www.serpentcs.com',
63+ 'description': """
64+This module allows you to manage your Purchase Requisition.
65+===========================================================
66+ It is conversion of rml report to Webkit Report.
67+
68+""",
69+ 'depends' : ['purchase_requisition','report_webkit'],
70+ 'data': [
71+ 'purchase_requisition_report.xml',
72+ ],
73+ 'auto_install': False,
74+ 'installable': True,
75+}
76+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
77+
78
79=== added file 'purchase_requisition_webkit/purchase_requisition_report.xml'
80--- purchase_requisition_webkit/purchase_requisition_report.xml 1970-01-01 00:00:00 +0000
81+++ purchase_requisition_webkit/purchase_requisition_report.xml 2013-10-10 09:53:37 +0000
82@@ -0,0 +1,160 @@
83+<?xml version="1.0" encoding="utf-8"?>
84+<openerp>
85+ <data>
86+ <record id="Purchase_Req_webkit_header" model="ir.header_webkit">
87+ <field name="footer_html"><![CDATA[]]></field>
88+ <field name="orientation">Portrait</field>
89+ <field name="format">A4</field>
90+ <field name="html"><![CDATA[
91+<html>
92+ <head>
93+ <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
94+ <script>
95+ function subst() {
96+ var vars={};
97+ var x=document.location.search.substring(1).split('&');
98+ for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
99+ var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
100+ for(var i in x) {
101+ var y = document.getElementsByClassName(x[i]);
102+ for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
103+ }
104+ }
105+ </script>
106+ <style type="text/css">
107+
108+ ${css}
109+ </style>
110+ </head>
111+
112+ ${_debug or ''|n} </body>
113+</html>]]>
114+ </field>
115+ <field name="orientation">Portrait</field>
116+ <field name="format">A4</field>
117+ <field name="html"><![CDATA[
118+<html>
119+ <head>
120+ <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
121+ <script>
122+ function subst() {
123+ var vars={};
124+ var x=document.location.search.substring(1).split('&');
125+ for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
126+ var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
127+ for(var i in x) {
128+ var y = document.getElementsByClassName(x[i]);
129+ for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
130+ }
131+ }
132+ </script>
133+ <style type="text/css">
134+ ${css}
135+ </style>
136+ </head>
137+ <body style="border:0; margin:0 ;" onload="subst()">
138+ <table class="header" style="border-bottom: 1px solid black; width: 100%">
139+ <tr >
140+ <td style="text-align:right;font-size:12;" width="20%">${ helper.embed_image('png',company.logo,200,40)|n }</td>
141+ <td style="text-align:right;font-size:12;" width="80%"></br></br>${ company.rml_header1 }</td>
142+ </tr>
143+ </table> ${_debug or ''|n} </body>
144+ <p style="text-align:left;font-size:12;">${company.name}</p></br></br></br>
145+ <table width="100%">
146+ <tr>
147+ <td style="text-align:left;font-size:10;" width="25%">
148+ Phone: ${company.phone or ''}
149+ </td>
150+ <td width="75%"></td>
151+ </tr>
152+
153+ <tr>
154+ <td style="text-align:left;font-size:10; border-bottom: 1px solid black;" width="25%">
155+ Mail: ${company.email}
156+ </td>
157+ <td width="75%"></td>
158+ </tr>
159+ </table>
160+
161+</html>]]>
162+ </field>
163+ <field eval="55.0" name="margin_top"/>
164+ <field eval="5.0" name="margin_bottom"/>
165+ <field name="css"><![CDATA[
166+
167+
168+ .list_table {
169+ border-color:black;
170+ text-align:center;
171+ border-collapse: collapse;
172+ }
173+ .list_table td {
174+ border-bottom:1px solid #ccc;
175+ text-align:left;
176+ font-size:10px;
177+ padding-left:3px
178+ padding-right:3px
179+ padding-top:3px
180+ padding-bottom:3px
181+ }
182+ .list_table1 {
183+ border-color:black;
184+ text-align:center;
185+ border-collapse: collapse;
186+ }
187+ .list_table1 td {
188+ border-bottom:1px solid black;
189+ text-align:left;
190+ font-size:11px;
191+ padding-left:3px;
192+ padding-right:3px;
193+ padding-top:3px;
194+ padding-bottom:3px;
195+ }
196+
197+ .basic_table {
198+ border-color:#ccc;
199+ text-align:center;
200+ border-collapse: collapse;
201+ font-family: Helvetica;
202+ }
203+ .basic_table td {
204+ border-color:#ccc;
205+ border:1px solid #ccc;
206+ text-align:center;
207+ font-size:12px;
208+ padding-left:5px;
209+ padding-right:3px;
210+ padding-top:3px;
211+ padding-bottom:3px;
212+ font-family: Helvetica;
213+ }
214+
215+ .title{
216+ text-align:left
217+ font-size:15px;
218+ font-family: Helvetica-Bold;
219+ }
220+
221+ .title1{
222+ text-align:left;
223+ font-size:11px;
224+ font-family: Helvetica-Bold;
225+ }
226+
227+]]>
228+ </field>
229+ <field name="name">Purchase Requisition webkit header</field>
230+ </record>
231+
232+ <report
233+ auto="False"
234+ id="report_purchase_requisition"
235+ model="purchase.requisition"
236+ name="purchase.requisition.webkit"
237+ file="purchase_requisition_webkit/report/purchase_requisition.mako"
238+ string="Purchase Requisition"
239+ report_type="webkit"
240+ webkit_header="Purchase_Req_webkit_header"/>
241+ </data>
242+</openerp>
243
244=== added directory 'purchase_requisition_webkit/report'
245=== added file 'purchase_requisition_webkit/report/__init__.py'
246--- purchase_requisition_webkit/report/__init__.py 1970-01-01 00:00:00 +0000
247+++ purchase_requisition_webkit/report/__init__.py 2013-10-10 09:53:37 +0000
248@@ -0,0 +1,24 @@
249+# -*- coding: utf-8 -*-
250+##############################################################################
251+#
252+# OpenERP, Open Source Management Solution
253+# Copyright (C) 2011-2013 Serpent Consulting Services (<http://www.serpentcs.com>)
254+#
255+# This program is free software: you can redistribute it and/or modify
256+# it under the terms of the GNU Affero General Public License as
257+# published by the Free Software Foundation, either version 3 of the
258+# License, or (at your option) any later version.
259+#
260+# This program is distributed in the hope that it will be useful,
261+# but WITHOUT ANY WARRANTY; without even the implied warranty of
262+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
263+# GNU Affero General Public License for more details.
264+#
265+# You should have received a copy of the GNU Affero General Public License
266+# along with this program. If not, see <http://www.gnu.org/licenses/>.
267+#
268+############################################################################
269+import requisition
270+
271+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
272+
273
274=== added file 'purchase_requisition_webkit/report/purchase_requisition.mako'
275--- purchase_requisition_webkit/report/purchase_requisition.mako 1970-01-01 00:00:00 +0000
276+++ purchase_requisition_webkit/report/purchase_requisition.mako 2013-10-10 09:53:37 +0000
277@@ -0,0 +1,141 @@
278+<!DOCTYPE html SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
279+
280+<html xmlns="http://www.w3.org/1999/xhtml">
281+ <head>
282+ <style type="text/css">
283+ ${css}
284+ </style>
285+ <title>Purchase for Requisitions.pdf</title>
286+ </head>
287+ <body>
288+ %for requisition in objects:
289+ <table width="100%" class="title">
290+ <tr>
291+ <td><br/><br/>
292+ <b> ${ _('Purchase for Requisitions') } ${requisition.name}</b><br/><br/>
293+ </td>
294+ </tr>
295+ </table>
296+
297+ <table class="basic_table" width="100%">
298+ <tr>
299+ <td width="30%">
300+ <b>${ _('Requisition Reference') }</b>
301+ </td>
302+ <td width="30%">
303+ <b>${ _('Requisition Date') }</b>
304+ </td>
305+ <td width="20%">
306+ <b>${ _('Type') }</b>
307+ </td>
308+ <td width="20%">
309+ <b>${ _('Source') }</b>
310+ </td>
311+ </tr>
312+ </table>
313+
314+ <table class="basic_table" width="100%">
315+ <tr>
316+ <td width="30%">
317+ ${requisition.name}
318+ </td>
319+ <td width="30%">
320+ ${formatLang(requisition.date_start,date_time='True')}
321+ </td>
322+ <td width="20%">
323+ ${requisition.exclusive=='multiple' and 'Multiple Requisitions' or requisition.exclusive=='exclusive' and 'Purchase Requisitions (exclusive)'}
324+ </td>
325+ <td width="20%">
326+ ${requisition.origin or ''}
327+ </td>
328+ </tr>
329+ </table><br/>
330+
331+ %if requisition.line_ids==[]:
332+
333+ %else:
334+ <table width="100%" class="title1">
335+ <tr>
336+ <td>
337+ <b> ${ _('Product Detail') }</b><br/>
338+ </td>
339+ </tr>
340+ </table>
341+ </br>
342+ <table class="list_table1" width="100%">
343+ <tr>
344+ <td style="text-align:left ;padding-left:5px" width="60%">
345+ <b>${ _('Description') }</b>
346+ </td>
347+ <td style="text-align:right;" width="20%">
348+ <b>${ _('Qty') }</b>
349+ </td>
350+ <td style="text-align:center;"width="20%">
351+ <b>${ _('Product UoM') }</b>
352+ </td>
353+ </tr>
354+ </table>
355+
356+ %for line_ids in requisition.line_ids:
357+ <table class="list_table" width="100%">
358+ <tr>
359+ <td style="text-align:left;padding-left:5px"width="60%">
360+ [${line_ids.product_id and line_ids.product_id.code or ''}] ${line_ids.product_id and line_ids.product_id.name or ''}
361+ </td>
362+ <td style="text-align:right;"width="20%">
363+ ${ formatLang(line_ids.product_qty) }
364+ </td>
365+ <td style="text-align:center;"width="20%">
366+ ${line_ids.product_uom_id and line_ids.product_uom_id.category_id and line_ids.product_uom_id.category_id.name or ''}
367+ </td>
368+ </tr>
369+ </table><br/>
370+ %endfor
371+ %endif
372+
373+ %if requisition.purchase_ids ==[]:
374+
375+ %else:
376+ <table width="100%" class="title1">
377+ <tr>
378+ <td>
379+ <b> ${ _('Quotation Detail') }</b><br/>
380+ </td>
381+ </tr>
382+ </table>
383+ </br>
384+ <table class="list_table1" width="100%">
385+ <tr>
386+ <td style="text-align:left ;padding-left:5px"width="60%">
387+ <b>${ _('Supplier') }<b/>
388+ </td>
389+ <td style="text-align:center;"width="20%">
390+ <b>${ _('Date Ordered') }<b/>
391+ </td>
392+ <td style="text-align:center;"width="20%">
393+ <b>${ _('Order Reference') }<b/>
394+ </td>
395+ </tr>
396+ </table>
397+
398+ %for purchase_ids in requisition.purchase_ids:
399+ <table class="list_table " width="100%">
400+ <tr>
401+ <td style="text-align:left; padding-left:5px" width="60%">
402+ ${purchase_ids.partner_id and purchase_ids.partner_id.name or ''}
403+ </td>
404+ <td style="text-align:center;"width="20%">
405+ ${formatLang(purchase_ids.date_order,date='True')}
406+ </td>
407+ <td style="text-align:center;"width="20%">
408+ ${purchase_ids.name}
409+ </td>
410+ </tr>
411+ </table>
412+ %endfor
413+ %endif
414+
415+ <p style="page-break-after:always"></p>
416+ %endfor
417+ </body>
418+</html>
419\ No newline at end of file
420
421=== added file 'purchase_requisition_webkit/report/requisition.py'
422--- purchase_requisition_webkit/report/requisition.py 1970-01-01 00:00:00 +0000
423+++ purchase_requisition_webkit/report/requisition.py 2013-10-10 09:53:37 +0000
424@@ -0,0 +1,37 @@
425+# -*- coding: utf-8 -*-
426+##############################################################################
427+#
428+# OpenERP, Open Source Management Solution
429+# Copyright (C) 2011-2013 Serpent Consulting Services (<http://www.serpentcs.com>)
430+#
431+# This program is free software: you can redistribute it and/or modify
432+# it under the terms of the GNU Affero General Public License as
433+# published by the Free Software Foundation, either version 3 of the
434+# License, or (at your option) any later version.
435+#
436+# This program is distributed in the hope that it will be useful,
437+# but WITHOUT ANY WARRANTY; without even the implied warranty of
438+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
439+# GNU Affero General Public License for more details.
440+#
441+# You should have received a copy of the GNU Affero General Public License
442+# along with this program. If not, see <http://www.gnu.org/licenses/>.
443+#
444+############################################################################
445+
446+import time
447+from openerp.report import report_sxw
448+from openerp.osv import osv
449+from openerp import pooler
450+
451+class requisition(report_sxw.rml_parse):
452+ def __init__(self, cr, uid, name, context):
453+ super(requisition, self).__init__(cr, uid, name, context=context)
454+ self.localcontext.update({
455+ 'time': time,
456+ })
457+
458+report_sxw.report_sxw('report.purchase.requisition.webkit','purchase.requisition','addons/purchase_requisition_webkit/report/purchase_requisition.mako',parser=requisition)
459+
460+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
461+
462
463=== added directory 'purchase_webkit'
464=== added file 'purchase_webkit/__init__.py'
465--- purchase_webkit/__init__.py 1970-01-01 00:00:00 +0000
466+++ purchase_webkit/__init__.py 2013-10-10 09:53:37 +0000
467@@ -0,0 +1,25 @@
468+# -*- coding: utf-8 -*-
469+##############################################################################
470+#
471+# OpenERP, Open Source Management Solution
472+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
473+#
474+# This program is free software: you can redistribute it and/or modify
475+# it under the terms of the GNU Affero General Public License as
476+# published by the Free Software Foundation, either version 3 of the
477+# License, or (at your option) any later version.
478+#
479+# This program is distributed in the hope that it will be useful,
480+# but WITHOUT ANY WARRANTY; without even the implied warranty of
481+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
482+# GNU Affero General Public License for more details.
483+#
484+# You should have received a copy of the GNU Affero General Public License
485+# along with this program. If not, see <http://www.gnu.org/licenses/>.
486+#
487+##############################################################################
488+
489+import report
490+
491+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
492+
493
494=== added file 'purchase_webkit/__openerp__.py'
495--- purchase_webkit/__openerp__.py 1970-01-01 00:00:00 +0000
496+++ purchase_webkit/__openerp__.py 2013-10-10 09:53:37 +0000
497@@ -0,0 +1,43 @@
498+# -*- coding: utf-8 -*-
499+##############################################################################
500+#
501+# OpenERP, Open Source Management Solution
502+# Copyright (C) 2011-2013 Serpent Consulting Services (<http://www.serpentcs.com>)
503+#
504+# This program is free software: you can redistribute it and/or modify
505+# it under the terms of the GNU Affero General Public License as
506+# published by the Free Software Foundation, either version 3 of the
507+# License, or (at your option) any later version.
508+#
509+# This program is distributed in the hope that it will be useful,
510+# but WITHOUT ANY WARRANTY; without even the implied warranty of
511+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
512+# GNU Affero General Public License for more details.
513+#
514+# You should have received a copy of the GNU Affero General Public License
515+# along with this program. If not, see <http://www.gnu.org/licenses/>.
516+#
517+############################################################################
518+
519+{
520+ 'name': 'Purchase Management',
521+ 'version': '1.1',
522+ 'category': 'Purchase Management',
523+ 'summary': 'Purchase Orders, Receptions, Supplier Invoices',
524+ 'description': """
525+Manage goods requirement by Purchase Orders easily
526+==================================================
527+
528+ It is conversion of rml report to Webkit Report.
529+ """,
530+ 'author': 'Serpent Consulting Services',
531+ 'website': 'http://www.serpentcs.com',
532+ 'depends': ['purchase','report_webkit'],
533+ 'data': [
534+ 'purchase_report.xml',
535+ ],
536+ 'installable': True,
537+ 'auto_install': False,
538+ 'application': True,
539+}
540+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
541
542=== added file 'purchase_webkit/purchase_report.xml'
543--- purchase_webkit/purchase_report.xml 1970-01-01 00:00:00 +0000
544+++ purchase_webkit/purchase_report.xml 2013-10-10 09:53:37 +0000
545@@ -0,0 +1,175 @@
546+<?xml version="1.0" encoding="utf-8"?>
547+<openerp>
548+ <data>
549+ <record id="purchase_order_header" model="ir.header_webkit">
550+ <field name="footer_html"><![CDATA[
551+ <html>
552+ <head>
553+ <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
554+ <script>
555+ function subst() {
556+ var vars={};
557+ var x=document.location.search.substring(1).split('&');
558+ for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
559+ var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
560+ for(var i in x) {
561+ var y = document.getElementsByClassName(x[i]);
562+ for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
563+ }
564+ }
565+ </script>
566+ <style type="text/css">
567+
568+ ${css}
569+ </style>
570+ </head>
571+ <body style="border:0; margin: 0;" onload="subst()">
572+ <table class="header" style="border-top: 1px solid black; width: 100%">
573+ <tr >
574+ <td style="text-align:center;font-size:12;" >${ company.rml_footer }</td>
575+ </tr>
576+ <tr >
577+ <td style="text-align:center;font-size:12;" >Contact : ${ user.name }</td>
578+ </tr>
579+ </table> ${_debug or ''|n} </body>
580+ </html>
581+ ]]></field>
582+ <field name="orientation">Portrait</field>
583+ <field name="format">A4</field>
584+ <field name="html"><![CDATA[
585+ <html>
586+ <head>
587+ <meta content="text/html; charset=UTF-8" http-equiv="content-type"/>
588+ <script>
589+ function subst() {
590+ var vars={};
591+ var x=document.location.search.substring(1).split('&');
592+ for(var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);}
593+ var x=['frompage','topage','page','webpage','section','subsection','subsubsection'];
594+ for(var i in x) {
595+ var y = document.getElementsByClassName(x[i]);
596+ for(var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]];
597+ }
598+ }
599+ </script>
600+ <style type="text/css">
601+
602+ ${css}
603+ </style>
604+ </head>
605+ <body style="border:0; margin: 0;" onload="subst()">
606+ <table class="header" style="border-bottom: 1px solid black; width: 100%">
607+ <tr >
608+ <td style="text-align:left;font-size:12;" width="20%">${ helper.embed_image('png',company.logo,200,50)|n }</td>
609+ <td style="text-align:right;font-size:12;" width="80%"></br></br>${ company.rml_header1 }</td>
610+ </tr>
611+ </table> ${_debug or ''|n} </body>
612+ <p style="text-align:left;font-size:12;">${company.name}</p>
613+ </html>]]>
614+ </field>
615+ <field eval="25.0" name="margin_top"/>
616+ <field eval="25.0" name="margin_bottom"/>
617+ <field name="css"><![CDATA[
618+
619+ body, table, td, span, div {
620+ font-family: Helvetica, Arial;
621+ }
622+
623+ body {
624+ font-family:Arial;
625+ font-size:9;
626+
627+ }
628+
629+
630+ .header {
631+ margin-left:0;
632+ text-align:left;
633+ width:300px;
634+ font-size:12;
635+ }
636+ .title {
637+ font-size:16;
638+ font-weight: bold;
639+ font-family: Helvetica, Arial;
640+ }
641+
642+
643+ .basic_table{
644+ width:100%;
645+ text-align:center;
646+ border:1px solid lightGrey;
647+ border-collapse: collapse;
648+ font-family: Helvetica;
649+ }
650+ .basic_table td {
651+ border:1px solid lightGrey;
652+ font-size:12;
653+ font-family: Helvetica;
654+ }
655+
656+ .list_table {
657+ border-color:black;
658+ text-align:center;
659+ border-collapse: collapse;
660+ font-family: Helvetica;
661+ }
662+ .tbl_header{
663+ width:100%;
664+ font-size:10px;
665+ }
666+ .tr_bottom_line{
667+ border-bottom: thin solid black;
668+ width:100%;
669+ font-size:12px;
670+ font-weight: bold;
671+ font-family: Helvetica;
672+ }
673+ .tr_bottom_line_dark_grey{
674+ border-top: thin solid #ccc;
675+ width:100%;
676+ font-size:12px;
677+ font-family: Helvetica;
678+ }
679+ .tr_top{
680+ border-top: thin solid black;
681+ width:100%;
682+ font-size:12px;
683+ font-family: Helvetica;
684+ }
685+
686+ .td_f12{
687+ font-size:12px;
688+ font-family: Helvetica;
689+ }
690+
691+
692+
693+ ]]>
694+ </field>
695+ <field name="name">Purchase Order Header</field>
696+ </record>
697+
698+ <report
699+ auto="False"
700+ id="report_purchase_quotation"
701+ model="purchase.order"
702+ name="purchase.quotation.webkit"
703+ file="purchase_webkit/report/request_quotation.mako"
704+ string="Request for Quotation"
705+ report_type="webkit"
706+ webkit_header="purchase_order_header" />
707+
708+ <report
709+ auto="False"
710+ id="report_purchase_order"
711+ model="purchase.order"
712+ name="purchase.order.webkit"
713+ file="purchase_webkit/report/order.mako"
714+ usage="default"
715+ string="Purchase Order"
716+ report_type="webkit"
717+ webkit_header="purchase_order_header"/>
718+
719+ </data>
720+</openerp>
721
722=== added directory 'purchase_webkit/report'
723=== added file 'purchase_webkit/report/__init__.py'
724--- purchase_webkit/report/__init__.py 1970-01-01 00:00:00 +0000
725+++ purchase_webkit/report/__init__.py 2013-10-10 09:53:37 +0000
726@@ -0,0 +1,23 @@
727+# -*- coding: utf-8 -*-
728+##############################################################################
729+#
730+# OpenERP, Open Source Management Solution
731+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
732+#
733+# This program is free software: you can redistribute it and/or modify
734+# it under the terms of the GNU Affero General Public License as
735+# published by the Free Software Foundation, either version 3 of the
736+# License, or (at your option) any later version.
737+#
738+# This program is distributed in the hope that it will be useful,
739+# but WITHOUT ANY WARRANTY; without even the implied warranty of
740+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
741+# GNU Affero General Public License for more details.
742+#
743+# You should have received a copy of the GNU Affero General Public License
744+# along with this program. If not, see <http://www.gnu.org/licenses/>.
745+#
746+##############################################################################
747+
748+import order
749+import request_quotation
750
751=== added file 'purchase_webkit/report/order.mako'
752--- purchase_webkit/report/order.mako 1970-01-01 00:00:00 +0000
753+++ purchase_webkit/report/order.mako 2013-10-10 09:53:37 +0000
754@@ -0,0 +1,190 @@
755+<html>
756+<head>
757+ <style type="text/css">
758+ ${css}
759+ </style>
760+</head>
761+<body>
762+</br>
763+ </br>
764+ </br>
765+
766+ %for o in objects:
767+ </br>
768+ <table class="td_f12 tr_bottom_line_dark" width="40%" >
769+ <tr>
770+ <td width="25%">Phone</td>
771+ <td>:&nbsp;${ company.phone or ''}</td>
772+ </tr>
773+ <tr>
774+ <td>Mail</td>
775+ <td>:&nbsp;${ company.email or '' }</td>
776+ </tr>
777+ </table>
778+ </br>
779+ </br>
780+ <table width="100%">
781+ <tr>
782+ <td width="3%"></td>
783+ <td class="td_f12" >
784+ <b>${_('Shipping address :')}</b></br>
785+ ${(o.dest_address_id and o.dest_address_id.name) or (o.warehouse_id and o.warehouse_id.name) or ''}</br>
786+ ${(o.dest_address_id and display_address(o.dest_address_id)) or (o.warehouse_id and display_address(o.warehouse_id.partner_id)) or ''}</br>
787+ </br>
788+
789+
790+ </td>
791+ <td class="td_f12" >
792+ ${o.partner_id and o.partner_id and o.partner_id.name or '' }</br>
793+ ${o.partner_id.street}</br>
794+ ${o.partner_id.city or '' }&nbsp;${o.partner_id.zip or '' }</br>
795+ ${o.partner_id.country_id.name or ''}
796+ </td>
797+ <td> </td>
798+ </tr>
799+ </table>
800+ </br>
801+ </br>
802+ %if o.state =='draft':
803+ <h1><b>Purchase Order Confirmation N° ${ o.name }</b></h1>
804+ %endif
805+ %if o.state <>'draft':
806+ <h1><b> Request for Quotation N° ${ o.name } </b></h1>
807+ %endif
808+ </br>
809+ </br>
810+ <table class="basic_table">
811+ <tr>
812+ <td width="25%">
813+ <b>${_('Our Order Reference')}</b>
814+ </td>
815+ <td width="25%">
816+ <b>${_('Your Order Reference')}</b>
817+ </td>
818+ <td width="25%">
819+ <b>${_('Order Date')}</b>
820+ </td>
821+ <td width="25%">
822+ <b>${_('Validated By')}</b>
823+ </td>
824+ </tr>
825+ <tr>
826+ <td>
827+ ${ o.name or '' }
828+ </td>
829+ <td>
830+ ${ o.partner_ref or '' }
831+ </td>
832+ <td>
833+ ${ o.date_order }
834+ </td>
835+ <td>
836+ ${ (o.validator and o.validator.name) or '' }
837+ </td>
838+ </tr>
839+ </table>
840+ </br>
841+ </br>
842+ <table class="tr_bottom_line">
843+ <tr>
844+ <td width="34%">
845+ <b>${_('Description')}</b>
846+ </td>
847+ <td width="10%">
848+ <b>${_('Taxes')}</b>
849+ </td>
850+ <td width="15%">
851+ <b>${_('Date Req.')}</b>
852+ </td>
853+ <td width="15%" align="right">
854+ <b>${_('Qty')}</b>
855+ </td>
856+ <td width="13%" align="right">
857+ <b>${_('Unit Price')}</b>
858+ </td>
859+ <td width="13%" align="right">
860+ <b>${_('Net Price')}</b>
861+ </td>
862+ </tr>
863+ </table>
864+ %for line in o.order_line:
865+ <table class="tr_bottom_line_dark_grey">
866+ <tr>
867+ <td width="34%">
868+ ${ line.name }
869+ </td>
870+ <td width="10%">
871+ ${ ', '.join(map(lambda x: x.name, line.taxes_id)) }
872+ </td>
873+ <td width="15%">
874+ ${ formatLang( line.date_planned, date=True)}
875+ </td>
876+ <td width="15%" align="right">
877+ ${ formatLang(line.product_qty )} ${ line.product_uom.name }
878+ </td>
879+ <td width="13%" align="right">
880+ ${ formatLang(line.price_unit, digits=get_digits(dp='Product Price') ) }
881+ </td>
882+ <td width="13%" align="right">
883+ ${ formatLang(line.price_subtotal, digits=get_digits(dp='Account'), currency_obj=o.pricelist_id.currency_id ) }
884+ </td>
885+ </tr>
886+ </table>
887+ %endfor
888+ <table width="100%">
889+ <tr>
890+ <td width="70%">
891+ </td>
892+ <td width="30%">
893+ <table class="tr_top">
894+ <tr>
895+ <td>
896+ Net Total :
897+ </td>
898+ <td>
899+ </td>
900+ <td align="right">
901+ ${ formatLang(o.amount_untaxed, digits=get_digits(dp='Account'), currency_obj=o.pricelist_id.currency_id ) }
902+ </td>
903+ </tr>
904+ <tr>
905+ <td>
906+ Taxes :
907+ </td>
908+ <td>
909+ </td>
910+ <td align="right">
911+ ${ formatLang(o.amount_tax, dp='Account', currency_obj=o.pricelist_id.currency_id) }
912+ </td>
913+ </tr>
914+ </table>
915+ <table class="tr_top">
916+ <tr>
917+ <td>
918+ <b>Total :</b>
919+ </td>
920+ <td>
921+ </td>
922+ <td>
923+ <td align="right">
924+ <b>${ formatLang(o.amount_total, digits=get_digits(dp='Account') , currency_obj=o.pricelist_id.currency_id ) }</b>
925+ </td>
926+ </tr>
927+ </table>
928+ </td>
929+ </tr>
930+ </table>
931+ </br>
932+ <table>
933+ <tr>
934+ <td>
935+
936+ ${ (o.notes or '') }
937+ </td>
938+ </tr>
939+ </table>
940+ <p style="page-break-after:always">
941+ </p>
942+ %endfor
943+</body>
944+</html>
945\ No newline at end of file
946
947=== added file 'purchase_webkit/report/order.py'
948--- purchase_webkit/report/order.py 1970-01-01 00:00:00 +0000
949+++ purchase_webkit/report/order.py 2013-10-10 09:53:37 +0000
950@@ -0,0 +1,35 @@
951+# -*- coding: utf-8 -*-
952+##############################################################################
953+#
954+# OpenERP, Open Source Management Solution
955+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
956+#
957+# This program is free software: you can redistribute it and/or modify
958+# it under the terms of the GNU Affero General Public License as
959+# published by the Free Software Foundation, either version 3 of the
960+# License, or (at your option) any later version.
961+#
962+# This program is distributed in the hope that it will be useful,
963+# but WITHOUT ANY WARRANTY; without even the implied warranty of
964+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
965+# GNU Affero General Public License for more details.
966+#
967+# You should have received a copy of the GNU Affero General Public License
968+# along with this program. If not, see <http://www.gnu.org/licenses/>.
969+#
970+##############################################################################
971+
972+import time
973+from openerp.report import report_sxw
974+from openerp.osv import osv
975+from openerp import pooler
976+
977+class order(report_sxw.rml_parse):
978+ def __init__(self, cr, uid, name, context):
979+ super(order, self).__init__(cr, uid, name, context=context)
980+ self.localcontext.update({'time': time})
981+
982+report_sxw.report_sxw('report.purchase.order.webkit','purchase.order','purchase_webkit/report/order.mako',parser=order)
983+
984+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
985+
986
987=== added file 'purchase_webkit/report/request_quotation.mako'
988--- purchase_webkit/report/request_quotation.mako 1970-01-01 00:00:00 +0000
989+++ purchase_webkit/report/request_quotation.mako 2013-10-10 09:53:37 +0000
990@@ -0,0 +1,94 @@
991+<html>
992+<head>
993+ <style type="text/css">
994+ ${css}
995+ </style>
996+ <title>requestforquotation.pdf</title>
997+</head>
998+<body>
999+ %for order in objects:
1000+ </br>
1001+ </br>
1002+ </br>
1003+ </br>
1004+ <table class="td_f12" width="40%" >
1005+ <tr>
1006+ <td width="25%">Phone</td>
1007+ <td>:&nbsp;${ company.phone or ''}</td>
1008+ </tr>
1009+ <tr>
1010+ <td>Mail</td>
1011+ <td>:&nbsp;${ company.email or '' }</td>
1012+ </tr>
1013+ </table>
1014+ </br>
1015+ </br>
1016+ <table width="100%">
1017+ <tr>
1018+ <td width="70%">
1019+ <table width="100%" class="td_f12">
1020+ <tr>
1021+ <td>
1022+ <b>Expected Delivery address:</b></br>
1023+ ${ (order.dest_address_id and order.dest_address_id.name) or (order.warehouse_id and order.warehouse_id.name) or ''}</br>
1024+ ${ order.dest_address_id and display_address(order.dest_address_id) }</br></br>
1025+ </td>
1026+ </tr>
1027+ </table>
1028+ </td>
1029+ <td>
1030+ </td>
1031+ <td width="70%" class="td_f12">
1032+ ${ (order .partner_id and order.partner_id.title and order.partner_id.title.name) or '' } ${ (order .partner_id and order.partner_id.name) or '' }</br>
1033+ ${ order.partner_id and display_address(order .partner_id) }</br>
1034+ Tel.: ${ (order.partner_id and order.partner_id.phone) or '' }</br>
1035+ Fax: ${ (order.partner_id and order.partner_id.fax) or ''}</br>
1036+ TVA: ${ (order.partner_id and order.partner_id.vat) or '' }</br>
1037+ </td>
1038+ </tr>
1039+ </table>
1040+ </br>
1041+ <b>Request for Quotation : ${ order.name }</b>
1042+ <table class="tr_bottom_line">
1043+ <tr>
1044+ <td width="65%">
1045+ <b>${_('Description')}</b>
1046+ </td>
1047+ <td width="20%">
1048+ <b>${_('Expected Date')}</b>
1049+ </td>
1050+ <td width="15%">
1051+ <b>${_('Qty')}</b>
1052+ </td>
1053+ </tr>
1054+ </table>
1055+ %for order_line in order.order_line:
1056+ <table class="tr_bottom_line_dark_grey">
1057+ <tr>
1058+ <td width="65%">
1059+ ${ order_line.name }
1060+ </td>
1061+ <td width="20%">
1062+ ${ formatLang(order_line.date_planned, date = True) }
1063+ </td>
1064+ <td width="15%" align="right">
1065+ ${ formatLang(order_line.product_qty )}
1066+ <i>${ (order_line.product_uom and order_line.product_uom.name) or '' }</i>
1067+ </td>
1068+ </tr>
1069+ </table>
1070+ %endfor
1071+ </br>
1072+ <p class="td_f12">
1073+ ${ order.notes or '' }</br>
1074+ ${_('Regards,')}
1075+ </br>
1076+ ${ user.signature or ''}</br>
1077+ </p>
1078+
1079+ <p style="page-break-after:always">
1080+ </p>
1081+
1082+ %endfor
1083+</body>
1084+</html>
1085\ No newline at end of file
1086
1087=== added file 'purchase_webkit/report/request_quotation.py'
1088--- purchase_webkit/report/request_quotation.py 1970-01-01 00:00:00 +0000
1089+++ purchase_webkit/report/request_quotation.py 2013-10-10 09:53:37 +0000
1090@@ -0,0 +1,37 @@
1091+# -*- coding: utf-8 -*-
1092+##############################################################################
1093+#
1094+# OpenERP, Open Source Management Solution
1095+# Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
1096+#
1097+# This program is free software: you can redistribute it and/or modify
1098+# it under the terms of the GNU Affero General Public License as
1099+# published by the Free Software Foundation, either version 3 of the
1100+# License, or (at your option) any later version.
1101+#
1102+# This program is distributed in the hope that it will be useful,
1103+# but WITHOUT ANY WARRANTY; without even the implied warranty of
1104+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1105+# GNU Affero General Public License for more details.
1106+#
1107+# You should have received a copy of the GNU Affero General Public License
1108+# along with this program. If not, see <http://www.gnu.org/licenses/>.
1109+#
1110+##############################################################################
1111+
1112+import time
1113+from openerp.report import report_sxw
1114+from openerp.osv import osv
1115+from openerp import pooler
1116+
1117+class request_quotation(report_sxw.rml_parse):
1118+ def __init__(self, cr, uid, name, context):
1119+ super(request_quotation, self).__init__(cr, uid, name, context=context)
1120+ self.localcontext.update({
1121+ 'time': time,
1122+ 'user': self.pool.get('res.users').browse(cr, uid, uid, context)
1123+ })
1124+report_sxw.report_sxw('report.purchase.quotation.webkit','purchase.order','addons/purchase_webkit/report/request_quotation.mako',parser=request_quotation)
1125+
1126+# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
1127+

Subscribers

People subscribed via source and target branches