Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion runex_webshop_2_0/__openerp__.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
'security/ir.model.access.csv',
'views/product_view.xml',
'views/views.xml',
'views/website_sale_template.xml'
'views/website_sale_template.xml',
],
"test": [],
"js": [],
Expand Down
51 changes: 0 additions & 51 deletions runex_webshop_2_0/controllers/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -79,9 +79,6 @@ def process(self, products, ppg):

class website_sales(website_sale):

def get_pricelist(self):
return request.env.user.sudo().partner_id.property_product_pricelist

@http.route([
'/shop',
'/shop/page/<int:page>',
Expand Down Expand Up @@ -187,54 +184,6 @@ def shop(self, page=1, tag_id=None, category=None, search='', **post):
}
return request.website.render("website_sale.products", values)


# @http.route([
# '/shop',
# '/shop/page/<int:page>',
# '/shop/category/<model("product.public.category"):category>',
# '/shop/category/<model("product.public.category"):category>/page/<int:page>'
# ], type='http', auth="public", website=True)
# def shop(self, page=0, category=None, search='', **post):
# ppg = PPG
# res = super(website_sale, self).shop(page=page,
# category=category,
# search=search, ppg=ppg,
# **post)
# cr, uid, context, pool = request.cr, request.uid, request.context, request.registry
# if post.get('limit'):
# limit = post.get('limit')
# try:
# int(limit)
# ppg = abs(int(limit))
# except:
# pass
# if not context.get('pricelist'):
# pricelist = self.get_pricelist()
# context['pricelist'] = int(pricelist)
# else:
# pricelist = pool.get('product.pricelist').browse(cr, uid, context['pricelist'], context)
# post['order'] = post.get('order', 'name')
# view_type = 'grid_view'
# if post.get('view_type') and post.get('view_type') == 'list_view':
# view_type = 'list_view'
#
# attrib_list = request.httprequest.args.getlist('attrib')
# attrib_values = [map(int, v.split("-")) for v in attrib_list if v]
# domain = self._get_search_domain(search, category, attrib_values)
# product_obj = pool.get('product.template')
# product_count = product_obj.search_count(cr, uid, domain, context=context)
#
# res.qcontext.update({
# 'page': page,
# 'bins': table_compute().process(res.qcontext.get('products'), ppg),
# 'product_count': product_count,
# 'view_type': view_type,
# 'limit': ppg,
# # 'url': url,
# 'url': res.qcontext.get('keep'),
# })
# return res

def _get_search_domain(self, search, category, attrib_values):
domain = request.website.sale_product_domain()

Expand Down
2 changes: 0 additions & 2 deletions runex_webshop_2_0/models/__init__.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,2 @@
# -*- coding: utf-8 -*-
import pricelist
import product
import partners
14 changes: 0 additions & 14 deletions runex_webshop_2_0/views/views.xml
Original file line number Diff line number Diff line change
Expand Up @@ -17,20 +17,6 @@
</field>
</field>
</record>
<record id="res_lang_form" model="ir.ui.view">
<field name="name">res.lang.form.inherited.website_crm_campaign_runex</field>
<field name="model">res.lang</field>
<field name="inherit_id" ref="base.res_lang_form"/>
<field name="arch" type="xml">
<field name="translatable" position="after">
<field name="pricelist"/>
</field>
</field>
</record>





</data>
</openerp>
11 changes: 0 additions & 11 deletions runex_webshop_2_0/views/website_sale_template.xml
Original file line number Diff line number Diff line change
Expand Up @@ -101,17 +101,6 @@
<xpath expr="//img[@itemprop='image']" position="replace">
<img class="img img-responsive" t-att-src="'/imagefield/product.template/image/%s/ref/product_imagemagick.img_product_thumnail' %product.id" t-att-alt="product.name"/>
</xpath>
<xpath expr="//b" position="replace">
<b>
<span t-field="product.price" style="white-space: nowrap;" t-field-options='{
"widget": "monetary",
"display_currency": "user_id.partner_id.property_product_pricelist.currency_id"
}'>
</span>
<span itemprop="price" style="display:none;" t-esc="product.price"/>
<span itemprop="priceCurrency" style="display:none;" t-esc="user_id.partner_id.property_product_pricelist.currency_id.name" class='decimal_precision' t-att-data-precision="website.pricelist_id.currency_id.rounding"/>
</b>
</xpath>
<xpath expr="//div[@class='ribbon btn btn-danger']" position="attributes">
<attribute name="class">ribbon btn btn-danger ribbon-runex</attribute>
</xpath>
Expand Down
32 changes: 16 additions & 16 deletions website_crm_campaign_runex/campaign.py
Original file line number Diff line number Diff line change
Expand Up @@ -190,25 +190,25 @@ def get_campaigns(self):
# help="This pricelist will be used, instead of the default one, for sales to the current partner"),
# }

class ResPartner(models.Model):
_inherit = 'res.partner'

@api.model
def _commercial_fields(self):
return super(ResPartner, self)._commercial_fields() + ['partner_product_pricelist']

@api.model
def default_pricelist(self):
return self.env.ref('product.list0')
partner_product_pricelist = fields.Many2one(comodel_name='product.pricelist', domain=[('type','=','sale')], string='Sale Pricelist', help="This pricelist will be used, instead of the default one, for sales to the current partner", default=default_pricelist)

@api.model
def search_pricelist(self, operator, value):
return [('partner_product_pricelist', operator, value)]
# class ResPartner(models.Model):
# _inherit = 'res.partner'
#
# @api.model
# def _commercial_fields(self):
# return super(ResPartner, self)._commercial_fields() + ['partner_product_pricelist']
#
# @api.model
# def default_pricelist(self):
# return self.env.ref('product.list0')
# partner_product_pricelist = fields.Many2one(comodel_name='product.pricelist', domain=[('type','=','sale')], string='Sale Pricelist', help="This pricelist will be used, instead of the default one, for sales to the current partner", default=default_pricelist)
#
# @api.model
# def search_pricelist(self, operator, value):
# return [('partner_product_pricelist', operator, value)]

# class res_lang(models.Model):
# _inherit = 'res.lang'
#

# pricelist = fields.Many2one(
# comodel_name='product.pricelist',
# domain=[('type', '=', 'sale')],
Expand Down
6 changes: 3 additions & 3 deletions website_sale_cart_preview/views/templates.xml
Original file line number Diff line number Diff line change
Expand Up @@ -107,9 +107,9 @@
</template>


<template id="website_sale.header" inherit_id="website.layout" name="Header Shop My Cart Link">
<xpath expr="//header//ul[@id='top_menu']/li" position="before">
<t t-set="website_sale_order" t-value="website.sale_get_order()"/>
<template id="header" inherit_id="website_sale.header" name="Header Shop My Cart Link">
<xpath expr="//li[1]" position="replace">
<!--<t t-set="website_sale_order" t-value="website.sale_get_order()"/>-->
<li id="add_to_cart_preview" class="dropdown"
t-att-class="'' if website_sale_order and website_sale_order.cart_quantity else 'hidden'">
<a href="/shop/cart">
Expand Down
3 changes: 3 additions & 0 deletions website_sale_pricelist_lang/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# coding: utf-8
import controllers
import models
23 changes: 23 additions & 0 deletions website_sale_pricelist_lang/__openerp__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-

{
'name': 'eCommerce lang Price-list',
'version': '1.0',
'author': 'Linserv AB',
'sequence': 1,
'website': 'www.linserv.se',
'summary': 'change pricelist and currency when lang is changed',
'contributors': [
'Azer GHADHOUN <ghadhoun.azer@gmail.com>'
],
'description': """
""",
'depends': ['website_sale'],
'data': [
'views/views.xml',
'views/website_sale_template.xml',
],
'installable': True,
'auto_install': False,
}

1 change: 1 addition & 0 deletions website_sale_pricelist_lang/controllers/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
import main
13 changes: 13 additions & 0 deletions website_sale_pricelist_lang/controllers/main.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# -*- coding: utf-8 -*-
from openerp.http import request
from openerp.addons.website_sale.controllers.main import website_sale, QueryURL
import logging
_logger = logging.getLogger(__name__)



class WebsiteSalePriceList(website_sale):

def get_pricelist(self):
return request.env.user.sudo().partner_id.property_product_pricelist

3 changes: 3 additions & 0 deletions website_sale_pricelist_lang/models/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# -*- coding: utf-8 -*-
import pricelist
import partners
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
# -*- coding: utf-8 -*-
from openerp import models, fields as new_fields, api, _
from openerp.osv import fields
from openerp.osv import osv
from openerp.http import request
Expand All @@ -13,8 +14,8 @@ class res_partner(osv.osv):
def _property_product_pricelist(self, cr, uid, ids, name, arg, context=None):
res = {}
for id in ids:
# if id == self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'public_partner')[1]:
if True:
if id == self.pool.get('ir.model.data').get_object_reference(cr, uid, 'base', 'public_partner')[1]:
# if True:
lang = request.context.get('lang')
pricelist = self.pool.get('product.pricelist').browse(cr, uid,
self.pool.get('product.pricelist').search(cr, uid,
Expand Down Expand Up @@ -45,16 +46,16 @@ def _property_product_pricelist(self, cr, uid, ids, name, arg, context=None):
pricelist = self.pool.get('product.pricelist').browse(cr, uid,pricelist_list ,context=context)
if not pricelist:
raise Warning(_("No pricelist found for your language! Please contact the administrator."))
# else:
# partner = self.pool.get('res.partner').read(cr, uid, id, ['partner_product_pricelist', 'lang', 'commercial_partner_id'], context=context)
# # The compute breaks the commercial fields handling. Check if this partner is it's own commercial partner to account for that.
# if partner['commercial_partner_id'] and partner['commercial_partner_id'][0] != id:
# # Get the pricelist from the commercial partner and move along.
# res[id] = self._property_product_pricelist(cr, uid, [partner['commercial_partner_id'][0]], name, arg, context)[partner['commercial_partner_id'][0]]
# continue
# lang = partner['lang']
# pricelist = self.pool.get('product.pricelist').browse(cr, uid,
# partner['partner_product_pricelist'] and partner['partner_product_pricelist'][0] or [], context=context)
else:
partner = self.pool.get('res.partner').read(cr, uid, id, ['partner_product_pricelist', 'lang', 'commercial_partner_id'], context=context)
# The compute breaks the commercial fields handling. Check if this partner is it's own commercial partner to account for that.
if partner['commercial_partner_id'] and partner['commercial_partner_id'][0] != id:
# Get the pricelist from the commercial partner and move along.
res[id] = self._property_product_pricelist(cr, uid, [partner['commercial_partner_id'][0]], name, arg, context)[partner['commercial_partner_id'][0]]
continue
lang = partner['lang']
pricelist = self.pool.get('product.pricelist').browse(cr, uid,
partner['partner_product_pricelist'] and partner['partner_product_pricelist'][0] or [], context=context)
if pricelist:
res[id] = pricelist.id
else:
Expand All @@ -70,3 +71,29 @@ def _property_product_pricelist(self, cr, uid, ids, name, arg, context=None):
string="Sale Pricelist",
help="This pricelist will be used, instead of the default one, for sales to the current partner"),
}


class ResPartner(models.Model):
_inherit = 'res.partner'

@api.model
def _commercial_fields(self):
return super(ResPartner, self)._commercial_fields() + ['partner_product_pricelist']

@api.model
def default_pricelist(self):
return self.env.ref('product.list0')

partner_product_pricelist = new_fields.Many2one(
comodel_name='product.pricelist',
domain=[('type', '=', 'sale')],
string='Sale Pricelist',
help="This pricelist will be used, instead of the default one, for sales to the current partner",
default=default_pricelist
)

@api.model
def search_pricelist(self, operator, value):
return [('partner_product_pricelist', operator, value)]


Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
32 changes: 32 additions & 0 deletions website_sale_pricelist_lang/views/views.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

<record id="view_partner_property_form" model="ir.ui.view">
<field name="name">res.partner.product.property.form.inherited.website_crm_campaign_runex</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="product.view_partner_property_form"/>
<field name="arch" type="xml">
<field name="property_product_pricelist" position="before">
<field name="partner_product_pricelist" groups="product.group_sale_pricelist"/>
</field>
<field name="property_product_pricelist" position="attributes">
<attribute name="invisible">1</attribute>
</field>
</field>
</record>
<record id="res_lang_form" model="ir.ui.view">
<field name="name">res.lang.form.inherited.website_crm_campaign_runex</field>
<field name="model">res.lang</field>
<field name="inherit_id" ref="base.res_lang_form"/>
<field name="arch" type="xml">
<field name="translatable" position="after">
<field name="pricelist"/>
</field>
</field>
</record>



</data>
</openerp>
20 changes: 20 additions & 0 deletions website_sale_pricelist_lang/views/website_sale_template.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="utf-8"?>
<openerp>
<data>

<template id="products_item" inherit_id="website_sale.products_item">
<xpath expr="//b" position="replace">
<b>
<span t-field="product.price" style="white-space: nowrap;" t-field-options='{
"widget": "monetary",
"display_currency": "user_id.partner_id.property_product_pricelist.currency_id"
}'>
</span>
<span itemprop="price" style="display:none;" t-esc="product.price"/>
<span itemprop="priceCurrency" style="display:none;" t-esc="user_id.partner_id.property_product_pricelist.currency_id.name" class='decimal_precision' t-att-data-precision="website.pricelist_id.currency_id.rounding"/>
</b>
</xpath>
</template>

</data>
</openerp>
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.