mirror of
https://github.com/bringout/oca-server-auth.git
synced 2026-04-19 11:12:08 +02:00
36 lines
1.2 KiB
Python
36 lines
1.2 KiB
Python
# © 2021 Florian Kantelberg - initOS GmbH
|
|
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
|
|
|
import logging
|
|
|
|
from odoo import _, http
|
|
from odoo.http import request
|
|
|
|
_logger = logging.getLogger(__name__)
|
|
|
|
|
|
class Controller(http.Controller):
|
|
@http.route("/vault/share/<string:token>", type="http", auth="public")
|
|
def vault_share(self, token):
|
|
ctx = {"disable_footer": True, "token": token}
|
|
share = request.env["vault.share"].sudo()
|
|
secret = share.get(token, ip=request.httprequest.remote_addr)
|
|
if secret is None:
|
|
ctx["error"] = _("The secret expired")
|
|
return request.render("vault_share.share", ctx)
|
|
|
|
if len(secret) != 1:
|
|
ctx["error"] = _("Invalid token")
|
|
return request.render("vault_share.share", ctx)
|
|
|
|
ctx.update(
|
|
{
|
|
"encrypted": secret.secret,
|
|
"salt": secret.salt,
|
|
"iv": secret.iv,
|
|
"encrypted_file": secret.secret_file,
|
|
"filename": secret.filename,
|
|
"iterations": secret.iterations,
|
|
}
|
|
)
|
|
return request.render("vault_share.share", ctx)
|