mirror of
https://github.com/jpros/tacticalrmm-web.git
synced 2026-04-29 03:00:06 +00:00
UI improvements
This commit is contained in:
@@ -139,6 +139,32 @@
|
||||
<q-item-section>Show Relations</q-item-section>
|
||||
</q-item>
|
||||
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="showPatchPolicyModal(props.row)"
|
||||
id="context-winupdate"
|
||||
v-if="props.row.patch_policy !== undefined"
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="system_update" />
|
||||
</q-item-section>
|
||||
<q-item-section>Show Patch Policy</q-item-section>
|
||||
</q-item>
|
||||
|
||||
<q-item
|
||||
clickable
|
||||
v-close-popup
|
||||
@click="showNewPatchPolicyModal(props.row)"
|
||||
id="context-winupdate"
|
||||
v-else
|
||||
>
|
||||
<q-item-section side>
|
||||
<q-icon name="system_update" />
|
||||
</q-item-section>
|
||||
<q-item-section>Create Patch Policy</q-item-section>
|
||||
</q-item>
|
||||
|
||||
<q-separator></q-separator>
|
||||
|
||||
<q-item clickable v-close-popup>
|
||||
@@ -170,6 +196,21 @@
|
||||
@click="showRelationsModal(props.row)"
|
||||
>{{ `Show Relations (${props.row.clients_count + props.row.sites_count + props.row.agents_count}+)` }}</span>
|
||||
</q-td>
|
||||
<q-td>
|
||||
<span
|
||||
style="cursor:pointer;color:blue;text-decoration:underline"
|
||||
@click="showPatchPolicyModal(props.row)"
|
||||
v-if="props.row.winupdatepolicy !== undefined"
|
||||
>Show Patch Policy</span>
|
||||
<span
|
||||
style="cursor:pointer;color:blue;text-decoration:underline"
|
||||
@click="showNewPatchPolicyModal(props.row)"
|
||||
v-else
|
||||
>Create Patch Policy</span>
|
||||
</q-td>
|
||||
<q-td>
|
||||
<q-icon name="content-copy" />
|
||||
</q-td>
|
||||
</q-tr>
|
||||
</template>
|
||||
</q-table>
|
||||
@@ -204,10 +245,11 @@ import PolicyForm from "@/components/automation/modals/PolicyForm";
|
||||
import PolicyOverview from "@/components/automation/PolicyOverview";
|
||||
import PolicySubTableTabs from "@/components/automation/PolicySubTableTabs";
|
||||
import RelationsView from "@/components/automation/modals/RelationsView";
|
||||
import PatchPolicyForm from "@/components/modals/agents/PatchPolicyForm";
|
||||
|
||||
export default {
|
||||
name: "AutomationManager",
|
||||
components: { PolicyForm, PolicyOverview, PolicySubTableTabs, RelationsView },
|
||||
components: { PolicyForm, PolicyOverview, PolicySubTableTabs, RelationsView, PatchPolicyForm },
|
||||
mixins: [mixins],
|
||||
data() {
|
||||
return {
|
||||
@@ -225,24 +267,36 @@ export default {
|
||||
label: "Name",
|
||||
field: "name",
|
||||
align: "left",
|
||||
sortable: true
|
||||
sortable: true,
|
||||
},
|
||||
{
|
||||
name: "desc",
|
||||
label: "Description",
|
||||
field: "desc",
|
||||
align: "left"
|
||||
align: "left",
|
||||
},
|
||||
{
|
||||
name: "relations",
|
||||
label: "Relations",
|
||||
field: "relations",
|
||||
align: "left",
|
||||
},
|
||||
{
|
||||
name: "patch_policy",
|
||||
label: "Patch Policy",
|
||||
field: "patch_policy",
|
||||
align: "left",
|
||||
},
|
||||
{
|
||||
name: "actions",
|
||||
label: "Actions",
|
||||
field: "actions",
|
||||
align: "left"
|
||||
}
|
||||
align: "left",
|
||||
},
|
||||
],
|
||||
pagination: {
|
||||
rowsPerPage: 9999
|
||||
}
|
||||
rowsPerPage: 9999,
|
||||
},
|
||||
};
|
||||
},
|
||||
methods: {
|
||||
@@ -269,7 +323,7 @@ export default {
|
||||
.dialog({
|
||||
title: "Delete policy?",
|
||||
cancel: true,
|
||||
ok: { label: "Delete", color: "negative" }
|
||||
ok: { label: "Delete", color: "negative" },
|
||||
})
|
||||
.onOk(() => {
|
||||
this.$store
|
||||
@@ -320,7 +374,7 @@ export default {
|
||||
name: policy.name,
|
||||
desc: policy.desc,
|
||||
active: policy.active,
|
||||
enforced: policy.enforced
|
||||
enforced: policy.enforced,
|
||||
};
|
||||
|
||||
this.$store
|
||||
@@ -331,16 +385,16 @@ export default {
|
||||
.catch(error => {
|
||||
this.$q.notify(notifyErrorConfig("An Error occured while editing policy"));
|
||||
});
|
||||
}
|
||||
},
|
||||
},
|
||||
computed: {
|
||||
...mapState({
|
||||
policies: state => state.automation.policies,
|
||||
selectedRow: state => state.automation.selectedPolicy
|
||||
})
|
||||
selectedRow: state => state.automation.selectedPolicy,
|
||||
}),
|
||||
},
|
||||
mounted() {
|
||||
this.refresh();
|
||||
}
|
||||
},
|
||||
};
|
||||
</script>
|
||||
@@ -13,7 +13,6 @@
|
||||
>
|
||||
<q-tab name="checks" icon="fas fa-check-double" label="Checks" />
|
||||
<q-tab name="tasks" icon="fas fa-tasks" label="Tasks" />
|
||||
<q-tab name="patches" icon="system_update" label="Patches" />
|
||||
</q-tabs>
|
||||
<q-separator />
|
||||
<q-tab-panels v-model="subtab" :animated="false">
|
||||
@@ -23,9 +22,6 @@
|
||||
<q-tab-panel name="tasks">
|
||||
<PolicyAutomatedTasksTab />
|
||||
</q-tab-panel>
|
||||
<q-tab-panel name="patches">
|
||||
<WindowsUpdateForm />
|
||||
</q-tab-panel>
|
||||
</q-tab-panels>
|
||||
</div>
|
||||
</template>
|
||||
@@ -33,14 +29,12 @@
|
||||
<script>
|
||||
import PolicyChecksTab from "@/components/automation/PolicyChecksTab";
|
||||
import PolicyAutomatedTasksTab from "@/components/automation/PolicyAutomatedTasksTab";
|
||||
import WindowsUpdateForm from "@/components/modals/agents/WindowsUpdateForm";
|
||||
|
||||
export default {
|
||||
name: "PolicySubTableTabs",
|
||||
components: {
|
||||
PolicyChecksTab,
|
||||
PolicyAutomatedTasksTab,
|
||||
WindowsUpdateForm,
|
||||
},
|
||||
data() {
|
||||
return {
|
||||
|
||||
@@ -91,13 +91,13 @@
|
||||
</q-card-section>
|
||||
<q-card-section>
|
||||
<div class="q-gutter-sm">
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="0" label="Monday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="1" label="Tuesday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="2" label="Wednesday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="3" label="Thursday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="4" label="Friday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="5" label="Saturday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_days" :val="6" label="Sunday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_mon" label="Monday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_tue" label="Tuesday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_wed" label="Wednesday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_thur" label="Thursday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_fri" label="Friday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_sat" label="Saturday" />
|
||||
<q-checkbox v-model="winupdatepolicy.run_time_day_sun" label="Sunday" />
|
||||
</div>
|
||||
</q-card-section>
|
||||
<!-- Reboot After Installation -->
|
||||
@@ -145,18 +145,26 @@
|
||||
import { scheduledTimes } from "@/mixins/data";
|
||||
|
||||
export default {
|
||||
name: "WindowsUpdateForm",
|
||||
name: "PatchPolicyForm",
|
||||
data() {
|
||||
return {
|
||||
winupdatepolicy: {
|
||||
policy: "",
|
||||
critical: "",
|
||||
important: "",
|
||||
moderate: "",
|
||||
low: "",
|
||||
other: "",
|
||||
run_time_hour: "",
|
||||
run_time_days: "",
|
||||
agent: null,
|
||||
policy: null,
|
||||
critical: "ignore",
|
||||
important: "ignore",
|
||||
moderate: "ignore",
|
||||
low: "ignore",
|
||||
other: "ignore",
|
||||
run_time_hour: 0,
|
||||
repeat: 0,
|
||||
run_time_day_mon: false,
|
||||
run_time_day_tue: false,
|
||||
run_time_day_wed: false,
|
||||
run_time_day_thur: false,
|
||||
run_time_day_fri: false,
|
||||
run_time_day_sat: false,
|
||||
run_time_day_sun: false,
|
||||
reboot_after_install: "never",
|
||||
reprocess_failed: false,
|
||||
reprocess_failed_times: 5,
|
||||
Reference in New Issue
Block a user