47 lines
1.5 KiB
Python
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
|