diff --git a/api/tacticalrmm/scripts/views.py b/api/tacticalrmm/scripts/views.py index 48af30ad28..8ba0f7f237 100644 --- a/api/tacticalrmm/scripts/views.py +++ b/api/tacticalrmm/scripts/views.py @@ -128,7 +128,7 @@ def post(self, request): agent = get_object_or_404(Agent, pk=request.data["agent"]) parsed_args = Script.parse_script_args( - self, request.data["shell"], request.data["args"] + agent, request.data["shell"], request.data["args"] ) data = { diff --git a/api/tacticalrmm/tacticalrmm/settings.py b/api/tacticalrmm/tacticalrmm/settings.py index bd420a3f79..4853c88251 100644 --- a/api/tacticalrmm/tacticalrmm/settings.py +++ b/api/tacticalrmm/tacticalrmm/settings.py @@ -15,14 +15,14 @@ AUTH_USER_MODEL = "accounts.User" # latest release -TRMM_VERSION = "0.8.1" +TRMM_VERSION = "0.8.2" # bump this version everytime vue code is changed # to alert user they need to manually refresh their browser -APP_VER = "0.0.143" +APP_VER = "0.0.144" # https://github.com/wh1te909/rmmagent -LATEST_AGENT_VER = "1.6.0" +LATEST_AGENT_VER = "1.6.1" MESH_VER = "0.9.16" diff --git a/web/src/components/AgentTable.vue b/web/src/components/AgentTable.vue index d41855ea12..38febfe4c3 100644 --- a/web/src/components/AgentTable.vue +++ b/web/src/components/AgentTable.vue @@ -479,7 +479,8 @@ export default { if (filter === "actionspending") actions = true; else if (filter === "checksfailing") checks = true; else if (filter === "rebootneeded") reboot = true; - else if (filter === "online" || filter === "offline" || filter === "expired") availability = filter; + else if (filter === "online" || filter === "offline" || filter === "expired" || filter === "overdue") + availability = filter; } else { search = param + ""; } @@ -492,7 +493,8 @@ export default { if (actions && row.pending_actions_count === 0) return false; if (reboot && !row.needs_reboot) return false; if (availability === "online" && row.status !== "online") return false; - else if (availability === "offline" && row.status !== "overdue") return false; + else if (availability === "offline" && row.status !== "offline") return false; + else if (availability === "overdue" && row.status !== "overdue") return false; else if (availability === "expired") { let now = new Date(); let lastSeen = date.extractDate(row.last_seen, "MM DD YYYY HH:mm"); diff --git a/web/src/views/Dashboard.vue b/web/src/views/Dashboard.vue index 463322a3bb..f1635f1fda 100644 --- a/web/src/views/Dashboard.vue +++ b/web/src/views/Dashboard.vue @@ -337,6 +337,16 @@ + + + + + + + Show Overdue Only + + + @@ -809,7 +819,10 @@ export default { // clear search if availability changes to all if ( this.filterAvailability === "all" && - (this.search.includes("is:online") || this.search.includes("is:offline") || this.search.includes("is:expired")) + (this.search.includes("is:online") || + this.search.includes("is:offline") || + this.search.includes("is:expired") || + this.search.includes("is:overdue")) ) this.clearFilter(); @@ -841,6 +854,8 @@ export default { filterText += "is:offline "; } else if (this.filterAvailability === "offline_30days") { filterText += "is:expired "; + } else if (this.filterAvailability === "overdue") { + filterText += "is:overdue "; } }