fix(webui): prevent settings crash on missing class.data

This commit is contained in:
igor04091968
2026-04-27 01:47:16 +03:00
parent 428a8623a9
commit a61b4cee2b
3 changed files with 32 additions and 4 deletions
+18
View File
@@ -163,6 +163,24 @@
status_code: 201
when: aw_apply_worktime_settings | default(false) | bool
- name: Apply baseline worktime period (startOfDay)
ansible.builtin.uri:
url: "http://127.0.0.1:{{ aw_server_port }}/api/0/settings/startOfDay"
method: POST
body: "{{ aw_worktime_start_of_day }}"
body_format: json
status_code: 200
when: aw_apply_worktime_settings | default(false) | bool
- name: Apply baseline worktime period (durationDefault seconds)
ansible.builtin.uri:
url: "http://127.0.0.1:{{ aw_server_port }}/api/0/settings/durationDefault"
method: POST
body: "{{ aw_worktime_duration_default }}"
body_format: json
status_code: 200
when: aw_apply_worktime_settings | default(false) | bool
handlers:
- name: Reload systemd
ansible.builtin.systemd:
+6
View File
@@ -13,3 +13,9 @@ aw_repo_root: "/home/igor/tmp/AWatch-rus"
# Optional: apply a baseline worktime-focused categorization and views via AW settings API.
# WARNING: this overwrites existing server-side settings/classes/views.
aw_apply_worktime_settings: false
# Optional defaults for the worktime period in Web UI.
# startOfDay controls day-boundary and default report window start.
# durationDefault controls default time range (seconds) shown in UI.
aw_worktime_start_of_day: "08:00"
aw_worktime_duration_default: 32400
+8 -4
View File
@@ -2,7 +2,8 @@
{
"id": 0,
"name": ["Работа"],
"rule": { "type": "none" }
"rule": { "type": "none" },
"data": {}
},
{
"id": 1,
@@ -47,7 +48,8 @@
{
"id": 5,
"name": ["Интернет"],
"rule": { "type": "none" }
"rule": { "type": "none" },
"data": {}
},
{
"id": 6,
@@ -62,7 +64,8 @@
{
"id": 7,
"name": ["Система"],
"rule": { "type": "none" }
"rule": { "type": "none" },
"data": {}
},
{
"id": 8,
@@ -81,6 +84,7 @@
"type": "regex",
"regex": "ActivityWatch|\\baw-(watcher|qt)\\.exe\\b",
"ignore_case": true
}
},
"data": {}
}
]