[IMP] Improved code by shifting the complete code to website_sale rather than doing...
authorParamjit Singh Sahota <psa@tinyerp.com>
Thu, 10 Apr 2014 08:56:13 +0000 (14:26 +0530)
committerParamjit Singh Sahota <psa@tinyerp.com>
Thu, 10 Apr 2014 08:56:13 +0000 (14:26 +0530)
addons/sale/sale.py
addons/sale/sale_view.xml
addons/website_sale/models/website.py
addons/website_sale/views/website_sale_backend.xml

index f480447..48b09ec 100644 (file)
@@ -170,7 +170,6 @@ class sale_order(osv.osv):
         'client_order_ref': fields.char('Customer Reference', size=64),
         'state': fields.selection([
             ('draft', 'Draft Quotation'),
-            ('shopping_cart', 'Shopping Cart'),
             ('sent', 'Quotation Sent'),
             ('cancel', 'Cancelled'),
             ('waiting_date', 'Waiting Schedule'),
index 40daf55..c9ffb94 100644 (file)
                         <button name="action_quotation_send" string="Send by Email" type="object" states="sent,progress,manual" groups="base.group_user"/>
                         <button name="print_quotation" string="Print" type="object" states="draft" class="oe_highlight" groups="base.group_user"/>
                         <button name="print_quotation" string="Print" type="object" states="sent,progress,manual" groups="base.group_user"/>
-                        <button name="action_button_confirm" states="draft,shopping_cart" string="Confirm Sale" type="object" groups="base.group_user"/>
+                        <button name="action_button_confirm" states="draft" string="Confirm Sale" type="object" groups="base.group_user"/>
                         <button name="action_button_confirm" states="sent" string="Confirm Sale" class="oe_highlight" type="object" groups="base.group_user"/>
                         <button name="action_view_invoice" string="View Invoice" type="object" class="oe_highlight"
                             attrs="{'invisible': [('invoice_exists', '=', False)]}" groups="base.group_user"/>
                         <button name="%(action_view_sale_advance_payment_inv)d" string="Create Invoice"
                             type="action" states="manual" class="oe_highlight" groups="base.group_user"/>
                         <button name="copy_quotation" states="cancel" string="New Copy of Quotation" type="object"/>
-                        <button name="cancel" states="draft,shopping_cart,sent" string="Cancel Quotation" groups="base.group_user"/>
+                        <button name="cancel" states="draft,sent" string="Cancel Quotation" groups="base.group_user"/>
                         <button name="action_cancel" states="manual,progress" string="Cancel Order" type="object" groups="base.group_user"/>
                         <button name="invoice_cancel" states="invoice_except" string="Cancel Order" groups="base.group_user"/>
                         <field name="state" widget="statusbar" statusbar_visible="draft,sent,progress,done" statusbar_colors='{"invoice_except":"red","waiting_date":"blue"}'/>
                     'search_default_my_sale_orders_filter': 1
                 }
             </field>
-            <field name="domain">[('state', 'not in', ('draft', 'shopping_cart', 'sent', 'cancel'))]</field>
+            <field name="domain">[('state', 'not in', ('draft', 'sent', 'cancel'))]</field>
             <field name="help" type="html">
                 <p class="oe_view_nocontent_create">
                     Click to create a quotation that can be converted into a sales
             <field name="view_id" ref="view_quotation_tree"/>
             <field name="view_mode">tree,form,calendar,graph</field>
             <field name="context">{'search_default_my_sale_orders_filter': 1}</field>
-            <field name="domain">[('state','in',('draft','shopping_cart','sent','cancel'))]</field>
+            <field name="domain">[('state','in',('draft','sent','cancel'))]</field>
             <field name="search_view_id" ref="view_sales_order_filter"/>
             <field name="help" type="html">
               <p class="oe_view_nocontent_create">
index d3d8ba6..d79d319 100644 (file)
@@ -1,6 +1,6 @@
 # -*- coding: utf-8 -*-
 import uuid
-from openerp.osv import orm, fields
+from openerp.osv import orm, osv, fields
 from openerp.addons.web.http import request
 from openerp import SUPERUSER_ID
 
@@ -147,7 +147,7 @@ class Website(orm.Model):
         quotation_values = self._ecommerce_get_quotation_values(cr, uid, context=context)
         quotation_values['user_id'] = False
         quotation_values['section_id'] = self.pool.get('crm.case.section').search(cr, SUPERUSER_ID, [('code', '=', 'SPC')], context=context)[0]
-        # quotation_values['state'] = 'shopping_cart'
+        quotation_values['state'] = 'shopping_cart'
         return SaleOrder.create(cr, SUPERUSER_ID, quotation_values, context=context)
 
     def ecommerce_get_new_order(self, cr, uid, context=None):
@@ -222,3 +222,21 @@ class Website(orm.Model):
 
     def ecommerce_get_product_domain(self):
         return [("sale_ok", "=", True),("product_variant_ids","!=",False)]
+
+class sale_order(osv.osv):
+    _inherit = "sale.order"
+
+    _columns = {
+        'state': fields.selection([
+            ('draft', 'Draft Quotation'),
+            ('shopping_cart', 'Shopping Cart'),
+            ('sent', 'Quotation Sent'),
+            ('cancel', 'Cancelled'),
+            ('waiting_date', 'Waiting Schedule'),
+            ('progress', 'Sales Order'),
+            ('manual', 'Sale to Invoice'),
+            ('invoice_except', 'Invoice Exception'),
+            ('done', 'Done'),
+            ], 'Status', readonly=True,
+            help="Gives the status of the quotation or sales order. \nThe exception status is automatically set when a cancel operation occurs in the processing of a document linked to the sales order. \nThe 'Waiting Schedule' status is set when the invoice is confirmed but waiting for the scheduler to run on the order date.", select=True),
+    }
index 863c47a..dd5b2ce 100644 (file)
       </field>
     </record>
 
+    <record id="sale_order_form_state_button" model="ir.ui.view">
+        <field name="name">sale.order.form.state.button</field>
+        <field name="model">sale.order</field>
+        <field name="inherit_id" ref="sale.view_order_form"/>
+        <field name="arch" type="xml">
+            <field name='state' position="before">
+                <button name="action_button_confirm" states="shopping_cart" string="Confirm Sale" type="object" groups="base.group_user"/>
+                <button name="cancel" states="shopping_cart" string="Cancel Quotation" groups="base.group_user"/>
+            </field>
+        </field>
+    </record>
+
+    <record id="sale.action_orders" model="ir.actions.act_window">
+        <field name="domain">[('state', 'not in', ('draft', 'shopping_cart', 'sent', 'cancel'))]</field>
+    </record>
+
+    <record id="sale.action_quotations" model="ir.actions.act_window">
+        <field name="domain">[('state','in',('draft','shopping_cart','sent','cancel'))]</field>
+    </record>
+
  </data>
 </openerp>