mirror of
https://github.com/bringout/oca-server-auth.git
synced 2026-04-19 02:52:06 +02:00
Initial commit: OCA Server Auth packages (29 packages)
This commit is contained in:
commit
3ed80311c4
1325 changed files with 127292 additions and 0 deletions
|
|
@ -0,0 +1,56 @@
|
|||
# © 2021 Florian Kantelberg - initOS GmbH
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
import logging
|
||||
|
||||
from odoo import _, fields, models
|
||||
from odoo.exceptions import ValidationError
|
||||
|
||||
_logger = logging.getLogger(__name__)
|
||||
|
||||
|
||||
class VaultSendWizard(models.TransientModel):
|
||||
_name = "vault.send.wizard"
|
||||
_description = _("Wizard to send another user a secret")
|
||||
|
||||
user_id = fields.Many2one(
|
||||
"res.users",
|
||||
"User",
|
||||
required=True,
|
||||
domain=[("keys", "!=", False), ("inbox_enabled", "=", True)],
|
||||
)
|
||||
name = fields.Char(required=True)
|
||||
public = fields.Char(related="user_id.active_key.public")
|
||||
iv = fields.Char(required=True)
|
||||
key_user = fields.Char(required=True)
|
||||
key = fields.Char(required=True)
|
||||
secret = fields.Char()
|
||||
secret_file = fields.Char()
|
||||
filename = fields.Char()
|
||||
|
||||
_sql_constraints = [
|
||||
(
|
||||
"value_check",
|
||||
"CHECK(secret IS NOT NULL OR secret_file IS NOT NULL)",
|
||||
_("No value found"),
|
||||
),
|
||||
]
|
||||
|
||||
def action_send(self):
|
||||
if not self.secret and not self.secret_file:
|
||||
raise ValidationError(_("Neither a secret nor file was given"))
|
||||
|
||||
self.ensure_one()
|
||||
self.env["vault.inbox"].sudo().create(
|
||||
{
|
||||
"name": self.name,
|
||||
"accesses": 0,
|
||||
"secret": self.secret,
|
||||
"secret_file": self.secret_file,
|
||||
"iv": self.iv,
|
||||
"key": self.key_user,
|
||||
"user_id": self.user_id.id,
|
||||
"filename": self.filename,
|
||||
"log_ids": [(0, 0, {"name": _("Created by %s") % self.user_id.name})],
|
||||
}
|
||||
)
|
||||
Loading…
Add table
Add a link
Reference in a new issue