Show upgrade dialog if max user or domain count exceeds

This commit is contained in:
Johannes Zellner
2025-05-07 15:03:59 +02:00
parent 974fd19b40
commit 27c697c1d2
2 changed files with 12 additions and 4 deletions

View File

@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
const i18n = useI18n();
const t = i18n.t;
import { ref, onMounted, useTemplateRef, computed } from 'vue';
import { ref, onMounted, useTemplateRef, computed, inject } from 'vue';
import { Button, ButtonGroup, TableView, TextInput, InputDialog } from 'pankow';
import Certificates from '../components/Certificates.vue';
import SyncDns from '../components/SyncDns.vue';
@@ -25,8 +25,12 @@ const dashboardDomain = ref('');
const domainDialog = useTemplateRef('domainDialog');
const wellKnownDialog = useTemplateRef('wellKnownDialog');
const features = inject('features');
const subscriptionRequiredDialog = inject('subscriptionRequiredDialog');
function onAdd () {
domainDialog.value.open(null);
if (features.value.domainMaxCount <= domains.value.length) subscriptionRequiredDialog.value.open();
else domainDialog.value.open(null);
}
function onEdit(domain) {

View File

@@ -4,7 +4,7 @@ import { useI18n } from 'vue-i18n';
const i18n = useI18n();
const t = i18n.t;
import { ref, onMounted, computed, useTemplateRef } from 'vue';
import { ref, onMounted, computed, useTemplateRef, inject } from 'vue';
import { Button, ButtonGroup, TextInput, SingleSelect, TableView, InputDialog } from 'pankow';
import { ROLES } from '../constants.js';
import Section from '../components/Section.vue';
@@ -65,6 +65,9 @@ const groups = ref([]);
const groupsById = ref({});
const roles = ref([]);
const features = inject('features');
const subscriptionRequiredDialog = inject('subscriptionRequiredDialog');
const inputDialog = useTemplateRef('inputDialog');
const userDialog = useTemplateRef('userDialog');
const groupDialog = useTemplateRef('groupDialog');
@@ -145,7 +148,8 @@ function onPasswordReset(user) {
}
function onEditOrAddUser(user = null) {
userDialog.value.open(user);
if (features.value.userMaxCount <= users.value.length) subscriptionRequiredDialog.value.open();
else userDialog.value.open(user);
}
const invitationDialog = useTemplateRef('invitationDialog');