Do not cache the reconfigure entry in homeworks config flow (#128006)
This commit is contained in:
parent
6da8b69ff8
commit
168d0f11ab
1 changed files with 8 additions and 11 deletions
|
@ -557,8 +557,6 @@ OPTIONS_FLOW = {
|
||||||
class HomeworksConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
class HomeworksConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||||
"""Config flow for Lutron Homeworks."""
|
"""Config flow for Lutron Homeworks."""
|
||||||
|
|
||||||
_context_entry: ConfigEntry
|
|
||||||
|
|
||||||
async def _validate_edit_controller(
|
async def _validate_edit_controller(
|
||||||
self, user_input: dict[str, Any]
|
self, user_input: dict[str, Any]
|
||||||
) -> dict[str, Any]:
|
) -> dict[str, Any]:
|
||||||
|
@ -585,7 +583,6 @@ class HomeworksConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||||
self, user_input: dict[str, Any] | None = None
|
self, user_input: dict[str, Any] | None = None
|
||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle a reconfigure flow."""
|
"""Handle a reconfigure flow."""
|
||||||
self._context_entry = self._get_reconfigure_entry()
|
|
||||||
return await self.async_step_reconfigure_confirm()
|
return await self.async_step_reconfigure_confirm()
|
||||||
|
|
||||||
async def async_step_reconfigure_confirm(
|
async def async_step_reconfigure_confirm(
|
||||||
|
@ -593,11 +590,12 @@ class HomeworksConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||||
) -> ConfigFlowResult:
|
) -> ConfigFlowResult:
|
||||||
"""Handle a reconfigure flow."""
|
"""Handle a reconfigure flow."""
|
||||||
errors = {}
|
errors = {}
|
||||||
|
reconfigure_entry = self._get_reconfigure_entry()
|
||||||
suggested_values = {
|
suggested_values = {
|
||||||
CONF_HOST: self._context_entry.options[CONF_HOST],
|
CONF_HOST: reconfigure_entry.options[CONF_HOST],
|
||||||
CONF_PORT: self._context_entry.options[CONF_PORT],
|
CONF_PORT: reconfigure_entry.options[CONF_PORT],
|
||||||
CONF_USERNAME: self._context_entry.data.get(CONF_USERNAME),
|
CONF_USERNAME: reconfigure_entry.data.get(CONF_USERNAME),
|
||||||
CONF_PASSWORD: self._context_entry.data.get(CONF_PASSWORD),
|
CONF_PASSWORD: reconfigure_entry.data.get(CONF_PASSWORD),
|
||||||
}
|
}
|
||||||
|
|
||||||
if user_input:
|
if user_input:
|
||||||
|
@ -614,19 +612,18 @@ class HomeworksConfigFlowHandler(ConfigFlow, domain=DOMAIN):
|
||||||
else:
|
else:
|
||||||
password = user_input.pop(CONF_PASSWORD, None)
|
password = user_input.pop(CONF_PASSWORD, None)
|
||||||
username = user_input.pop(CONF_USERNAME, None)
|
username = user_input.pop(CONF_USERNAME, None)
|
||||||
new_data = self._context_entry.data | {
|
new_data = reconfigure_entry.data | {
|
||||||
CONF_PASSWORD: password,
|
CONF_PASSWORD: password,
|
||||||
CONF_USERNAME: username,
|
CONF_USERNAME: username,
|
||||||
}
|
}
|
||||||
new_options = self._context_entry.options | {
|
new_options = reconfigure_entry.options | {
|
||||||
CONF_HOST: user_input[CONF_HOST],
|
CONF_HOST: user_input[CONF_HOST],
|
||||||
CONF_PORT: user_input[CONF_PORT],
|
CONF_PORT: user_input[CONF_PORT],
|
||||||
}
|
}
|
||||||
return self.async_update_reload_and_abort(
|
return self.async_update_reload_and_abort(
|
||||||
self._context_entry,
|
reconfigure_entry,
|
||||||
data=new_data,
|
data=new_data,
|
||||||
options=new_options,
|
options=new_options,
|
||||||
reason="reconfigure_successful",
|
|
||||||
reload_even_if_entry_is_unchanged=False,
|
reload_even_if_entry_is_unchanged=False,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue