mirror of
https://github.com/bringout/oca-technical.git
synced 2026-04-19 19:52:05 +02:00
Initial commit: OCA Technical packages (595 packages)
This commit is contained in:
commit
2cc02aac6e
24950 changed files with 2318079 additions and 0 deletions
|
|
@ -0,0 +1 @@
|
|||
from . import iot_key_wizard
|
||||
|
|
@ -0,0 +1,48 @@
|
|||
# Copyright 2021 Creu Blanca
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
|
||||
|
||||
from odoo import _, fields, models
|
||||
|
||||
|
||||
class OddoorKeyWizard(models.TransientModel):
|
||||
|
||||
_name = "iot.key.wizard"
|
||||
_description = "Create a Key"
|
||||
|
||||
res_id = fields.Integer(required=True)
|
||||
res_model = fields.Char(required=True)
|
||||
iot_key_id = fields.Many2one(
|
||||
"iot.key",
|
||||
)
|
||||
unique_virtual_key = fields.Char(required=True)
|
||||
rule_ids = fields.Many2many("iot.rule")
|
||||
|
||||
def _create_iot_key_vals(self):
|
||||
record = self.env[self.res_model].browse(self.res_id)
|
||||
return {
|
||||
"res_id": self.res_id,
|
||||
"res_model": self.res_model,
|
||||
"name": _("Key of %s") % record.display_name,
|
||||
"unique_virtual_key": self.unique_virtual_key,
|
||||
"rule_ids": [(6, 0, self.rule_ids.ids)],
|
||||
}
|
||||
|
||||
def create_key(self):
|
||||
self.ensure_one()
|
||||
if not self.iot_key_id:
|
||||
self.iot_key_id = self.env["iot.key"].create(self._create_iot_key_vals())
|
||||
return self.update_key(False)
|
||||
return self.update_key()
|
||||
|
||||
def _update_key_vals(self):
|
||||
record = self.env[self.res_model].browse(self.res_id)
|
||||
return {
|
||||
"unique_virtual_key": self.unique_virtual_key,
|
||||
"name": _("Key of %s") % record.display_name,
|
||||
"rule_ids": [(6, 0, self.rule_ids.ids)],
|
||||
}
|
||||
|
||||
def update_key(self, update=True):
|
||||
if update:
|
||||
self.iot_key_id.write(self._update_key_vals())
|
||||
return {}
|
||||
|
|
@ -0,0 +1,44 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<!-- Copyright 2021 Creu Blanca
|
||||
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). -->
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="iot_key_wizard_form_view">
|
||||
<field name="name">iot.key.wizard.form (in iot_rule)</field>
|
||||
<field name="model">iot.key.wizard</field>
|
||||
<field name="arch" type="xml">
|
||||
<form string="IoT Key Wizard">
|
||||
<field name="res_model" invisible="1" />
|
||||
<field name="res_id" invisible="1" />
|
||||
<field name="iot_key_id" invisible="1" />
|
||||
<group>
|
||||
<field name="unique_virtual_key" />
|
||||
<field name="rule_ids" widget="many2many_checkboxes" />
|
||||
</group>
|
||||
<footer>
|
||||
<button
|
||||
name="create_key"
|
||||
string="Create"
|
||||
class="btn-primary"
|
||||
attrs="{'invisible': [('iot_key_id', '!=', False)]}"
|
||||
type="object"
|
||||
/>
|
||||
<button
|
||||
name="update_key"
|
||||
string="Update"
|
||||
class="btn-primary"
|
||||
attrs="{'invisible': [('iot_key_id', '=', False)]}"
|
||||
type="object"
|
||||
/>
|
||||
<button string="Cancel" class="btn-default" special="cancel" />
|
||||
</footer>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
<record model="ir.actions.act_window" id="iot_key_wizard_act_window">
|
||||
<field name="name">IoT Key Wizard</field>
|
||||
<field name="res_model">iot.key.wizard</field>
|
||||
<field name="view_mode">form</field>
|
||||
<field name="context">{}</field>
|
||||
<field name="target">new</field>
|
||||
</record>
|
||||
</odoo>
|
||||
Loading…
Add table
Add a link
Reference in a new issue