[IMP]Added the 'Shopping Carts' sales team and improved code accordingly

This commit is contained in:
Paramjit Singh Sahota 2014-03-05 12:30:24 +05:30
parent b54b8681a0
commit b6c748ffe6
5 changed files with 14 additions and 5 deletions

View File

@ -170,6 +170,7 @@ 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'),

View File

@ -80,14 +80,14 @@
<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" string="Confirm Sale" type="object" 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="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,sent" string="Cancel Quotation" groups="base.group_user"/>
<button name="cancel" states="draft,shopping_cart,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"}'/>
@ -277,7 +277,7 @@
'search_default_my_sale_orders_filter': 1
}
</field>
<field name="domain">[('state', 'not in', ('draft', 'sent', 'cancel'))]</field>
<field name="domain">[('state', 'not in', ('draft', 'shopping_cart', '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
@ -321,7 +321,7 @@
<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','sent','cancel'))]</field>
<field name="domain">[('state','in',('draft','shopping_cart','sent','cancel'))]</field>
<field name="search_view_id" ref="view_sales_order_filter"/>
<field name="help" type="html">
<p class="oe_view_nocontent_create">

View File

@ -323,7 +323,7 @@ class Ecommerce(http.Controller):
# must have a draft sale order with lines at this point, otherwise reset
order = self.get_order()
if order and order.state != 'draft':
if order and order.state not in ['draft','shopping_cart']:
request.registry['website'].sale_reset_order(cr, uid, context=context)
return request.redirect('/shop/')

View File

@ -32,5 +32,11 @@
<field name="html_class">oe_image_full</field>
</record>
<record model="crm.case.section" id="crm_case_section_shopping_carts">
<field name="name">Shopping Carts</field>
<field name="code">SPC</field>
<field name="member_ids" eval="[(4, ref('base.user_root')),(4, ref('base.user_demo'))]"/>
</record>
</data>
</openerp>

View File

@ -146,6 +146,8 @@ class Website(orm.Model):
SaleOrder = self.pool.get('sale.order')
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)
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):