bemade-addons/odoo_unifi_manager/models/ctrl.py
2024-12-09 09:35:56 -05:00

57 lines
No EOL
1.5 KiB
Python

from .unifi_client import Unifi
from odoo import models, fields, api
from odoo.exceptions import ValidationError
#from unificontrol import UnifiClient
class UnifiCtrl(models.Model):
_name = 'unifi.ctrl'
_description = 'Unifi Controller'
name = fields.Char(
string='Name',
required=True
)
ip_address = fields.Char(
string='IP Address',
required=True,
help="IP address of the Unifi Controller."
)
api_port = fields.Integer(
string='API Port',
default=8443,
help="Port used for the Unifi API."
)
username = fields.Char(
string='Username',
required=True,
help="Username for API authentication."
)
password = fields.Char(
string='Password',
required=True,
help="Password for API authentication."
)
def action_test_connection(self):
"""Test connection to Unifi Controller."""
self.ensure_one()
client = Unifi(self.ip_address, self.username, self.password)
try:
client.login()
return {
'type': 'ir.actions.client',
'tag': 'display_notification',
'params': {
'title': 'Success',
'message': 'Connection successful!',
'type': 'success',
},
}
except Exception as e:
raise ValidationError(f"Connection failed: {e}")