addons-cm/website_search_products/controllers/controller.py

47 lines
1.5 KiB
Python

# -*- coding: utf-8 -*-
from odoo import http
from odoo.http import request
from odoo.addons.website.controllers.main import Website
import logging
_logger = logging.getLogger(__name__)
class IntentoryForm(http.Controller):
@http.route(["/inventory/search"], type="http", auth="user", website=True)
def inventory_form(self, **post):
if not request.env["res.users"].browse(request.uid).has_group(
"base.group_portal"
) and not request.env["res.users"].browse(request.uid).has_group(
"base.group_user"
):
redirect = b"/web?"
return http.redirect_with_hash(redirect)
products = (
request.env["product.template"]
.sudo()
.search([("active", "=", "True"), ("available_in_pos", "=", "True")])
)
vals = {"products": products}
return request.render("website_search_products.web_list_products", vals)
class Website(Website):
@http.route(website=True, auth="public")
def web_login(self, redirect=None, *args, **kw):
response = super(Website, self).web_login(redirect=redirect, *args, **kw)
if not redirect and request.params["login_success"]:
if (
request.env["res.users"]
.browse(request.uid)
.has_group("base.group_user")
):
redirect = b"/web?" + request.httprequest.query_string
else:
redirect = "/inventory/search"
return http.redirect_with_hash(redirect)
return response