← Back to team overview

openerp-dev-web team mailing list archive

[Merge] lp:~openerp-dev/openobject-addons/report_dev into lp:openobject-addons

 

apa (Open ERP) has proposed merging lp:~openerp-dev/openobject-addons/report_dev into lp:openobject-addons.

Requested reviews:
  OpenERP Core Team (openerp)


-Dash Board Improvements (http://pad.openerp.com/openerp-release-dashboards)
-Improved accounting rml reports with column widths. (set columns size for big amount.)

Thanks
apa(OpenERP)
-- 
https://code.launchpad.net/~openerp-dev/openobject-addons/report_dev/+merge/39820
Your team OpenERP R&D Team is subscribed to branch lp:~openerp-dev/openobject-addons/report_dev.
=== modified file 'account/__openerp__.py'
--- account/__openerp__.py	2010-10-18 21:58:27 +0000
+++ account/__openerp__.py	2010-11-02 05:21:12 +0000
@@ -119,7 +119,7 @@
         'project/project_demo.xml',
         'project/analytic_account_demo.xml',
         'demo/account_minimal.xml',
-        #'account_unit_test.xml',
+#        'account_unit_test.xml',
     ],
     'test': [
         'test/account_customer_invoice.yml',

=== modified file 'account/board_account_view.xml'
--- account/board_account_view.xml	2010-10-18 20:53:31 +0000
+++ account/board_account_view.xml	2010-11-02 05:21:12 +0000
@@ -29,7 +29,7 @@
             <field name="view_id" ref="account.view_account_entries_report_tree"/>
       </record>
       <record id="action_treasory_graph" model="ir.actions.act_window">
-          <field name="name">Treasory</field>
+          <field name="name">Treasury</field>
           <field name="res_model">account.account</field>
           <field name="view_type">form</field>
           <field name="view_mode">graph,tree</field>
@@ -44,11 +44,11 @@
                 <form string="Account Board">
                     <hpaned>
                         <child1>
-                            <action colspan="4" height="160" width="400" name="%(account.action_invoice_tree1)d" string="Customer Invoices to Validate" domain="[('state','=','draft'),('type','=','out_invoice')]"/>
+                            <action colspan="4" height="160" width="400" name="%(account.action_invoice_tree1)d" string="Customer Invoices to Approve" domain="[('state','=','draft'),('type','=','out_invoice')]"/>
                             <action colspan="4" height="160" width="400" name="%(action_company_analysis_tree)d" string="Company Analysis" />
                         </child1>
                         <child2>
-                            <action colspan="4" height="220" name="%(action_treasory_graph)d" string="Treasory"/>
+                            <action colspan="4" height="220" name="%(action_treasory_graph)d" string="Treasury"/>
                             <action colspan="4" height="220" name="%(action_aged_receivable)d" string="Aged receivables"/>
                             <!--  <action colspan="4" height="220" name="%(action_aged_income)d" string="Aged income"/> -->
                         </child2>

=== modified file 'account/report/account_aged_partner_balance.py'
--- account/report/account_aged_partner_balance.py	2010-10-18 07:12:56 +0000
+++ account/report/account_aged_partner_balance.py	2010-11-02 05:21:12 +0000
@@ -20,12 +20,10 @@
 ##############################################################################
 
 import time
-
-import rml_parse
 from report import report_sxw
 from common_report_header import common_report_header
 
-class aged_trial_report(rml_parse.rml_parse, common_report_header):
+class aged_trial_report(report_sxw.rml_parse, common_report_header):
 
     def __init__(self, cr, uid, name, context):
         super(aged_trial_report, self).__init__(cr, uid, name, context=context)

=== modified file 'account/report/account_balance.py'
--- account/report/account_balance.py	2010-10-11 05:51:53 +0000
+++ account/report/account_balance.py	2010-11-02 05:21:12 +0000
@@ -20,7 +20,6 @@
 ##############################################################################
 
 import time
-
 from report import report_sxw
 from common_report_header import common_report_header
 

=== modified file 'account/report/account_balance.rml'
--- account/report/account_balance.rml	2010-10-04 11:31:09 +0000
+++ account/report/account_balance.rml	2010-11-02 05:21:12 +0000
@@ -18,7 +18,7 @@
       <blockValign value="TOP"/>
       <blockAlignment value="RIGHT"/>
       <lineStyle kind="LINEBELOW" colorName="#000000" start="0,0" stop="-1,0"/>
-  <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,1" stop="-1,-1"/>
     </blockTableStyle>
 
     <blockTableStyle id="Table8">
@@ -148,11 +148,11 @@
     <paraStyle name="P7" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="6.0" spaceAfter="6.0"/>
     <paraStyle name="P8" fontName="Helvetica"/>
     <paraStyle name="P9" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0"/>
-    <paraStyle name="P10" fontName="Helvetica-Bold" fontSize="8.0" leading="14" spaceBefore="0.0" spaceAfter="6.0" alignment="RIGHT"/>
+    <paraStyle name="P10" fontName="Helvetica-Bold" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="0.0" alignment="RIGHT"/>
     <paraStyle name="P11" fontName="Helvetica" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="P12" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
     <paraStyle name="P13" fontName="Helvetica-Bold" fontSize="2.0" leading="3" alignment="CENTER" spaceBefore="6.0" spaceAfter="6.0" textColor="#ffffff"/>
-      <paraStyle name="P14" rightIndent="17.0" leftIndent="-0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="P14" rightIndent="17.0" leftIndent="-0.0" fontName="Helvetica-Bold" fontSize="8.0" leading="10" spaceBefore="0.0" spaceAfter="6.0"/>
     <paraStyle name="P15" fontName="Helvetica-Bold" fontSize="12.0" leading="15" alignment="CENTER" spaceBefore="12.0" spaceAfter="6.0"/>
     <paraStyle name="P16" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="P17" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="6.0" spaceAfter="6.0"/>
@@ -189,7 +189,7 @@
     <paraStyle name="terp_default_2" fontName="Helvetica" fontSize="2.0" leading="3" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="terp_default_Right_9_Bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="Heading 3" fontName="Helvetica-Bold" fontSize="14.0" leading="17" spaceBefore="12.0" spaceAfter="6.0"/>
-     <paraStyle name="P12a" fontName="Helvetica-Bold" fontSize="8.0" leading="14" alignment="LEFT" spaceBefore="0.0" spaceAfter="6.0"/>
+    <paraStyle name="P12a" fontName="Helvetica-Bold" fontSize="8.0" leading="10" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <images/>
   </stylesheet>
   <story>
@@ -283,7 +283,7 @@
         <para style="P11">
       <font color="white"> </font>
     </para>
-  <blockTable colWidths="67,295.0,60.0,60.0,60.0" style="Table2" repeatRows="1">
+  <blockTable colWidths="80,215.0,80.0,80.0,80.0" style="Table2" repeatRows="1">
       <tr noRowsplits="1">
         <td><para style="P12a">Code</para></td>
         <td><para style="P12a">Account</para></td>

=== modified file 'account/report/account_balance_landscape.py'
--- account/report/account_balance_landscape.py	2010-10-11 05:51:53 +0000
+++ account/report/account_balance_landscape.py	2010-11-02 05:21:12 +0000
@@ -22,7 +22,6 @@
 import time
 import locale
 from report import report_sxw
-import rml_parse
 
 parents = {
     'tr':1,
@@ -31,7 +30,7 @@
     'section': 0
 }
 
-class account_balance_landscape(rml_parse.rml_parse):
+class account_balance_landscape(report_sxw.rml_parse):
     def __init__(self, cr, uid, name, context):
         super(account_balance_landscape, self).__init__(cr, uid, name, context=context)
         self.flag=1

=== modified file 'account/report/account_balance_sheet.py'
--- account/report/account_balance_sheet.py	2010-10-25 10:26:25 +0000
+++ account/report/account_balance_sheet.py	2010-11-02 05:21:12 +0000
@@ -22,13 +22,12 @@
 import time
 
 import pooler
-import rml_parse
 from report import report_sxw
 from account.report import account_profit_loss
 from common_report_header import common_report_header
 from tools.translate import _
 
-class report_balancesheet_horizontal(rml_parse.rml_parse, common_report_header):
+class report_balancesheet_horizontal(report_sxw.rml_parse, common_report_header):
     def __init__(self, cr, uid, name, context=None):
         super(report_balancesheet_horizontal, self).__init__(cr, uid, name, context=context)
         self.obj_pl = account_profit_loss.report_pl_account_horizontal(cr, uid, name, context=context)

=== modified file 'account/report/account_balance_sheet.rml'
--- account/report/account_balance_sheet.rml	2010-10-04 11:31:09 +0000
+++ account/report/account_balance_sheet.rml	2010-11-02 05:21:12 +0000
@@ -35,19 +35,7 @@
     <blockTableStyle id="Table_Net_Profit_Loss">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
-      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="0,0" stop="0,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="0,0" stop="0,0"/>
-      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,-1" stop="0,-1"/>
-      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="1,0" stop="1,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="1,0" stop="1,0"/>
-      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="1,-1" stop="1,-1"/>
-      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="2,0" stop="2,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="2,0" stop="2,0"/>
-      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="2,-1" stop="2,-1"/>
-      <lineStyle kind="LINEBEFORE" colorName="#cccccc" start="3,0" stop="3,-1"/>
-      <lineStyle kind="LINEAFTER" colorName="#cccccc" start="3,0" stop="3,-1"/>
-      <lineStyle kind="LINEABOVE" colorName="#cccccc" start="3,0" stop="3,0"/>
-      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="3,-1" stop="3,-1"/>
+      <lineStyle kind="LINEBELOW" colorName="#cccccc" start="0,0" stop="-1,-1"/>
     </blockTableStyle>
     <blockTableStyle id="Table1">
       <blockAlignment value="LEFT"/>
@@ -230,7 +218,7 @@
         </td>
       </tr>
     </blockTable>
-    <blockTable colWidths="426.0,113.0" style="Table3">
+    <blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">
       <tr>
         <td>
           <para style="terp_default_Bold_9">Balance:</para>

=== modified file 'account/report/account_central_journal.py'
--- account/report/account_central_journal.py	2010-10-15 10:57:57 +0000
+++ account/report/account_central_journal.py	2010-11-02 05:21:12 +0000
@@ -20,7 +20,6 @@
 ##############################################################################
 
 import time
-
 from report import report_sxw
 from common_report_header import common_report_header
 #

=== modified file 'account/report/account_central_journal.rml'
--- account/report/account_central_journal.rml	2010-10-12 05:47:10 +0000
+++ account/report/account_central_journal.rml	2010-11-02 05:21:12 +0000
@@ -274,7 +274,7 @@
     <para style="P9">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="50.0,300.0,70.0,70.0,70.0" style="Table_Account_detail_Title">[[  display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="50.0,260.0,80.0,80.0,80.0" style="Table_Account_detail_Title">[[  display_currency(data) == False or removeParentNode('blockTable') ]]
       <tr>
         <td><para style="terp_tblheader_Details">A/C No.</para></td>
         <td><para style="terp_tblheader_Details">Account Name</para></td>
@@ -283,7 +283,7 @@
   		<td><para style="terp_tblheader_Details_Right">Balance</para></td>
       </tr>
     </blockTable>
-   <blockTable colWidths="50.0,220.0,70.0,70.0,70.0,80.0" style="Table_Account_detail_Title_Currency">[[ display_currency(data)  or removeParentNode('blockTable') ]]
+   <blockTable colWidths="50.0,180.0,80.0,80.0,80.0,80.0" style="Table_Account_detail_Title_Currency">[[ display_currency(data)  or removeParentNode('blockTable') ]]
       <tr>
         <td><para style="terp_tblheader_Details">A/C No.</para></td>
         <td><para style="terp_tblheader_Details">Account Name</para></td>
@@ -293,7 +293,7 @@
 		<td><para style="terp_tblheader_Details_Right">Currency</para></td>
       </tr>
     </blockTable>
-    <blockTable colWidths="50.0,300.0,70.0,70.0,70.0" style="Table_Final_Total">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="50.0,260.0,80.0,80.0,80.0" style="Table_Final_Total">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
       <tr>
         <td><para style="terp_default_Bold_9">Total:</para></td>
         <td><para style="terp_default_Bold_9"><font color="white"> </font></para></td>
@@ -302,7 +302,7 @@
 		<td><para style="terp_default_Bold_9_Right">[[ formatLang( sum_credit(o.period_id.id, o.journal_id.id)-sum_debit(o.period_id.id, o.journal_id.id) ) ]] [[ company.currency_id.symbol ]]</para></td>
       </tr>
     </blockTable>
-    <blockTable colWidths="50.0,220.0,70.0,70.0,70.0,80.0" style="Table_Final_Total_currency">[[ display_currency(data) or removeParentNode('blockTable') ]]
+    <blockTable colWidths="50.0,180.0,80.0,80.0,80.0,80.0" style="Table_Final_Total_currency">[[ display_currency(data) or removeParentNode('blockTable') ]]
       <tr>
         <td><para style="terp_default_Bold_9">Total:</para></td>
         <td><para style="terp_default_Bold_9"><font color="white"> </font></para></td>
@@ -314,7 +314,7 @@
     </blockTable>
     <section>
       <para style="terp_default_8">[[ repeatIn(lines(o.period_id.id,o.journal_id.id),'line') ]]</para>
-      <blockTable colWidths="50.0,300.0,70.0,70.0,70.0" style="Table_Journal_Line_Content">[[ display_currency(data)  == False or removeParentNode('blockTable') ]]
+      <blockTable colWidths="50.0,260.0,80.0,80.0,80.0" style="Table_Journal_Line_Content">[[ display_currency(data)  == False or removeParentNode('blockTable') ]]
         <tr>
           <td><para style="terp_default_9">[[ line['code'] ]]</para></td>
           <td><para style="terp_default_9">[[ line['name'] ]]</para></td>
@@ -323,7 +323,7 @@
  		  <td><para style="terp_default_Right_9">[[ formatLang(line['credit']-line['debit']) ]] [[ company.currency_id.symbol ]]</para></td>
         </tr>
       </blockTable>
-      <blockTable colWidths="50.0,220.0,70.0,70.0,70.0,80.0" style="Table_Journal_Line_Content_currency">[[ display_currency(data)  or removeParentNode('blockTable') ]]
+      <blockTable colWidths="50.0,180.0,80.0,80.0,80.0,80.0" style="Table_Journal_Line_Content_currency">[[ display_currency(data)  or removeParentNode('blockTable') ]]
         <tr>
           <td><para style="terp_default_9">[[ line['code'] ]]</para></td>
           <td><para style="terp_default_9">[[ line['name'] ]]</para></td>

=== modified file 'account/report/account_general_journal.py'
--- account/report/account_general_journal.py	2010-10-15 10:57:57 +0000
+++ account/report/account_general_journal.py	2010-11-02 05:21:12 +0000
@@ -20,7 +20,6 @@
 ##############################################################################
 
 import time
-
 from common_report_header import common_report_header
 from report import report_sxw
 

=== modified file 'account/report/account_general_ledger.py'
--- account/report/account_general_ledger.py	2010-10-11 12:56:46 +0000
+++ account/report/account_general_ledger.py	2010-11-02 05:21:12 +0000
@@ -28,12 +28,10 @@
 ##############################################################################
 
 import time
-
 from report import report_sxw
 from common_report_header import common_report_header
-import rml_parse
 
-class general_ledger(rml_parse.rml_parse, common_report_header):
+class general_ledger(report_sxw.rml_parse, common_report_header):
     _name = 'report.account.general.ledger'
 
     def set_context(self, objects, data, ids, report_type=None):
@@ -88,9 +86,20 @@
             'get_start_date':self._get_start_date,
             'get_end_date':self._get_end_date,
             'get_target_move': self._get_target_move,
+            'strip_name': self._strip_name,
         })
         self.context = context
 
+    def _ellipsis(self, orig_str, maxlen=100, ellipsis='...'):
+        maxlen = maxlen - len(ellipsis)
+        if maxlen <= 0:
+            maxlen = 1
+        new_str = orig_str[:maxlen]
+        return new_str
+
+    def _strip_name(self, name, maxlen=50):
+        return self._ellipsis(name, maxlen, ' ...')
+
     def _sum_currency_amount_account(self, account):
         self.cr.execute('SELECT sum(l.amount_currency) AS tot_currency \
                 FROM account_move_line l \

=== modified file 'account/report/account_general_ledger.rml'
--- account/report/account_general_ledger.rml	2010-10-11 09:40:34 +0000
+++ account/report/account_general_ledger.rml	2010-11-02 05:21:12 +0000
@@ -334,7 +334,7 @@
        <td><para style="P4">[[ formatLang(line['debit']) ]]</para></td>
        <td><para style="P4">[[ formatLang(line['credit']) ]]</para></td>
        <td><para style="P4">[[ formatLang(line['progress']) ]] [[ company.currency_id.symbol ]]</para></td>
-       <td><para style="P4"><font>[[ (line['currency_id']==None or line['amount_currency']==None) and removeParentNode('font') ]] [[  formatLang(line['amount_currency'])]] [[  line['currency_code'] or '']]</font></para></td>
+	   <td><para style="P4"><font>[[ (line.has_key('currency_id') and line['currency_id']==None or line['amount_currency']==None) and removeParentNode('font') ]] [[  formatLang(line['amount_currency'])]] [[  line['currency_code'] or '']]</font></para></td>
      </tr>
   </blockTable>
   </section>

=== modified file 'account/report/account_general_ledger_landscape.rml'
--- account/report/account_general_ledger_landscape.rml	2010-10-14 13:10:46 +0000
+++ account/report/account_general_ledger_landscape.rml	2010-11-02 05:21:12 +0000
@@ -295,13 +295,13 @@
 			<td><para style="P4_content">[[ formatLang(line['debit'], digits=get_digits(dp='Account')) ]]</para></td>
 			<td><para style="P4_content">[[ formatLang(line['credit'], digits=get_digits(dp='Account')) ]]</para></td>
 			<td><para style="P4_content">[[ formatLang(line['progress'], digits=get_digits(dp='Account')) ]] [[ company.currency_id.symbol ]]</para></td>
-			<td><para style="P4_content"><font>[[ (line['currency_id']==None or line['amount_currency']==None) and removeParentNode('font') ]] [[  formatLang(line['amount_currency'])]] [[  line['currency_code'] or '']]</font></para></td>
+			<td><para style="P4_content"><font>[[ (line.has_key('currency_id') and line['currency_id']==None or line['amount_currency']==None) and removeParentNode('font') ]] [[  formatLang(line['amount_currency'])]] [[  line['currency_code'] or '']]</font></para></td>
 		</tr>
 	  </blockTable>
 
 	</section>
 
-    <blockTable colWidths="66.0,35.0,166.0,90.0,60.0,280.0,148.0,69.0,72.0,64.0" style="tbl_header" repeatRows="1">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="66.0,35.0,166.0,90.0,60.0,245.0,148.0,80.0,80.0,80.0" style="tbl_header" repeatRows="1">[[ data['form']['amount_currency'] == False or removeParentNode('blockTable') ]]
        <tr>
           <td><para style="P2">Date</para></td>
           <td><para style="date">JNRL</para></td>
@@ -320,10 +320,10 @@
 
 		<para>[[ repeatIn(get_children_accounts(a), 'o') ]]</para>
 
-		<blockTable colWidths="66.0,35.0,166.0,90.0,60.0,280.0,148.0,69.0,72.0,64.0" style="tbl_content">[[data['form']['amount_currency'] == False or removeParentNode('blockTable')]]
+		<blockTable colWidths="66.0,35.0,166.0,90.0,60.0,245.0,148.0,80.0,80.0,80.0" style="tbl_content">[[data['form']['amount_currency'] == False or removeParentNode('blockTable')]]
         	<tr>
          		<td>
-	      			<blockTable colWidths="405.0,435.0,69.0,72.0,63.0" style="Table5">
+	      			<blockTable colWidths="405.0,399.0,80.0,80.0,80.0" style="Table5">
 						<tr>
 			 	 			<td><para style="Standard"><font color="white">[[ '..'*(o.level-1) ]]</font>[[ o.code ]] [[ o.name ]]</para></td>
 			  				<td><para style="Standard"></para></td>

=== modified file 'account/report/account_journal.py'
--- account/report/account_journal.py	2010-10-15 13:28:41 +0000
+++ account/report/account_journal.py	2010-11-02 05:21:12 +0000
@@ -20,7 +20,6 @@
 ##############################################################################
 
 import time
-
 from common_report_header import common_report_header
 from report import report_sxw
 

=== modified file 'account/report/account_partner_balance.rml'
--- account/report/account_partner_balance.rml	2010-10-04 11:31:09 +0000
+++ account/report/account_partner_balance.rml	2010-11-02 05:21:12 +0000
@@ -227,7 +227,7 @@
       <font color="white"> </font>
     </para>
     <para style="P12a"></para>
-	 <blockTable colWidths="80.0,170.0,70.0,70.0,70.0,80.0" repeatRows="1" style="Table2">
+	 <blockTable colWidths="80.0,140.0,80.0,80.0,80.0,80.0" repeatRows="1" style="Table2">
       <tr>
         <td><para style="P12a">Code</para></td>
         <td><para style="P12a">(Account/Partner) Name</para></td>

=== modified file 'account/report/account_partner_ledger.py'
--- account/report/account_partner_ledger.py	2010-10-18 06:42:55 +0000
+++ account/report/account_partner_ledger.py	2010-11-02 05:21:12 +0000
@@ -21,12 +21,10 @@
 
 import time
 import re
-
-import rml_parse
 from report import report_sxw
 from common_report_header import common_report_header
 
-class third_party_ledger(rml_parse.rml_parse, common_report_header):
+class third_party_ledger(report_sxw.rml_parse, common_report_header):
 
     def __init__(self, cr, uid, name, context=None):
         super(third_party_ledger, self).__init__(cr, uid, name, context=context)

=== modified file 'account/report/account_partner_ledger.rml'
--- account/report/account_partner_ledger.rml	2010-10-14 08:26:05 +0000
+++ account/report/account_partner_ledger.rml	2010-11-02 05:21:12 +0000
@@ -277,7 +277,7 @@
       <para style="P4">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="55.0,28.0,60.0,81.0,125.0,57.0,58.0,65.0" style="Table_header_1">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="55.0,28.0,60.0,81.0,125.0,57.0,58.0,80.0" style="Table_header_1">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
       <tr>
         <td>
           <para style="terp_tblheader_Details">Date</para>
@@ -311,20 +311,20 @@
     <para style="terp_default_2">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="349.0,57.0,58.0,65.0" style="Table2">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="344.0,60.0,60.0,80.0" style="Table2">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
 
       <tr>
         <td>
           <para style="P2">[[ p.ref ]] - [[ p.name ]]</para>
         </td>
         <td>
-          <para style="P5">[[ formatLang((sum_debit_partner(p))) ]]</para>
-        </td>
-        <td>
-          <para style="P5">[[ formatLang((sum_credit_partner(p))) ]] </para>
-        </td>
-        <td>
-          <para style="P5">[[ formatLang((sum_debit_partner(p) - sum_credit_partner(p))) ]] [[ company.currency_id.symbol ]]</para>
+          <para style="P5"><u>[[ formatLang((sum_debit_partner(p))) ]]</u></para>
+        </td>
+        <td>
+          <para style="P5"><u>[[ formatLang((sum_credit_partner(p))) ]]</u></para>
+        </td>
+        <td>
+          <para style="P5"><u>[[ formatLang((sum_debit_partner(p) - sum_credit_partner(p))) ]] [[ company.currency_id.symbol ]]</u></para>
         </td>
       </tr>
        <tr>
@@ -347,7 +347,7 @@
     </para>
     <section>
       <para style="P1">[[ repeatIn(lines(p), 'line') ]]</para>
-      <blockTable colWidths="55.0,28.0,60.0,81.0,125.0,57.0,58.0,65.0" style="Table3">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+      <blockTable colWidths="55.0,28.0,60.0,80.0,121.0,60.0,60.0,80.0" style="Table3">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
         <tr>
           <td>
             <para style="P3">[[ formatLang(line['date'],date=True) ]]</para>

=== modified file 'account/report/account_partner_ledger_other.rml'
--- account/report/account_partner_ledger_other.rml	2010-10-14 08:26:05 +0000
+++ account/report/account_partner_ledger_other.rml	2010-11-02 05:21:12 +0000
@@ -432,7 +432,7 @@
                    <para style="P5">
             <font color="white"> </font>
           </para>
-    <blockTable colWidths="50.0,28.0,65.0,61.0,145.0,60.0,60.0,60.0" style="Table_header_1">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="50.0,28.0,65.0,61.0,145.0,60.0,60.0,80.0" style="Table_header_1">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
       <tr>
         <td>
           <para style="terp_tblheader_Details">Date</para>
@@ -462,7 +462,7 @@
     </blockTable>
   <section>
   <para style="P3">[[ repeatIn(objects, 'p') ]] [[ setLang(p.lang) ]]</para>
-    <blockTable colWidths="349.0,60.0,60.0,60.0" style="Table2">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+    <blockTable colWidths="349.0,60.0,60.0,80.0" style="Table2">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
 
       <tr>
         <td>
@@ -495,7 +495,7 @@
     </blockTable>
     <section>
       <para style="P1">[[ repeatIn(lines(p), 'line') ]]</para>
-      <blockTable colWidths="50.0,28.0,65.0,61.0,145.0,60.0,60.0,60.0" style="Table3">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
+      <blockTable colWidths="50.0,28.0,65.0,61.0,145.0,60.0,60.0,80.0" style="Table3">[[ display_currency(data) == False or removeParentNode('blockTable') ]]
         <tr>
           <td>
             <para style="P3">[[ formatLang(line['date'],date=True) ]]</para>

=== modified file 'account/report/account_print_invoice.rml'
--- account/report/account_print_invoice.rml	2010-10-14 10:14:59 +0000
+++ account/report/account_print_invoice.rml	2010-11-02 05:21:12 +0000
@@ -194,7 +194,7 @@
     <para style="terp_default_8">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="219.0,87.0,62.0,56.0,46.0,62.0" style="Table7">
+    <blockTable colWidths="202.0,87.0,71.0,57.0,42.0,71.0" style="Table7">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Description</para>
@@ -218,7 +218,7 @@
     </blockTable>
     <section>
       <para style="terp_default_2">[[ repeatIn(o.invoice_line,'l') ]]</para>
-      <blockTable colWidths="218.0,88.0,62.0,55.0,46.0,62.0" style="Table8">
+      <blockTable colWidths="202.0,88.0,71.0,57.0,42.0,71.0" style="Table8">
         <tr>
           <td>
             <para style="terp_default_9">[[ l.name ]]</para>
@@ -271,7 +271,7 @@
         </tr>
       </blockTable>
     </section>
-    <blockTable colWidths="407.0,54.0,69.0" style="Table10">
+    <blockTable colWidths="391.0,54.0,85.0" style="Table10">
       <tr>
         <td>
           <para style="terp_default_8">
@@ -315,7 +315,7 @@
     <para style="Text body">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="206.0,51.0,49.0,225.0" style="Table9">
+    <blockTable colWidths="205.0,71.0,71.0,183.0" style="Table9">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Tax [[ o.tax_line==[] and removeParentNode('blockTable') ]]</para>
@@ -335,7 +335,7 @@
     </blockTable>
     <section>
       <para style="terp_default_2">[[ repeatIn(o.tax_line,'t') ]]</para>
-      <blockTable colWidths="205.0,52.0,49.0,224.0" style="Table2">
+      <blockTable colWidths="205.0,71.0,71.0,184.0" style="Table2">
         <tr>
           <td>
             <para style="terp_default_8">[[ t.name ]]</para>

=== modified file 'account/report/account_print_invoice.sxw'
Binary files account/report/account_print_invoice.sxw	2010-10-14 10:14:59 +0000 and account/report/account_print_invoice.sxw	2010-11-02 05:21:12 +0000 differ
=== modified file 'account/report/account_profit_loss.py'
--- account/report/account_profit_loss.py	2010-10-26 05:43:51 +0000
+++ account/report/account_profit_loss.py	2010-11-02 05:21:12 +0000
@@ -19,14 +19,12 @@
 ##############################################################################
 
 import time
-
 import pooler
-import rml_parse
 from report import report_sxw
 from common_report_header import common_report_header
 from tools.translate import _
 
-class report_pl_account_horizontal(rml_parse.rml_parse, common_report_header):
+class report_pl_account_horizontal(report_sxw.rml_parse, common_report_header):
 
     def __init__(self, cr, uid, name, context=None):
         super(report_pl_account_horizontal, self).__init__(cr, uid, name, context=context)

=== modified file 'account/report/account_profit_loss.rml'
--- account/report/account_profit_loss.rml	2010-10-21 11:31:12 +0000
+++ account/report/account_profit_loss.rml	2010-11-02 05:21:12 +0000
@@ -238,7 +238,7 @@
     <blockTable colWidths="426.0,113.0" style="Table_Net_Profit_Loss">
       <tr>
         <td>
-          <para style="terp_default_Bold_9">Total:([[ get_currency(data) ]])</para>
+          <para style="terp_default_Bold_9">Total:</para>
         </td>
         <td>
           <para style="terp_default_Right_9_Bold"><u>[[ formatLang(abs(sum_dr())) ]] [[ company.currency_id.symbol ]]</u></para>

=== modified file 'account/report/account_tax_code.py'
--- account/report/account_tax_code.py	2010-10-26 05:43:51 +0000
+++ account/report/account_tax_code.py	2010-11-02 05:21:12 +0000
@@ -21,8 +21,6 @@
 ##############################################################################
 
 import time
-
-import rml_parse
 from report import report_sxw
 
 def _get_country(record):
@@ -44,7 +42,7 @@
             'country': _get_country(record)
             }
 
-class account_tax_code_report(rml_parse.rml_parse):
+class account_tax_code_report(report_sxw.rml_parse):
     def __init__(self, cr, uid, name, context):
         super(account_tax_code_report, self).__init__(cr, uid, name, context=context)
         self.localcontext.update({

=== modified file 'account/report/account_tax_report.py'
--- account/report/account_tax_report.py	2010-10-22 13:31:43 +0000
+++ account/report/account_tax_report.py	2010-11-02 05:21:12 +0000
@@ -21,11 +21,10 @@
 
 import time
 
-import rml_parse
 from common_report_header import common_report_header
 from report import report_sxw
 
-class tax_report(rml_parse.rml_parse, common_report_header):
+class tax_report(report_sxw.rml_parse, common_report_header):
     _name = 'report.account.vat.declaration'
 
     def set_context(self, objects, data, ids, report_type=None):
@@ -61,7 +60,6 @@
             'get_basedon': self._get_basedon,
         })
 
-
     def _get_basedon(self, form):
         return form['form']['based_on']
 

=== modified file 'account/report/account_tax_report.rml'
--- account/report/account_tax_report.rml	2010-10-22 13:31:43 +0000
+++ account/report/account_tax_report.rml	2010-11-02 05:21:12 +0000
@@ -1,6 +1,6 @@
 <?xml version="1.0"?>
 <document filename="test.pdf">
-  <template pageSize="(595.0,842.0)" title="Taxes" author="OpenERP S.A. (sales@xxxxxxxxxxx)" allowSplitting="20">
+   <template pageSize="(595.0,842.0)" title="Taxes" author="OpenERP S.A. (sales@xxxxxxxxxxx)" allowSplitting="20">
     <pageTemplate id="first">
       <frame id="first" x1="42.0" y1="62.0" width="511" height="728"/>
 			<pageGraphics>
@@ -32,7 +32,7 @@
 
     </pageTemplate>
   </template>
-  <stylesheet>
+    <stylesheet>
     <blockTableStyle id="Standard_Outline">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>

=== added file 'account/report/account_tax_report.sxw'
Binary files account/report/account_tax_report.sxw	1970-01-01 00:00:00 +0000 and account/report/account_tax_report.sxw	2010-11-02 05:21:12 +0000 differ
=== removed file 'account/report/account_tax_report.sxw'
Binary files account/report/account_tax_report.sxw	2010-10-22 13:31:43 +0000 and account/report/account_tax_report.sxw	1970-01-01 00:00:00 +0000 differ
=== modified file 'account/report/account_voucher_print.py'
--- account/report/account_voucher_print.py	2010-10-05 10:26:02 +0000
+++ account/report/account_voucher_print.py	2010-11-02 05:21:12 +0000
@@ -21,7 +21,6 @@
 ##############################################################################
 
 import time
-
 from report import report_sxw
 from tools import amount_to_text_en
 

=== removed file 'account/report/rml_parse.py'
--- account/report/rml_parse.py	2010-10-26 05:43:51 +0000
+++ account/report/rml_parse.py	1970-01-01 00:00:00 +0000
@@ -1,146 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-#    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU Affero General Public License as
-#    published by the Free Software Foundation, either version 3 of the
-#    License, or (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU Affero General Public License for more details.
-#
-#    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-import re
-import sys
-
-from report import report_sxw
-
-class rml_parse(report_sxw.rml_parse):
-    def __init__(self, cr, uid, name, context):
-        super(rml_parse, self).__init__(cr, uid, name, context=context)
-        self.localcontext.update({
-            'comma_me': self.comma_me,
-            'format_date': self._get_and_change_date_format_for_swiss,
-            'strip_name': self._strip_name,
-            'explode_name': self._explode_name,
-        })
-
-    def comma_me(self,amount):
-        #print "#" + str(amount) + "#"
-        if not amount:
-            amount = 0.0
-        if  type(amount) is float:
-            amount = str('%.2f'%amount)
-        else:
-            amount = str(amount)
-        if (amount == '0'):
-             return ' '
-        orig = amount
-        new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount)
-        if orig == new:
-            return new
-        else:
-            return self.comma_me(new)
-    def _ellipsis(self, string, maxlen=100, ellipsis = '...'):
-        ellipsis = ellipsis or ''
-        try:
-            return string[:maxlen - len(ellipsis) ] + (ellipsis, '')[len(string) < maxlen]
-        except:
-            return False
-    def _strip_name(self, name, maxlen=50):
-        return self._ellipsis(name, maxlen, '...')
-
-    def _get_and_change_date_format_for_swiss(self,date_to_format):
-        date_formatted=''
-        if date_to_format:
-            date_formatted = strptime(date_to_format,'%Y-%m-%d').strftime('%d.%m.%Y')
-        return date_formatted
-
-    def _explode_name(self,chaine,length):
-        # We will test if the size is less then account
-        full_string = ''
-        if (len(str(chaine)) <= length):
-            return chaine
-        #
-        else:
-            chaine = unicode(chaine,'utf8').encode('iso-8859-1')
-            rup = 0
-            for carac in chaine:
-                rup = rup + 1
-                if rup == length:
-                    full_string = full_string + '\n'
-                    full_string = full_string + carac
-                    rup = 0
-                else:
-                    full_string = full_string + carac
-
-        return full_string
-
-    def makeAscii(self,str):
-        try:
-            Stringer = str.encode("utf-8")
-        except UnicodeDecodeError:
-            try:
-                Stringer = str.encode("utf-16")
-            except UnicodeDecodeError:
-                print "UTF_16 Error"
-                Stringer = str
-            else:
-                return Stringer
-        else:
-            return Stringer
-        return Stringer
-    def explode_this(self,chaine,length):
-        chaine = rstrip(chaine)
-        ast = list(chaine)
-        i = length
-        while i <= len(ast):
-            ast.insert(i,'\n')
-            i = i + length
-        chaine = str("".join(ast))
-        return chaine
-    def repair_string(self, chaine):
-        ast = list(chaine)
-        UnicodeAst = []
-        i = 0
-        while i < len(ast):
-            elem = ast[i]
-            try:
-                elem.encode("utf-8")
-            except UnicodeDecodeError:
-                to_reencode = elem + ast[i+1]
-                print str(to_reencode)
-                Good_char = to_reencode.decode('utf-8')
-                UnicodeAst.append(Good_char)
-                i += i +2
-            else:
-                UnicodeAst.append(elem)
-                i += i + 1
-
-
-        return "".join(UnicodeAst)
-
-    def ReencodeAscii(self,str):
-        print sys.stdin.encoding
-        try:
-            Stringer = str.decode("ascii")
-        except UnicodeEncodeError:
-            print "REENCODING ERROR"
-            return str.encode("ascii")
-        except UnicodeDecodeError:
-            print "DECODING ERROR"
-            return str.encode("ascii")
-
-        else:
-            return Stringer
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== modified file 'account/test/account_report.yml'
--- account/test/account_report.yml	2010-10-19 11:14:23 +0000
+++ account/test/account_report.yml	2010-11-02 05:21:12 +0000
@@ -1,22 +1,10 @@
--
-  In order to test the PDF reports defined on an invoice, we will create a Invoice Record
--
-  !record {model: account.invoice, id: test_invoice_1}:
-	currency_id: base.EUR
-    company_id: base.main_company
-    address_invoice_id: base.res_partner_address_tang
-    partner_id: base.res_partner_asus
-    state: draft
-    type: out_invoice
-    account_id: account.a_recv
-    name: Test invoice 1
-    address_contact_id: base.res_partner_address_tang
+
 -
   In order to test the PDF reports defined on an invoice, we will print an Invoice Report
 -
   !python {model: account.invoice}: |
     import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
+    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('account.account_invoice_customer0')], {}, {})
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
 
@@ -38,40 +26,39 @@
     if tools.config['test_report_directory']:
         file(os.path.join(tools.config['test_report_directory'], 'account-voucher-report.'+format), 'wb+').write(data)
 
--
-  Demo data for Account tax code
--
-  !record {model: account.tax.code, id: account_tax_code_0}:
-    name : Tax Code Test
-    sign : 10.00
--
- Print Tax Code entries report
--
-  !python {model: account.tax.code}: |
-    import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.tax.code.entries').create(cr, uid, [ref('account_tax_code_0')], {}, {})
-    if tools.config['test_report_directory']:
-        file(os.path.join(tools.config['test_report_directory'], 'account-tax-code-entries.'+format), 'wb+').write(data)
-
-
--
-  Print Vat Declaration Report
--
-   !python {model: account.tax.code}: |
-    import netsvc, tools, os
-    data_dict = {'model': 'ir.ui.menu', 'form': {'based_on': 'invoices','company_id':ref('base.main_company'),'periods':[]}}
-    (data, format) = netsvc.LocalService('report.account.vat.declaration').create(cr, uid, [ref("account_move_0")], data_dict, {})
-    if tools.config['test_report_directory']:
-       file(os.path.join(tools.config['test_report_directory'], 'account-vat-declaration.'+format), 'wb+').write(data)
-
--
-  In order to test the PDF reports defined on an invoice, we will print an invoice
--
-  !python {model: account.invoice}: |
-    import netsvc, tools, os
-    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref('test_invoice_1')], {}, {})
-    if tools.config['test_report_directory']:
-        file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
+
+#-
+#  Demo data for Account tax code
+#-
+#  !record {model: account.tax.code, id: account_tax_code_0}:
+#    name : Tax Code Test
+#-
+# Print Tax Code entries report
+#- 
+#  !python {model: account.tax.code}: |
+#    import netsvc, tools, os
+#    (data, format) = netsvc.LocalService('report.account.tax.code.entries').create(cr, uid, [ref('account.account_tax_code_0')], {}, {})
+#    if tools.config['test_report_directory']:
+#        file(os.path.join(tools.config['test_report_directory'], 'account-tax-code-entries.'+format), 'wb+').write(data)
+
+#-
+#  Print Vat Declaration Report
+#-
+#   !python {model: account.tax.code}: |
+#    import netsvc, tools, os
+#    data_dict = {'model': 'ir.ui.menu', 'form': {'based_on': 'invoices','company_id':ref('base.main_company'),'periods':[]}}
+#   (data, format) = netsvc.LocalService('report.account.vat.declaration').create(cr, uid, [ref("account.account_tax_code0")], data_dict, {})
+#    if tools.config['test_report_directory']:
+#       file(os.path.join(tools.config['test_report_directory'], 'account-vat-declaration.'+format), 'wb+').write(data)
+
+#-
+#  In order to test the PDF reports defined on an invoice, we will print an invoice
+#-
+#  !python {model: account.invoice}: |
+#    import netsvc, tools, os
+#    (data, format) = netsvc.LocalService('report.account.invoice').create(cr, uid, [ref      ('account.test_invoice_1')], {}, {})
+#    if tools.config['test_report_directory']:
+#        file(os.path.join(tools.config['test_report_directory'], 'account-invoice.'+format), 'wb+').write(data)
 
 -
   Print the Aged Partner Balance Report

=== modified file 'account_invoice_layout/report/report_account_invoice_layout.rml'
--- account_invoice_layout/report/report_account_invoice_layout.rml	2010-10-14 10:14:59 +0000
+++ account_invoice_layout/report/report_account_invoice_layout.rml	2010-11-02 05:21:12 +0000
@@ -60,7 +60,6 @@
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
     </blockTableStyle>
     <blockTableStyle id="Table1">
       <blockAlignment value="LEFT"/>
@@ -245,7 +244,7 @@
     <para style="Standard">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="284.0,64.0,64.0,52.0,75.0" style="Tableau6">
+    <blockTable colWidths="283.0,71.0,57.0,57.0,71.0" style="Tableau6">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Description / Taxes</para>
@@ -266,7 +265,7 @@
     </blockTable>
     <section>
       <para style="terp_default_8">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
-      <blockTable colWidths="4.0,280.0,44.0,21.0,66.0,53.0,71.0" style="Table_Invoice_Line_Content">
+      <blockTable colWidths="4.0,280.0,71.0,57.0,57.0,71.0" style="Table_Invoice_Line_Content">
         <tr>
           <td>
             <para style="terp_default_9">[[ a['type']=='text' and removeParentNode('blockTable')]]</para>
@@ -275,10 +274,7 @@
             <para style="terp_default_9"><font face="Helvetica">[[ ((a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['name'] ]] [[ a['type']=='article' and ('/ (' + a['tax_types'] + ')' ) ]]</para>
           </td>
           <td>
-            <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['quantity'] ]]</para>
-          </td>
-          <td>
-            <para style="terp_default_Right_9">[[ a['uos'] ]]</para>
+            <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['quantity'] ]] [[ a['uos'] ]]</para>
           </td>
           <td>
             <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['price_unit'] ]]</para>
@@ -322,11 +318,6 @@
               <font color="white"> </font>
             </para>
           </td>
-          <td>
-            <para style="terp_default_Note">
-              <font color="white"> </font>
-            </para>
-          </td>
         </tr>
       </blockTable>
       <blockTable colWidths="4.0,278.0,257.0" style="Table1">
@@ -344,8 +335,8 @@
           </td>
         </tr>
       </blockTable>
-      <para style="terp_default_1">[[ a['type']!='break' and removeParentNode('pageBreak')]]</para>
-      <blockTable colWidths="284.0,64.0,64.0,52.0,75.0" style="Table2">
+      <pageBreak style="terp_default_1">[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
+      <blockTable colWidths="283.0,71.0,57.0,57.0,71.0" style="Table2">
         <tr>
           <td>
             <para style="terp_tblheader_Details">Description / Taxes [[ a['type']!='break' and removeParentNode('blockTable')]]</para>
@@ -365,7 +356,7 @@
         </tr>
       </blockTable>
     </section>
-    <blockTable colWidths="405.0,59.0,74.0" style="Tableau3">
+    <blockTable colWidths="395.0,59.0,85.0" style="Tableau3">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -380,7 +371,7 @@
         </td>
       </tr>
     </blockTable>
-    <blockTable colWidths="405.0,59.0,74.0" style="Table4">
+    <blockTable colWidths="395.0,59.0,85.0" style="Table4">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -395,7 +386,7 @@
         </td>
       </tr>
     </blockTable>
-    <blockTable colWidths="405.0,59.0,74.0" style="Table6">
+    <blockTable colWidths="395.0,59.0,85.0" style="Table6">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -416,7 +407,7 @@
     <para style="terp_default_8">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="206.0,50.0,52.0,230.0" style="Table7">
+    <blockTable colWidths="205.0,71.0,71.0,191.0" style="Table7">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Tax [[ o.tax_line==[] and removeParentNode('blockTable') ]]</para>
@@ -436,7 +427,7 @@
     </blockTable>
     <section>
       <para style="terp_default_8">[[ repeatIn(o.tax_line,'t') ]]</para>
-      <blockTable colWidths="206.0,49.0,52.0,230.0" style="Table8">
+      <blockTable colWidths="206.0,71.0,71.0,191.0" style="Table8">
         <tr>
           <td>
             <para style="terp_default_8">[[ t.name ]]</para>

=== modified file 'account_invoice_layout/report/report_account_invoice_layout.sxw'
Binary files account_invoice_layout/report/report_account_invoice_layout.sxw	2010-10-14 10:14:59 +0000 and account_invoice_layout/report/report_account_invoice_layout.sxw	2010-11-02 05:21:12 +0000 differ
=== modified file 'account_invoice_layout/report/special_message_invoice.rml'
--- account_invoice_layout/report/special_message_invoice.rml	2010-10-14 10:14:59 +0000
+++ account_invoice_layout/report/special_message_invoice.rml	2010-11-02 05:21:12 +0000
@@ -60,7 +60,6 @@
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="5,-1" stop="5,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="6,-1" stop="6,-1"/>
     </blockTableStyle>
     <blockTableStyle id="Table1">
       <blockAlignment value="LEFT"/>
@@ -249,7 +248,7 @@
     <para style="Standard">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="284.0,64.0,64.0,52.0,75.0" style="Tableau6">
+    <blockTable colWidths="283.0,71.0,57.0,57.0,71.0" style="Tableau6">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Description / Taxes</para>
@@ -270,7 +269,7 @@
     </blockTable>
     <section>
       <para style="terp_default_8">[[ repeatIn(invoice_lines(o), 'a') ]]</para>
-      <blockTable colWidths="4.0,280.0,44.0,21.0,66.0,53.0,71.0" style="Table_Invoice_Line_Content">
+      <blockTable colWidths="4.0,280.0,71.0,57.0,57.0,71.0" style="Table_Invoice_Line_Content">
         <tr>
           <td>
             <para style="terp_default_9">[[ a['type']=='text' and removeParentNode('blockTable')]]</para>
@@ -279,10 +278,7 @@
             <para style="terp_default_9"><font face="Helvetica">[[ ((a['type']=='title' or a['type']=='subtotal') and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['name'] ]] [[ a['type']=='article' and ('/ (' + a['tax_types'] +' )' ) ]]</para>
           </td>
           <td>
-            <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['quantity'] ]]</para>
-          </td>
-          <td>
-            <para style="terp_default_Right_9">[[ a['uos'] ]]</para>
+            <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['quantity'] ]] [[ a['uos'] ]]</para>
           </td>
           <td>
             <para style="terp_default_Right_9"><font face="Helvetica">[[ (a['type']=='subtotal' and ( setTag('para','para',{'fontName':'Helvetica-bold'}))) or removeParentNode('font') ]]</font>[[ a['price_unit'] ]]</para>
@@ -326,11 +322,6 @@
               <font color="white"> </font>
             </para>
           </td>
-          <td>
-            <para style="terp_default_Note">
-              <font color="white"> </font>
-            </para>
-          </td>
         </tr>
       </blockTable>
       <blockTable colWidths="4.0,278.0,257.0" style="Table1">
@@ -348,8 +339,8 @@
           </td>
         </tr>
       </blockTable>
-      <para style="terp_default_1">[[ a['type']!='break' and removeParentNode('pageBreak')]]</para>
-      <blockTable colWidths="284.0,64.0,64.0,52.0,75.0" style="Table2">
+      <pageBreak style="terp_default_1">[[ a['type']!='break' and removeParentNode('pageBreak')]]</pageBreak>
+      <blockTable colWidths="283.0,71.0,57.0,57.0,71.0" style="Table2">
         <tr>
           <td>
             <para style="terp_tblheader_Details">Description / Taxes [[ a['type']!='break' and removeParentNode('blockTable')]]</para>
@@ -369,7 +360,7 @@
         </tr>
       </blockTable>
     </section>
-    <blockTable colWidths="405.0,59.0,74.0" style="Tableau3">
+    <blockTable colWidths="395.0,59.0,85.0" style="Tableau3">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -384,7 +375,7 @@
         </td>
       </tr>
     </blockTable>
-    <blockTable colWidths="405.0,59.0,74.0" style="Table4">
+    <blockTable colWidths="395.0,59.0,85.0" style="Table4">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -399,7 +390,7 @@
         </td>
       </tr>
     </blockTable>
-    <blockTable colWidths="405.0,59.0,74.0" style="Table6">
+    <blockTable colWidths="395.0,59.0,85.0" style="Table6">
       <tr>
         <td>
           <para style="terp_default_9">
@@ -420,7 +411,7 @@
     <para style="terp_default_8">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="209.0,54.0,46.0,229.0" style="Table7">
+    <blockTable colWidths="209.0,71.0,71.0,188.0" style="Table7">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Tax [[ o.tax_line==[] and removeParentNode('blockTable') ]]</para>
@@ -440,7 +431,7 @@
     </blockTable>
     <section>
       <para style="terp_default_1">[[ repeatIn(o.tax_line,'t') ]]</para>
-      <blockTable colWidths="209.0,55.0,46.0,229.0" style="Table8">
+      <blockTable colWidths="209.0,71.0,71.0,188.0" style="Table8">
         <tr>
           <td>
             <para style="terp_default_8">[[ t.name ]]</para>

=== modified file 'account_invoice_layout/report/special_message_invoice.sxw'
Binary files account_invoice_layout/report/special_message_invoice.sxw	2010-10-14 10:14:59 +0000 and account_invoice_layout/report/special_message_invoice.sxw	2010-11-02 05:21:12 +0000 differ
=== removed file 'account_voucher/report/rml_parse.py'
--- account_voucher/report/rml_parse.py	2010-10-13 13:46:45 +0000
+++ account_voucher/report/rml_parse.py	1970-01-01 00:00:00 +0000
@@ -1,150 +0,0 @@
-# -*- coding: utf-8 -*-
-##############################################################################
-#
-#    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2010 Tiny SPRL (<http://tiny.be>).
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU Affero General Public License as
-#    published by the Free Software Foundation, either version 3 of the
-#    License, or (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU Affero General Public License for more details.
-#
-#    You should have received a copy of the GNU Affero General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-
-from report import report_sxw
-
-from datetime import datetime
-import re
-
-class rml_parse(report_sxw.rml_parse):
-    def __init__(self, cr, uid, name, context):
-        super(rml_parse, self).__init__(cr, uid, name, context=None)
-        self.localcontext.update({
-            'comma_me': self.comma_me,
-            'format_date': self._get_and_change_date_format_for_swiss,
-            'strip_name': self._strip_name,
-            'explode_name': self._explode_name,
-        })
-
-    def comma_me(self, amount):
-        if not amount:
-            amount = 0.0
-        if  type(amount) is float:
-            amount = str('%.2f'%amount)
-        else:
-            amount = str(amount)
-        if (amount == '0'):
-            return ' '
-        orig = amount
-        new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount)
-        if orig == new:
-            return new
-        else:
-            return self.comma_me(new)
-
-    def _ellipsis(self, string, maxlen=100, ellipsis = '...'):
-        ellipsis = ellipsis or ''
-        try:
-            return string[:maxlen - len(ellipsis) ] + (ellipsis, '')[len(string) < maxlen]
-        except:
-            return False
-
-    def _strip_name(self, name, maxlen=50):
-        return self._ellipsis(name, maxlen, '...')
-
-    def _get_and_change_date_format_for_swiss (self, date_to_format):
-        date_formatted = ''
-        if date_to_format:
-            date_formatted = datetime.strptime(date_to_format,'%Y-%m-%d').strftime('%d.%m.%Y')
-        return date_formatted
-
-    def _explode_name(self, chaine, length):
-        # We will test if the size is less then account
-        full_string = ''
-        if (len(str(chaine)) <= length):
-            return chaine
-        #
-        else:
-            chaine = unicode(chaine,'utf8').encode('iso-8859-1')
-            rup = 0
-            for carac in chaine:
-                rup = rup + 1
-                if rup == length:
-                    full_string = full_string + '\n'
-                    full_string = full_string + carac
-                    rup = 0
-                else:
-                    full_string = full_string + carac
-
-        return full_string
-
-    def makeAscii(self, str):
-        try:
-            Stringer = str.encode("utf-8")
-        except UnicodeDecodeError:
-            try:
-                Stringer = str.encode("utf-16")
-            except UnicodeDecodeError:
-                Stringer = str
-            else:
-                return Stringer
-        else:
-            return Stringer
-        return Stringer
-
-    def explode_this(self, chaine, length):
-        chaine = rstrip(chaine)
-        ast = list(chaine)
-        i = length
-        while i <= len(ast):
-            ast.insert(i,'\n')
-            i = i + length
-        chaine = str("".join(ast))
-        return chaine
-
-    def repair_string(self, chaine):
-        ast = list(chaine)
-        UnicodeAst = []
-        _previouslyfound = False
-        i = 0
-        while i < len(ast):
-            elem = ast[i]
-            try:
-                Stringer = elem.encode("utf-8")
-            except UnicodeDecodeError:
-                to_reencode = elem + ast[i+1]
-                Good_char = to_reencode.decode('utf-8')
-                UnicodeAst.append(Good_char)
-                i += i +2
-            else:
-                UnicodeAst.append(elem)
-                i += i + 1
-        return "".join(UnicodeAst)
-
-    def ReencodeAscii(self, str):
-        try:
-            Stringer = str.decode("ascii")
-        except UnicodeEncodeError:
-            return str.encode("ascii")
-        except UnicodeDecodeError:
-            return str.encode("ascii")
-        else:
-            return Stringer
-
-    def _add_header(self, node, header=1):
-        if header == 2:
-            rml_head =  self.rml_header2
-        else:
-            rml_head =  self.rml_header
-        rml_head =  rml_head.replace('<pageGraphics>','''<pageGraphics> <image x="10" y="26cm" height="770.0" width="1120.0" >[[company.logo]] </image> ''')
-        return True
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== modified file 'board/board.py'
--- board/board.py	2010-05-21 10:26:00 +0000
+++ board/board.py	2010-11-02 05:21:12 +0000
@@ -21,6 +21,7 @@
 
 from osv import fields, osv
 import time
+import tools
 
 class board_board(osv.osv):
     """
@@ -223,4 +224,45 @@
 
 board_note()
 
+class res_log_report(osv.osv):
+    """ Log Report """
+    _name = "res.log.report"
+    _auto = False
+    _description = "Log Report"
+    _columns = {
+        'name': fields.char('Year', size=64, required=False, readonly=True),
+        'month':fields.selection([('01', 'January'), ('02', 'February'), \
+                                  ('03', 'March'), ('04', 'April'),\
+                                  ('05', 'May'), ('06', 'June'), \
+                                  ('07', 'July'), ('08', 'August'),\
+                                  ('09', 'September'), ('10', 'October'),\
+                                  ('11', 'November'), ('12', 'December')], 'Month', readonly=True),
+        'day': fields.char('Day', size=128, readonly=True),
+        'creation_date': fields.date('Creation Date', readonly=True),
+        'res_model': fields.char('Object', size=128),
+        'nbr': fields.integer('# of Entries', readonly=True)
+     }
+
+    def init(self, cr):
+        """
+            Log Report
+            @param cr: the current row, from the database cursor
+        """
+        tools.drop_view_if_exists(cr,'res_log_report')
+        cr.execute("""
+            CREATE OR REPLACE VIEW res_log_report AS (
+                SELECT
+                    l.id as id,
+                    1 as nbr,
+                    to_char(l.create_date, 'YYYY') as name,
+                    to_char(l.create_date, 'MM') as month,
+                    to_char(l.create_date, 'YYYY-MM-DD') as day,
+                    to_char(l.create_date, 'YYYY-MM-DD') as creation_date,
+                    l.res_model as res_model,
+                    date_trunc('day',l.create_date) as create_date
+                FROM
+                    res_log l
+            )""")
+res_log_report()
+
 # vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:

=== modified file 'board/board_administration_view.xml'
--- board/board_administration_view.xml	2010-10-17 22:08:23 +0000
+++ board/board_administration_view.xml	2010-11-02 05:21:12 +0000
@@ -1,6 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <openerp>
     <data>
+
         <!-- User Connection -->
         <record model="ir.ui.view" id="view_user_connection_tree">
             <field name="name">user.connection.tree</field>
@@ -28,6 +29,100 @@
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
         </record>
+
+        <!--     Log report search view  -->
+        <record id="view_res_log_report_filter" model="ir.ui.view">
+            <field name="name">res.log.report.select</field>
+            <field name="model">res.log.report</field>
+            <field name="type">search</field>
+            <field name="arch" type="xml">
+                <search string="Log Analysis">
+                    <group col="20" colspan="8">
+                        <filter string="Last 30 Days" icon="terp-go-month" name="thismonth"
+                            domain="[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"/>
+                        <filter icon="terp-go-week" string="7 Days" separator="1" name="thisweek"
+                            domain="[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"/>
+                   </group>
+                   <newline/>
+                   <group  expand="0" string="Extended Filters..." groups="base.group_extended">
+                      <field name="creation_date"/>
+                   </group>
+                   <newline/>
+                   <group  expand="1" string="Group By...">
+                        <filter string="Model" icon="terp-go-home" context="{'group_by':'res_model'}" />
+                            <separator orientation="vertical"/>
+                        <filter string="Day" icon="terp-go-today"
+                            domain="[]" context="{'group_by':'day'}"/>
+                        <filter string="Month" icon="terp-go-month"
+                            domain="[]" context="{'group_by':'month'}" />
+                        <filter string="Year" icon="terp-go-year"
+                            domain="[]" context="{'group_by':'name'}" />
+                  </group>
+               </search>
+            </field>
+        </record>
+
+        <!--     Log report Tree view  -->
+        <record id="view_res_log_report_tree" model="ir.ui.view">
+            <field name="name">res.log.report.tree</field>
+            <field name="model">res.log.report</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+            <tree string="Log Analysis">
+                <field name="name" invisible="1"/>
+                <field name="month" invisible="1"/>
+                <field name="day" invisible="1"/>
+                <field name="res_model" invisible="1"/>
+                <field name="nbr" />
+                <field name="creation_date" invisible="1"/>
+             </tree>
+            </field>
+       </record>
+
+        <!-- Monthly Activity per Document -->
+        <record id="board_res_log_report_graph" model="ir.ui.view">
+            <field name="name">board.res.log.report.graph</field>
+            <field name="model">res.log.report</field>
+            <field name="type">graph</field>
+            <field name="arch" type="xml">
+                <graph string="Monthly Activity per Document" type="bar">
+                	<field name="res_model"/>
+                	<field name="nbr" operator="+"/>
+                </graph>
+            </field>
+        </record>
+        <record id="board_monthly_res_log_report_action" model="ir.actions.act_window">
+            <field name="name">Monthly Activity per Document</field>
+            <field name="res_model">res.log.report</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">graph,tree</field>
+            <field name="domain">[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]</field>
+            <field name="context">{'search_default_thismonth':1,'group_by':['res_model'],'group_by_no_leaf':1}</field>
+            <field name="view_id" ref="board_res_log_report_graph"></field>
+        </record>
+
+        <!-- Weekly Global Activity -->
+        <record id="board_weekly_res_log_report_graph" model="ir.ui.view">
+            <field name="name">board.weekly.res.log.report.graph</field>
+            <field name="model">res.log.report</field>
+            <field name="type">graph</field>
+            <field name="arch" type="xml">
+                <graph string="Weekly Global Activity" type="bar">
+                	<field name="day"/>
+                	<field name="nbr" operator="+"/>
+                </graph>
+            </field>
+        </record>
+        <record id="board_weekly_res_log_report_action" model="ir.actions.act_window">
+            <field name="name">Weekly Global Activity</field>
+            <field name="res_model">res.log.report</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">graph,tree</field>
+            <field name="domain">[('create_date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%Y-%m-%d'))]</field>
+            <field name="context">{'search_default_thisweek':1,'group_by':['day'],'group_by_no_leaf':1}</field>
+            <field name="view_id" ref="board_weekly_res_log_report_graph"></field>
+        </record>
+
         <record id="board_administration_form" model="ir.ui.view">
             <field name="name">board.administration.form</field>
             <field name="model">board.board</field>
@@ -40,11 +135,14 @@
                             <action width="510" name="%(action_user_connection_tree)d" string="Latest Connections" />
                         </child1>
                         <child2>
+                            <action  name="%(board_monthly_res_log_report_action)d" string="Monthly Activity per Document"/>
+                            <action  name="%(board_weekly_res_log_report_action)d" string="Weekly Global Activity" />
                         </child2>
                     </hpaned>
                 </form>
             </field>
         </record>
+
         <record id="open_board_administration_form" model="ir.actions.act_window">
              <field name="name">Administration Dashboard</field>
             <field name="res_model">board.board</field>
@@ -52,8 +150,12 @@
             <field name="view_mode">form</field>
             <field name="view_id" ref="board_administration_form"/>
         </record>
-       <menuitem id="board.admin_menu_dasboard" name="Dashboard" sequence="0" parent="base.menu_reporting"/>
-       <menuitem id="menu_board_admin" action="open_board_administration_form" icon="terp-graph" parent="board.admin_menu_dasboard" />
+
+        <menuitem id="base.menu_reporting" name="Reporting" parent="base.menu_administration" sequence="11"
+            groups="base.group_extended"/>
+        <menuitem id="board.admin_menu_dasboard" name="Dashboard" sequence="0" parent="base.menu_reporting"/>
+        <menuitem id="menu_board_admin" action="open_board_administration_form" icon="terp-graph" parent="board.admin_menu_dasboard" />
+        <menuitem icon="terp-administration" id="base.menu_administration" name="Administration" sequence="50" action="open_board_administration_form"/>
 
     </data>
 </openerp>

=== modified file 'board/security/ir.model.access.csv'
--- board/security/ir.model.access.csv	2010-07-30 13:02:47 +0000
+++ board/security/ir.model.access.csv	2010-11-02 05:21:12 +0000
@@ -4,3 +4,4 @@
 "access_board_note_type","board.note.type","model_board_note_type","base.group_user",1,1,1,1
 "access_board_note","board.note","model_board_note","base.group_user",1,1,1,1
 "access_board_board_sale_salesman","board.board.sale.salesman","model_board_board","base.group_sale_salesman",1,1,1,1
+"access_res_log_report","res.log.report","model_res_log_report","base.group_user",1,1,1,1
\ No newline at end of file

=== modified file 'crm/board_crm_view.xml'
--- crm/board_crm_view.xml	2010-10-16 16:47:09 +0000
+++ crm/board_crm_view.xml	2010-11-02 05:21:12 +0000
@@ -18,6 +18,17 @@
                </field>
           </record>
 
+        <record id="view_report_crm_oppor_tree" model="ir.ui.view">
+            <field name="name">crm.lead.report.tree</field>
+            <field name="model">crm.lead.report</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Opportunity Analysis">
+                   <field name="stage_id"/>
+                   <field name="planned_revenue"/>
+                </tree>
+            </field>
+        </record>
         <record id="view_report_crm_oppor_graph" model="ir.ui.view">
             <field name="name">crm.lead.report.graph</field>
             <field name="model">crm.lead.report</field>
@@ -100,7 +111,20 @@
                <field name="view_mode">graph,tree,form</field>
                <field name="view_id" ref="view_report_crm_oppor_graph"/>
             <field name="domain">['&amp;', '&amp;', ('user_id','=',uid), ('type', '=', 'opportunity'), '!' , '&amp;', ('state', '=', 'done'),  ('date_closed','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%Y-%m-%d'))]</field>
+        		<field name="context">{'group_by_no_leaf':1,'group_by':['stage_id']}</field>
           </record>
+          <record id="open_view_report_crm_oppor_graph" model="ir.actions.act_window.view">
+            <field eval="1" name="sequence"/>
+            <field name="view_mode">graph</field>
+            <field name="view_id" ref="view_report_crm_oppor_graph"/>
+            <field name="act_window_id" ref="act_my_oppor_stage"/>
+	    </record>
+	    <record id="open_view_report_crm_oppor_tree" model="ir.actions.act_window.view">
+            <field eval="2" name="sequence"/>
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_report_crm_oppor_tree"/>
+            <field name="act_window_id" ref="act_my_oppor_stage"/>
+   		</record>
 
           <record model="ir.actions.act_window" id="act_sales_pipeline">
                <field name="res_model">crm.lead.report</field>
@@ -159,5 +183,7 @@
             sequence="1"
             id="menu_board_crm" icon="terp-graph"
             groups="base.group_sale_salesman"/>
+
+        <menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="0" action="open_board_crm"/>
     </data>
 </openerp>

=== modified file 'crm/report/crm_lead_report_view.xml'
--- crm/report/crm_lead_report_view.xml	2010-10-25 09:57:41 +0000
+++ crm/report/crm_lead_report_view.xml	2010-11-02 05:21:12 +0000
@@ -29,6 +29,7 @@
                 <field name="email" sum="# Mails"/>
                 <field name="delay_open"/>
                 <field name="delay_close"/>
+                <field name="planned_revenue"/>
              </tree>
             </field>
         </record>
@@ -79,7 +80,7 @@
                         <filter icon="terp-go-month" string="    Month-1    " separator="1"
                             domain="[('create_date','&lt;=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('create_date','&gt;=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
                             help="Leads/Opportunities created in last month"/>
-                            
+
                         <separator orientation="vertical" />
                         <filter icon="terp-check"
                             string="Active"
@@ -93,7 +94,7 @@
                             string="Closed"
                             domain="[('state','=','done')]"
                             help="Leads/Opportunities which are in done state"/>
-                            
+
                         <separator orientation="vertical" />
                         <field name="section_id"
                             default="context.get('section_id', False)"
@@ -127,7 +128,7 @@
                         <filter string="Salesman" name="user" icon="terp-personal"
                             domain="[]" context="{'group_by':'user_id'}" />
                         <filter string="Sales Team" icon="terp-personal+"
-                            domain="[]" 
+                            domain="[]"
                             context="{'group_by':'section_id'}" />
                         <filter string="Partner" icon="terp-partner" context="{'group_by':'partner_id'}" />
                         <filter string="Country" icon="terp-go-home" context="{'group_by':'country_id'}" />

=== modified file 'hr_holidays/board_hr_holidays_view.xml'
--- hr_holidays/board_hr_holidays_view.xml	2010-10-14 09:00:09 +0000
+++ hr_holidays/board_hr_holidays_view.xml	2010-11-02 05:21:12 +0000
@@ -64,7 +64,7 @@
             <field name="inherit_id" ref="hr.board_hr_form"/>
             <field name="arch" type="xml">
                 <xpath expr="/form/hpaned/child2" position="inside">
-                 <action colspan="4" height="220" name="%(action_hr_holidays_leaves_by_month)d" string="My Leaves by Type" />
+                 <action colspan="4" height="220" name="%(action_hr_holidays_leaves_by_month)d" string="Leaves By Month" />
                 </xpath>
             </field>
         </record>

=== modified file 'hr_holidays/report/available_holidays_view.xml'
--- hr_holidays/report/available_holidays_view.xml	2010-10-15 16:53:15 +0000
+++ hr_holidays/report/available_holidays_view.xml	2010-11-02 05:21:12 +0000
@@ -35,7 +35,7 @@
                 <graph string="Available Holidays" type="bar">
                     <field name="holiday_status_id"/>
                     <field name="taken_leaves" string="Leave Days" operator="+"/>
-                    <field name="remaining_leave" string="Remaining Days" operator="+"/>
+                    <field name="max_leave" string="Allocated Leaves" operator="+"/>
                 </graph>
             </field>
         </record>
@@ -48,10 +48,10 @@
 	            <search string="Leaves">
 	            	<group>
 						<filter icon="terp-go-year" string=" Year " domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;=',time.strftime('%%Y-01-01'))]" help="Available Leaves of current year"/>
-						<filter icon="terp-go-month" string=" Month " name="month" 
+						<filter icon="terp-go-month" string=" Month " name="month"
 								domain="[('date','&lt;=',(datetime.date.today()+relativedelta(day=31)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today()-relativedelta(day=1)).strftime('%%Y-%%m-%%d'))]"
 								help="Available Leaves of current month"/>
-						<filter icon="terp-go-month" string="    Month-1    " separator="1" 
+						<filter icon="terp-go-month" string="    Month-1    " separator="1"
                                 domain="[('date','&lt;=', (datetime.date.today() - relativedelta(day=31, months=1)).strftime('%%Y-%%m-%%d')),('date','&gt;=',(datetime.date.today() - relativedelta(day=1,months=1)).strftime('%%Y-%%m-%%d'))]"
 						        help="Available Leaves of last month"/>
 						<separator orientation="vertical"/>

=== modified file 'hr_payroll/report/report_employees_detail.py'
--- hr_payroll/report/report_employees_detail.py	2010-10-26 09:06:10 +0000
+++ hr_payroll/report/report_employees_detail.py	2010-11-02 05:21:12 +0000
@@ -28,9 +28,8 @@
 from report import report_sxw
 import time
 import pooler
-import rml_parse
 
-class employees_salary_report(rml_parse.rml_parse):
+class employees_salary_report(report_sxw.rml_parse):
 
     def __init__(self, cr, uid, name, context):
         super(employees_salary_report, self).__init__(cr, uid, name, context)

=== modified file 'hr_payroll/report/report_payroll_advice.py'
--- hr_payroll/report/report_payroll_advice.py	2010-10-15 11:17:20 +0000
+++ hr_payroll/report/report_payroll_advice.py	2010-11-02 05:21:12 +0000
@@ -24,7 +24,6 @@
 
 import time
 from datetime import datetime
-
 from report import report_sxw
 from tools import amount_to_text_en
 

=== modified file 'hr_payroll/report/report_payslip.py'
--- hr_payroll/report/report_payslip.py	2010-10-15 11:43:59 +0000
+++ hr_payroll/report/report_payslip.py	2010-11-02 05:21:12 +0000
@@ -23,7 +23,6 @@
 ##############################################################################
 
 from datetime import datetime
-
 from report import report_sxw
 from tools import amount_to_text_en
 

=== modified file 'hr_payroll/report/report_year_salary.py'
--- hr_payroll/report/report_year_salary.py	2010-10-26 09:06:10 +0000
+++ hr_payroll/report/report_year_salary.py	2010-11-02 05:21:12 +0000
@@ -26,9 +26,8 @@
 from report import report_sxw
 import time
 import pooler
-import rml_parse
 
-class year_salary_report(rml_parse.rml_parse):
+class year_salary_report(report_sxw.rml_parse):
 
     def __init__(self, cr, uid, name, context):
         super(year_salary_report, self).__init__(cr, uid, name, context)

=== removed file 'hr_payroll/report/rml_parse.py'
--- hr_payroll/report/rml_parse.py	2010-10-18 05:33:40 +0000
+++ hr_payroll/report/rml_parse.py	1970-01-01 00:00:00 +0000
@@ -1,154 +0,0 @@
-# -*- encoding: utf-8 -*-
-##############################################################################
-#
-#    OpenERP, Open Source Management Solution
-#    Copyright (C) 2004-2009 Tiny SPRL (<http://tiny.be>). All Rights Reserved
-#    $Id$
-#
-#    This program is free software: you can redistribute it and/or modify
-#    it under the terms of the GNU General Public License as published by
-#    the Free Software Foundation, either version 3 of the License, or
-#    (at your option) any later version.
-#
-#    This program is distributed in the hope that it will be useful,
-#    but WITHOUT ANY WARRANTY; without even the implied warranty of
-#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#    GNU General Public License for more details.
-#
-#    You should have received a copy of the GNU General Public License
-#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
-#
-##############################################################################
-from time import strptime
-
-from report import report_sxw
-import re
-from lxml import etree
-
-
-class rml_parse(report_sxw.rml_parse):
-    def __init__(self, cr, uid, name, context):
-        super(rml_parse, self).__init__(cr, uid, name, context=None)
-        self.localcontext.update({
-            'comma_me': self.comma_me,
-            'format_date': self._get_and_change_date_format_for_swiss,
-            'strip_name' : self._strip_name,
-            'explode_name' : self._explode_name,
-        })
-
-    def comma_me(self,amount):
-        if not amount:
-            amount = 0.0
-        if  type(amount) is float :
-            amount = str('%.2f'%amount)
-        else :
-            amount = str(amount)
-        if (amount == '0'):
-             return ' '
-        orig = amount
-        new = re.sub("^(-?\d+)(\d{3})", "\g<1>'\g<2>", amount)
-        if orig == new:
-            return new
-        else:
-            return self.comma_me(new)
-
-    def _ellipsis(self, string, maxlen=100, ellipsis = '...'):
-        ellipsis = ellipsis or ''
-        try:
-            return string[:maxlen - len(ellipsis) ] + (ellipsis, '')[len(string) < maxlen]
-        except Exception:
-            return False
-
-    def _strip_name(self, name, maxlen=50):
-        return self._ellipsis(name, maxlen, '...')
-
-    def _get_and_change_date_format_for_swiss (self,date_to_format):
-        date_formatted=''
-        if date_to_format:
-            date_formatted = strptime(date_to_format,'%Y-%m-%d').strftime('%d.%m.%Y')
-        return date_formatted
-
-    def _explode_name(self,chaine,length):
-        # We will test if the size is less then account
-        full_string = ''
-        if (len(str(chaine)) <= length):
-            return chaine
-        #
-        else:
-            chaine = unicode(chaine,'utf8').encode('iso-8859-1')
-            rup = 0
-            for carac in chaine:
-                rup = rup + 1
-                if rup == length:
-                    full_string = full_string + '\n'
-                    full_string = full_string + carac
-                    rup = 0
-                else:
-                    full_string = full_string + carac
-
-        return full_string
-
-    def makeAscii(self,str):
-        try:
-            Stringer = str.encode("utf-8")
-        except UnicodeDecodeError:
-            try:
-                Stringer = str.encode("utf-16")
-            except UnicodeDecodeError:
-                print "UTF_16 Error"
-                Stringer = str
-            else:
-                return Stringer
-        else:
-            return Stringer
-        return Stringer
-
-    def explode_this(self,chaine,length):
-        chaine = chaine.rstrip()
-        ast = list(chaine)
-        i = length
-        while i <= len(ast):
-            ast.insert(i,'\n')
-            i = i + length
-        chaine = str("".join(ast))
-        return chaine
-
-    def repair_string(self,chaine):
-        ast = list(chaine)
-        UnicodeAst = []
-        i = 0
-        while i < len(ast):
-            elem = ast[i]
-            try:
-                Stringer = elem.encode("utf-8")
-            except UnicodeDecodeError:
-                to_reencode = elem + ast[i+1]
-                print str(to_reencode)
-                Good_char = to_reencode.decode('utf-8')
-                UnicodeAst.append(Good_char)
-                i += i +2
-            else:
-                UnicodeAst.append(elem)
-                i += i + 1
-        return "".join(UnicodeAst)
-
-    def _add_header(self, node, header='external'):
-        if header=='internal':
-            rml_head =  self.rml_header2
-        elif header=='internal landscape':
-            rml_head =  self.rml_header3
-        else:
-            rml_head =  self.rml_header
-        rml_head =  rml_head.replace('<pageGraphics>','''<pageGraphics> <image x="10" y="26cm" height="770.0" width="1120.0" >[[company.logo]] </image> ''')
-        rml_dom = node
-        head_dom = etree.XML(rml_head)
-        for tag in head_dom:
-            found = rml_dom.find('.//'+tag.tag)
-            if found is not None and len(found):
-                if tag.get('position'):
-                    found.append(tag)
-                else :
-                    found.getparent().replace(found,tag)
-        return True
-
-# vim:expandtab:smartindent:tabstop=4:softtabstop=4:shiftwidth=4:
\ No newline at end of file

=== modified file 'lunch/report/order.py'
--- lunch/report/order.py	2010-10-15 09:44:13 +0000
+++ lunch/report/order.py	2010-11-02 05:21:12 +0000
@@ -41,8 +41,12 @@
         total=0.0
         for line in lines:
             total+=line.price
+        self.net_total+=total
         return total
 
+    def get_nettotal(self):
+        return self.net_total
+
     def get_users(self, objects):
         users=[]
         for obj in objects:
@@ -52,12 +56,13 @@
 
     def __init__(self, cr, uid, name, context):
         super(order, self).__init__(cr, uid, name, context)
-
+        self.net_total=0.0
         self.localcontext.update({
             'time': time,
             'get_lines': self.get_lines,
             'get_users': self.get_users,
             'get_total': self.get_total,
+            'get_nettotal': self.get_nettotal,
         })
 
 report_sxw.report_sxw('report.lunch.order', 'lunch.order',

=== modified file 'lunch/report/order.rml'
--- lunch/report/order.rml	2010-10-17 23:12:35 +0000
+++ lunch/report/order.rml	2010-11-02 05:21:12 +0000
@@ -14,25 +14,28 @@
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
     </blockTableStyle>
-    <blockTableStyle id="Table2">
+    <blockTableStyle id="Table5">
       <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"/>
-    </blockTableStyle>
-    <blockTableStyle id="Table3">
+    </blockTableStyle>
+    <blockTableStyle id="Table6">
+      <blockAlignment value="LEFT"/>
+      <blockValign value="TOP"/>
+      <lineStyle kind="LINEBELOW" colorName="#b3b3b3" start="0,-1" stop="0,-1"/>
+    </blockTableStyle>
+    <blockTableStyle id="Table7">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="0,-1" stop="0,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="1,-1" stop="1,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="2,-1" stop="2,-1"/>
       <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="3,-1" stop="3,-1"/>
-      <lineStyle kind="LINEBELOW" colorName="#e6e6e6" start="4,-1" stop="4,-1"/>
     </blockTableStyle>
-    <blockTableStyle id="Table4">
+    <blockTableStyle id="Table2">
       <blockAlignment value="LEFT"/>
       <blockValign value="TOP"/>
       <lineStyle kind="LINEABOVE" colorName="#000000" start="1,0" stop="1,0"/>
@@ -63,9 +66,14 @@
     <paraStyle name="terp_default_9_right_bold" fontName="Helvetica-Bold" fontSize="9.0" leading="11" alignment="RIGHT" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="terp_header_center" fontName="Helvetica-Bold" fontSize="15.0" leading="19" alignment="CENTER" spaceBefore="0.0" spaceAfter="0.0"/>
     <paraStyle name="terp_default_9_center" fontName="Helvetica" fontSize="9.0" leading="11" alignment="CENTER" 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"/>
+    <paraStyle name="terp_default_9_left9" rightIndent="0.0" leftIndent="9.0" fontName="Helvetica" fontSize="9.0" leading="11" alignment="LEFT" spaceBefore="0.0" spaceAfter="0.0"/>
     <images/>
   </stylesheet>
   <story>
+    <para style="terp_default_8">
+      <font color="white"> </font>
+    </para>
     <blockTable colWidths="293.0,235.0" style="Table1">
       <tr>
         <td>
@@ -84,16 +92,10 @@
       </tr>
     </blockTable>
     <para style="terp_header">Lunch Order</para>
-
-	<section>
-    <para style="terp_default_8">[[repeatIn(get_users(objects),'o')]]</para>
-    <blockTable colWidths="80.0,70.0,141.0,172.0,65.0" style="Table2">
+    <blockTable colWidths="149.0,114.0,201.0,63.0" style="Table5">
       <tr>
         <td>
-          <para style="terp_tbl_detail_header">Name</para>
-        </td>
-        <td>
-          <para style="terp_tbl_detail_header_center">Date</para>
+          <para style="terp_tbl_detail_header">Name/Date</para>
         </td>
         <td>
           <para style="terp_tbl_detail_header">Order</para>
@@ -107,28 +109,43 @@
       </tr>
     </blockTable>
     <section>
-      <para style="terp_default_8">[[ repeatIn(get_lines(o,objects),'lines') ]]</para>
-      <blockTable colWidths="80.0,70.0,141.0,172.0,64.0" style="Table3">
+      <para style="terp_default_2">[[repeatIn(get_users(objects),'o')]]</para>
+      <blockTable colWidths="263.0,201.0,63.0" style="Table6">
         <tr>
           <td>
-            <para style="terp_default_9">[[ (lines.user_id and lines.user_id.name) or '']]</para>
-          </td>
-          <td>
-            <para style="terp_default_9_center">[[ formatLang(lines.date,date='True') ]]</para>
-          </td>
-          <td>
-            <para style="terp_default_9">[[ (lines.product and lines.product.name) or '' ]]</para>
-          </td>
-          <td>
-            <para style="terp_default_9">[[ lines.descript]]</para>
-          </td>
-          <td>
-            <para style="terp_default_9_right">[[ lines.price ]] [[ (o.company_id and o.company_id.currency_id and o.company_id.currency_id.symbol) or '' ]]</para>
+            <para style="terp_tbl_detail_header">[[ o.name ]]</para>
+          </td>
+          <td>
+            <para style="terp_default_8">
+              <font color="white"> </font>
+            </para>
+          </td>
+          <td>
+            <para style="terp_default_9_right_bold"><u>[[ formatLang(get_total(o,objects)) ]] [[ (o.company_id and o.company_id.currency_id and o.company_id.currency_id.symbol) or '' ]]</u></para>
           </td>
         </tr>
       </blockTable>
+      <section>
+        <para style="terp_default_2">[[ repeatIn(get_lines(o,objects),'lines') ]]</para>
+        <blockTable colWidths="151.0,113.0,216.0,49.0" style="Table7">
+          <tr>
+            <td>
+              <para style="terp_default_9_left9">[[ formatLang(lines.date,date='True') ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ (lines.product and lines.product.name) or '' ]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9">[[ lines.descript]]</para>
+            </td>
+            <td>
+              <para style="terp_default_9_right">[[ lines.price ]] [[ (o.company_id and o.company_id.currency_id and o.company_id.currency_id.symbol) or '' ]]</para>
+            </td>
+          </tr>
+        </blockTable>
+      </section>
     </section>
-    <blockTable colWidths="409.0,55.0,64.0" style="Table4">
+    <blockTable colWidths="421.0,44.0,63.0" style="Table2">
       <tr>
         <td>
           <para style="terp_default_8">
@@ -136,16 +153,15 @@
           </para>
         </td>
         <td>
-          <para style="terp_tbl_detail_header">Total:</para>
+          <para style="terp_tbl_detail_header">Total :</para>
         </td>
         <td>
-          <para style="terp_default_9_right_bold">[[ formatLang(get_total(o,objects)) ]] [[ (o.company_id and o.company_id.currency_id and o.company_id.currency_id.symbol) or '' ]]</para>
+          <para style="terp_default_9_right_bold">[[ formatLang(get_nettotal()) ]] [[ (o.company_id and o.company_id.currency_id and o.company_id.currency_id.symbol) or '' ]]</para>
         </td>
       </tr>
     </blockTable>
-    <para style="terp_default_8">
+    <para style="terp_default_2">
       <font color="white"> </font>
     </para>
-	</section>
   </story>
-</document>
+</document>
\ No newline at end of file

=== modified file 'lunch/report/order.sxw'
Binary files lunch/report/order.sxw	2010-10-15 09:44:13 +0000 and lunch/report/order.sxw	2010-11-02 05:21:12 +0000 differ
=== modified file 'mrp/board_manufacturing_view.xml'
--- mrp/board_manufacturing_view.xml	2010-10-18 20:49:54 +0000
+++ mrp/board_manufacturing_view.xml	2010-11-02 05:21:12 +0000
@@ -14,10 +14,10 @@
                     <hpaned position="100">
                         <child1>
                             <action colspan="4" height="200" name="%(mrp.mrp_production_action2)d" string="Next Production Orders" width="510"/>
-                            <action colspan="4" name="%(procurement.procurement_exceptions)d" string="Procurements in Exception"/>
+                            <action colspan="4" name="%(procurement.procurement_exceptions)d" string="Procurements in Exception" domain="[('state','=','exception')]"/>
                         </child1>
                         <child2>
-                            <action colspan="4" name="%(mrp.action_report_workcenter_load_tree)d" string="Work Center Future load"/>
+                            <action colspan="4" name="%(mrp.action_report_workcenter_load_tree)d" string="Work Center Future Load" groups="base.group_extended"/>
 
                             <action colspan="4" name="%(mrp.action_report_in_out_picking_tree)d" string="Stock Value Variation"/>
                         </child2>

=== modified file 'mrp/report/mrp_report.py'
--- mrp/report/mrp_report.py	2010-09-21 12:34:53 +0000
+++ mrp/report/mrp_report.py	2010-11-02 05:21:12 +0000
@@ -39,7 +39,7 @@
             create or replace view report_workcenter_load as (
                 SELECT
                     min(wl.id) as id,
-                    to_char(p.date_planned,'YYYY:IW') as name,
+                    to_char(p.date_planned,'YYYY:mm:dd') as name,
                     SUM(wl.hour) AS hour,
                     SUM(wl.cycle) AS cycle,
                     wl.workcenter_id as workcenter_id
@@ -49,7 +49,7 @@
                         ON p.id = wl.production_id
                 GROUP BY
                     wl.workcenter_id,
-                    to_char(p.date_planned,'YYYY:IW')
+                    to_char(p.date_planned,'YYYY:mm:dd')
             )""")
 
 report_workcenter_load()

=== modified file 'mrp/report/mrp_report_view.xml'
--- mrp/report/mrp_report_view.xml	2010-10-18 07:43:41 +0000
+++ mrp/report/mrp_report_view.xml	2010-11-02 05:21:12 +0000
@@ -22,7 +22,7 @@
             <field name="type">graph</field>
             <field name="arch" type="xml">
                 <graph string="Work Center load" type="bar">
-                    <field group="True" name="name"/>
+                    <field name="name"/>
                     <field name="cycle" operator="+"/>
                     <field name="hour" operator="+"/>
                     <field group="True" name="workcenter_id"/>

=== modified file 'procurement/board_mrp_procurement_view.xml'
--- procurement/board_mrp_procurement_view.xml	2010-09-29 07:26:25 +0000
+++ procurement/board_mrp_procurement_view.xml	2010-11-02 05:21:12 +0000
@@ -8,16 +8,16 @@
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
             <field name="domain">[('state','=','exception')]</field>
-			<field name="view_id" ref="procurement.procurement_tree_view_board"/>            
+			<field name="view_id" ref="procurement.procurement_tree_view_board"/>
         </record>
         <record id="board_mrp_procurement_form" model="ir.ui.view">
             <field name="name">board.mrp.procurement.form</field>
             <field name="model">board.board</field>
-			<field name="inherit_id" ref="stock.board_warehouse_form"/>              
+			<field name="inherit_id" ref="stock.board_warehouse_form"/>
             <field name="type">form</field>
             <field name="arch" type="xml">
-      		<xpath expr="/form/hpaned/child1" position="inside"> 
-				<action colspan="4" name="%(procurement_action_board)d" string="Procurement Exceptions" width="510" />
+      		<xpath expr="/form/hpaned/child1/action[@string='Incoming Product']" position="before">
+				<action colspan="4" name="%(procurement_action_board)d" string="Procurements in Exception" width="510" />
 			</xpath>
             </field>
         </record>

=== modified file 'project/report/project_report_view.xml'
--- project/report/project_report_view.xml	2010-10-20 10:59:57 +0000
+++ project/report/project_report_view.xml	2010-11-02 05:21:12 +0000
@@ -270,14 +270,15 @@
         <field name="res_model">project.vs.hours</field>
         <field name="view_type">form</field>
         <field name="view_mode">graph,tree</field>
+        <field name="context">{'group_by':['project'],'group_by_no_leaf':1}</field>
         <field name="domain">[('uid','=',uid),('state','=','open')]</field>
         <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
     </record>
 
 	<record id="open_view_project_vs_planned_total_hours_tree" model="ir.actions.act_window.view">
-            <field eval="1" name="sequence"/>
-            <field name="view_mode">graph</field>
-            <field name="view_id" ref="view_project_vs_planned_total_hours_graph"/>
+            <field eval="2" name="sequence"/>
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_project_vs_planned_total_hours_tree"/>
             <field name="act_window_id" ref="action_project_vs_planned_total_hours_graph"/>
     </record>
     <record id="open_view_project_vs_planned_total_hours_graph" model="ir.actions.act_window.view">

=== modified file 'project_issue/board_project_issue_view.xml'
--- project_issue/board_project_issue_view.xml	2010-10-14 08:27:21 +0000
+++ project_issue/board_project_issue_view.xml	2010-11-02 05:21:12 +0000
@@ -90,13 +90,41 @@
             action="open_board_project_issue"/>
 
     <!-- For Project Dashboard -->
+            <record model="ir.ui.view" id="project_issue_board_tree_view">
+            <field name="name">Project Issue Board Tree</field>
+            <field name="model">project.issue</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Issue Tracker Tree" colors="black:state=='open';blue:state=='pending';grey:state in ('cancel', 'done')">
+                    <field name="id"/>
+                    <field name="create_date"/>
+                    <field name="name"/>
+                    <field name="partner_id" groups="base.group_extended"/>
+                    <field name="project_id" />
+                    <field name="priority" string="Priority"/>
+                    <field name="type_id" widget="selection" readonly="1"/>
+                    <button name="prev_type" string="Previous" type="object" icon="gtk-go-back" help="Change to Previous Stage"/>
+                    <button name="next_type" string="Next" type="object" icon="gtk-go-forward" help="Change to Next Stage"/>
+                    <field name="version_id" widget="selection"/>
+                    <field name="progress" widget="progressbar" attrs="{'invisible':[('task_id','=',False)]}"/>
+                    <field name="state"/>
+                    <button name="case_cancel" string="Cancel" states="draft,open,pending" type="object" icon="gtk-cancel"/>
+                    <button name="case_close" string="Done" states="open,draft,pending" type="object" icon="gtk-jump-to"/>
+                    <button name="case_open" string="Open" states="draft,pending" type="object" icon="gtk-go-forward" help="To Do"/>
+                    <button name="case_pending" string="Pending" states="draft,open" type="object" icon="gtk-media-pause"/>
+                    <button name="case_escalate" string="Escalate" states="open,draft,pending" type="object" icon="gtk-go-up"/>
+                    <button name="case_reset" string="Reset to Draft" states="done,cancel" type="object" icon="gtk-convert"/>
+                    <field name="categ_id" invisible="1"/>
+                </tree>
+            </field>
+        </record>
         <record id="action_view_my_project_issue_tree" model="ir.actions.act_window">
             <field name="name">My Project Issues</field>
             <field name="res_model">project.issue</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
-            <field name="domain">['|',('assigned_to','=',uid),('user_id','=',uid)]</field>
-           <field name="view_id" ref="project_issue.project_issue_tree_view"/>
+            <field name="domain">[('state','not in',('cancel','done')),'|',('assigned_to','=',uid),('user_id','=',uid)]</field>
+           <field name="view_id" ref="project_issue_board_tree_view"/>
         </record>
          <record id="view_my_open_project_issue_graph" model="ir.ui.view">
             <field name="name">my.open.project.issue.graph</field>

=== modified file 'project_scrum/board_project_scrum_view.xml'
--- project_scrum/board_project_scrum_view.xml	2010-10-13 07:51:20 +0000
+++ project_scrum/board_project_scrum_view.xml	2010-11-02 05:21:12 +0000
@@ -110,6 +110,7 @@
             <field name="arch" type="xml">
             	 <tree string="Scrum Sprint">
                     <field name="name"/>
+                    <field name="date_start"/>
                     <field name="progress" widget="progressbar"/>
                     <field name="effective_hours"  widget="float_time"/>
                     <field name="expected_hours"  widget="float_time"/>

=== modified file 'purchase/board_purchase_view.xml'
--- purchase/board_purchase_view.xml	2010-10-18 20:49:54 +0000
+++ purchase/board_purchase_view.xml	2010-11-02 05:21:12 +0000
@@ -33,8 +33,8 @@
             <field name="arch" type="xml">
                 <tree string="Monthly Purchase by Category">
                     <field name="month"/>
+                    <field name="category_id"/>
                     <field name="price_total"/>
-                    <field name="category_id"/>
                 </tree>
             </field>
         </record>
@@ -55,6 +55,7 @@
 	        <field name="res_model">purchase.report</field>
 	        <field name="view_type">form</field>
 	        <field name="view_mode">graph,tree</field>
+		<field name="context">{'group_by':['month','category_id'],'group_by_no_leaf':1}</field>
 	        <field name="view_id" ref="view_purchase_order_monthly_categ_graph"></field>
 	    </record>
 	    <record id="open_view_purchase_order_monthly_categ_tree" model="ir.actions.act_window.view">
@@ -97,6 +98,7 @@
 	        <field name="res_model">purchase.report</field>
 	        <field name="view_type">form</field>
 	        <field name="view_mode">graph,tree</field>
+		<field name="context">{'group_by':['partner_id'],'group_by_no_leaf':1}</field>
 	        <field name="view_id" ref="view_negotiation_by_supplier_graph"/>
 	    </record>
 	    <record id="open_view_negotiation_by_supplier_tree" model="ir.actions.act_window.view">

=== modified file 'purchase/report/order.rml'
--- purchase/report/order.rml	2010-10-14 10:36:10 +0000
+++ purchase/report/order.rml	2010-11-02 05:21:12 +0000
@@ -226,7 +226,7 @@
     <para style="terp_default_9">
       <font color="white"> </font>
     </para>
-    <blockTable colWidths="179.0,82.0,73.0,64.0,56.0,79.0" repeatRows="1" style="Table_Header_Pur_ord_Line">
+    <blockTable colWidths="180.0,85.0,71.0,71.0,57.0,71.0" repeatRows="1" style="Table_Header_Pur_ord_Line">
       <tr>
         <td>
           <para style="terp_tblheader_Details">Description</para>
@@ -250,7 +250,7 @@
     </blockTable>
     <section>
       <para style="terp_default_8">[[repeatIn(o.order_line,'line')]]</para>
-      <blockTable colWidths="179.0,82.0,73.0,64.0,57.0,79.0" style="Table_Order_Pur_line_Content">
+      <blockTable colWidths="179.0,85.0,71.0,71.0,57.0,71.0" style="Table_Order_Pur_line_Content">
         <tr>
           <td>
             <para style="terp_default_9">[[ line.name ]]</para>
@@ -265,7 +265,7 @@
             <para style="terp_default_Right_9">[[ formatLang(line.product_qty ) ]] [[ line.product_uom.name ]] </para>
           </td>
           <td>
-            <para style="Standard">[[ formatLang(line.price_unit, digits=get_digits(dp='Purchase Price') ) ]]</para>
+            <para style="terp_default_Right_9">[[ formatLang(line.price_unit, digits=get_digits(dp='Purchase Price') ) ]]</para>
           </td>
           <td>
             <para style="terp_default_Right_9">[[ formatLang(line.price_subtotal, digits=get_digits(dp='Purchase Price') ) ]] [[ o.pricelist_id.currency_id.symbol ]]</para>
@@ -303,7 +303,7 @@
         </tr>
       </blockTable>
     </section>
-    <blockTable colWidths="391.0,55.0,88.0" style="Table_All_Total_Detail">
+    <blockTable colWidths="394.0,55.0,85.0" style="Table_All_Total_Detail">
       <tr>
         <td>
           <para style="terp_default_9">

=== modified file 'purchase/report/order.sxw'
Binary files purchase/report/order.sxw	2010-10-14 10:36:10 +0000 and purchase/report/order.sxw	2010-11-02 05:21:12 +0000 differ
=== modified file 'purchase/report/purchase_report_view.xml'
--- purchase/report/purchase_report_view.xml	2010-10-27 05:51:43 +0000
+++ purchase/report/purchase_report_view.xml	2010-11-02 05:21:12 +0000
@@ -25,6 +25,7 @@
                     <field name="user_id" invisible="1"/>
                     <field name="partner_id" invisible="1"/>
                     <field name="product_id" invisible="1"/>
+                    <field name="category_id" invisible="1"/>
                     <field name="product_uom" invisible="1"/>
                     <field name="day" invisible="1"/>
                     <field name="name" invisible="1"/>
@@ -99,6 +100,7 @@
                     <filter string="Validated by" icon="terp-personal" context="{'group_by':'validator'}"/>
  					<separator orientation="vertical"/>
                     <filter string="Product" name="group_product_id" icon="terp-accessories-archiver" context="{'group_by':'product_id'}"/>
+                    <filter string="Category" name="group_category_id" icon="terp-accessories-archiver" context="{'group_by':'category_id'}"/>
                     <filter string="Product UOM" name="group_product_uom" icon="terp-accessories-archiver" context="{'group_by':'product_uom'}"/>
                     <filter string="Warehouse" icon="terp-go-home" context="{'group_by':'warehouse_id'}" groups="base.group_extended"/>
                     <filter string="Destination" icon="terp-gtk-jump-to-ltr" context="{'group_by':'location_id'}"/>

=== modified file 'sale/board_sale_view.xml'
--- sale/board_sale_view.xml	2010-10-18 20:49:54 +0000
+++ sale/board_sale_view.xml	2010-11-02 05:21:12 +0000
@@ -36,7 +36,6 @@
         <menuitem id="board.menu_dasboard" name="Dashboard" sequence="0" parent="base.next_id_64"/>
         <menuitem action="open_board_sales_manager" icon="terp-graph" id="menu_board_sales_manager" parent="board.menu_dasboard" sequence="0" groups="base.group_sale_manager"/>
 
-        <menuitem icon="terp-partner" id="base.menu_base_partner" name="Sales" sequence="0" action="open_board_sales_manager"/>
 
     </data>
 </openerp>

=== modified file 'sale/report/sale_report_view.xml'
--- sale/report/sale_report_view.xml	2010-10-27 11:59:22 +0000
+++ sale/report/sale_report_view.xml	2010-11-02 05:21:12 +0000
@@ -3,6 +3,7 @@
 <data>
 
     <record id="view_order_product_tree" model="ir.ui.view">
+        <field eval="1" name="priority"/>
         <field name="name">sale.report.tree</field>
         <field name="model">sale.report</field>
         <field name="type">tree</field>
@@ -163,6 +164,7 @@
         <field name="view_mode">graph,tree</field>
         <field name="domain">[('state','in',('manual','progress')),('date','&lt;=', time.strftime('%Y-%m-%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=90)).strftime('%Y-%m-%d'))]</field>
         <field name="view_id" ref="view_sales_by_partner_graph"/>
+        <field name="context">{'group_by_no_leaf':1,'group_by':['partner_id']}</field>
     </record>
     <record id="open_view_sales_by_partner_graph" model="ir.actions.act_window.view">
             <field eval="1" name="sequence"/>
@@ -208,6 +210,7 @@
         <field name="view_mode">graph,tree</field>
         <field name="domain">[('state','in',('manual','progress','done')),('date','&lt;=', time.strftime('%Y-%m-%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=90)).strftime('%Y-%m-%d'))]</field>
         <field name="view_id" ref="view_sales_by_salesman_graph"/>
+        <field name="context">{'group_by_no_leaf':1,'group_by':['user_id']}</field>
     </record>
    <record id="open_view_sales_by_salesman_graph" model="ir.actions.act_window.view">
             <field eval="7" name="sequence"/>
@@ -227,7 +230,7 @@
         <field name="type">tree</field>
         <field name="arch" type="xml">
             <tree string="Sales by Product Category">
-                <field name="product_id"/>
+                <field name="categ_id"/>
                 <field name="price_total"/>
             </tree>
         </field>
@@ -252,6 +255,7 @@
         <field name="view_mode">graph,tree</field>
         <field name="domain">[('state','in',('manual','progress','done')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=90)).strftime('%Y-%m-%d'))]</field>
         <field name="view_id" ref="view_sales_product_total_price_graph"/>
+        <field name="context">{'group_by_no_leaf':1,'group_by':['categ_id']}</field>
     </record>
     <record id="open_view_sales_product_total_price_graph" model="ir.actions.act_window.view">
             <field eval="3" name="sequence"/>

=== modified file 'stock/board_warehouse_view.xml'
--- stock/board_warehouse_view.xml	2010-10-16 16:47:09 +0000
+++ stock/board_warehouse_view.xml	2010-11-02 05:21:12 +0000
@@ -12,7 +12,7 @@
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
-            <field name="domain">['|','&amp;',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','in')]</field>
+            <field name="domain">[('state','in',('confirmed','assigned')),'|','&amp;',('picking_id','=',False),('location_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','in')]</field>
             <field name="view_id" ref="stock.view_move_tree_reception_picking_board"/>
         </record>
 
@@ -22,7 +22,7 @@
             <field name="type">ir.actions.act_window</field>
             <field name="view_type">form</field>
             <field name="view_mode">tree,form</field>
-            <field name="domain">['|','&amp;',('picking_id','=',False),('location_dest_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','out')]</field>
+            <field name="domain">[('state','in',('confirmed','assigned')),'|','&amp;',('picking_id','=',False),('location_dest_id.usage', 'in', ['customer','supplier']),'&amp;',('picking_id','!=',False),('picking_id.type','=','out')]</field>
             <field name="view_id" ref="stock.view_move_tree_reception_picking_board"/>
         </record>
 
@@ -30,7 +30,7 @@
             <field name="res_model">report.stock.move</field>
             <field name="view_type">form</field>
             <field name="view_mode">graph,tree</field>
-            <field name="domain">[('type','=','in')]</field>
+            <field name="domain">[('type','=','in'),('day','&lt;=', time.strftime('%Y-%m-%d')),('day','&gt;',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]</field>
             <field name="view_id" ref="stock.view_stock_graph_board"></field>
             <field name="context">{'search_default_month-1':1,'search_default_in':1,'group_by':['day'], 'group_by_no_leaf':1}</field>
          </record>
@@ -38,7 +38,7 @@
             <field name="res_model">report.stock.move</field>
             <field name="view_type">form</field>
             <field name="view_mode">graph,tree</field>
-            <field name="domain">[('type','=','out')]</field>
+            <field name="domain">[('type','=','out'),('day','&lt;=', time.strftime('%Y-%m-%d')),('day','&gt;',(datetime.date.today()-datetime.timedelta(days=15)).strftime('%Y-%m-%d'))]</field>
             <field name="view_id" ref="stock.view_stock_graph_board"></field>
             <field name="context">{'search_default_month-1':1,'search_default_out':1,'group_by':['day'], 'group_by_no_leaf':1}</field>
          </record>
@@ -50,13 +50,13 @@
                 <form string="Warehouse board">
                     <hpaned position="200">
                         <child1>
-                            <action colspan="4" name="%(action_incoming_product_board)d" string="Incoming Product" />
-                            <action colspan="4" name="%(action_outgoing_product_board)d" string="Outgoing Product" />
+                            <action colspan="4" name="%(action_incoming_product_board)d" string="Incoming Product"  width="510"/>
+                            <action colspan="4" name="%(action_outgoing_product_board)d" string="Outgoing Product" width="510"/>
                         </child1>
 
                         <child2>
-                            <action colspan="4" name="%(action_stock_incoming_product_delay)d" string="Incoming Products Delay" width="510"/>
-                            <action colspan="4" name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products delay" width="510"/>
+                            <action colspan="4" name="%(action_stock_incoming_product_delay)d" string="Incoming Products Delay" />
+                            <action colspan="4" name="%(action_stock_outgoing_product_delay)d" string="Outgoing Products Delay" />
                         </child2>
                     </hpaned>
                 </form>

=== modified file 'stock/report/report_stock_move_view.xml'
--- stock/report/report_stock_move_view.xml	2010-10-27 13:08:17 +0000
+++ stock/report/report_stock_move_view.xml	2010-11-02 05:21:12 +0000
@@ -33,7 +33,7 @@
                 <field name="value"  sum="Total value"/>
                 <field name="day_diff1"/>
                 <field name="day_diff"/>
-                <field name="day_diff2"/>
+                <field name="day_diff2" string="Delay(Days)"/>
            </tree>
         </field>
     </record>
@@ -56,7 +56,7 @@
          <field name="arch" type="xml">
              <graph string="Moves Analysis" type="bar">
                  <field name="day"/>
-                 <field name="day_diff2" operator="+"/>
+                 <field name="day_diff2" operator="+" string="Delay(Days)"/>
              </graph>
          </field>
     </record>


Follow ups