request.cr.execute('SAVEPOINT pagenew')
imd = request.registry['ir.model.data']
view = request.registry['ir.ui.view']
- view_model, view_id = imd.get_object_reference(request.cr, request.uid, 'website', 'default_page')
- newview_id = view.copy(request.cr, request.uid, view_id)
- newview = view.browse(request.cr, request.uid, newview_id)
+ view_model, view_id = imd.get_object_reference(
+ request.cr, request.uid, 'website', 'default_page')
+ newview_id = view.copy(
+ request.cr, request.uid, view_id, context=request.context)
+ newview = view.browse(
+ request.cr, request.uid, newview_id, context=request.context)
newview.write({
'arch': newview.arch.replace("website.default_page", path),
'name': "page/%s" % path,
'model': 'ir.ui.view',
'res_id': newview_id,
'noupdate': True
- })
+ }, context=request.context)
except psycopg2.IntegrityError:
request.cr.execute('ROLLBACK TO SAVEPOINT pagenew')
else:
imd = request.registry['ir.model.data']
view = request.registry['ir.ui.view']
- view_model, view_option_id = imd.get_object_reference(request.cr, request.uid, 'website', 'theme')
- views = view.search(request.cr, request.uid, [('inherit_id','=',view_option_id)])
- view.write(request.cr, request.uid, views, {'inherit_id': False})
+ view_model, view_option_id = imd.get_object_reference(
+ request.cr, request.uid, 'website', 'theme')
+ views = view.search(
+ request.cr, request.uid, [('inherit_id', '=', view_option_id)],
+ context=request.context)
+ view.write(request.cr, request.uid, views, {'inherit_id': False},
+ context=request.context)
if theme_id:
module, xml_id = theme_id.split('.')
- view_model, view_id = imd.get_object_reference(request.cr, request.uid, module, xml_id)
- view.write(request.cr, request.uid, [view_id], {'inherit_id':view_option_id})
+ view_model, view_id = imd.get_object_reference(
+ request.cr, request.uid, module, xml_id)
+ view.write(request.cr, request.uid, [view_id],
+ {'inherit_id': view_option_id}, context=request.context)
return request.webcontext.render('website.themes', {'theme_changed': True})
@website.route('/website/customize_template_toggle', type='json', auth='admin') # FIXME: auth
def customize_template_set(self, view_id):
view_obj = request.registry.get("ir.ui.view")
- view = view_obj.browse(request.cr, request.uid, int(view_id), context=request.context)
+ view = view_obj.browse(request.cr, request.uid, int(view_id),
+ context=request.context)
if view.inherit_id:
value = False
else:
@website.route('/website/customize_template_get', type='json', auth='admin') # FIXME: auth
def customize_template_get(self, xml_id):
imd = request.registry['ir.model.data']
- view_model, view_theme_id = imd.get_object_reference(request.cr, request.uid, 'website', 'theme')
+ view_model, view_theme_id = imd.get_object_reference(
+ request.cr, request.uid, 'website', 'theme')
view = request.registry.get("ir.ui.view")
views = view._views_get(request.cr, request.uid, xml_id, request.context)
done = {}
result = []
for v in views:
- if v.inherit_option_id and v.inherit_option_id.id<>view_theme_id:
+ if v.inherit_option_id and v.inherit_option_id.id != view_theme_id:
if v.inherit_option_id.id not in done:
result.append({
'name': v.inherit_option_id.name,
width = int(resize[0])
height = int(resize[1])
# resize maximum 500*500
- if width > 500: width = 500
- if height > 500: height = 500
+ if width > 500:
+ width = 500
+ if height > 500:
+ height = 500
image_base64 = openerp.tools.image_resize_image(base64_source=image_base64, size=(width, height), encoding='base64', filetype='PNG')
image_data = base64.b64decode(image_base64)
_object = request.registry[post['object']]
obj = _object.browse(request.cr, request.uid, _id)
- _object.write(request.cr, request.uid, [_id], {'website_published': not obj.website_published})
+ _object.write(request.cr, request.uid, [_id],
+ {'website_published': not obj.website_published},
+ context=request.context)
obj = _object.browse(request.cr, request.uid, _id)
return obj.website_published and "1" or "0"
-@charset "utf-8";
/* ---- CKEditor Minimal Reset ---- */
.navbar.navbar-inverse .cke_chrome {
border: none;
position: fixed;
top: 0;
right: 0;
- z-index: 10;
display: block;
width: 100%;
padding: 2px;
- margin: 0px;
+ margin: 0;
z-index: 10000;
background-color: #414141;
background: -webkit-linear-gradient(#646060, #262626);
top: 2px;
}
+/* ---- EDITOR BAR ---- */
+table.editorbar-panel {
+ cursor: pointer;
+ width: 100%;
+}
+table.editorbar-panel td.selected {
+ background-color: #b1c9d9;
+}
+
+/* ---- RTE ---- */
+.oe_editable .btn {
+ -webkit-user-select: auto;
+ -moz-user-select: auto;
+ -ms-user-select: auto;
+ -o-user-select: auto;
+ user-select: auto;
+}
+
/* ---- SNIPPET EDITOR ---- */
.oe_snippets {
position: fixed;
position: fixed
top: 0
right: 0
- z-index: 10
display: block
width: 100%
padding: 2px
- margin: 0px
+ margin: 0
z-index: 10000
background-color: #414141
background: -webkit-linear-gradient(#646060, #262626)
position: relative !important
top: +2px
+/* ---- EDITOR BAR ---- */
+
+table.editorbar-panel
+ cursor: pointer
+ width: 100%
+ td.selected
+ background-color: #b1c9d9
+
+/* ---- RTE ---- */
+
+// bootstrap makes .btn elements unselectable -> RTE double-click can't know
+// about them either
+.oe_editable .btn
+ -webkit-user-select: auto
+ -moz-user-select: auto
+ -ms-user-select: auto
+ -o-user-select: auto
+ user-select: auto
+
/* ---- SNIPPET EDITOR ---- */
.oe_snippets
.oe_remove
color: $remove_color
.oe_seo_suggestion
- cursor: pointer
\ No newline at end of file
+ cursor: pointer
canUndo: false,
editorFocus: true,
});
+ }
+ });
+ CKEDITOR.plugins.add( 'tablebutton', {
+ requires: 'panelbutton,floatpanel',
+ init: function( editor ) {
+ var label = "Table";
+
+ editor.ui.add('TableButton', CKEDITOR.UI_PANELBUTTON, {
+ label: label,
+ title: label,
+ // use existing 'table' icon
+ icon: 'table',
+ modes: { wysiwyg: true },
+ editorFocus: true,
+ // panel opens in iframe, @css is CSS file <link>-ed within
+ // frame document, @attributes are set on iframe itself.
+ panel: {
+ css: '/website/static/src/css/editor.css',
+ attributes: { 'role': 'listbox', 'aria-label': label, },
+ },
+ onBlock: function (panel, block) {
+ block.autoSize = true;
+ block.element.setHtml(openerp.qweb.render('website.editor.table.panel', {
+ rows: 5,
+ cols: 5,
+ }));
+
+ var $table = $(block.element.$).on('mouseenter', 'td', function (e) {
+ var $e = $(e.target);
+ var y = $e.index() + 1;
+ var x = $e.closest('tr').index() + 1;
+
+ $table
+ .find('td').removeClass('selected').end()
+ .find('tr:lt(' + String(x) + ')')
+ .children().filter(function () { return $(this).index() < y; })
+ .addClass('selected');
+ }).on('click', 'td', function (e) {
+ var $e = $(e.target);
+
+ var table = new CKEDITOR.dom.element(
+ $(openerp.qweb.render('website.editor.table', {
+ rows: $e.closest('tr').index() + 1,
+ cols: $e.index() + 1,
+ }))[0]);
+
+ editor.insertElement(table);
+ setTimeout(function () {
+ var firstCell = new CKEDITOR.dom.element(table.$.rows[0].cells[0]);
+ var range = editor.createRange();
+ range.moveToPosition(firstCell, CKEDITOR.POSITION_AFTER_START);
+ range.select();
+ }, 0);
+ });
+
+ block.element.getDocument().getBody().setStyle('overflow', 'hidden');
+ CKEDITOR.ui.fire('ready', this);
+ },
+ });
}
});
+
var editor = new website.EditorBar();
var $body = $(document.body);
editor.prependTo($body);
this.$('#website-top-edit').show();
$('.css_non_editable_mode_hidden').removeClass("css_non_editable_mode_hidden");
- // this.$buttons.cancel.add(this.$buttons.snippet).prop('disabled', false)
- // .add(this.$buttons.save)
- // .parent().show();
- //
- // TODO: span edition changing edition state (save button)
var $editables = $('[data-oe-model]')
.not('link, script')
// FIXME: propagation should make "meta" blocks non-editable in the first place...
autoParagraph: false,
filebrowserImageUploadUrl: "/website/attach",
// Support for sharedSpaces in 4.x
- extraPlugins: 'sharedspace,customdialogs',
+ extraPlugins: 'sharedspace,customdialogs,tablebutton',
// Place toolbar in controlled location
sharedSpaces: { top: 'oe_rte_toolbar' },
toolbar: [
"JustifyLeft", "JustifyCenter", "JustifyRight", "JustifyBlock"
]},{
name: 'special', items: [
- "Image", "Table"
+ "Image", "TableButton"
]},{
name: 'styles', items: [
"Styles"
</div>
</div>
</t>
+ <t t-name="website.editor.table.panel">
+ <table class="editorbar-panel">
+ <tr t-foreach="rows"><td t-foreach="cols">​</td></tr>
+ </table>
+ </t>
+ <t t-name="website.editor.table">
+ <table class="table table-bordered table-responsive">
+ <tbody>
+ <tr t-foreach="rows"><td t-foreach="cols">​</td></tr>
+ </tbody>
+ </table>
+ </t>
</templates>
# -*- coding: utf-8 -*-
-from lxml import etree
+from lxml import etree, html
from openerp.osv import osv, fields
_columns = {
'inherit_option_id': fields.many2one('ir.ui.view','Optional Inheritancy'),
'inherited_option_ids': fields.one2many('ir.ui.view','inherit_option_id','Optional Inheritancies'),
+ 'page': fields.boolean("Whether this view is a web page template (complete)"),
+ }
+ _defaults = {
+ 'page': False,
}
# Returns all views (called and inherited) related to a view
if call_view not in stack_result:
result += self._views_get(cr, uid, call_view, options=options, context=context, stack_result=result)
return result
+
+ def save(self, cr, uid, model, res_id, field, value, xpath=None, context=None):
+ """ Update the content of a field
+
+ :param str model:
+ :param int res_id:
+ :param str xpath: valid xpath to the tag to replace
+ """
+ model_obj = self.pool.get(model)
+ if xpath:
+ origin = model_obj.read(cr, uid, [res_id], [field], context=context)[0][field]
+ origin_tree = etree.fromstring(origin.encode('utf-8'))
+ zone = origin_tree.xpath(xpath)[0]
+ zone.getparent().replace(zone, html.fromstring(value))
+ value = etree.tostring(origin_tree, encoding='utf-8')
+
+ model_obj.write(cr, uid, res_id, {field: value}, context=context)
# check contracts
contract_ids = account_obj.search(request.cr, openerp.SUPERUSER_ID, [(1, "=", 1)])
- contract_project_ids = [contract.partner_id.id
- for contract in account_obj.browse(request.cr, openerp.SUPERUSER_ID, contract_ids) if contract.partner_id]
+ contracts = account_obj.browse(request.cr, openerp.SUPERUSER_ID,
+ contract_ids, request.context)
+ contract_project_ids = [contract.partner_id.id for contract in contracts
+ if contract.partner_id]
domain = ['|', ('id', "in", contract_project_ids), ('id', "child_of", contract_project_ids)]
if post.get('search'):
domain += ['|',
- ('name', 'ilike', "%%%s%%" % post.get("search")),
+ ('name', 'ilike', "%%%s%%" % post.get("search")),
('website_description', 'ilike', "%%%s%%" % post.get("search"))]
-
# public partner profile
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)])
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID,
+ domain + [('website_published', '=', True)], request.context)
google_map_partner_ids = ",".join([str(p) for p in partner_ids])
if not request.webcontext.is_public_user:
# search without website_published
- partner_ids += partner_obj.search(request.cr, request.uid, domain)
+ partner_ids += partner_obj.search(request.cr, request.uid,
+ domain, context=request.context)
partner_ids = list(set(partner_ids))
-
# group by country
- countries = partner_obj.read_group(request.cr, request.uid, domain, ["id", "country_id"], groupby="country_id", orderby="country_id")
- countries.insert(0, {'country_id_count': partner_obj.search(request.cr, request.uid, domain, count=True), 'country_id': ("all", _("All Countries"))})
-
+ countries = partner_obj.read_group(
+ request.cr, request.uid, domain, ["id", "country_id"],
+ groupby="country_id", orderby="country_id", context=request.context)
+ country_count = partner_obj.search(
+ request.cr, request.uid, domain, count=True, context=request.context)
+ countries.insert(0, {
+ 'country_id_count': country_count,
+ 'country_id': ("all", _("All Countries"))
+ }, context=request.context)
if post.get("country", "all") != 'all':
- partner_ids = partner_obj.search(request.cr, request.uid, [('id', 'in', partner_ids), ('country_id', '=', int(post.get('country')))])
-
+ partner_ids = partner_obj.search(
+ request.cr, request.uid,
+ [
+ ('id', 'in', partner_ids),
+ ('country_id', '=', int(post.get('country')))
+ ], context=request.context)
step = 20
pager = website.pager(url="/references/", total=len(partner_ids), page=page, step=step, scope=7, url_args=post)
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('id', 'in', partner_ids)], limit=step, offset=pager['offset'])
-
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID, [('id', 'in', partner_ids)],
+ limit=step, offset=pager['offset'], context=request.context)
+ partners = partner_obj.browse(request.cr, openerp.SUPERUSER_ID,
+ partner_ids, request.context)
values = {
'countries': countries,
- 'partner_ids': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids),
+ 'partner_ids': partners,
'google_map_partner_ids': google_map_partner_ids,
'pager': pager,
'searches': post,
@website.route(['/references/<int:ref_id>/'], type='http', auth="public")
def references_ref(self, ref_id=0, **post):
partner_obj = request.registry['res.partner']
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('website_published', '=', True), ('id', '=', ref_id)])
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID, [
+ ('website_published', '=', True),
+ ('id', '=', ref_id)
+ ], context=request.context)
if not request.webcontext.is_public_user:
- partner_ids += partner_obj.search(request.cr, request.uid, [('id', '=', ref_id)])
-
- values = {
- 'partner_id': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids[0], context={'show_address': True}),
- }
- return request.webcontext.render("website_contract.details", values)
+ partner_ids += partner_obj.search(
+ request.cr, request.uid, [('id', '=', ref_id)],
+ context=request.context)
+
+ request.webcontext['partner_id'] = partner_obj.browse(
+ request.cr, openerp.SUPERUSER_ID, partner_ids[0],
+ dict(request.context + {'show_address': True}))
+ return request.webcontext.render("website_contract.details")
@website.route(['/crm/contactus'], type='http', auth="admin")
def contactus(self, *arg, **post):
post['user_id'] = False
- request.registry['crm.lead'].create(request.cr, request.uid, post)
+ request.registry['crm.lead'].create(request.cr, request.uid,
+ post, request.context)
company = request.webcontext['res_company']
values = {
'google_map_url': "http://maps.googleapis.com/maps/api/staticmap?center=%s&sensor=false&zoom=8&size=298x298" % quote_plus('%s, %s %s, %s' % (company.street, company.city, company.zip, company.country_id and company.country_id.name_get()[0][1] or ''))
domain_search = {}
if post.get('search'):
domain_search["search"] += ['|',
- ('name', 'ilike', "%%%s%%" % post.get("search")),
+ ('name', 'ilike', "%%%s%%" % post.get("search")),
('website_description', 'ilike', "%%%s%%" % post.get("search"))]
if post.get("grade", "all") != 'all':
domain_search["grade"] = [("grade_id", "=", int(post.get("grade")))]
if post.get("country", "all") != 'all':
domain_search["country"] = [("country_id", "=", int(post.get("country")))]
-
# public partner profile
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, dom_without(False) )
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID, dom_without(False),
+ context=request.context)
google_map_partner_ids = ",".join([str(p) for p in partner_ids])
-
# group by country
domain = dom_without("country")
- countries = partner_obj.read_group(request.cr, request.uid, domain, ["id", "country_id"], groupby="country_id", orderby="country_id")
- countries.insert(0, {'country_id_count': partner_obj.search(request.cr, request.uid, domain, count=True), 'country_id': ("all", _("All Countries"))})
-
+ countries = partner_obj.read_group(
+ request.cr, request.uid, domain, ["id", "country_id"],
+ groupby="country_id", orderby="country_id", context=request.context)
+
+ partners = partner_obj.search(request.cr, request.uid, domain,
+ context=request.context, count=True)
+ countries.insert(0, {
+ 'country_id_count': partners,
+ 'country_id': ("all", _("All Countries"))
+ })
+
# group by grade
domain = dom_without("grade")
- grades = partner_obj.read_group(request.cr, request.uid, domain, ["id", "grade_id"], groupby="grade_id", orderby="grade_id")
- grades.insert(0, {'grade_id_count': partner_obj.search(request.cr, request.uid, domain, count=True), 'grade_id': ("all", _("All Grade"))})
-
+ grades = partner_obj.read_group(
+ request.cr, request.uid, domain, ["id", "grade_id"],
+ groupby="grade_id", orderby="grade_id", context=request.context)
+
+ grade_id_count = partner_obj.search(request.cr, request.uid, domain,
+ count=True, context=request.context)
+ grades.insert(0, {
+ 'grade_id_count': grade_id_count,
+ 'grade_id': ("all", _("All Grade"))
+ })
step = 20
pager = website.pager(url="/partners/", total=len(partner_ids), page=page, step=step, scope=7, url_args=post)
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('id', 'in', partner_ids)],
- limit=step, offset=pager['offset'], order="grade_id ASC,partner_weight DESC")
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID, [('id', 'in', partner_ids)],
+ context=request.context, limit=step, offset=pager['offset'],
+ order="grade_id ASC,partner_weight DESC")
+ partners = partner_obj.browse(request.cr, openerp.SUPERUSER_ID,
+ partner_ids, request.context)
values = {
'countries': countries,
'grades': grades,
- 'partner_ids': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids),
+ 'partner_ids': partners,
'google_map_partner_ids': google_map_partner_ids,
'pager': pager,
'searches': post,
@website.route(['/partners/<int:ref_id>/'], type='http', auth="public")
def partners_ref(self, ref_id=0, **post):
partner_obj = request.registry['res.partner']
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('website_published', '=', True), ('id', '=', ref_id)])
+ partner_ids = partner_obj.search(
+ request.cr, openerp.SUPERUSER_ID,
+ [('website_published', '=', True), ('id', '=', ref_id)],
+ context=request.context)
+
if not request.webcontext.is_public_user:
- partner_ids += partner_obj.search(request.cr, request.uid, [('id', '=', ref_id)])
+ partner_ids += partner_obj.search(
+ request.cr, request.uid, [('id', '=', ref_id)],
+ context=request.context)
- values = {
- 'partner_id': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids[0], context={'show_address': True}),
- }
- return request.webcontext.render("website_crm_partner_assign.details", values)
+ request.webcontext['partner_id'] = partner_obj.browse(
+ request.cr, openerp.SUPERUSER_ID, partner_ids[0],
+ context=dict(request.context + {'show_address': True}))
+
+ return request.webcontext.render("website_crm_partner_assign.details")
# count by domains without self search
for date in dates:
- date[3] = event_obj.search(request.cr, request.uid, dom_without('date') + date[2], count=True)
+ date[3] = event_obj.search(
+ request.cr, request.uid, dom_without('date') + date[2],
+ count=True, context=request.context)
domain = dom_without('type')
- types = event_obj.read_group(request.cr, request.uid, domain, ["id", "type"], groupby="type", orderby="type")
- types.insert(0, {'type_count': event_obj.search(request.cr, request.uid, domain, count=True), 'type': ("all", _("All Categories"))})
+ types = event_obj.read_group(
+ request.cr, request.uid, domain, ["id", "type"], groupby="type",
+ orderby="type", context=request.context)
+ type_count = event_obj.search(request.cr, request.uid, domain,
+ count=True, context=request.context)
+ types.insert(0, {
+ 'type_count': type_count,
+ 'type': ("all", _("All Categories"))
+ })
domain = dom_without('country')
- countries = event_obj.read_group(request.cr, request.uid, domain, ["id", "country_id"], groupby="country_id", orderby="country_id")
- countries.insert(0, {'country_id_count': event_obj.search(request.cr, request.uid, domain, count=True), 'country_id': ("all", _("All Countries"))})
+ countries = event_obj.read_group(
+ request.cr, request.uid, domain, ["id", "country_id"],
+ groupby="country_id", orderby="country_id", context=request.context)
+ country_id_count = event_obj.search(request.cr, request.uid, domain,
+ count=True, context=request.context)
+ countries.insert(0, {
+ 'country_id_count': country_id_count,
+ 'country_id': ("all", _("All Countries"))
+ })
step = 5
- event_count = event_obj.search(request.cr, request.uid, dom_without("none"), count=True)
+ event_count = event_obj.search(
+ request.cr, request.uid, dom_without("none"), count=True,
+ context=request.context)
pager = website.pager(url="/event/", total=event_count, page=page, step=step, scope=5)
- obj_ids = event_obj.search(request.cr, request.uid, dom_without("none"), limit=step, offset=pager['offset'], order="date_begin DESC")
+ obj_ids = event_obj.search(
+ request.cr, request.uid, dom_without("none"), limit=step,
+ offset=pager['offset'], order="date_begin DESC", context=request.context)
+ events_ids = event_obj.browse(request.cr, request.uid, obj_ids,
+ context=request.context)
values = {
- 'event_ids': event_obj.browse(request.cr, request.uid, obj_ids),
+ 'event_ids': events_ids,
'dates': dates,
'types': types,
'countries': countries,
@website.route(['/event/<int:event_id>'], type='http', auth="public")
def event(self, event_id=None, **post):
+ event_obj = request.registry['event.event']
values = {
- 'event_id': request.registry['event.event'].browse(request.cr, request.uid, event_id, {'show_address': 1}),
- 'message_ids': request.registry['event.event'].browse(request.cr, request.uid, event_id).message_ids,
+ 'event_id': event_obj.browse(
+ request.cr, request.uid, event_id,
+ dict(request.context, show_address=1)),
+ 'message_ids': event_obj.browse(request.cr, request.uid, event_id, request.context).message_ids,
'subscribe': post.get('subscribe'),
'range': range
}
if not order:
order = website_sale.controllers.main.get_order()
- partner_id = user_obj.browse(request.cr, SUPERUSER_ID, request.uid).partner_id.id
-
- context = {}
+ partner_id = user_obj.browse(request.cr, SUPERUSER_ID, request.uid,
+ context=request.context).partner_id.id
fields = [k for k, v in order_line_obj._columns.items()]
- values = order_line_obj.default_get(request.cr, SUPERUSER_ID, fields, context=context)
+ values = order_line_obj.default_get(request.cr, SUPERUSER_ID, fields,
+ context=request.context)
_values = None
for key, value in post.items():
ticket_id = key.split("-")[0] == 'ticket' and int(key.split("-")[1]) or None
if not ticket_id or not quantity:
continue
- ticket = ticket_obj.browse(request.cr, request.uid, ticket_id)
+ ticket = ticket_obj.browse(request.cr, request.uid, ticket_id,
+ context=request.context)
values['product_id'] = ticket.product_id.id
values['event_id'] = ticket.event_id.id
# change and record value
pricelist_id = order.pricelist_id and order.pricelist_id.id or False
- _values = order_line_obj.product_id_change(request.cr, SUPERUSER_ID, [], pricelist_id, ticket.product_id.id, partner_id=partner_id, context=context)['value']
+ _values = order_line_obj.product_id_change(
+ request.cr, SUPERUSER_ID, [], pricelist_id, ticket.product_id.id,
+ partner_id=partner_id, context=request.context)['value']
_values.update(values)
- order_line_id = order_line_obj.create(request.cr, SUPERUSER_ID, _values, context=context)
- order.write({'order_line': [(4, order_line_id)]}, context=context)
+ order_line_id = order_line_obj.create(request.cr, SUPERUSER_ID,
+ _values, context=request.context)
+ order.write({'order_line': [(4, order_line_id)]}, context=request.context)
if not _values:
return werkzeug.utils.redirect("/event/%s/" % event_id)
if event_id and 'subscribe' in post and (post.get('email') or not request.webcontext.is_public_user):
if request.webcontext.is_public_user:
- partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))])
+ partner_ids = partner_obj.search(
+ request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))],
+ context=request.context)
if not partner_ids:
- partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": post.get('email'), "name": "Subscribe: %s" % post.get('email')})]
+ partner_data = {
+ "email": post.get('email'),
+ "name": "Subscribe: %s" % post.get('email')
+ }
+ partner_ids = [partner_obj.create(
+ request.cr, SUPERUSER_ID, partner_data, context=request.context)]
else:
- partner_ids = [user_obj.browse(request.cr, request.uid, request.uid).partner_id.id]
- event_obj.check_access_rule(request.cr, request.uid, [event_id], 'read')
- event_obj.message_subscribe(request.cr, SUPERUSER_ID, [event_id], partner_ids)
+ partner_ids = [user_obj.browse(
+ request.cr, request.uid, request.uid,
+ context=request.context).partner_id.id]
+ event_obj.check_access_rule(request.cr, request.uid, [event_id],
+ 'read', request.context)
+ event_obj.message_subscribe(request.cr, SUPERUSER_ID, [event_id],
+ partner_ids, request.context)
return self.event(event_id=event_id, subscribe=post.get('email'))
if event_id and 'unsubscribe' in post and (post.get('email') or not request.webcontext.is_public_user):
if request.webcontext.is_public_user:
- partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))])
+ partner_ids = partner_obj.search(
+ request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))],
+ context=request.context)
else:
- partner_ids = [user_obj.browse(request.cr, request.uid, request.uid).partner_id.id]
- event_obj.check_access_rule(request.cr, request.uid, [event_id], 'read')
- event_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [event_id], partner_ids)
+ partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id]
+ event_obj.check_access_rule(request.cr, request.uid, [event_id], 'read', request.context)
+ event_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [event_id], partner_ids, request.context)
return self.event(event_id=event_id, subscribe=None)
partner_obj = request.registry['res.partner']
domain = [("id", "in", [int(p) for p in post.get('partner_ids', "").split(",") if p])]
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, domain + [('website_published', '=', True)])
+ domain_public = domain + [('website_published', '=', True)]
+ partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID,
+ domain_public, context=request.context)
if not request.webcontext.is_public_user:
- partner_ids += partner_obj.search(request.cr, request.uid, domain)
+ partner_ids += partner_obj.search(request.cr, request.uid, domain,
+ context=request.context)
partner_ids = list(set(partner_ids))
- return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID, partner_ids)
+ return partner_obj.google_map_json(request.cr, openerp.SUPERUSER_ID,
+ partner_ids, request.context)
@website.route(['/google_map/set_partner_position/'], type='http', auth="admin")
def google_map_set_partner_position(self, *arg, **post):
'partner_latitude': latitude,
'partner_longitude': longitude,
'date_localization': datetime.now().strftime('%Y-%m-%d'),
- }
- partner_obj.write(request.cr, request.uid, [partner_id], values)
+ }
+ partner_obj.write(request.cr, request.uid, [partner_id], values,
+ request.context)
# vim:expandtab:tabstop=4:softtabstop=4:shiftwidth=4:
@website.route(['/page/website.aboutus'], type='http', auth="public")
def blog(self, **post):
hr_obj = request.registry['hr.employee']
- employee_ids = hr_obj.search(request.cr, request.uid, [(1, "=", 1)])
+ employee_ids = hr_obj.search(request.cr, request.uid, [(1, "=", 1)],
+ context=request.context)
values = {
- 'employee_ids': hr_obj.browse(request.cr, request.uid, employee_ids)
+ 'employee_ids': hr_obj.browse(request.cr, request.uid, employee_ids,
+ request.context)
}
return request.webcontext.render("website.aboutus", values)
}
if not request.webcontext.is_public_user and mail_group_id:
- message_follower_ids = group_obj.read(request.cr, request.uid, [mail_group_id], ['message_follower_ids'])[0]['message_follower_ids']
- parent_id = user_obj.browse(request.cr, SUPERUSER_ID, request.uid).partner_id.id
+ message_follower_ids = group_obj.read(request.cr, request.uid, [mail_group_id], ['message_follower_ids'], request.context)[0]['message_follower_ids']
+ parent_id = user_obj.browse(request.cr, SUPERUSER_ID, request.uid, request.context).partner_id.id
values['subscribe'] = parent_id in message_follower_ids
domain = mail_group_id and [("res_id", "=", mail_group_id)] or []
- for group in message_obj.read_group(request.cr, request.uid, domain + group_obj.get_domain_public_blog(request.cr, request.uid), ['subject', 'date'], groupby="date", orderby="create_date asc"):
+ for group in message_obj.read_group(request.cr, request.uid, domain + group_obj.get_domain_public_blog(request.cr, request.uid), ['subject', 'date'], groupby="date", orderby="create_date asc", context=request.context):
year = group['date'].split(" ")[1]
if not values['nav_list'].get(year):
values['nav_list'][year] = {'name': year, 'date_count': 0, 'months': []}
values['nav_list'][year]['months'].append(group)
if blog_id:
- values['blog_id'] = message_obj.browse(request.cr, request.uid, blog_id)
+ values['blog_id'] = message_obj.browse(request.cr, request.uid, blog_id, request.context)
else:
step = 20
- message_count = len(group_obj.get_public_message_ids(request.cr, request.uid, domain=domain, order="create_date desc"))
+ message_count = len(group_obj.get_public_message_ids(request.cr, request.uid, domain=domain, order="create_date desc", context=request.context))
pager = website.pager(url="/blog/%s/" % mail_group_id, total=message_count, page=page, step=step, scope=7)
- message_ids = group_obj.get_public_message_ids(request.cr, request.uid, domain=domain, order="create_date desc", limit=step, offset=pager['offset'])
+ message_ids = group_obj.get_public_message_ids(request.cr, request.uid, domain=domain, order="create_date desc", limit=step, offset=pager['offset'], context=request.context)
values['pager'] = pager
- values['blog_ids'] = message_obj.browse(request.cr, request.uid, message_ids)
+ values['blog_ids'] = message_obj.browse(request.cr, request.uid, message_ids, request.context)
return request.webcontext.render("website_mail.index", values)
@website.route(['/blog/nav'], type='http', auth="public")
def nav(self, **post):
- comment_ids = request.registry['mail.group'].get_public_message_ids(request.cr, request.uid, domain=safe_eval(post.get('domain')), order="create_date asc", limit=None)
- return simplejson.dumps(request.registry['mail.message'].read(request.cr, request.uid, comment_ids, ['website_published', 'subject', 'res_id']))
+ comment_ids = request.registry['mail.group'].get_public_message_ids(request.cr, request.uid, domain=safe_eval(post.get('domain')), order="create_date asc", limit=None, context=request.context)
+ return simplejson.dumps(request.registry['mail.message'].read(request.cr, request.uid, comment_ids, ['website_published', 'subject', 'res_id'], request.context))
@website.route(['/blog/<int:mail_group_id>/<int:blog_id>/post'], type='http', auth="public")
def blog_post(self, mail_group_id=None, blog_id=None, **post):
website_published=blog_id and True or False,
type='comment',
subtype='mt_comment',
- context={'mail_create_nosubsrequest.cribe': True},
- )
+ context=dict(request.context, mail_create_nosubcribe=True))
request.session.body = False
if post.get('body'):
website_published=False,
type='comment',
subtype='mt_comment',
- context={'mail_create_nosubsrequest.cribe': True},
- )
+ context=dict(request.context, mail_create_nosubscribe=True))
return werkzeug.utils.redirect("/blog/%s/%s/" % (mail_group_id, blog_id))
@website.route(['/blog/<int:mail_group_id>/subscribe', '/blog/<int:mail_group_id>/<int:blog_id>/subscribe'], type='http', auth="public")
if mail_group_id and 'subscribe' in post and (post.get('email') or not request.webcontext.is_public_user):
if request.webcontext.is_public_user:
- partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))])
+ partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))], context=request.context)
if not partner_ids:
- partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": post.get('email'), "name": "Subscribe: %s" % post.get('email')})]
+ partner_ids = [partner_obj.create(request.cr, SUPERUSER_ID, {"email": post.get('email'), "name": "Subscribe: %s" % post.get('email')}, request.context)]
else:
- partner_ids = [user_obj.browse(request.cr, request.uid, request.uid).partner_id.id]
- group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read')
- group_obj.message_subscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids)
+ partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id]
+ group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read', request.context)
+ group_obj.message_subscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids, request.context)
return self.blog(mail_group_id=mail_group_id, blog_id=blog_id, subscribe=post.get('email'))
if mail_group_id and 'unsubscribe' in post and (post.get('email') or not request.webcontext.is_public_user):
if request.webcontext.is_public_user:
- partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))])
+ partner_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("email", "=", post.get('email'))], context=request.context)
else:
- partner_ids = [user_obj.browse(request.cr, request.uid, request.uid).partner_id.id]
- group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read')
- group_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids)
+ partner_ids = [user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id]
+ group_obj.check_access_rule(request.cr, request.uid, [mail_group_id], 'read', request.context)
+ group_obj.message_unsubscribe(request.cr, SUPERUSER_ID, [mail_group_id], partner_ids, request.context)
return self.blog(mail_group_id=mail_group_id, blog_id=blog_id, subscribe=None)
domain_search = {}
if post.get('search'):
domain_search["search"] += ['|',
- ('name', 'ilike', "%%%s%%" % post.get("search")),
+ ('name', 'ilike', "%%%s%%" % post.get("search")),
('website_description', 'ilike', "%%%s%%" % post.get("search"))]
if post.get("membership_id", "all") != 'all':
domain_search["membership"] = [("membership", "=", int(post.get("membership")))]
-
# public membership
- membership_ids = membership_obj.search(request.cr, openerp.SUPERUSER_ID, dom_without(False) )
- memberships = membership_obj.browse(request.cr, openerp.SUPERUSER_ID, membership_ids )
+ membership_ids = membership_obj.search(request.cr, openerp.SUPERUSER_ID, dom_without(False), context=request.context)
+ memberships = membership_obj.browse(request.cr, openerp.SUPERUSER_ID, membership_ids, request.context)
google_map_partner_ids = ",".join([str(m.partner.id) for m in memberships])
-
# group by membership_id
domain = dom_without("membership")
- memberships = membership_obj.read_group(request.cr, request.uid, domain, ["id", "membership_id"], groupby="membership_id", orderby="membership_id")
- memberships.insert(0, {'membership_id_count': membership_obj.search(request.cr, request.uid, domain, count=True), 'membership_id': ("all", _("All Groups"))})
-
+ memberships = membership_obj.read_group(request.cr, request.uid, domain, ["id", "membership_id"], groupby="membership_id", orderby="membership_id", context=request.context)
+ memberships.insert(0, {'membership_id_count': membership_obj.search(request.cr, request.uid, domain, count=True, context=request.context), 'membership_id': ("all", _("All Groups"))})
step = 20
pager = website.pager(url="/members/", total=len(membership_ids), page=page, step=step, scope=7, url_args=post)
- membership_ids = membership_obj.search(request.cr, openerp.SUPERUSER_ID, [('id', 'in', membership_ids)],
- limit=step, offset=pager['offset'], order="membership_id ASC,date DESC")
-
+ membership_ids = membership_obj.search(
+ request.cr, openerp.SUPERUSER_ID, [('id', 'in', membership_ids)],
+ limit=step, offset=pager['offset'], order="membership_id ASC,date DESC",
+ context=request.context)
values = {
'memberships': memberships,
- 'membership_line_ids': membership_obj.browse(request.cr, openerp.SUPERUSER_ID, membership_ids),
+ 'membership_line_ids': membership_obj.browse(request.cr, openerp.SUPERUSER_ID, membership_ids, request.context),
'google_map_partner_ids': google_map_partner_ids,
'pager': pager,
'searches': post,
@website.route(['/members/<int:ref_id>/'], type='http', auth="public")
def partners_ref(self, ref_id=0, **post):
partner_obj = request.registry['res.partner']
- partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('website_published', '=', True), ('id', '=', ref_id)])
+ partner_ids = partner_obj.search(request.cr, openerp.SUPERUSER_ID, [('website_published', '=', True), ('id', '=', ref_id)], context=request.context)
if not request.webcontext.is_public_user:
- partner_ids += partner_obj.search(request.cr, request.uid, [('id', '=', ref_id)])
+ partner_ids += partner_obj.search(request.cr, request.uid, [('id', '=', ref_id)], context=request.context)
values = {
- 'partner_id': partner_obj.browse(request.cr, openerp.SUPERUSER_ID, partner_ids[0], context={'show_address': True}),
+ 'partner_id': partner_obj.browse(
+ request.cr, openerp.SUPERUSER_ID, partner_ids[0],
+ context=dict(request.context, show_address=True)),
}
return request.webcontext.render("website_membership.details", values)
_inherit = "website"
def get_webcontext(self, values={}, **kw):
project_obj = request.registry['project.project']
- project_ids = project_obj.search(request.cr, request.uid, [('privacy_visibility', "=", "public")])
+ project_ids = project_obj.search(request.cr, request.uid, [('privacy_visibility', "=", "public")], context=request.context)
values.update({
- 'project_ids': project_obj.browse(request.cr, request.uid, project_ids),
+ 'project_ids': project_obj.browse(request.cr, request.uid, project_ids, request.context),
})
return super(Website, self).get_webcontext(values, **kw)
@website.route(['/project/<int:project_id>/'], type='http', auth="public")
def blog(self, project_id=None, **post):
project_obj = request.registry['project.project']
- project = project_obj.browse(request.cr, request.uid, project_id)
+ project = project_obj.browse(request.cr, request.uid, project_id, request.context)
return request.webcontext.render("website_project.index", {'project_id': project})
context = {}
if order_id:
try:
- order = order_obj.browse(request.cr, SUPERUSER_ID, order_id)
+ order = order_obj.browse(request.cr, SUPERUSER_ID, order_id, request.context)
order.pricelist_id
except:
order_id = None
if not order_id:
fields = [k for k, v in order_obj._columns.items()]
- order_value = order_obj.default_get(request.cr, SUPERUSER_ID, fields)
+ order_value = order_obj.default_get(request.cr, SUPERUSER_ID, fields, request.context)
if request.httprequest.session.get('ecommerce_pricelist'):
order_value['pricelist_id'] = request.httprequest.session['ecommerce_pricelist']
- order_value['partner_id'] = request.registry.get('res.users').browse(request.cr, SUPERUSER_ID, request.uid).partner_id.id
- order_value.update(order_obj.onchange_partner_id(request.cr, SUPERUSER_ID, [], order_value['partner_id'], context={})['value'])
- order_id = order_obj.create(request.cr, SUPERUSER_ID, order_value)
- order = order_obj.browse(request.cr, SUPERUSER_ID, order_id)
+ order_value['partner_id'] = request.registry.get('res.users').browse(request.cr, SUPERUSER_ID, request.uid, request.context).partner_id.id
+ order_value.update(order_obj.onchange_partner_id(request.cr, SUPERUSER_ID, [], order_value['partner_id'], context=request.context)['value'])
+ order_id = order_obj.create(request.cr, SUPERUSER_ID, order_value, request.context)
+ order = order_obj.browse(request.cr, SUPERUSER_ID, order_id, request.context)
request.httprequest.session['ecommerce_order_id'] = order.id
- context = {
- 'pricelist': order.pricelist_id.id,
- }
- return order_obj.browse(request.cr, SUPERUSER_ID, order_id, context=context)
+ return order_obj.browse(request.cr, SUPERUSER_ID, order_id,
+ context=dict(request.context, pricelist=order.pricelist_id.id))
def get_current_order():
if request.httprequest.session.get('ecommerce_order_id'):
domain += [('product_variant_ids.public_categ_id.id', 'child_of', cat_id)] + domain
step = 20
- product_count = len(product_obj.search(request.cr, request.uid, domain))
+ product_count = len(product_obj.search(request.cr, request.uid, domain, context=request.context))
pager = website.pager(url="/shop/category/%s/" % cat_id, total=product_count, page=page, step=step, scope=7, url_args=post)
- product_ids = product_obj.search(request.cr, request.uid, domain, limit=step, offset=pager['offset'])
+ product_ids = product_obj.search(request.cr, request.uid, domain, limit=step, offset=pager['offset'], context=request.context)
- context = {'pricelist': self.get_pricelist()}
+ request.context['pricelist'] = self.get_pricelist()
values = {
'categories': self.get_categories(),
'category_id': cat_id,
- 'products': product_obj.browse(request.cr, SUPERUSER_ID, product_ids, context=context),
+ 'products': product_obj.browse(request.cr, SUPERUSER_ID, product_ids, context=request.context),
'search': post.get("search"),
'pager': pager,
}
product_obj = request.registry.get('product.template')
category_obj = request.registry.get('product.public.category')
- context = {'pricelist': self.get_pricelist()}
-
- category_list = category_obj.name_get(request.cr, request.uid, category_obj.search(request.cr, request.uid, [(1,'=',1)]))
+ category_ids = category_obj.search(request.cr, request.uid, [(1, '=', 1)], context=request.context)
+ category_list = category_obj.name_get(request.cr, request.uid, category_ids, request.context)
category_list = sorted(category_list, key=lambda category: category[1])
- product = product_obj.browse(request.cr, request.uid, product_id, context=context)
+ request.context['pricelist'] = self.get_pricelist()
+
+ product = product_obj.browse(request.cr, request.uid, product_id, context=request.context)
values = {
'category_id': post.get('category_id') and int(post.get('category_id')) or None,
'search': post.get("search"),
@website.route(['/shop/add_product/'], type='http', auth="public")
def add_product(self, **post):
- product_id = request.registry.get('product.product').create(request.cr, request.uid, {'name': 'New Product'})
+ product_id = request.registry.get('product.product').create(request.cr, request.uid, {'name': 'New Product'}, request.context)
return werkzeug.utils.redirect("/shop/product/%s/" % product_id)
@website.route(['/shop/change_category/<product_id>/'], type='http', auth="public")
def edit_product(self, product_id=0, **post):
- request.registry.get('product.template').write(request.cr, request.uid, [int(product_id)], {'public_categ_id': int(post.get('public_categ_id', 0))})
+ request.registry.get('product.template').write(
+ request.cr, request.uid, [int(product_id)],
+ {'public_categ_id': int(post.get('public_categ_id', 0))}, request.context)
return "1"
def get_pricelist(self):
pricelist_id = False
if code:
pricelist_obj = request.registry.get('product.pricelist')
- pricelist_ids = pricelist_obj.search(request.cr, SUPERUSER_ID, [('code', '=', code)])
+ pricelist_ids = pricelist_obj.search(request.cr, SUPERUSER_ID, [('code', '=', code)], context=request.context)
if pricelist_ids:
pricelist_id = pricelist_ids[0]
if not pricelist_id:
- partner_id = request.registry.get('res.users').browse(request.cr, SUPERUSER_ID, request.uid).partner_id.id
- pricelist_id = request.registry['sale.order'].onchange_partner_id(request.cr, SUPERUSER_ID, [], partner_id, context={})['value']['pricelist_id']
+ partner_id = request.registry.get('res.users').browse(request.cr, SUPERUSER_ID, request.uid, request.context).partner_id.id
+ pricelist_id = request.registry['sale.order'].onchange_partner_id(request.cr, SUPERUSER_ID, [], partner_id, context=request.context)['value']['pricelist_id']
request.httprequest.session['ecommerce_pricelist'] = pricelist_id
if not order:
order = get_order()
- context = {'pricelist': self.get_pricelist()}
+ context = dict(request.context, pricelist=self.get_pricelist())
quantity = 0
if order:
for line in order.order_line:
suggested_ids += [p.id for p in line.product_id and line.product_id.suggested_product_ids or [] for line in order.order_line]
- suggested_ids = prod_obj.search(request.cr, request.uid, [('id', 'in', suggested_ids)])
+ suggested_ids = prod_obj.search(request.cr, request.uid, [('id', 'in', suggested_ids)], context=request.context)
# select 3 random products
suggested_products = []
while len(suggested_products) < 3 and suggested_ids:
values = {
'categories': self.get_categories(),
- 'suggested_products': prod_obj.browse(request.cr, request.uid, suggested_products),
+ 'suggested_products': prod_obj.browse(request.cr, request.uid, suggested_products, request.context),
}
return request.webcontext.render("website_sale.mycart", values)
checkout = {}
if not request.webcontext.is_public_user:
- partner = user_obj.browse(request.cr, request.uid, request.uid).partner_id
+ partner = user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id
partner_id = partner.id
fields = ["name", "phone", "fax", "company", "email", "street", "city", "state_id", "zip", "country_id"]
- checkout = user_obj.read(request.cr, SUPERUSER_ID, [partner_id], fields)[0]
+ checkout = user_obj.read(request.cr, SUPERUSER_ID, [partner_id], fields, request.context)[0]
checkout['company'] = partner.parent_id and partner.parent_id.name or ''
- shipping_ids = partner_obj.search(request.cr, request.uid, [("parent_id", "=", partner_id), ('type', "=", 'delivery')])
+ shipping_ids = partner_obj.search(request.cr, request.uid, [("parent_id", "=", partner_id), ('type', "=", 'delivery')], context=request.context)
if shipping_ids:
- for k,v in partner_obj.read(request.cr, request.uid, shipping_ids[0]).items():
+ for k,v in partner_obj.read(request.cr, request.uid, shipping_ids[0], request.context).items():
checkout['shipping_'+k] = v or ''
checkout.update(request.session.setdefault('checkout', {}))
checkout[k] = v or ''
values['checkout'] = checkout
- values['countries'] = country_obj.browse(request.cr, SUPERUSER_ID, country_obj.search(request.cr, SUPERUSER_ID, [(1, "=", 1)]))
- values['states'] = country_state_obj.browse(request.cr, SUPERUSER_ID, country_state_obj.search(request.cr, SUPERUSER_ID, [(1, "=", 1)]))
+ countries_ids = country_obj.search(request.cr, SUPERUSER_ID, [(1, "=", 1)], context=request.context)
+ values['countries'] = country_obj.browse(request.cr, SUPERUSER_ID, countries_ids, request.context)
+ states_ids = country_state_obj.search(request.cr, SUPERUSER_ID, [(1, "=", 1)], context=request.context)
+ values['states'] = country_state_obj.browse(request.cr, SUPERUSER_ID, states_ids, request.context)
return request.webcontext.render("website_sale.checkout", values)
# search or create company
company_id = None
if post['company']:
- company_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("name", "ilike", post['company']), ('is_company', '=', True)])
+ company_ids = partner_obj.search(request.cr, SUPERUSER_ID, [("name", "ilike", post['company']), ('is_company', '=', True)], context=request.context)
company_id = company_ids and company_ids[0] or None
if not company_id:
- company_id = partner_obj.create(request.cr, SUPERUSER_ID, {'name': post['company'], 'is_company': True})
+ company_id = partner_obj.create(request.cr, SUPERUSER_ID, {'name': post['company'], 'is_company': True}, request.context)
partner_value = {
'fax': post['fax'],
'state_id': post['state_id'],
}
if not request.webcontext.is_public_user:
- partner_id = user_obj.browse(request.cr, request.uid, request.uid).partner_id.id
- partner_obj.write(request.cr, request.uid, [partner_id], partner_value)
+ partner_id = user_obj.browse(request.cr, request.uid, request.uid, request.context).partner_id.id
+ partner_obj.write(request.cr, request.uid, [partner_id], partner_value, request.context)
else:
- partner_id = partner_obj.create(request.cr, SUPERUSER_ID, partner_value)
+ partner_id = partner_obj.create(request.cr, SUPERUSER_ID, partner_value, request.context)
shipping_id = None
if post.get('shipping_different'):
domain = [(key, '_id' in key and '=' or 'ilike', '_id' in key and value and int(value) or False)
for key, value in shipping_value.items() if key in required_field + ["type", "parent_id"]]
- shipping_ids = partner_obj.search(request.cr, SUPERUSER_ID, domain)
+ shipping_ids = partner_obj.search(request.cr, SUPERUSER_ID, domain, context=request.context)
if shipping_ids:
shipping_id = shipping_ids[0]
- partner_obj.write(request.cr, SUPERUSER_ID, [shipping_id], shipping_value)
+ partner_obj.write(request.cr, SUPERUSER_ID, [shipping_id], shipping_value, request.context)
else:
- shipping_id = partner_obj.create(request.cr, SUPERUSER_ID, shipping_value)
+ shipping_id = partner_obj.create(request.cr, SUPERUSER_ID, shipping_value, request.context)
order_value = {
'partner_id': partner_id,
'partner_invoice_id': partner_id,
'partner_shipping_id': shipping_id or partner_id
}
- order_value.update(request.registry.get('sale.order').onchange_partner_id(request.cr, SUPERUSER_ID, [], order.partner_id.id, context={})['value'])
+ order_value.update(request.registry.get('sale.order').onchange_partner_id(request.cr, SUPERUSER_ID, [], order.partner_id.id, context=request.context)['value'])
order.write(order_value)
return werkzeug.utils.redirect("/shop/payment/")
}
payment_obj = request.registry.get('portal.payment.acquirer')
- payment_ids = payment_obj.search(request.cr, SUPERUSER_ID, [('visible', '=', True)])
- values['payments'] = payment_obj.browse(request.cr, SUPERUSER_ID, payment_ids)
+ payment_ids = payment_obj.search(request.cr, SUPERUSER_ID, [('visible', '=', True)], context=request.context)
+ values['payments'] = payment_obj.browse(request.cr, SUPERUSER_ID, payment_ids, request.context)
for payment in values['payments']:
content = payment_obj.render(request.cr, SUPERUSER_ID, payment.id, order, order.name, order.pricelist_id.currency_id, order.amount_total)
payment._content = content