203 files
This commit is contained in:
@@ -601,6 +601,7 @@ _CHORE_EDITABLE_FIELDS = {
|
||||
"early_bonus",
|
||||
"late_penalty",
|
||||
"require_photo",
|
||||
"open_ended",
|
||||
"mandatory",
|
||||
"mandatory_penalty_points",
|
||||
"assignment_mode",
|
||||
@@ -657,6 +658,7 @@ def _chore_payload_schema(*, require_name: bool):
|
||||
vol.Optional("mandatory"): bool,
|
||||
vol.Optional("mandatory_penalty_points"): vol.All(int, vol.Range(min=0)),
|
||||
vol.Optional("require_photo"): bool,
|
||||
vol.Optional("open_ended"): bool,
|
||||
vol.Optional("assignment_mode"): vol.In(ASSIGNMENT_MODES),
|
||||
vol.Optional("assignment_rotation_anchor"): str,
|
||||
vol.Optional("require_availability"): bool,
|
||||
@@ -1984,12 +1986,14 @@ async def _ws_complete_bonus_subtask(hass, connection, msg, coordinator):
|
||||
{
|
||||
vol.Required("type"): WS_APPROVE_CHORE,
|
||||
vol.Required("completion_id"): str,
|
||||
# Optional per-approval award (#832) — replaces the chore's own points.
|
||||
vol.Optional("points"): vol.All(vol.Coerce(int), vol.Range(min=0)),
|
||||
}
|
||||
)
|
||||
@websocket_api.async_response
|
||||
@_admin_only
|
||||
async def _ws_approve_chore(hass, connection, msg, coordinator):
|
||||
await coordinator.async_approve_chore(msg["completion_id"])
|
||||
await coordinator.async_approve_chore(msg["completion_id"], points=msg.get("points"))
|
||||
connection.send_result(msg["id"], {"completion_id": msg["completion_id"]})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user