diff --git a/src/views/biz-subscription.vue b/src/views/biz-subscription.vue
index b4435c1..aa7f724 100644
--- a/src/views/biz-subscription.vue
+++ b/src/views/biz-subscription.vue
@@ -48,7 +48,44 @@
@input="fieldValueChanged('subsite')"
>
+
+
+
+
+
+
+
+
+
@@ -440,6 +477,9 @@ export default {
pGroup: null,
active: true,
subsite: "main",
+ regTo: null,
+ fetchEmail: null,
+ dbId: null,
items: [],
notes: null,
tags: []
@@ -532,12 +572,14 @@ export default {
"menu-enable-item",
FORM_KEY + ":duplicate"
);
+ window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":license");
window.$gz.eventBus.$emit("menu-enable-item", FORM_KEY + ":new");
} else {
window.$gz.eventBus.$emit(
"menu-disable-item",
FORM_KEY + ":duplicate"
);
+ window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":license");
window.$gz.eventBus.$emit("menu-disable-item", FORM_KEY + ":new");
}
},
@@ -880,6 +922,153 @@ async function clickHandler(menuItem) {
}
break;
+ case "license":
+ {
+ if (!m.vm.canDuplicate()) {
+ alert("Save this record first");
+ return;
+ }
+
+ //generate license from subscription values here
+ //copied from biz-license default record values
+ var l = {
+ id: 0,
+ concurrency: 0,
+ created: window.$gz.locale.nowUTC8601String(),
+ active: false, //here, active means it's ready for pickup
+ customerId: null,
+ pGroup: 1, //default v7 since manually probably most common
+ regTo: null,
+ key: null,
+ fetchCode: null,
+ fetchEmail: null,
+ fetchedOn: null, //here, non null fetchedOn is read only
+ dbId: null,
+ licenseExpire: null, //what it is in v8, "lockdate" in v7
+ maintenanceExpire: null,
+ notificationSent: false,
+ wiki: null,
+ tags: [],
+ trialMode: false,
+ renewal: false,
+ //dto only props
+ customerUsers: 250,
+ maxDataGB: 20,
+ users: 1,
+ wbi: false,
+ wbiExpires: null,
+ mbi: false,
+ mbiExpires: null,
+ ri: false,
+ riExpires: null,
+ qbi: false,
+ qbiExpires: null,
+ qboi: false,
+ qboiExpires: null,
+ pti: false,
+ ptiExpires: null,
+ quickNotification: false,
+ quickNotificationExpires: null,
+ exportToXLS: false,
+ exportToXLSExpires: null,
+ outlookSchedule: false,
+ outlookScheduleExpires: null,
+ oli: false,
+ oliExpires: null,
+ importExportCSVDuplicate: false,
+ importExportCSVDuplicateExpires: null
+ };
+
+ /*
+ public enum ProductGroup
+ {
+ Misc = 0,
+ AyaNova7 = 1,
+ RavenPerpetual = 2,
+ RavenSubscription = 3,
+ NotSet = 4
+ }
+
+*/
+ switch (m.vm.obj.pGroup) {
+ case 0:
+ case 4:
+ throw new Error("Invalid PGroup");
+ case 1: //v7
+ {
+ l = {};
+ }
+ break;
+ case 2: //Raven perpetual
+ {
+ // var v = {
+ // data: {
+ // id: 0,
+ // created: window.$gz.locale.nowUTC8601String(),
+ // active: false,
+ // notificationSent: false,
+ // customerId: m.vm.obj.customerId,
+ // customerViz: null,
+ // pGroup: 2,
+ // regTo: "Vicom Australia",
+ // key: null,
+ // fetchCode: null,
+ // fetchEmail: "mparsons@vicom.com.au",
+ // fetchedOn: null,
+ // dbId: "mZaliiy+/TsHF9rcMpIGWO20Q5FhPD1ZdnWO2cMKMW8=",
+ // licenseExpire: "5555-01-02T00:00:00Z",
+ // maintenanceExpire: "2024-03-21T07:00:00Z",
+ // renewal: true,
+ // trialMode: false,
+ // customerUsers: null,
+ // maxDataGB: null,
+ // users: 19,
+ // wbi: false,
+ // wbiExpires: null,
+ // mbi: false,
+ // mbiExpires: null,
+ // ri: false,
+ // riExpires: null,
+ // qbi: false,
+ // qbiExpires: null,
+ // qboi: false,
+ // qboiExpires: null,
+ // pti: false,
+ // ptiExpires: null,
+ // quickNotification: false,
+ // quickNotificationExpires: null,
+ // exportToXLS: false,
+ // exportToXLSExpires: null,
+ // outlookSchedule: false,
+ // outlookScheduleExpires: null,
+ // oli: false,
+ // oliExpires: null,
+ // importExportCSVDuplicate: false,
+ // importExportCSVDuplicateExpires: null,
+ // wiki: null,
+ // tags: []
+ // }
+ // };
+ l = {};
+ }
+ break;
+ case 3: //RavenSubscription
+ {
+ l = {};
+ }
+ break;
+ }
+
+ this.$router.push({
+ name: "license-edit",
+ params: {
+ recordid: 0,
+ obj: l
+ }
+ });
+ }
+ break;
+
default:
window.$gz.eventBus.$emit(
"notify-warning",
@@ -963,6 +1152,16 @@ function generateMenu(vm) {
}
menuOptions.menuItems.push({ divider: true, inset: false });
+ if (vm.rights.change && vm.$route.params.recordid != 0 && vm.canDuplicate()) {
+ menuOptions.menuItems.push({
+ title: "Generate license",
+ notrans: true,
+ icon: "$sockiHandHoldingWater",
+ key: FORM_KEY + ":license",
+ vm: vm
+ });
+ }
+
menuOptions.menuItems.push({ divider: true, inset: false });
window.$gz.eventBus.$emit("menu-change", menuOptions);
}
@@ -995,7 +1194,10 @@ async function fetchTranslatedText() {
"PurchaseExpireDate",
"SubscriptionItemList",
"OriginalOrderNumber",
- "OriginalOrderDate"
+ "OriginalOrderDate",
+ "LicenseRegTo",
+ "LicenseFetchEmail",
+ "LicenseDBID"
]);
}