Compare commits
20 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
13f0f117da | ||
|
|
2db4eeec05 | ||
|
|
fe5e8aa5fe | ||
|
|
13e35d24a2 | ||
|
|
0b6ae80777 | ||
|
|
5e0fab88a3 | ||
|
|
bf8797264b | ||
|
|
14bde967bd | ||
|
|
596ce69789 | ||
|
|
c5491dcb73 | ||
|
|
3f6340f0a1 | ||
|
|
351f0870a9 | ||
|
|
f2638a4c5e | ||
|
|
2bd00d5ca0 | ||
|
|
00a40dd450 | ||
|
|
cfe1cb2dbf | ||
|
|
16fb75b56c | ||
|
|
094cf45ce3 | ||
|
|
d6984b3da9 | ||
|
|
53fc6f4cde |
754
package-lock.json
generated
754
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
40
package.json
40
package.json
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "web",
|
||||
"version": "0.101.37",
|
||||
"version": "0.101.40",
|
||||
"private": true,
|
||||
"productName": "Tactical RMM",
|
||||
"scripts": {
|
||||
@@ -10,34 +10,34 @@
|
||||
"format": "prettier --write \"**/*.{js,ts,vue,,html,md,json}\" --ignore-path .gitignore"
|
||||
},
|
||||
"dependencies": {
|
||||
"@quasar/extras": "1.16.8",
|
||||
"apexcharts": "3.44.0",
|
||||
"axios": "1.6.2",
|
||||
"dotenv": "16.3.1",
|
||||
"@quasar/extras": "1.16.9",
|
||||
"apexcharts": "3.45.2",
|
||||
"axios": "1.6.7",
|
||||
"dotenv": "16.4.1",
|
||||
"qrcode.vue": "3.4.1",
|
||||
"quasar": "2.13.0",
|
||||
"vue": "3.3.9",
|
||||
"quasar": "2.14.3",
|
||||
"vue": "3.4.15",
|
||||
"vue3-apexcharts": "1.4.4",
|
||||
"vuedraggable": "4.1.0",
|
||||
"vue-router": "4.2.5",
|
||||
"@vueuse/core": "10.6.1",
|
||||
"@vueuse/shared": "10.6.1",
|
||||
"monaco-editor": "0.44.0",
|
||||
"@vueuse/core": "10.7.2",
|
||||
"@vueuse/shared": "10.7.2",
|
||||
"monaco-editor": "0.45.0",
|
||||
"vuex": "4.1.0",
|
||||
"yaml": "2.3.4"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@quasar/cli": "2.3.0",
|
||||
"@intlify/unplugin-vue-i18n": "1.5.0",
|
||||
"@quasar/app-vite": "1.6.2",
|
||||
"@types/node": "20.10.0",
|
||||
"@typescript-eslint/eslint-plugin": "6.13.1",
|
||||
"@typescript-eslint/parser": "6.13.1",
|
||||
"autoprefixer": "10.4.16",
|
||||
"eslint": "8.54.0",
|
||||
"eslint-config-prettier": "9.0.0",
|
||||
"@intlify/unplugin-vue-i18n": "2.0.0",
|
||||
"@quasar/app-vite": "1.7.3",
|
||||
"@types/node": "20.11.6",
|
||||
"@typescript-eslint/eslint-plugin": "6.19.1",
|
||||
"@typescript-eslint/parser": "6.19.1",
|
||||
"autoprefixer": "10.4.17",
|
||||
"eslint": "8.56.0",
|
||||
"eslint-config-prettier": "9.1.0",
|
||||
"eslint-plugin-vue": "8.7.1",
|
||||
"prettier": "3.1.0",
|
||||
"typescript": "5.3.2"
|
||||
"prettier": "3.2.4",
|
||||
"typescript": "5.3.3"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -267,7 +267,11 @@ export default {
|
||||
const loading = ref(false);
|
||||
|
||||
const serial_number = computed(() => {
|
||||
if (summary.value.plat === "windows") {
|
||||
return summary.value.wmi_detail.bios?.[0]?.[0]?.SerialNumber;
|
||||
} else {
|
||||
return summary.value.wmi_detail.serialnumber;
|
||||
}
|
||||
});
|
||||
|
||||
const cpu = computed(() => {
|
||||
@@ -280,7 +284,7 @@ export default {
|
||||
function diskBarColor(percent) {
|
||||
if (percent < 80) {
|
||||
return dash_positive_color.value;
|
||||
} else if (percent > 80 && percent < 95) {
|
||||
} else if (percent >= 80 && percent < 95) {
|
||||
return dash_warning_color.value;
|
||||
} else {
|
||||
return dash_negative_color.value;
|
||||
@@ -315,7 +319,7 @@ export default {
|
||||
);
|
||||
if (
|
||||
definition &&
|
||||
!definition.hide_in_ui &&
|
||||
!definition.hide_in_summary &&
|
||||
customField.value?.length > 0
|
||||
) {
|
||||
ret.push({
|
||||
|
||||
@@ -137,7 +137,7 @@
|
||||
<q-radio
|
||||
v-model="goarch"
|
||||
:val="GOARCH_ARM64"
|
||||
label="Apple Silicon (M1, M2)"
|
||||
label="Apple Silicon (M1, M2, M3)"
|
||||
v-show="agentOS === 'darwin'"
|
||||
/>
|
||||
<q-radio
|
||||
|
||||
@@ -142,6 +142,11 @@
|
||||
v-model="localField.hide_in_ui"
|
||||
color="green"
|
||||
/>
|
||||
<q-toggle
|
||||
label="Hide in Summary Tab"
|
||||
v-model="localField.hide_in_summary"
|
||||
color="green"
|
||||
/>
|
||||
</q-card-section>
|
||||
<q-card-actions align="right">
|
||||
<q-btn flat label="Cancel" v-close-popup />
|
||||
@@ -172,6 +177,7 @@ export default {
|
||||
default_value_bool: false,
|
||||
default_values_multiple: [],
|
||||
hide_in_ui: false,
|
||||
hide_in_summary: false,
|
||||
},
|
||||
modelOptions: [
|
||||
{ label: "Client", value: "client" },
|
||||
|
||||
@@ -57,6 +57,10 @@
|
||||
<q-td>
|
||||
<q-icon v-if="props.row.hide_in_ui" name="check" />
|
||||
</q-td>
|
||||
<!-- hide in summary tab -->
|
||||
<q-td>
|
||||
<q-icon v-if="props.row.hide_in_summary" name="check" />
|
||||
</q-td>
|
||||
<!-- default value -->
|
||||
<q-td v-if="props.row.type === 'checkbox'">
|
||||
{{ props.row.default_value_bool }}
|
||||
@@ -123,6 +127,13 @@ export default {
|
||||
align: "left",
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
name: "hide_in_summary",
|
||||
label: "Hide in Summary Tab",
|
||||
field: "hide_in_summary",
|
||||
align: "left",
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
name: "default_value",
|
||||
label: "Default Value",
|
||||
|
||||
@@ -71,7 +71,7 @@
|
||||
icon="info"
|
||||
@click="
|
||||
openURL(
|
||||
'https://quasar.dev/quasar-utils/date-utils#format-for-display'
|
||||
'https://quasar.dev/quasar-utils/date-utils#format-for-display',
|
||||
)
|
||||
"
|
||||
>
|
||||
@@ -216,7 +216,7 @@
|
||||
<div class="text-subtitle2">SMTP Settings</div>
|
||||
<q-separator />
|
||||
<q-card-section class="row">
|
||||
<div class="col-2">From:</div>
|
||||
<div class="col-2">From email:</div>
|
||||
<div class="col-4"></div>
|
||||
<q-input
|
||||
outlined
|
||||
@@ -226,6 +226,16 @@
|
||||
:rules="[(val) => isValidEmail(val) || 'Invalid email']"
|
||||
/>
|
||||
</q-card-section>
|
||||
<q-card-section class="row">
|
||||
<div class="col-2">From name:</div>
|
||||
<div class="col-4"></div>
|
||||
<q-input
|
||||
outlined
|
||||
dense
|
||||
v-model="settings.smtp_from_name"
|
||||
class="col-6 q-pa-none"
|
||||
/>
|
||||
</q-card-section>
|
||||
<q-card-section class="row">
|
||||
<div class="col-2">Host:</div>
|
||||
<div class="col-4"></div>
|
||||
@@ -711,13 +721,13 @@ export default {
|
||||
},
|
||||
removeEmail(email) {
|
||||
const removed = this.settings.email_alert_recipients.filter(
|
||||
(k) => k !== email
|
||||
(k) => k !== email,
|
||||
);
|
||||
this.settings.email_alert_recipients = removed;
|
||||
},
|
||||
removeSMSNumber(num) {
|
||||
const removed = this.settings.sms_alert_recipients.filter(
|
||||
(k) => k !== num
|
||||
(k) => k !== num,
|
||||
);
|
||||
this.settings.sms_alert_recipients = removed;
|
||||
},
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<template>
|
||||
<q-dialog ref="dialog" @hide="onHide">
|
||||
<q-card class="q-dialog-plugin" style="min-width: 85vh">
|
||||
<q-card class="q-dialog-plugin" style="min-width: 60vw">
|
||||
<q-splitter v-model="splitterModel">
|
||||
<template v-slot:before>
|
||||
<q-tabs dense v-model="tab" vertical class="text-primary">
|
||||
@@ -201,7 +201,7 @@
|
||||
icon="info"
|
||||
@click="
|
||||
openURL(
|
||||
'https://quasar.dev/quasar-utils/date-utils#format-for-display'
|
||||
'https://quasar.dev/quasar-utils/date-utils#format-for-display',
|
||||
)
|
||||
"
|
||||
>
|
||||
@@ -315,7 +315,7 @@ export default {
|
||||
this.$axios.get("/core/urlaction/").then((r) => {
|
||||
if (r.data.length === 0) {
|
||||
this.notifyWarning(
|
||||
"No URL Actions configured. Go to Settings > Global Settings > URL Actions"
|
||||
"No URL Actions configured. Go to Settings > Global Settings > URL Actions",
|
||||
);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -178,7 +178,8 @@
|
||||
|
||||
<!-- is community script icon -->
|
||||
<img
|
||||
v-if="props.row.script_type === 'builtin'"
|
||||
v-if="props.node.script_type === 'builtin'"
|
||||
class="vertical-middle"
|
||||
:src="trmmLogo"
|
||||
style="height: 20px; max-width: 20px"
|
||||
/>
|
||||
|
||||
@@ -8,8 +8,25 @@
|
||||
<q-tooltip class="bg-white text-primary">Close</q-tooltip>
|
||||
</q-btn>
|
||||
</q-bar>
|
||||
<q-card-section class="scroll" style="max-height: 70vh; height: 70vh">
|
||||
<pre v-if="ret">{{ ret }}</pre>
|
||||
<q-card-section style="height: 70vh" class="scroll">
|
||||
<div>
|
||||
Run Time:
|
||||
<code>{{ ret.execution_time }} seconds</code>
|
||||
<br />Return Code:
|
||||
<code>{{ ret.retcode }}</code>
|
||||
<br />
|
||||
</div>
|
||||
<br />
|
||||
<div v-if="ret.stdout">
|
||||
Standard Output
|
||||
<q-separator />
|
||||
<pre>{{ ret.stdout }}</pre>
|
||||
</div>
|
||||
<div v-if="ret.stderr">
|
||||
Standard Error
|
||||
<q-separator />
|
||||
<pre>{{ ret.stderr }}</pre>
|
||||
</div>
|
||||
<q-inner-loading :showing="loading" />
|
||||
</q-card-section>
|
||||
</q-card>
|
||||
@@ -34,7 +51,12 @@ export default {
|
||||
const { dialogRef, onDialogHide } = useDialogPluginComponent();
|
||||
|
||||
// main run script functionality
|
||||
const ret = ref(null);
|
||||
const ret = ref({
|
||||
execution_time: "",
|
||||
retcode: "",
|
||||
stdout: "",
|
||||
stderr: "",
|
||||
});
|
||||
const loading = ref(false);
|
||||
|
||||
async function runTestScript() {
|
||||
|
||||
@@ -25,8 +25,8 @@
|
||||
If you have downgraded or cancelled your sponsorship, please delete
|
||||
your token from the Code Signing modal and refresh to get rid of this
|
||||
banner.<br /><br />
|
||||
For any issues or to renew your sponsorship please email
|
||||
support@amidaware.com<br /><br
|
||||
For any issues or to renew your sponsorship please open a ticket at
|
||||
support.amidaware.com<br /><br
|
||||
/></span>
|
||||
<q-btn
|
||||
color="dark"
|
||||
|
||||
@@ -63,6 +63,7 @@
|
||||
autofocus
|
||||
outlined
|
||||
v-model="credentials.twofactor"
|
||||
autocomplete="one-time-code"
|
||||
:rules="[
|
||||
(val) =>
|
||||
(val && val.length > 0) || 'This field is required',
|
||||
|
||||
Reference in New Issue
Block a user