Compare commits

...

39 Commits

Author SHA1 Message Date
wh1te909
20d534eab0 Release 0.101.31 2023-10-01 17:36:52 +00:00
wh1te909
0d87f5afee bump version 2023-10-01 17:36:39 +00:00
wh1te909
1b83c3c5d6 fix tooltip 2023-10-01 17:36:11 +00:00
wh1te909
1b2286c4f8 Release 0.101.30 2023-09-30 21:59:09 +00:00
wh1te909
34233fde2f bump version 2023-09-30 21:58:51 +00:00
wh1te909
e95dd5f6e7 use node 18 2023-09-30 21:57:37 +00:00
wh1te909
901e6986a0 update reqs 2023-09-30 21:56:24 +00:00
wh1te909
aa78929743 update reqs 2023-09-11 02:50:40 +00:00
wh1te909
8207f30234 Release 0.101.29 2023-08-30 04:10:11 +00:00
wh1te909
1879977b83 bump version [skip ci] 2023-08-30 04:09:53 +00:00
wh1te909
b4de579a74 fix lint 2023-08-29 20:42:23 +00:00
wh1te909
23f15ff9e5 feat: add reset all check status amidaware/tacticalrmm#1615 2023-08-29 20:21:22 +00:00
wh1te909
498e038bbb update reqs 2023-08-29 20:19:35 +00:00
wh1te909
bb1f1c19cf wording 2023-08-21 21:30:21 +00:00
Dan
74e3aa4e46 Merge pull request #12 from silversword411/develop
Fixing main view removing blank space along bottom
2023-08-21 14:28:28 -07:00
silversword411
07a8e3ebcb Clarifying TRMM agent 2023-08-21 09:28:23 -04:00
silversword411
89966dd006 Fixing main view removing blank space along bottom 2023-08-18 02:39:43 -04:00
wh1te909
68036f6837 Release 0.101.28 2023-08-14 06:39:49 +00:00
wh1te909
45ac82b1dd bump version 2023-08-14 06:39:31 +00:00
wh1te909
d94e5c7965 update reqs 2023-08-11 07:07:00 +00:00
wh1te909
03fae45ac5 Release 0.101.25 2023-07-04 18:49:46 +00:00
wh1te909
c2591c9e7d Release 0.101.22 2023-05-30 22:11:30 +00:00
wh1te909
7fcbe6fbd8 Release 0.101.20 2023-05-09 21:09:45 +00:00
wh1te909
a2f472ef9c Release 0.101.18 2023-04-09 03:28:23 +00:00
wh1te909
8403ac0e93 Release 0.101.16 2023-03-22 17:00:29 +00:00
wh1te909
b7a91563b0 Release 0.101.13 2023-01-18 20:05:20 +00:00
wh1te909
ab19afca16 Release 0.101.11 2022-12-21 18:44:46 +00:00
wh1te909
f24c6a7a80 Release 0.101.9 2022-12-04 23:01:59 +00:00
wh1te909
99490bf859 Release 0.101.7 2022-11-13 01:20:33 +00:00
wh1te909
72cdeeaa6a Release 0.101.5 2022-10-25 22:02:34 +00:00
wh1te909
1eca4d605b Release 0.101.3 2022-10-19 22:35:54 +00:00
wh1te909
52ee98f6f8 Release 0.101.0 2022-09-24 02:43:53 +00:00
wh1te909
d270b877c9 Release 0.100.9 2022-08-23 05:04:57 +00:00
wh1te909
fd8b2a1d98 Release 0.100.8 2022-08-09 20:40:48 +00:00
wh1te909
f518043d8d Release 0.100.7 2022-08-01 17:36:11 +00:00
wh1te909
cc2335558d Release 0.100.6 2022-07-27 06:15:49 +00:00
wh1te909
a8a171ba2c Release 0.100.5 2022-07-10 00:00:08 +00:00
wh1te909
24a63f477e Release 0.100.4 2022-07-07 16:38:14 +00:00
wh1te909
ddeb6293a1 init 2022-05-17 20:46:22 +00:00
10 changed files with 468 additions and 788 deletions

View File

@@ -13,7 +13,7 @@ jobs:
- uses: actions/setup-node@v3
with:
node-version: 16
node-version: 18
- run: npm install
- name: Run Prettier formatting

1158
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"name": "web",
"version": "0.101.25",
"version": "0.101.31",
"private": true,
"productName": "Tactical RMM",
"scripts": {
@@ -10,31 +10,31 @@
"format": "prettier --write \"**/*.{js,ts,vue,,html,md,json}\" --ignore-path .gitignore"
},
"dependencies": {
"@quasar/extras": "1.16.5",
"@quasar/extras": "1.16.7",
"apexcharts": "3.41.1",
"axios": "1.4.0",
"axios": "1.5.1",
"dotenv": "16.3.1",
"qrcode.vue": "3.4.1",
"quasar": "2.12.3",
"quasar": "2.12.7",
"vue": "3.3.4",
"vue3-ace-editor": "2.2.3",
"vue3-apexcharts": "1.4.4",
"vuedraggable": "4.1.0",
"vue-router": "4.2.4",
"vue-router": "4.2.5",
"vuex": "4.1.0"
},
"devDependencies": {
"@quasar/cli": "^2.2.1",
"@intlify/unplugin-vue-i18n": "^0.12.2",
"@quasar/app-vite": "^1.4.3",
"@types/node": "^20.4.8",
"@typescript-eslint/eslint-plugin": "^6.2.1",
"@typescript-eslint/parser": "^6.2.1",
"autoprefixer": "10.4.14",
"eslint": "8.46.0",
"@quasar/cli": "2.3.0",
"@intlify/unplugin-vue-i18n": "1.4.0",
"@quasar/app-vite": "1.6.2",
"@types/node": "20.8.0",
"@typescript-eslint/eslint-plugin": "6.7.3",
"@typescript-eslint/parser": "6.7.3",
"autoprefixer": "10.4.16",
"eslint": "8.50.0",
"eslint-config-prettier": "9.0.0",
"eslint-plugin-vue": "8.7.1",
"prettier": "3.0.1",
"typescript": "5.1.6"
"prettier": "3.0.3",
"typescript": "5.2.2"
}
}

View File

@@ -31,6 +31,11 @@ export async function resetCheck(id) {
return data;
}
export async function resetAllChecksStatus(agent_id) {
const { data } = await axios.post(`${baseUrl}/${agent_id}/resetall/`);
return data;
}
export async function runAgentChecks(agent_id) {
const { data } = await axios.post(`${baseUrl}/${agent_id}/run/`);
return data;

View File

@@ -119,6 +119,16 @@
no-caps
icon="play_arrow"
@click="runChecks"
class="q-mr-md"
/>
<q-btn
label="Reset All Checks Status"
dense
flat
push
no-caps
icon="restart_alt"
@click="resetAllChecks"
/>
</template>
@@ -415,6 +425,7 @@ import {
updateCheck,
removeCheck,
resetCheck,
resetAllChecksStatus,
runAgentChecks,
} from "@/api/checks";
import { fetchAgentChecks } from "@/api/agents";
@@ -572,7 +583,7 @@ export default {
notifySuccess(result);
refreshDashboard(
false /* clearTreeSelected */,
false /* clearSubTable */
false /* clearSubTable */,
);
} catch (e) {
console.error(e);
@@ -580,6 +591,27 @@ export default {
loading.value = false;
}
function resetAllChecks() {
console.info(selectedAgent.value);
$q.dialog({
title: "Are you sure?",
message: "Reset all checks status",
cancel: true,
ok: { label: "Reset", color: "negative" },
persistent: true,
}).onOk(async () => {
loading.value = true;
try {
const result = await resetAllChecksStatus(selectedAgent.value);
await getChecks();
notifySuccess(result);
} catch (e) {
console.error(e);
}
loading.value = false;
});
}
function showEventInfo(data) {
$q.dialog({
component: EventLogCheckOutput,
@@ -674,6 +706,7 @@ export default {
formatDate,
getAlertSeverity,
runChecks,
resetAllChecks,
// dialogs
showScriptOutput,

View File

@@ -173,8 +173,7 @@
>Setting this value on the script model will always override
any 'Run As User' checkboxes in the UI and force this script
to always be run in the context of the logged in user. If no
user is logged in, the script will not run and an error will
be returned.
user is logged in, the script will run as SYSTEM.
</q-tooltip>
</q-checkbox>
<q-input
@@ -353,7 +352,7 @@ export default {
downloadScript(script.value.id, { with_snippets: props.readonly }).then(
(r) => {
script.value.script_body = r.code;
}
},
);
async function submitForm() {

View File

@@ -4,7 +4,7 @@ export const GOARCH_ARM64 = "arm64";
export const GOARCH_ARM32 = "arm";
export const runAsUserToolTip =
"Run in the context of the logged in user. If no user is logged in, the script will not run and an error will be returned.";
"Run in the context of the logged in user. If no user is logged in, the script will run as SYSTEM";
export const envVarsLabel =
"Environment vars (press Enter after typing each key=value pair)";

View File

@@ -74,7 +74,7 @@
:color="dash_negative_color"
text-color="black"
icon="warning"
>Certificate expires in {{ daysUntilCertExpires }} days</q-chip
>SSL certificate expires in {{ daysUntilCertExpires }} days</q-chip
>
</q-toolbar-title>
<!-- temp dark mode toggle -->
@@ -288,7 +288,7 @@ export default {
if (!token.value) {
console.log(
"Access token is null or invalid, not setting up WebSocket"
"Access token is null or invalid, not setting up WebSocket",
);
return;
}
@@ -325,10 +325,13 @@ export default {
const poll = ref(null);
function livePoll() {
poll.value = setInterval(() => {
store.dispatch("checkVer");
store.dispatch("getDashInfo", false);
}, 60 * 4 * 1000);
poll.value = setInterval(
() => {
store.dispatch("checkVer");
store.dispatch("getDashInfo", false);
},
60 * 4 * 1000,
);
}
const updateAvailable = computed(() => {

View File

@@ -13,7 +13,7 @@
>
<q-spinner size="40px" color="primary" />
</div>
<div v-else class="q-pa-sm q-gutter-sm scroll" style="height: 85vh">
<div v-else class="q-pa-sm q-gutter-sm scroll" style="height: 85vh; overflow: initial;">
<q-list dense class="rounded-borders">
<q-item
clickable

View File

@@ -2,7 +2,7 @@
<div>
<q-bar>
<span class="text-caption">
Agent Status:
TRMM Agent Status:
<q-badge :color="statusColor" :label="status" />
</span>
<q-space />