mirror of
https://github.com/home-assistant/core.git
synced 2025-07-15 17:27:10 +00:00
Use _get_reauth_entry in dormakaba_dkey config flow (#127392)
* Use _get_reauth_entry in dormakaba_dkey config flow * Adjust
This commit is contained in:
parent
c2c48bbc9c
commit
c02a3371d0
@ -15,7 +15,12 @@ from homeassistant.components.bluetooth import (
|
|||||||
async_discovered_service_info,
|
async_discovered_service_info,
|
||||||
async_last_service_info,
|
async_last_service_info,
|
||||||
)
|
)
|
||||||
from homeassistant.config_entries import ConfigEntry, ConfigFlow, ConfigFlowResult
|
from homeassistant.config_entries import (
|
||||||
|
SOURCE_REAUTH,
|
||||||
|
ConfigEntry,
|
||||||
|
ConfigFlow,
|
||||||
|
ConfigFlowResult,
|
||||||
|
)
|
||||||
from homeassistant.const import CONF_ADDRESS
|
from homeassistant.const import CONF_ADDRESS
|
||||||
|
|
||||||
from .const import CONF_ASSOCIATION_DATA, DOMAIN
|
from .const import CONF_ASSOCIATION_DATA, DOMAIN
|
||||||
@ -34,7 +39,7 @@ class DormkabaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
|
|
||||||
VERSION = 1
|
VERSION = 1
|
||||||
|
|
||||||
_reauth_entry: ConfigEntry | None = None
|
_reauth_entry: ConfigEntry
|
||||||
|
|
||||||
def __init__(self) -> None:
|
def __init__(self) -> None:
|
||||||
"""Initialize the config flow."""
|
"""Initialize the config flow."""
|
||||||
@ -121,9 +126,7 @@ class DormkabaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
self, entry_data: Mapping[str, Any]
|
self, entry_data: Mapping[str, Any]
|
||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle reauthorization request."""
|
"""Handle reauthorization request."""
|
||||||
self._reauth_entry = self.hass.config_entries.async_get_entry(
|
self._reauth_entry = self._get_reauth_entry()
|
||||||
self.context["entry_id"]
|
|
||||||
)
|
|
||||||
return await self.async_step_reauth_confirm()
|
return await self.async_step_reauth_confirm()
|
||||||
|
|
||||||
async def async_step_reauth_confirm(
|
async def async_step_reauth_confirm(
|
||||||
@ -131,13 +134,11 @@ class DormkabaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle reauthorization flow."""
|
"""Handle reauthorization flow."""
|
||||||
errors = {}
|
errors = {}
|
||||||
reauth_entry = self._reauth_entry
|
|
||||||
assert reauth_entry is not None
|
|
||||||
|
|
||||||
if user_input is not None:
|
if user_input is not None:
|
||||||
if (
|
if (
|
||||||
discovery_info := async_last_service_info(
|
discovery_info := async_last_service_info(
|
||||||
self.hass, reauth_entry.data[CONF_ADDRESS], True
|
self.hass, self._reauth_entry.data[CONF_ADDRESS], True
|
||||||
)
|
)
|
||||||
) is None:
|
) is None:
|
||||||
errors = {"base": "no_longer_in_range"}
|
errors = {"base": "no_longer_in_range"}
|
||||||
@ -183,9 +184,11 @@ class DormkabaConfigFlow(ConfigFlow, domain=DOMAIN):
|
|||||||
CONF_ADDRESS: self._discovery_info.device.address,
|
CONF_ADDRESS: self._discovery_info.device.address,
|
||||||
CONF_ASSOCIATION_DATA: association_data.to_json(),
|
CONF_ASSOCIATION_DATA: association_data.to_json(),
|
||||||
}
|
}
|
||||||
if reauth_entry := self._reauth_entry:
|
if self.source == SOURCE_REAUTH:
|
||||||
self.hass.config_entries.async_update_entry(reauth_entry, data=data)
|
self.hass.config_entries.async_update_entry(
|
||||||
await self.hass.config_entries.async_reload(reauth_entry.entry_id)
|
self._reauth_entry, data=data
|
||||||
|
)
|
||||||
|
await self.hass.config_entries.async_reload(self._reauth_entry.entry_id)
|
||||||
return self.async_abort(reason="reauth_successful")
|
return self.async_abort(reason="reauth_successful")
|
||||||
|
|
||||||
return self.async_create_entry(
|
return self.async_create_entry(
|
||||||
|
Loading…
x
Reference in New Issue
Block a user