Fix Bug: 380200 and 380485 with some chnages in point of sale module wizard and reports.
authorvra (Tiny) <vinusoft85@gmail.com>
Wed, 3 Jun 2009 06:52:50 +0000 (12:22 +0530)
committervra (Tiny) <vinusoft85@gmail.com>
Wed, 3 Jun 2009 06:52:50 +0000 (12:22 +0530)
bzr revid: vinusoft85@gmail.com-20090603065250-k6faxy7q0eyb06up

12 files changed:
addons/account_invoice_layout/report/report_account_invoice_layout.rml
addons/account_invoice_layout/report/special_message_invoice.rml
addons/account_report/report/accounting_report.rml
addons/account_report/report/print_indicator.py
addons/account_report/report/print_indicator.rml
addons/point_of_sale/report/pos_invoice.py
addons/point_of_sale/report/pos_receipt.rml
addons/point_of_sale/wizard/wizard_pos_payment.py
addons/report_intrastat/report_intrastat.py
addons/stock/report/lot_location.rml
addons/stock/report/lot_overview.rml
addons/stock/report/lot_overview_all.rml

index 5fabe67..b177bc6 100644 (file)
 <para style="P8b">
 <font color="white"></font>
 </para>
-<blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
+<blockTable colWidths="274.0,62.0,70.0,61.0,74.0" style="Tableau6">
 <tr>
-<td><para style="P3">Description</para></td>
-<td><para style="P4">Taxes</para></td>
-<td><para style="P4">Quantity</para></td>
+<td><para style="P3">Description / Taxes</para></td>
+<td><para style="P3">Quantity</para></td>
 <td><para style="P4">Unit Price</para></td>
 <td><para style="P4">Disc. (%)</para></td>
-<td><para style="P4a">Price</para></td>
+<td><para style="P3">Price</para></td>
 </tr>
 </blockTable>
 <section>
        <para style="P20">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
-       <blockTable colWidths="0.0,221.5,60.0,31.0,16.0,31.0,39.0,61.0,45.0,23.0" style="Tableau7">
+       <blockTable colWidths="0.0,250.0,77.5,31.0,39.0,50.0,79.0" style="Tableau7">
                <tr>
                        <td><para style="P8">[[ a['type']=='text' and removeParentNode('blockTable')]]</para></td>
-                       <td><para style="P8a">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['name'] ]]</para></td>
-                       <td><para style="P8a">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['tax_types'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['quantity'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['uos'] ]]</para></td>
+                       <td><para style="P8a">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['name'] ]] / ( [[ a['tax_types'] ]] )</para></td>
+                       <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['quantity'] ]] [[ a['uos'] ]]</para></td>
                        <td><para><font color="white"></font></para></td>
                        <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_unit'] ]]</para></td>
                        <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['discount'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_subtotal'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['currency'] ]]</para></td>
+                       <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]]<font>[[ a['price_subtotal'] ]]</font><font> [[ a['currency'] ]]</font></para></td>
                </tr>
                <tr>
                        <td><para style="P8"><font color="white"></font></para></td>
-                       <td><para style="terp_default_Note">[[ format(a['note'] or removeParentNode('tr')) ]]</para></td>
-                       <td><para style="P8a"><font color="white"></font></para></td>
-                       <td><para style="Table Contents"><font color="white"></font></para></td>
+                       <td><para style="terp_default_Note">Note : [[ format(a['note'] or removeParentNode('tr')) ]]</para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
                        <td><para><font color="white"></font></para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
                        <td><para style="Table Contents1"><font color="white"></font></para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
-                       <td><para style="Table Contents"><font color="white"></font></para></td>
                </tr>
        </blockTable>
        <blockTable colWidths="453.0,74.0" style="Tableau8">
                </tr>
        </blockTable>
        <pageBreak>[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
-       <blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
+       <blockTable colWidths="274.0,62.0,20.0,70.0,61.0,74.0" style="Tableau6">
                <tr>
-                       <td><para style="P3">Description [[ a['type']!='break' and removeParentNode('blockTable')]]</para></td>
-                       <td><para style="P4">Taxes</para></td>
+                       <td><para style="P3">Description/Taxes [[ a['type']!='break' and removeParentNode('blockTable')]]</para></td>
                        <td><para style="P4">Quantity</para></td>
                        <td><para style="P4">Unit Price</para></td>
                        <td><para style="P4">Disc. (%)</para></td>
-                       <td><para style="P4a">Price</para></td>
+                       <td><para style="P3">Price</para></td>
                </tr>
        </blockTable>
 </section>
-<blockTable colWidths="340.0,191.0" style="Tableau3">
+<blockTable colWidths="331.0,200.0" style="Tableau3">
 <tr>
 <td>
        <blockTable colWidths="100.0,73.0,100.0" style="Tableau8">
        </blockTable>
 </td>
 <td>
-       <blockTable colWidths="110.0,81.0" style="Tableau5">
+       <blockTable colWidths="110.0,90.0" style="Tableau5">
                <tr>
                <td><para style="P13">Total (Excl. taxes):</para></td>
                <td><para style="P12"><u>[[ '%.2f' % o.amount_untaxed ]] [[o.currency_id.code ]]</u></para></td>
                </tr>
                <tr>
                <td><para style="P13">Taxes:</para></td>
-               <td><para style="P12"><u>[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</u></para></td>
+               <td><para style="P11a">[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</para></td>
                </tr>
                <tr>
                <td><para style="P13">Total <font>(Incl. taxes):</font></para></td>
index 16deca9..d53d06e 100644 (file)
 <blockValign value="TOP"/>
   <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,0" stop="-1,0"/>
   
-  <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,1" stop="-1,-1"/>
-  <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
+  <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,1" stop="-1,1"/>
+  <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,1"/>
+  <lineStyle kind="LINEABOVE" colorName="#ffffff" start="0,2" stop="-1,-1"/>
+  <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,2" stop="-1,-1"/>
 </blockTableStyle>
 <blockTableStyle id="Tableau8">
 <blockAlignment value="LEFT"/>
 <para style="P17"><font>Invoice Date: </font><font>[[ formatLang(o.date_invoice,date=True) ]]</font></para>
 <para style="P18"><font>Customer Ref:</font> [[ o.address_invoice_id.partner_id.ref or '/' ]]</para>
 <para style="P8b"><font color="white"> </font></para>
-<blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
-       <tr>
-               <td><para style="P3">Description</para></td>
-               <td><para style="P4">Taxes</para></td>
-               <td><para style="P4">Quantity</para></td>
-               <td><para style="P4">Unit Price</para></td>
-               <td><para style="P4">Disc. (%)</para></td>
-               <td><para style="P4a">Price</para></td>
-       </tr>
+<blockTable colWidths="274.0,62.0,70.0,61.0,74.0" style="Tableau6">
+<tr>
+<td><para style="P3">Description / Taxes</para></td>
+<td><para style="P3">Quantity</para></td>
+<td><para style="P4">Unit Price</para></td>
+<td><para style="P4">Disc. (%)</para></td>
+<td><para style="P3">Price</para></td>
+</tr>
 </blockTable>
 <section>
        <para style="P20">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
-       <blockTable colWidths="0.0,221.5,60.0,31.0,16.0,31.0,39.0,61.0,45.0,23.0" style="Tableau7">
+       <blockTable colWidths="0.0,250.0,77.5,31.0,39.0,50.0,79.0" style="Tableau7">
                <tr>
                        <td><para style="P8">[[ a['type']=='text' and removeParentNode('blockTable')]]</para></td>
-                       <td><para style="P8a">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['name'] ]]</para></td>
-                       <td><para style="P8a">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['tax_types'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['quantity'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['uos'] ]]</para></td>
+                       <td><para style="P8a">[[ (a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['name'] ]] / ( [[ a['tax_types'] ]] )</para></td>
+                       <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['quantity'] ]] [[ a['uos'] ]]</para></td>
                        <td><para><font color="white"></font></para></td>
                        <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_unit'] ]]</para></td>
                        <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['discount'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['price_subtotal'] ]]</para></td>
-                       <td><para style="Table Contents">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]][[ a['currency'] ]]</para></td>
+                       <td><para style="Table Contents1">[[ a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'})) ]]<font>[[ a['price_subtotal'] ]]</font><font> [[ a['currency'] ]]</font></para></td>
                </tr>
                <tr>
                        <td><para style="P8"><font color="white"></font></para></td>
-                       <td><para style="terp_default_Note">[[ format(a['note'] or '') ]]</para></td>
-                       <td><para style="P8a"><font color="white"></font></para></td>
-                       <td><para style="Table Contents"><font color="white"></font></para></td>
+                       <td><para style="terp_default_Note">Note : [[ format(a['note'] or removeParentNode('tr')) ]]</para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
                        <td><para><font color="white"></font></para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
                        <td><para style="Table Contents1"><font color="white"></font></para></td>
                        <td><para style="Table Contents"><font color="white"></font></para></td>
-                       <td><para style="Table Contents"><font color="white"></font></para></td>
                </tr>
        </blockTable>
        <blockTable colWidths="453.0,74.0" style="Tableau8">
                </tr>
        </blockTable>
        <pageBreak>[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
-       <blockTable colWidths="212.0,62.0,62.0,70.0,61.0,74.0" style="Tableau6">
+       <blockTable colWidths="274.0,62.0,20.0,70.0,61.0,74.0" style="Tableau6">
                <tr>
-                       <td><para style="P3">Description [[ a['type']!='break' and removeParentNode('blockTable')]]</para></td>
-                       <td><para style="P4">Taxes</para></td>
+                       <td><para style="P3">Description/Taxes [[ a['type']!='break' and removeParentNode('blockTable')]]</para></td>
                        <td><para style="P4">Quantity</para></td>
                        <td><para style="P4">Unit Price</para></td>
                        <td><para style="P4">Disc. (%)</para></td>
-                       <td><para style="P4a">Price</para></td>
+                       <td><para style="P3">Price</para></td>
                </tr>
        </blockTable>
 </section>
-<blockTable colWidths="340.0,191.0" style="Tableau3">
+<blockTable colWidths="331.0,200.0" style="Tableau3">
 <tr>
 <td>
-       <blockTable colWidths="81.0,73.0,65.0" style="Tableau8">
+       <blockTable colWidths="100.0,73.0,100.0" style="Tableau8">
                <tr>
                <td><para style="P10"><font color="white"></font></para></td>
                <td><para style="P8"><font color="white"></font></para></td>
        </blockTable>
 </td>
 <td>
-       <blockTable colWidths="110.0,81.0" style="Tableau5">
+       <blockTable colWidths="110.0,90.0" style="Tableau5">
                <tr>
                <td><para style="P13">Total (Excl. taxes):</para></td>
                <td><para style="P12"><u>[[ '%.2f' % o.amount_untaxed ]] [[o.currency_id.code ]]</u></para></td>
                </tr>
                <tr>
                <td><para style="P13">Taxes:</para></td>
-               <td><para style="P12"><u>[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</u></para></td>
+               <td><para style="P11a">[[ '%.2f' % o.amount_tax ]] [[o.currency_id.code ]]</para></td>
                </tr>
                <tr>
                <td><para style="P13">Total <font>(Incl. taxes):</font></para></td>
-               <td><para style="P22"><u>[[ '%.2f' % o.amount_total ]] [[o.currency_id.code ]]</u></para></td>
+               <td><para style="P12"><u>[[ '%.2f' % o.amount_total ]] [[o.currency_id.code ]]</u></para></td>
                </tr>
        </blockTable>
 </td>
index c755303..95c9f03 100644 (file)
 </stylesheet>
 <images/>
 <story>
-<para style="P1">[[ repeatIn(objects,'o') ]]</para>
-<blockTable colWidths="146.0,223.0,158.0" repeatRows="1" style="Table2">
-<tr>
-<td>
-<para style="P9">
-<font color="white"> </font>
-</para>
-</td>
-<td>
-<para style="P10">Accounting Report</para>
-</td>
-<td>
-<para style="P2">
-<font color="white"> </font>
-</para>
-</td>
-</tr>
-<tr>
-<td>
-<para style="P5">[[ company.name ]]</para>
-</td>
-<td>
-<para style="P4">
-<font color="white"> </font>
-</para>
-</td>
-<td>
-<para style="P2">Currency: <font face="Times-Roman" size="11.0">[[ company.currency_id.name]]</font>
-</para>
-</td>
-</tr>
-</blockTable>
-<para style="P3">Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
-<blockTable colWidths="361.0,73.0,93.0" repeatRows="1" style="Table4">
-<tr>
-<td>
-<para style="P6">Name</para>
-</td>
-<td>
-<para style="P6">Code</para>
-</td>
-<td>
-<para style="P6">Amount</para>
-</td>
-</tr>
-</blockTable>
-<para style="P3">
-<font color="white"> </font>
-</para>
-<section>
-<para style="P7">[[repeatIn(childs(o.id),'obj')]]</para>
-<blockTable colWidths="362.0,73.0,93.0" repeatRows="1" style="Table3">
-<tr>
-<td>
-<para style="P11"><font color="white">[[ '....'*(obj['level']) ]]</font>[[ obj['name'] ]]</para>
-</td>
-<td>
-<para style="P11">[[obj['code'] ]]</para>
-</td>
-<td>
-<para style="P12">[['%.2f' % obj['amount'] ]] </para>
-</td>
-</tr>
-<tr>
-<td>
-<para style="P13">[[ repeatIn((obj['note'] and obj['note'].splitlines()) or [], 'l') ]]</para>
-<para style="P14">[[ l or removeParentNode('table') ]]</para>
-</td>
-<td>
-<para style="P14">
-<font color="white"> </font>
-</para>
-</td>
-<td>
-<para style="P8">
-<font color="white"> </font>
-</para>
-</td>
-</tr>
-</blockTable>
-<para style="P1">
-<font color="white"> </font>
-</para>
-</section>
+       <para style="P1">[[ repeatIn(objects,'o') ]]</para>
+       <blockTable colWidths="146.0,223.0,158.0" repeatRows="1" style="Table2">
+       <tr>
+               <td><para style="P9"><font color="white"> </font></para></td>
+               <td><para style="P10">Accounting Report</para></td>
+               <td><para style="P2"><font color="white"> </font></para></td>
+       </tr>
+       <tr>
+               <td><para style="P5">[[ company.name ]]</para></td>
+               <td><para style="P4"><font color="white"> </font></para></td>
+               <td><para style="P2">Currency: <font face="Times-Roman" size="11.0">[[ company.currency_id.name]]</font></para></td>
+       </tr>
+       </blockTable>
+       <para style="P3">Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
+       <blockTable colWidths="361.0,73.0,93.0" repeatRows="1" style="Table4">
+       <tr>
+               <td><para style="P6">Name</para></td>
+               <td><para style="P6">Code</para></td>
+               <td><para style="P6">Amount</para></td>
+       </tr>
+       </blockTable>
+       <para style="P3"><font color="white"> </font></para>
+       <section>
+               <para style="P7">[[repeatIn(childs(o.id),'obj')]]</para>
+               <blockTable colWidths="362.0,73.0,93.0" repeatRows="1" style="Table3">
+                       <tr>
+                               <td><para style="P11"><font color="white">[[ '....'*(obj['level']) ]]</font><font>[[ obj['name'] ]]</font></para></td>
+                               <td><para style="P11">[[obj['code'] ]]</para></td>
+                               <td><para style="P12">[['%.2f' % obj['amount'] ]] </para></td>
+                       </tr>
+                       <tr>
+                               <td><para style="P13">[[ repeatIn((obj['note'] and obj['note'].splitlines()) or [], 'l') ]]</para><para style="P14">[[ l or removeParentNode('table') ]]</para></td>
+                               <td><para style="P14"><font color="white"> </font></para></td>
+                               <td><para style="P8"><font color="white"> </font></para></td>
+                       </tr>
+               </blockTable>
+               <para style="P1"><font color="white"> </font></para>
+       </section>
 </story>
 </document>
 
index d7bd70f..9d4fa46 100644 (file)
@@ -73,13 +73,6 @@ import tools
 import os
 
 
-parents = {
-    'tr':1,
-    'li':1,
-    'story': 0,
-    'section': 0
-}
-
 class accounting_report_indicator(report_sxw.rml_parse):
 
     def __init__(self, cr, uid, name, context):
@@ -91,6 +84,7 @@ class accounting_report_indicator(report_sxw.rml_parse):
             'lines':self.lines,
             'getarray':self.getarray,
             'gettree':self.gettree,
+            'getarray_head':self.getarray_head,
         })
         self.count = 0
         self.treecount = 0
@@ -98,61 +92,8 @@ class accounting_report_indicator(report_sxw.rml_parse):
         self.header_name = []
         self.header_val = []
         self.main_dict = {}
-        
-    def repeatIn(self, lst, name, nodes_parent=False,td=False,width=[],value=[],type=[],data=''):
-        self._node.data = ''
-        node = self._find_parent(self._node, nodes_parent or parents)
-        ns = node.nextSibling
-#start
-        if (not name in ['array','array_header']):
-            return super(accounting_report_indicator,self).repeatIn(lst, name, nodes_parent=False)
-        
-        array_header = eval(data,{'year':'Fiscal Year','periods':'Periods'})
-#        value = [array_header]
-        value = []
-        value.extend(self.header_name)
-
-        if name=='array':
-            type = ['float']*len(self.header_name)
-        else:
-            type = ['lable'] * (len(self.header_name))
-        
-        width = [438/float(len(value))]*(len(value))
-        
-        if not lst:
-            lst.append(1)
-        for ns in node.childNodes :
-            if ns and ns.nodeName!='#text' and ns.tagName=='blockTable' and td :
-                width_str = ns._attrs['colWidths'].nodeValue
-                ns.removeAttribute('colWidths')
-#                total_td = td * len(value)
-                
-                if not width:
-                    for v in value:
-                        width.append(30)
-                for v in range(len(width)):
-                    width_str +=',%d'%width[v]
-                
-                ns.setAttribute('colWidths',width_str)
-
-                child_list =  ns.childNodes
-                for child in child_list:
-                    if child.nodeName=='tr':
-                        lc = child.childNodes[1]
-                        i=0
-                        for v in value:
-                            newnode = lc.cloneNode(1)
-                            if type[i] == 'float':
-                                t1="[[ '%.2f' % " + "%s['%s'] ]]"%(name,v)
-                            if type[i] == 'lable':
-                                t1="%s"%(v)
-                            else:
-                                t1="[[ %s['%s'] ]]"%(name,v)   
-                            newnode.childNodes[1].lastChild.data = t1    
-                            child.appendChild(newnode)
-                            newnode=False
-                            i+=1
-        return super(accounting_report_indicator,self).repeatIn(lst, name, nodes_parent=False)
+
+#
 
     def lines(self,data):
         res={}
@@ -193,12 +134,30 @@ class accounting_report_indicator(report_sxw.rml_parse):
             result.append(res)
         return result
 
+    def getarray_head(self,data,object,array_header=''):
+        self.getgraph(data,object,intercall=True)
+        self.header_val=[str(x) for x in self.header_val]
+        if data['select_base'] == 'year':
+            year = [1,2,3,4,5,6,7,8]
+            temp_head = [str(x) for x in self.header_name]
+            head_dict = dict(zip(year,temp_head))
+        else:
+            temp_head = [str(x[0:3]) for x in self.header_name]
+            head_dict = dict(zip(temp_head,temp_head))
+        print "head_dict",head_dict
+        return [head_dict]
+
     def getarray(self,data,object,array_header=''):
         res={}
         result=[]
         self.getgraph(data,object,intercall=True)
-        self.header_val=[str(x) for x in self.header_val]
-        temp_dict=zip(self.header_name,self.header_val)
+        self.header_val = [str(x) for x in self.header_val]
+        if data['select_base'] == 'year':
+            year = [1,2,3,4,5,6,7,8]
+            temp_dict = zip(year,self.header_val)
+        else:
+            temp_head = [str(x[0:3]) for x in self.header_name]
+            temp_dict = zip(temp_head,self.header_val)
         res=dict(temp_dict)
         array_header = eval(array_header,{'year':'Fiscal Year','periods':'Periods'})
         res[array_header]=object['name']
index 0015324..f727711 100644 (file)
 </stylesheet>
 <images/>
 <story>
-<blockTable colWidths="520.0" style="Standard_Outline">
+       <blockTable colWidths="520.0" style="Standard_Outline">
       <tr>
-        <td>
-          <para style="terp_header_Centre">Indicators</para>
-        </td>
+        <td><para style="terp_header_Centre">Indicators</para></td>
       </tr>
-</blockTable>
-<blockTable colWidths="264.0,264.0" style="Table2">
+       </blockTable>
+       <blockTable colWidths="264.0,264.0" style="Table2">
+       <tr>
+               <td><para style="P14">[[ company.name ]]</para></td>
+               <td><para style="P4">Currency: <font face="Times-Roman" size="11.0">[[ company.currency_id.name]]</font></para></td>
+       </tr>
+       </blockTable>
+       <para style="P4"><font color="white"> </font></para>
+       <para style="P1">Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
+       <blockTable colWidths="528.0" style="Table4">
        <tr>
                <td>
-                       <para style="P14">[[ company.name ]]</para>
-               </td>
-               <td>
-                       <para style="P4">Currency: <font face="Times-Roman" size="11.0">[[ company.currency_id.name]]</font>
-                       </para>
-               </td>
+                       <para style="P6">Name</para></td>
        </tr>
-</blockTable>
-<para style="P4">
-<font color="white"> </font>
-</para>
-<para style="P1">Printing date: [[ time.strftime('%Y-%m-%d') ]] at [[ time.strftime('%H:%M:%S') ]]</para>
-<blockTable colWidths="528.0" style="Table4">
-<tr>
-<td>
-<para style="P6">Name</para>
-</td>
-</tr>
-</blockTable>
-<para style="P3">
-<font color="white"> </font>
-</para>
-<para style="P3"><seqReset/></para>
-<section>
-<para style="P1">[[ repeatIn(lines(data['form']),'o')]]</para>
-<blockTable colWidths="528.0" style="Table7">
-<tr>
-<td>
-<para style="P11"><font>[['.....'*(o['level']) ]][[ setTag('font','font',{'color':'white'}) ]]</font><b>(<seq/>)</b> [[ o['type']=='view' and setTag('para','para',{'fontName':'Helvetica-Bold','fontSize':'10.5'}) ]][[ o['name'] ]]  ([[ o['code'] ]])</para>
-</td>
-</tr>
-</blockTable>
-<para style="P1">[[ o['disp_tree'] and setTag('para','image',{'file':gettree(data['form'],o)}) or removeParentNode('para') ]]</para>
-<para style="P1">[[ o['disp_graph'] and setTag('para','image',{'width':'450.00','height':'215.00','file':getgraph(data['form'],o)}) or removeParentNode('para') ]]</para>
-<para style="P3">
-<font color="white"> </font>
-</para>
-<blockTable colWidths="528.0" repeatRows="1" style="Table7">
-<tr><td>
-<para style="P5"><font>[['..........'*(o['level']) ]][[ setTag('font','font',{'color':'white'}) ]]</font><b>Expression :</b> [[ o['expression'] ]]</para>
-</td>
-</tr>
-</blockTable>
-<blockTable colWidths="528.0" repeatRows="1" style="Table7">
-<tr>
-<td>
-<para style="P5"> <font>[['..........'*(o['level']) ]][[ setTag('font','font',{'color':'white'}) ]]</font> [[ format(o['note']) or removeParentNode('blockTable') ]]</para>
-</td>
-</tr>
-</blockTable>
-</section>
-<pageBreak/>
-<para style="P10">
-<u>Tabular Summary</u>
-</para>
-<section>
-       <para style="P13">[[ repeatIn(getarray(data['form'],o,array_header=data['form']['select_base']),'array_header',td=len(data['form']['base_selection'][0][2]),data=data['form']['select_base']) or removeParentNode('section') ]]</para>
-         <blockTable colWidths="0.00,90.00" style="Table4">
+       </blockTable>
+       <para style="P3"><font color="white"> </font></para>
+       <para style="P3"><seqReset/></para>
+       <section>
+               <para style="P1">[[ repeatIn(lines(data['form']),'o')]]</para>
+               <blockTable colWidths="528.0" style="Table7">
+               <tr>
+                       <td><para style="P11"><font color="white">[['.....'*(o['level']) ]]</font><font>[[ o['type']=='view' and setTag('para','para',{'fontName':'Helvetica-Bold','fontSize':'10.5'}) ]]</font>(<seq/>)<font>[[ o['name'] ]]  ([[ o['code'] ]])</font></para></td>
+               </tr>
+               </blockTable>
+               <para style="P1">[[ o['disp_tree'] and setTag('para','image',{'file':gettree(data['form'],o)}) or removeParentNode('para') ]]</para>
+               <para style="P1">[[ o['disp_graph'] and setTag('para','image',{'width':'450.00','height':'215.00','file':getgraph(data['form'],o)}) or removeParentNode('para') ]]</para>
+               <para style="P3"><font color="white"> </font></para>
+               <blockTable colWidths="528.0" repeatRows="1" style="Table7">
+               <tr>
+                       <td><para style="P5"><font color="white">[['..........' *(o['level']) ]]</font><b>Expression :</b>[[ o['expression'] ]]</para></td>
+               </tr>
+               </blockTable>
+               <blockTable colWidths="528.0" repeatRows="1" style="Table7">
+               <tr>
+                       <td><para style="P5"> <font color="white">[['..........'*(o['level']) ]]</font> <font>[[ format(o['note']) or removeParentNode('blockTable') ]]</font></para></td>
+               </tr>
+               </blockTable>
+       </section>
+       <pageBreak/>
+       <para style="P10"><u>Tabular Summary</u></para>
+       <section>
+       <para style="P13">[[ repeatIn(getarray_head(data['form'],o,array_header=data['form']['select_base']),'array_header')]]</para>
+         <blockTable colWidths="90,36,36,36,36,36,36,36,36,36,36,36,36" style="Table4">
                <tr>
-                       <td>
-               <para style="P3"> </para>
-             </td>
-             <td>
-               <para style="P3">Indicators</para>
-             </td>
+                       <td><para style="P3">Indicators</para></td>
+                       <td><para style="P3">[[ array_header['Jan'] or '' ]][[ array_header[1] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Feb'] or '' ]][[ array_header[2] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Mar'] or '' ]][[ array_header[3] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Apr'] or '' ]][[ array_header[4] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['May'] or '' ]][[ array_header[5] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Jun'] or '' ]][[ array_header[6] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Jul'] or '' ]][[ array_header[7] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Aug'] or '' ]][[ array_header[8] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Sep'] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Oct'] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Nov'] or '' ]]</para></td>
+               <td><para style="P3">[[ array_header['Dec'] or '' ]]</para></td>
            </tr>
         </blockTable>
-</section>
-<section>
+       </section>
+       <section>
        <para style="P1">[[ repeatIn(lines(data['form']),'obj')]]</para>
-       <para style="P13">[[ repeatIn(getarray(data['form'],obj,array_header=data['form']['select_base']),'array',td=len(data['form']['base_selection'][0][2]),data=data['form']['select_base']) or removeParentNode('section') ]]</para>
-         <blockTable colWidths="0.00,90.00" style="Table3">
+       <section>
+       <para style="P13">[[ repeatIn(getarray(data['form'],obj,array_header=data['form']['select_base']),'array')]]</para>
+         <blockTable colWidths="90,36,36,36,36,36,36,36,36,36,36,36,36" style="Table3">
          <tr>
-                 <td>
-               <para style="P9"> </para>
-             </td>
-             <td>
-               <para style="P5"><font>[['.....'*(obj['level']) ]][[ setTag('font','font',{'color':'white'}) ]]</font>[[ obj['code'] ]]</para>
-             </td>
+              <td><para style="P5"><font color="white">[['.....'*(obj['level']) ]]</font><font>[[ obj['code'] ]]</font></para></td>
+              <td><para style="P3">[[ array['Jan'] or '' ]][[ array[1] or '' ]]</para></td>
+          <td><para style="P3">[[ array['Feb'] or '' ]][[ array[2] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Mar'] or '' ]][[ array[3] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Apr'] or '' ]][[ array[4] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['May'] or '' ]][[ array[5] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Jun'] or '' ]][[ array[6] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Jul'] or '' ]][[ array[7] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Aug'] or '' ]][[ array[8] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Sep'] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Oct'] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Nov'] or '' ]]</para></td>
+                       <td><para style="P3">[[ array['Dec'] or '' ]]</para></td>
            </tr>
-           
         </blockTable>
-        
-</section>
-
+        </section>
+       </section>
 </story>
 </document>
 
index 314e627..6fee06c 100644 (file)
@@ -33,18 +33,14 @@ class pos_invoice(report_sxw.rml_parse):
         self.localcontext.update({
             'time': time,
         })
-
-    def preprocess(self, objects, data, ids):
-        super(pos_invoice, self).preprocess(objects, data, ids)
+        
+    def set_context(self, objects, data, ids, report_type = None):
+        super(pos_invoice, self).set_context(objects, data, ids, report_type)
         iids = []
         nids = []
-
         for order in objects:
             order.write({'nb_print': order.nb_print + 1})
-
             if order.invoice_id and order.invoice_id not in iids:
-                if not order.invoice_id:
-                    raise osv.except_osv(_('Error !'), _('Please create an invoice for this sale.'))
                 iids.append(order.invoice_id)
                 nids.append(order.invoice_id.id)
         self.cr.commit()
@@ -55,7 +51,7 @@ class pos_invoice(report_sxw.rml_parse):
         self.localcontext['data'] = data
         self.localcontext['objects'] = iids
 
-report_sxw.report_sxw('report.pos.invoice', 'pos.order', 'addons/libeurop/report/invoice.rml', parser= pos_invoice)
+report_sxw.report_sxw('report.pos.invoice', 'pos.order', 'account/report/invoice.rml', parser= pos_invoice)
 
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
 
index c0c4ce7..641c17e 100644 (file)
@@ -1,8 +1,8 @@
 <?xml version="1.0"?>
 <document filename="test.pdf">
-  <template pageSize="(224.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
+  <template pageSize="(595.0,842.0)" title="Test" author="Martin Simon" allowSplitting="20">
     <pageTemplate id="first">
-      <frame id="first" x1="0.0" y1="0.0" width="224" height="842"/>
+      <frame id="first" x1="28.0" y1="28.0" width="539" height="786"/>
     </pageTemplate>
   </template>
   <stylesheet>
     <blockTableStyle id="Tableau2">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
-      <blockBackground colorName="#ffffff" start="0,0" stop="0,0"/>
-      <blockBackground colorName="#ffffff" start="1,0" stop="1,0"/>
-      <blockBackground colorName="#ffffff" start="2,0" stop="2,0"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
+      <blockBackground colorName="#ffffff" start="0,0" stop="0,-1"/>
+      <blockBackground colorName="#ffffff" start="1,0" stop="1,-1"/>
+      <blockBackground colorName="#ffffff" start="2,0" stop="2,-1"/>
     </blockTableStyle>
     <blockTableStyle id="Tableau3">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
     </blockTableStyle>
-    <blockTableStyle id="Table1">
+    <blockTableStyle id="Table_Dicount_Total">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table_Discount_Total">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table_Total">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
     </blockTableStyle>
     <initialize>
       <paraStyle name="all" alignment="justify"/>
     </initialize>
-    <paraStyle name="P1" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="LEFT"/>
-    <paraStyle name="P2" fontName="Times-Bold" fontSize="9.0" leading="11" alignment="CENTER"/>
-    <paraStyle name="P3" fontName="Times-Roman" fontSize="7.0" leading="9" alignment="CENTER"/>
-    <paraStyle name="P30" fontName="Times-Roman" fontSize="7.0" leading="9" alignment="LEFT"/>
-    <paraStyle name="P31" fontName="Times-Bold" fontSize="8.0" leading="9" alignment="CENTER" backColor="#dddddd"/>
-    <paraStyle name="P4" fontName="Times-Roman" fontSize="8.0" leading="10" alignment="LEFT"/>
-    <paraStyle name="P5" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="LEFT"/>
-    <paraStyle name="P6" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="RIGHT"/>
-    <paraStyle name="P7" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="RIGHT"/>
-    <paraStyle name="P8" fontName="Times-BoldItalic" fontSize="6.0" leading="8" alignment="LEFT"/>
-    <paraStyle name="P9" fontName="Times-Roman" fontSize="6.0" leading="8" alignment="LEFT"/>
-    <paraStyle name="P10" fontName="Times-Roman" fontSize="7.0" leading="9" alignment="RIGHT"/>
-    <paraStyle name="P11" rightIndent="0.0" leftIndent="-3.0" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="CENTER"/>
-    <paraStyle name="P12" rightIndent="0.0" leftIndent="-2.0" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="CENTER"/>
-    <paraStyle name="P13" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="RIGHT"/>
-    <paraStyle name="P14" fontName="Times-Bold" fontSize="8.0" leading="10" alignment="LEFT"/>
+    <paraStyle name="P1" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT"/>
+    <paraStyle name="P2" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT"/>
     <paraStyle name="Standard" fontName="Times-Roman"/>
     <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="Heading" fontName="Helvetica" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
     <paraStyle name="Table Heading" fontName="Times-Roman" alignment="CENTER"/>
     <paraStyle name="Caption" fontName="Times-Roman" fontSize="12.0" leading="15" spaceBefore="6.0" spaceAfter="6.0"/>
     <paraStyle name="Index" fontName="Times-Roman"/>
+    <paraStyle name="Footer" fontName="Times-Roman"/>
+    <paraStyle name="Horizontal Line" fontName="Times-Roman" fontSize="6.0" leading="8" spaceBefore="0.0" spaceAfter="14.0"/>
+    <paraStyle name="terp_header" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="Heading 9" fontName="Helvetica-Bold" fontSize="75%" leading="NaN" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_General" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_Details" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_default_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Bold_8" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_tblheader_General_Centre" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_General_Right" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_Details_Centre" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_tblheader_Details_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_default_Right_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Centre_8" fontName="Helvetica" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_header_Right" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="LEFT" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_header_Centre" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
+    <paraStyle name="terp_default_address" fontName="Helvetica" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Bold_9" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Centre_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Right_9" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_Bold_9_Right" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
   </stylesheet>
+  <images/>
   <story>
-    [[ repeatIn(objects,'o') ]]
-    <para style="P2">[[ o.user_id.company_id.name ]]</para>
-    <para style="P3">[[ address and address.street ]], [[ address and address.zip ]] [[ address and address.city ]]</para>
-    <para style="P3">[[ address and address.country_id and address.country_id.name ]]</para>
-    <para style="P3">Tel : [[ address and address.phone ]]</para>
-    <para style="P3">E-mail : [[ address and address.email ]]</para>
-    <para style="P3">User : [[ o.user_id.name ]]</para>
-    <para style="P3">Date : [[ time.strftime('%d/%m/%Y %H:%M') ]]</para>
-    <para style="P4">
+    <para style="terp_default_8">[[ repeatIn(objects,'o') ]]</para>
+    <para style="terp_header_Centre">[[o.user_id.company_id.name]]</para>
+    <para style="terp_default_Centre_9">[[ address and address.street ]], [[ address and address.zip ]] [[ address and address.city ]]</para>
+    <para style="terp_default_Centre_9">[[ address and address.country_id.name ]]</para>
+    <para style="terp_default_Centre_9">Tel : [[ address and address.phone ]]</para>
+    <para style="terp_default_Centre_9">E-mail : [[ address and address.email ]]</para>
+    <para style="terp_default_Centre_9">
       <font color="white"> </font>
     </para>
-    <para style="P4">
+    <para style="terp_default_8">
       <font color="white"> </font>
     </para>
-    <para style="P4">Operation N° : [[ o.name ]]</para>
-    <blockTable colWidths="97.0,23.0,26.0" repeatRows="1" style="Tableau2">
+    <para style="terp_header">Operation N° : [[ o.name ]]</para>
+    <blockTable colWidths="357.0,84.0,97.0" repeatRows="1" style="Tableau2">
       <tr>
         <td>
-          <para style="P5">Description</para>
+          <para style="terp_tblheader_Details">Description</para>
         </td>
         <td>
-          <para style="P11">Qty</para>
+          <para style="terp_tblheader_Details_Right">Qty</para>
         </td>
         <td>
-          <para style="P12">Price</para>
+          <para style="terp_tblheader_Details_Right">Price</para>
         </td>
       </tr>
     </blockTable>
     <section>
-      <para style="P8">[[ repeatIn(o.lines,'line') ]]</para>
-      <blockTable colWidths="95.0,23.0,27.0" style="Tableau3">
+      <para style="terp_default_8">[[ repeatIn(o.lines,'line') ]]</para>
+      <blockTable colWidths="353.0,85.0,99.0" style="Tableau3">
         <tr>
           <td>
-            <para style="P9">[[ line.product_id.name ]]</para>
+            <para style="terp_default_9">[[ line.product_id.name ]]</para>
           </td>
           <td>
-            <para style="P10">[[ '%.f' % line.qty ]]</para>
+            <para style="terp_default_Right_9">[[ '%.f' % line.qty ]]</para>
           </td>
           <td>
-            <para style="P10">[[ '%.2f' % net(line.id) ]]</para>
+            <para style="terp_default_Right_9">[[ '%.2f' % net(line.id) ]]</para>
           </td>
         </tr>
       </blockTable>
     </section>
-    <blockTable colWidths="109.0,37.0" style="Table1">
-      <tr>
-        <td>
-          <para style="P13">Disc : </para>
-        </td>
-        <td>
-          <para style="P10">[[ '%.2f' % (disc(o.id) or 0.0,) ]] </para>
-        </td>
-      </tr>
+    <blockTable colWidths="342.0,197.0" style="Table_Dicount_Total">
       <tr>
         <td>
-          <para style="P6">Total :</para>
+          <para style="terp_default_8">
+            <font color="white"> </font>
+          </para>
         </td>
         <td>
-          <para style="P7">[[ '%.2f' % o.amount_total ]] [[ o.pricelist_id.currency_id.name ]]</para>
+          <blockTable colWidths="85.0,100.0" style="Table_Discount_Total">
+            <tr>
+              <td>
+                <para style="terp_tblheader_Details_Right">Total :</para>
+              </td>
+              <td>
+                <para style="terp_default_Bold_9_Right">[[ '%.2f' % o.amount_total ]] [[ o.pricelist_id.currency_id.name ]]</para>
+              </td>
+            </tr>
+          </blockTable>
+          <para style="terp_default_2">
+            <font color="white"> </font>
+          </para>
+          <blockTable colWidths="86.0,100.0" style="Table_Total">
+            <tr>
+              <td>
+                <para style="terp_tblheader_Details_Right">Discount : </para>
+              </td>
+              <td>
+                <para style="terp_default_Bold_9_Right">[[ disc(o.id) or 0.00 ]] [[ o.pricelist_id.currency_id.name ]]</para>
+              </td>
+            </tr>
+          </blockTable>
+          <para style="terp_default_2">
+            <font color="white"> </font>
+          </para>
         </td>
       </tr>
     </blockTable>
-       <section>
-               [[ repeatIn((o.amount_total&gt;0) and o.payments or [], 'p') ]]
-               <para style="P30">
-                       [[ p.journal_id.name ]] : [[ '%.2f' % (p.amount,) ]]
-               </para>
-       </section>
-       <section>
-               [[ repeatIn((o.amount_total&lt;0) and [1] or [], 'p') ]]
-               <para style="P31">
-                       Ce bon est valide jusqu'au [[ time.strftime('%d/%m/%Y', time.strptime(o.date_validity,'%Y-%m-%d')) ]].
-               </para>
-       </section>
+    <para style="terp_default_8">
+      <font color="white"> </font>
+    </para>
   </story>
 </document>
-
index 8e7c95d..05fcfb1 100644 (file)
@@ -114,29 +114,30 @@ def _add_pay(self, cr, uid, data, context):
     pool = pooler.get_pool(cr.dbname)
     order_obj = pool.get('pos.order')
     result = data['form']
-
     invoice_wanted = data['form']['invoice_wanted']
-
     # add 'invoice_wanted' in 'pos.order'
     order_obj.write(cr, uid, [data['id']], {'invoice_wanted': invoice_wanted})
 
     order_obj.add_payment(cr, uid, data['id'], result, context=context)
     return {}
 
-
+def _validate(self, cr, uid, data, context):
+    pool = pooler.get_pool(cr.dbname)
+    order_obj = pool.get('pos.order')
+    order = order_obj.browse(cr, uid, data['id'], context)
+#    if not order.amount_total:
+#       return 'receipt'
+    order_obj.test_order_lines(cr, uid, order, context=context)
+    return {}
+    
 def _check(self, cr, uid, data, context):
     """Check the order:
     if the order is not paid: continue payment,
     if the order is paid print invoice (if wanted) or ticket.
     """
-
     pool = pooler.get_pool(cr.dbname)
     order_obj = pool.get('pos.order')
     order = order_obj.browse(cr, uid, data['id'], context)
-    #if not order.amount_total:
-    #   return 'receipt'
-    order_obj.test_order_lines(cr, uid, order, context=context)
-
     action = 'ask_pay'
     if order.state == 'paid':
         if order.partner_id:
@@ -146,22 +147,26 @@ def _check(self, cr, uid, data, context):
                 action = 'paid'
         else:
             action = 'receipt'
-
     return action
 
 
 def create_invoice(self, cr, uid, data, context):
-    wf_service = netsvc.LocalService("workflow")
-    for i in data['ids']:
-        wf_service.trg_validate(uid, 'pos.order', i, 'invoice', cr)
-
+    pool = pooler.get_pool(cr.dbname)
+    order_obj = pool.get('pos.order')
+    order = order_obj.browse(cr, uid, data['id'], context)
+    if not order.invoice_id:
+        inv_id = order_obj.action_invoice(cr,uid,[data['id']])
+        #raise wizard.except_wizard(_('Error !'), _('Please create an invoice for this sale.'))
+#    wf_service = netsvc.LocalService("workflow")
+#    for i in data['ids']:
+#        wf_service.trg_validate(uid, 'pos.order', i, 'invoice', cr)
     return {}
 
 
 class pos_payment(wizard.interface):
     states = {
         'init': {
-            'actions': [],
+            'actions': [_validate],
             'result': {
                 'type': 'choice',
                 'next_state': _check,
index d941beb..fde9b2a 100644 (file)
@@ -63,8 +63,8 @@ class report_intrastat(osv.osv):
     _auto = False
     _columns = {
         'name': fields.many2one('account.period', 'Period', readonly=True, select=True),
-        'supply_units': fields.float('Supply Units', readonly=True),
-        'ref': fields.char('Origin', size=64, readonly=True),
+        'supply_units':fields.float('Supply Units', readonly=True),
+        'ref':fields.char('Origin',size=64, readonly=True),
         'code': fields.char('Country code', size="2", readonly=True),
         'intrastat_id': fields.many2one('report.intrastat.code', 'Intrastat code', readonly=True),
         'weight': fields.float('Weight', readonly=True),
index a075637..94cc3f5 100644 (file)
@@ -49,6 +49,7 @@
     <paraStyle name="P10a" fontName="Helvetica-Bold" fontSize="10.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P11" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P12" fontName="Helvetica" fontSize="8.0" leading="10" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="P121" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="1.0"/>
     <paraStyle name="Standard" fontName="Times-Roman"/>
     <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
   <images/>
   <story>
       <section>
-      <blockTable colWidths="201.0,235.0,91.0" repeatRows="1" style="Table1">
-        <tr>
-          <td><para style="P6">Location</para></td>
-          <td><para style="P6">Product</para></td>
-          <td><para style="P7">Quantity</para></td>
-        </tr>
-       </blockTable>
-               <para style="P41"><font color="white">[[ repeatIn(objects,'o') ]]</font></para>
+               <para style="P121"><font color="white">[[ repeatIn(objects,'o') ]]</font></para>
                <section>
-        <para style="P41"><font color="white">[[ repeatIn(process(o.id),'ob') ]]</font></para>
+        <para style="P121"><font color="white">[[ repeatIn(process(o.id),'ob') ]]</font></para>
         <blockTable colWidths="202.0,234.0,65.0,25" repeatRows="1" style="Table4">
+         <tr>
+               <td><para style="P6">[[ ob['product'] or removeParentNode('blockTable') ]] Location</para></td>
+               <td><para style="P6">Product</para></td>
+               <td><para style="P7">Quantity</para></td>
+               <td><para><font color="white"> </font></para></td>
+          </tr>
           <tr>
             <td><para style="P5">[[ ob['location_name'] ]]</para></td>
-            <td><para style="Standard">[[ ob['product'] or 'No products in this Location !' ]]</para></td>
+            <td><para><font color="white"> </font></para></td>
             <td><para><font color="white"> </font></para></td>
             <td><para><font color="white"> </font></para></td>
           </tr>
             <td><para style="P12">[[ p['prod_qty'] ]]</para></td>
             <td><para style="P12">[[ p['uom'] ]]</para></td>
           </tr>
-        </blockTable>
-        <blockTable colWidths="200.0,235.0,60.0,25" style="Table2">
           <tr>
             <td><para style="P10"></para></td>
             <td><para style="P10a">Total : </para></td>
             <td><para style="P10">[[ ob['total'] ]]</para></td>
             <td><para style="P10">Units</para></td>
           </tr>
-          <tr>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-          </tr>
-          <tr>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-            <td><para style="P10"></para></td>
-          </tr>
         </blockTable>
+        <para style="P10"></para>
         </section>
         </section>
         <blockTable colWidths="200.0,235.0,60.0,25" style="Table3">
index 65c48fa..ad05b01 100644 (file)
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
     </blockTableStyle>
-    <blockTableStyle id="Table1">
-      <blockAlignment value="LEFT"/>
-      <blockValign value="TOP"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="1,0" stop="-1,-1"/>
-    </blockTableStyle>
     <blockTableStyle id="Table2">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="-1,-1"/>
-
-    </blockTableStyle>
-    <blockTableStyle id="Table4">
-      <blockAlignment value="LEFT"/>
-      <blockValign value="TOP"/>
-
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="6,0" stop="6,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,-1"/>
     </blockTableStyle>
     <initialize>
       <paraStyle name="all" alignment="justify"/>
@@ -57,6 +41,7 @@
     <paraStyle name="P10c" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="P11" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P12" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
+    <paraStyle name="P121" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="1.0"/>
     <paraStyle name="Standard" fontName="Times-Roman"/>
     <paraStyle name="Text body" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="List" fontName="Times-Roman" spaceBefore="0.0" spaceAfter="6.0"/>
   <images/>
   <story>
     <section>
-      <blockTable colWidths="60.0,190.0,61.0,55.0,59.0,56.0,61.0" repeatRows="1" style="Table1">
+      <para style="P121"><font color="white">[[ repeatIn(objects,'o') ]]</font></para>
+      <section>
+       <para style="P121">[[ repeatIn(process(o.id),'ob') ]]</para>
+        <blockTable colWidths="60.0,200.0,56.0,55.0,52.0,56.0,68.0" repeatRows="1" style="Table2">
         <tr>
-         <td><para style="P1">Location</para></td>
+         <td><para style="P1">[[ ob['product'] or removeParentNode('blockTable') ]] Location</para></td>
          <td><para style="P1">Product</para></td>
           <td><para style="P1">Variants</para></td>
           <td><para style="P10a">Quantity</para></td>
           <td><para style="P10c">Unit Price</para></td>
           <td><para style="P10a">Value</para></td>
         </tr>
-      </blockTable>
-      <para style="P9">[[ repeatIn(objects,'o') ]]</para>
-      <section>
-       <para style="P12">[[ repeatIn(process(o.id),'ob') ]]</para>
-        <blockTable colWidths="60.0,200.0,56.0,55.0,52.0,56.0,68.0" repeatRows="1" style="Table2">
         <tr>
                <td><para style="P41">[[ ob['location_name'] ]]</para></td>
-               <td><para style="Standard">[[ ob['product'] or 'No products in this Location !' ]]</para></td>
+               <td><para><font color="white"></font></para></td>
                <td><para><font color="white"></font></para></td>
                <td><para><font color="white"></font></para></td>
                <td><para><font color="white"></font></para></td>
@@ -94,7 +77,7 @@
                <td><para><font color="white"></font></para></td>
         </tr>
         <tr>
-            <td><para style="P7">[[ repeatIn(ob['product'],'p') ]]</para></td>
+            <td><para style="P121">[[ repeatIn(ob['product'],'p') ]]</para></td>
             <td><para style="P12">[[ p['prod_name'] ]]</para></td>
             <td><para style="P4">[[ p['variants'] ]]</para></td>
             <td><para style="P10b">[[ p['prod_qty'] ]]</para></td>
             <td><para style="P10b">[[ p['price'] ]]</para></td>
             <td><para style="P10b">[[ p['price_value'] ]]</para></td>
           </tr>
-        </blockTable>
-        <blockTable colWidths="60.0,200.0,56.0,55.0,52.0,56.0,68.0" style="Table4">
-          <tr>
+           <tr>
             <td><para style="P8"></para></td>
             <td><para style="P8">Total:</para></td>
             <td><para style="P8"></para></td>
           </tr>
         </blockTable>
         <para style="P11"><font color="white"> </font></para>
-        <para style="P11"><font color="white"> </font></para>
-        <para style="P11"><font color="white"> </font></para>
-        <para style="P11"><font color="white"> </font></para>
       </section>
     </section>
     <blockTable colWidths="180,60,61.0,55.0,59.0,56.0,68.0" style="Table3">
             <td><para style="P8"></para></td>
             <td><para style="P8"></para></td>
             <td><para style="P8"></para></td>
-            <td><para style="P8a"><u>[[ grand_total_price() ]]</u></para></td>
+            <td><para style="P8a">[[ grand_total_price() ]]</para></td>
           </tr>
         </blockTable>
   </story>
index e848ba8..0df0838 100644 (file)
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
     </blockTableStyle>
-    <blockTableStyle id="Table1">
-      <blockAlignment value="LEFT"/>
-      <blockValign value="TOP"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,-1" stop="0,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="1,-1" stop="1,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="2,-1" stop="2,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="3,-1" stop="3,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="4,-1" stop="4,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="5,-1" stop="5,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="6,-1" stop="6,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#000000" start="7,-1" stop="7,-1"/>
-    </blockTableStyle>
-    <blockTableStyle id="Table3">
-      <blockAlignment value="LEFT"/>
-      <blockValign value="TOP"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="0,0"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,0"/>
-    </blockTableStyle>
     <blockTableStyle id="Table4">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <lineStyle kind="LINEBELOW" colorName="#d4d4d4" start="1,0" stop="-1,-1"/>
     </blockTableStyle>
-    <blockTableStyle id="Table2">
-      <blockAlignment value="LEFT"/>
-      <blockValign value="TOP"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="2,0" stop="2,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="3,0" stop="3,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="4,0" stop="4,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="5,0" stop="5,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="6,0" stop="6,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#000000" start="7,0" stop="7,-1"/>
-    </blockTableStyle>
     <blockTableStyle id="Table3">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <lineStyle kind="LINEABOVE" colorName="#000000" start="0,0" stop="-1,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,-1"/>
     </blockTableStyle>
     <initialize>
       <paraStyle name="all" alignment="justify"/>
@@ -68,6 +39,7 @@
     <paraStyle name="P102" fontName="Helvetica-Bold" fontSize="10.0" leading="13" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P11" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P12" fontName="Helvetica" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="P121" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="1.0"/>
     <paraStyle name="P13" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P14" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="Standard" fontName="Times-Roman"/>
   </stylesheet>
   <images/>
   <story>
-    <para style="P1">
-      <font color="white"> </font>
-    </para>
     <section>
-      <blockTable colWidths="80,35.0,140.0,50.0,50.0,42.0,56.0,58.0" repeatRows="1" style="Table1">
-        <tr>
-               <td><para style="P2">Location</para></td>
+      <para style="P121"><font color="white">[[ repeatIn(objects,'o') ]] </font></para>
+      <section>
+        <para style="P121"><font color="white">[[ repeatIn(process(o.id),'ob') ]]</font></para>
+        <blockTable colWidths="80,35.0,140.0,50.0,50.0,42.0,56.0,58.0" style="Table4">
+         <tr>
+               <td><para style="P2">[[ ob['product'] or removeParentNode('blockTable') ]] Location</para></td>
             <td><para style="P2">Code</para></td>
             <td><para style="P2">Product</para></td>
             <td><para style="P2">Variants</para></td>
             <td><para style="P4">UoM</para></td>
             <td><para style="P3">UnitPrice</para></td>
             <td><para style="P3">Value</para></td>
-        </tr>
-      </blockTable>
-      <para>[[repeatIn(objects,'o')]]</para>
-      <section>
-        <para style="P12">[[ repeatIn(process(o.id),'ob') ]]</para>
-        <blockTable colWidths="80,35.0,140.0,50.0,50.0,42.0,56.0,58.0" repeatRows="1" style="Table4">
+         </tr>
          <tr>
                <td><para style="P102">[[ ob['location_name'] ]]</para></td>
                <td><para style="Standard"><font color="white"></font></para></td>
-               <td><para style="Standard">[[ ob['product'] or 'No products in this Location' ]]</para></td>
+               <td><para style="Standard"><font color="white"></font></para></td>
                <td><para style="Standard"><font color="white"></font></para></td>
                <td><para style="Standard"><font color="white"></font></para></td>
                <td><para style="Standard"><font color="white"></font></para></td>
             <td><para style="P12">[[ p['price'] ]]</para></td>
             <td><para style="P12">[[ p['price_value'] ]]</para></td>
           </tr>
-        </blockTable>
-        <para style="P10">
-          <font color="white"> </font>
-        </para>
-        <blockTable colWidths="80,35.0,140.0,50.0,50.0,42.0,56.0,58.0" style="Table2">
-           <tr>
-               <td><para style="P5"></para></td>
+          <tr>
+               <td><para style="P5"><font color="white"> </font></para></td>
             <td><para style="P5">Total:</para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
             <td><para style="P5a"><u>[[ price_total() ]]</u></para></td>
           </tr>
         </blockTable>
-        <para style="P1"><font color="white"> </font></para>
-        <para style="P1"><font color="white"> </font></para>
       </section>
     </section>
     <blockTable colWidths="80,35.0,140.0,50.0,50.0,42.0,56.0,58.0" style="Table3">
           <tr>
             <td><para style="P5">Grand Total:</para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5"></para></td>
-            <td><para style="P5a"><u>[[ grand_total_price() ]]</u></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5"><font color="white"> </font></para></td>
+            <td><para style="P5a">[[ grand_total_price() ]]</para></td>
           </tr>
         </blockTable>
   </story>