From 418c7e1d9e6e1e517e4b70cd3512928d50615b16 Mon Sep 17 00:00:00 2001 From: wh1te909 Date: Tue, 15 Mar 2022 01:09:09 +0000 Subject: [PATCH] fix notes --- api/tacticalrmm/agents/views.py | 3 +++ web/src/components/agents/NotesTab.vue | 11 +++++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/api/tacticalrmm/agents/views.py b/api/tacticalrmm/agents/views.py index 05b2b4c7..4555133a 100644 --- a/api/tacticalrmm/agents/views.py +++ b/api/tacticalrmm/agents/views.py @@ -732,6 +732,9 @@ class GetAddNotes(APIView): if not _has_perm_on_agent(request.user, agent.agent_id): raise PermissionDenied() + if "note" not in request.data.keys(): + return notify_error("Cannot add an empty note") + data = { "note": request.data["note"], "agent": agent.pk, diff --git a/web/src/components/agents/NotesTab.vue b/web/src/components/agents/NotesTab.vue index 9faae702..bd0e242a 100644 --- a/web/src/components/agents/NotesTab.vue +++ b/web/src/components/agents/NotesTab.vue @@ -111,6 +111,7 @@ export default { const $q = useQuasar(); // notes tab logic + const noteText = ref(""); const notes = ref([]); const loading = ref(false); const pagination = ref({ @@ -126,17 +127,21 @@ export default { } function addNote() { + noteText.value = ""; $q.dialog({ title: "Add Note", prompt: { + model: noteText, type: "textarea", + isValid: val => !!val, }, style: "width: 30vw; max-width: 50vw;", ok: { label: "Add" }, - }).onOk(async data => { + cancel: true, + }).onOk(async () => { loading.value = true; try { - const result = await saveAgentNote({ agent_id: selectedAgent.value, note: data }); + const result = await saveAgentNote({ agent_id: selectedAgent.value, note: noteText.value }); notifySuccess(result); await getNotes(); } catch (e) { @@ -152,6 +157,7 @@ export default { prompt: { model: note.note, type: "textarea", + isValid: val => !!val, }, style: "width: 30vw; max-width: 50vw;", ok: { label: "Save" }, @@ -204,6 +210,7 @@ export default { pagination, selectedAgent, tabHeight, + noteText, // non-reactive data columns,