[IMP] purchase: Add new menu Outcoming shipment
authornel@tinyerp.com <>
Tue, 8 Jun 2010 07:12:11 +0000 (09:12 +0200)
committernel@tinyerp.com <>
Tue, 8 Jun 2010 07:12:11 +0000 (09:12 +0200)
bzr revid: nel@tinyerp.com-20100608071211-6zoxwf19wfy0gaxi

addons/purchase/purchase_view.xml
addons/purchase/report/purchase_report_view.xml [new file with mode: 0644]
addons/stock/stock.py
addons/stock/stock_view.xml

index 10c5ccd..17fd47b 100644 (file)
@@ -23,6 +23,7 @@
               name="Incoming Shipments" sequence="9"/>
         <menuitem action="stock.action_reception_picking_move" id="menu_action_reception_picking_move"
               name="Incoming Products" parent="menu_procurement_management_inventory" sequence="10"/>
+      <menuitem action="stock.action_picking_tree_out" id="menu_action_picking_treeout" parent="menu_procurement_management_inventory" sequence="11"/>
 
      <!--Invoice control-->
       <menuitem id="menu_procurement_management_invoice" name="Invoice Control"
diff --git a/addons/purchase/report/purchase_report_view.xml b/addons/purchase/report/purchase_report_view.xml
new file mode 100644 (file)
index 0000000..468f389
--- /dev/null
@@ -0,0 +1,203 @@
+<?xml version="1.0" encoding="utf-8"?>
+<openerp>
+    <data>
+        <record model="ir.ui.view" id="view_purchase_order_graph">
+            <field name="name">product.month.graph</field>
+            <field name="model">purchase.report</field>
+            <field name="type">graph</field>
+            <field name="arch" type="xml">
+                <graph string="Purchase Orders Statistics" type="bar">
+                    <field name="product_id"/>
+                    <field name="quantity" operator="+"/>
+                    <field name="price_total" operator="+"/>
+                </graph>
+            </field>
+        </record>
+
+        <record id="view_purchase_order_tree" model="ir.ui.view">
+            <field name="name">purchase.order.tree</field>
+            <field name="model">purchase.report</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Purchase Orders Statistics">
+                       <field name="date" invisible="1"/>
+                       <field name="date_approve" invisible="1"/>
+                       <field name="expected_date" invisible="1"/>
+                       <field name="user_id" invisible="1"/>
+                       <field name="partner_id" invisible="1"/>
+                    <field name="product_id" invisible="1"/>
+                    <field name="quantity" invisible="1"/>
+                       <field name="day" invisible="1"/>
+                    <field name="name" invisible="1"/>
+                    <field name="month" invisible="1"/>
+                    <field name="warehouse_id" invisible="1"/>
+                    <field name="validator" invisible="1"/>
+                    <field name="company_id" invisible="1"/>
+                    <field name="state" invisible="1"/>
+                    <field name="location_id" invisible="1"/>
+                    <field name="shipped_qty" sum="# of received"/>
+                    <field name="invoiced_qty" sum="# of invoiced"/>
+                    <field name="nbr" sum="# of Lines"/>
+                    <field name="price_average" avg="Average Price"/>
+                       <field name="price_total" sum="Total Price"/>
+                    <field name="delay" sum="# Days to close"/>
+                       <field name="delay_pass" sum="Total Price"/>
+                </tree>
+            </field>
+        </record>
+
+        <record id="view_purchase_order_search" model="ir.ui.view">
+        <field name="name">report.purchase.order.search</field>
+        <field name="model">purchase.report</field>
+        <field name="type">search</field>
+        <field name="arch" type="xml">
+            <search string="Purchase Orders">
+            <group colspan="10" col="12">
+               <filter icon="terp-purchase" string="This Year"
+                                   domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')),('date','&gt;',(datetime.date.today()-datetime.timedelta(days=365)).strftime('%%Y-%%m-%%d'))]"
+                                   help="Tasks performed in this year"/>
+                <filter icon="terp-purchase" string="This Month"
+                               name="month"
+                               domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=30)).strftime('%%Y-%%m-%%d'))]"
+                               help="Tasks performed in this month"/>
+                <filter icon="gtk-media-rewind"
+                        string="    7 Days    "
+                        separator="1"
+                        domain="[('date','&lt;=', time.strftime('%%Y-%%m-%%d')), ('date','&gt;',(datetime.date.today()-datetime.timedelta(days=7)).strftime('%%Y-%%m-%%d'))]"
+                        help="Tasks during last 7 days"/>
+                <separator orientation="vertical"/>
+                <filter icon="terp-purchase"
+                       string="Quotations"
+                       domain="[('state','=','draft')]"/>
+                <filter icon="terp-purchase"
+                               string="Waiting Schedule"
+                               domain="[('state','=','waiting_date')]"/>
+                <filter icon="terp-purchase"
+                               string="Manual in progress"
+                               domain="[('state','=','manual')]"/>
+                <filter icon="terp-purchase" string="Done" domain="[('state','=','done')]"/>
+
+                <separator orientation="vertical"/>
+                <field name="partner_id" string="Supplier"/>
+                <field name="product_id"/>
+                <field name="user_id" widget="selection">
+                    <filter icon="terp-purchase"
+                               string="Purchase Non User"
+                               help="Purchase Non User"
+                               domain="[('user_id','=',False)]"/>
+                </field>
+                               </group>
+                               <newline/>
+                <group expand="1" string="Group By..." colspan="10" col="12">
+                    <filter string="Responsible" name="Responsible" icon="terp-purchase" context="{'group_by':'user_id'}"/>
+                    <filter string="Supplier" name="partner_id" icon="terp-purchase" context="{'group_by':'partner_id'}"/>
+                    <filter string="Validated by" icon="terp-purchase" context="{'group_by':'validator'}"/>
+                    <separator orientation="vertical"/>
+                    <filter string="Product" icon="terp-purchase" context="{'group_by':'product_id'}"/>
+                    <separator orientation="vertical"/>
+                    <filter string="State" icon="terp-purchase" context="{'group_by':'state'}"/>
+                    <separator orientation="vertical"/>
+                    <filter string="Warehouse" icon="terp-purchase" context="{'group_by':'warehouse_id'}"/>
+                    <filter string="Destination" icon="terp-purchase" context="{'group_by':'location_id'}"/>
+                    <filter string="Company" icon="terp-purchase" context="{'group_by':'company_id'}" groups="base.group_multi_company"/>
+                    <separator orientation="vertical"/>
+                    <filter string="Day" icon="terp-purchase" context="{'group_by':'day'}"/>
+                    <filter string="Month" icon="terp-purchase" context="{'group_by':'month'}"/>
+                    <filter string="Year" icon="terp-purchase" context="{'group_by':'name'}"/>
+                </group>
+                               <newline/>
+                <group expand="0" string="Extended filters..." colspan="10" col="12" groups="base.group_extended">
+                    <field name="date"/>
+                    <field name="date_approve"/>
+                    <field name="expected_date"/>
+                    <newline/>
+                    <field name="invoice_method"/>
+                    <field name="warehouse_id" widget="selection"/>
+                    <field name="validator" widget="selection"/>
+                    <separator orientation="vertical"/>
+                    <field name="location_id"/>
+                    <field name="company_id" groups="base.group_multi_company" widget="selection"/>
+                </group>
+            </search>
+        </field>
+    </record>
+
+    <record id="action_purchase_order_report_all" model="ir.actions.act_window">
+        <field name="name">Purchase Orders</field>
+        <field name="res_model">purchase.report</field>
+        <field name="view_type">form</field>
+        <field name="view_mode">tree,graph</field>
+        <field name="search_view_id" ref="view_purchase_order_search"/>
+        <field name="context">{'search_default_month':1,'search_default_Responsible':1,'group_by_no_leaf':1,'group_by':[]}</field>
+    </record>
+
+    <menuitem id="base.next_id_73" name="Reporting" parent="base.menu_purchase_root" sequence="8"/>
+    <menuitem action="action_purchase_order_report_all" id="menu_action_purchase_order_report_all" parent="base.next_id_73" sequence="3"/>
+
+       <record model="ir.ui.view" id="view_purchase_order_qty_amount_graph">
+            <field name="name">purchase.order.qty.amount.graph</field>
+            <field name="model">purchase.order.qty.amount</field>
+            <field name="type">graph</field>
+            <field name="arch" type="xml">
+                <graph string="Total Qty and Amount by month" type="bar">
+                    <field name="month"/>
+                    <field name="total_qty" operator="+"/>
+                    <field name="total_amount" operator="+"/>
+                </graph>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="view_purchase_order_qty_amount_tree">
+            <field name="name">purchase.order.qty.amount.tree</field>
+            <field name="model">purchase.order.qty.amount</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Total Qty and Amount by month" >
+                    <field name="month"/>
+                    <field name="total_qty" />
+                    <field name="total_amount"/>
+                </tree>
+            </field>
+        </record>
+
+           <record id="action_purchase_order_qty_amount_all" model="ir.actions.act_window">
+               <field name="name">Total Qty and Amount by month</field>
+               <field name="res_model">purchase.order.qty.amount</field>
+               <field name="view_type">form</field>
+               <field name="view_mode">graph,tree</field>
+           </record>
+
+           <record model="ir.ui.view" id="view_purchase_order_by_user_graph">
+            <field name="name">purchase.order.by.user.graph</field>
+            <field name="model">purchase.order.by.user</field>
+            <field name="type">graph</field>
+            <field name="arch" type="xml">
+                <graph string="Total Orders by User per month" type="bar">
+                    <field name="name" />
+                    <field name="month" group="True" />
+                    <field name="nbr" operator="+"/>
+                </graph>
+            </field>
+        </record>
+
+        <record model="ir.ui.view" id="view_purchase_order_by_user_tree">
+            <field name="name">purchase.order.by.user.tree</field>
+            <field name="model">purchase.order.by.user</field>
+            <field name="type">tree</field>
+            <field name="arch" type="xml">
+                <tree string="Total Orders by User per month" >
+                       <field name="name"/>
+                    <field name="month"/>
+                    <field name="nbr" />
+                </tree>
+            </field>
+        </record>
+
+           <record id="action_purchase_order_by_user_all" model="ir.actions.act_window">
+               <field name="name">Total Orders by User per month</field>
+               <field name="res_model">purchase.order.by.user</field>
+               <field name="view_type">form</field>
+               <field name="view_mode">graph,tree</field>
+           </record>
+    </data>
+</openerp>
index 6c3d09f..87d8acf 100644 (file)
@@ -814,7 +814,7 @@ class stock_picking(osv.osv):
                 invoices_group[partner.id] = invoice_id
             res[picking.id] = invoice_id
             for move_line in picking.move_lines:
-                origin = move_line.picking_id.name
+                origin = move_line.picking_id.name or ''
                 if move_line.picking_id.origin:
                     origin += ':' + move_line.picking_id.origin
                 if group:
index d821ab3..553d398 100644 (file)
             <field name="view_id" ref="view_move_delivery_products_planned_graph"/>
         </record>
 
+        <record id="action_picking_tree_out" model="ir.actions.act_window">
+            <field name="name">Outcoming Shipments</field>
+            <field name="res_model">stock.picking</field>
+            <field name="type">ir.actions.act_window</field>
+            <field name="view_type">form</field>
+            <field name="view_mode">tree,form,calendar</field>
+            <field name="domain">[('type','=','out')]</field>
+            <field name="context">{'contact_display': 'partner',"search_default_available":1}</field>
+            <field name="search_view_id" ref="view_picking_in_search"/>
+        </record>
+        <record id="action_invoice_tree5_out" model="ir.actions.act_window.view">
+            <field eval="1" name="sequence"/>
+            <field name="view_mode">tree</field>
+            <field name="view_id" ref="view_picking_in_tree"/>
+            <field name="act_window_id" ref="action_picking_tree_out"/>
+        </record>
+        <record id="action_invoice_tree5_view2_out" model="ir.actions.act_window.view">
+            <field eval="2" name="sequence"/>
+            <field name="view_mode">form</field>
+            <field name="view_id" ref="view_picking_in_form"/>
+            <field name="act_window_id" ref="action_picking_tree_out"/>
+        </record>
+        <record id="action_invoice_tree5_viewout_cal" model="ir.actions.act_window.view">
+            <field eval="3" name="sequence"/>
+            <field name="view_mode">calendar</field>
+            <field name="act_window_id" ref="action_picking_tree_out"/>
+        </record>
     </data>
 </openerp>