Compare commits

...

10 Commits

Author SHA1 Message Date
7269a51188 2024-12-17 22:34:43 +00:00
8b9712ce1c Prepare for next release 2024-06-03 23:44:55 +00:00
23251760b3 case 4533 2024-06-03 23:06:32 +00:00
4bd77b982b case 4590 2024-06-03 23:04:51 +00:00
a7e7e41a90 changes to support subscription server install script going forward for new ay 8.2.0 and ubuntu 24.04 setups 2024-05-20 23:53:23 +00:00
2f4cabcc48 case 4576 addition of up to 25 level v7 2024-03-21 15:06:45 +00:00
fc10596037 2023-04-25 15:40:35 +00:00
5f76206f3d 2023-04-21 22:07:38 +00:00
ef585bddbd 2023-04-21 17:40:11 +00:00
9a6ebc84fa 2023-04-20 00:31:49 +00:00
11 changed files with 170 additions and 89 deletions

View File

@@ -1,6 +1,6 @@
{ {
"name": "sockeye", "name": "sockeye",
"version": "8.0.13", "version": "8.0.16",
"private": true, "private": true,
"scripts": { "scripts": {
"serve": "vue-cli-service serve", "serve": "vue-cli-service serve",

View File

@@ -17,7 +17,6 @@ export default {
GlobalOps: { Change: 16384, ReadFullRecord: 8192, Select: 0 }, GlobalOps: { Change: 16384, ReadFullRecord: 8192, Select: 0 },
User: { Change: 2, ReadFullRecord: 1, Select: 131071 }, User: { Change: 2, ReadFullRecord: 1, Select: 131071 },
UserOptions: { Change: 2, ReadFullRecord: 1, Select: 0 }, UserOptions: { Change: 2, ReadFullRecord: 1, Select: 0 },
Vendor: { Change: 106, ReadFullRecord: 98565, Select: 131071 },
ServerState: { Change: 16384, ReadFullRecord: 131071, Select: 0 }, ServerState: { Change: 16384, ReadFullRecord: 131071, Select: 0 },
LogFile: { Change: 0, ReadFullRecord: 24576, Select: 0 }, LogFile: { Change: 0, ReadFullRecord: 24576, Select: 0 },
Backup: { Change: 16384, ReadFullRecord: 8195, Select: 0 }, Backup: { Change: 16384, ReadFullRecord: 8195, Select: 0 },
@@ -38,12 +37,14 @@ export default {
Reminder: { Change: 124927, ReadFullRecord: 124927, Select: 124927 }, Reminder: { Change: 124927, ReadFullRecord: 124927, Select: 124927 },
Review: { Change: 124927, ReadFullRecord: 124927, Select: 124927 }, Review: { Change: 124927, ReadFullRecord: 124927, Select: 124927 },
Integration: { Change: 49514, ReadFullRecord: 49514, Select: 49514 }, Integration: { Change: 49514, ReadFullRecord: 49514, Select: 49514 },
Vendor: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
License: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, License: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
TrialLicenseRequest: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, TrialLicenseRequest: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
SubscriptionServer: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, SubscriptionServer: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
Purchase: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, Purchase: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
VendorNotification: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
Product: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, Product: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
GZCase: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, GZCase: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
VendorNotification: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }, Subscription: { Change: 32842, ReadFullRecord: 65797, Select: 131071 },
Subscription: { Change: 32842, ReadFullRecord: 65797, Select: 131071 } SubscriptionItem: { Change: 32842, ReadFullRecord: 65797, Select: 131071 }
}; };

View File

@@ -283,6 +283,36 @@ export default {
params: { recordid: tid.id } params: { recordid: tid.id }
}); });
break; break;
case socktype.SubscriptionItem:
(async () => {
try {
const res = await window.$gz.api.get(
`search/ancestor/${tid.type}/${tid.id}`
);
if (res.error) {
throw new Error(
window.$gz.errorHandler.errorToString(res, vm)
);
}
if (res.data.id && res.data.id != 0) {
vm.$router.push({
name: "subscription-edit",
params: { recordid: res.data.id }
});
// this.handleOpenObjectClick(vm, {
// type: socktype.Subscription,
// id: res.data.id,
// });
// return;
}
} catch (e) {
//throw new Error(e);
throw new Error(window.$gz.errorHandler.errorToString(e, vm));
}
})();
break;
default: default:
window.$gz.eventBus.$emit( window.$gz.eventBus.$emit(

View File

@@ -1,4 +1,4 @@
export default { export default {
version: "8.0.13", version: "8.0.17",
copyright: "© 1999-2022, Ground Zero Tech-Works Inc." copyright: "© 1999-2024, Ground Zero Tech-Works Inc."
}; };

View File

@@ -264,7 +264,8 @@ export default {
"PurchaseList", "PurchaseList",
"GZCaseList", "GZCaseList",
"VendorNotificationList", "VendorNotificationList",
"SubscriptionList" "SubscriptionList",
"SubscriptionItemList"
], ],
//////////////////////////////////////////////////////// ////////////////////////////////////////////////////////

View File

@@ -51,7 +51,7 @@ Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\ssh\shell\open] [HKEY_CLASSES_ROOT\ssh\shell\open]
[HKEY_CLASSES_ROOT\ssh\shell\open\command] [HKEY_CLASSES_ROOT\ssh\shell\open\command]
@="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -Command \"$val='%l'; $val = $val.TrimEnd('/');if ($val.StartsWith('ssh://')) { $val = $val.SubString(6) }; & 'C:\\Program Files\\PuTTY\\putty.exe' \"$val\"\"" @="C:\\Windows\\System32\\WindowsPowerShell\\v1.0\\powershell.exe -Command \"$val='%l'; $val = $val.TrimEnd('/');if ($val.StartsWith('ssh://')) { $val = $val.SubString(6) };if ($val.StartsWith('ssh:')) { $val = $val.SubString(4) }; & 'C:\\Program Files\\PuTTY\\putty.exe' \"$val\"\""
---------------- ----------------
@@ -60,5 +60,6 @@ Also in putty need to set default to use pagent agent and then open the keys in
https://documentation.help/PuTTY/config-saving.html#S4.1.2 https://documentation.help/PuTTY/config-saving.html#S4.1.2
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command "$val='%l'; $val = $val.TrimEnd('/');if ($val.StartsWith('ssh://')) { $val = $val.SubString(6) };if ($val.StartsWith('ssh:')) { $val = $val.SubString(4) }; & 'C:\Program Files\PuTTY\putty.exe' "$val""
*/ */
</script> </script>

View File

@@ -95,6 +95,38 @@
></v-text-field> ></v-text-field>
</v-col> </v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-currency
ref="initialPrice"
v-model="obj.initialPrice"
:readonly="formState.readOnly"
:label="$sock.t('InitialPrice')"
data-cy="initialPrice"
:rules="[
form().decimalValid(this, 'initialPrice'),
form().required(this, 'initialPrice')
]"
:error-messages="form().serverErrors(this, 'initialPrice')"
@input="fieldValueChanged('initialPrice')"
></gz-currency>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<gz-currency
ref="renewPrice"
v-model="obj.renewPrice"
:readonly="formState.readOnly"
:label="$sock.t('RenewPrice')"
data-cy="renewPrice"
:rules="[
form().decimalValid(this, 'renewPrice'),
form().required(this, 'renewPrice')
]"
:error-messages="form().serverErrors(this, 'renewPrice')"
@input="fieldValueChanged('renewPrice')"
></gz-currency>
</v-col>
<v-col <v-col
v-if="form().showMe(this, 'ProductLicenseInterval')" v-if="form().showMe(this, 'ProductLicenseInterval')"
cols="12" cols="12"
@@ -203,6 +235,8 @@ export default {
maintInterval: "365.0:00:00", maintInterval: "365.0:00:00",
vendorCode: null, vendorCode: null,
ourCode: null, ourCode: null,
renewPrice: 0,
initialPrice: 0,
wiki: null, wiki: null,
tags: [] tags: []
}, },
@@ -666,7 +700,9 @@ async function fetchTranslatedText() {
"ProductMaintInterval", "ProductMaintInterval",
"ProductVendorCode", "ProductVendorCode",
"ProductOurCode", "ProductOurCode",
"ProductGroup" "ProductGroup",
"InitialPrice",
"RenewPrice"
]); ]);
} }

View File

@@ -106,7 +106,7 @@ async function clickHandler(menuItem) {
{ {
const res = await m.vm.$refs.reportSelector.open( const res = await m.vm.$refs.reportSelector.open(
m.vm.$refs.gzdatatable.getDataListSelection( m.vm.$refs.gzdatatable.getDataListSelection(
window.$gz.type.Subscription window.$gz.type.SubscriptionItem
), ),
m.id m.id
); );
@@ -132,7 +132,7 @@ function generateMenu(vm) {
const menuOptions = { const menuOptions = {
isMain: true, isMain: true,
icon: "$sockiFileContract", icon: "$sockiFileContract",
title: "SubscriptionList", title: "SubscriptionItemList",
menuItems: [], menuItems: [],
formData: { formData: {
sockType: window.$gz.type.Subscription sockType: window.$gz.type.Subscription

View File

@@ -1346,7 +1346,7 @@ async function clickHandler(menuItem) {
# 3) Add droplet into raven-server-standard-firewall # 3) Add droplet into raven-server-standard-firewall
# 4) check DNS available using https://letsdebug.net/ # 4) check DNS available using https://letsdebug.net/
# 5) Open putty, select X.onayanova.com, change ip to new droplet domain name and open it # 5) Open putty, select X.onayanova.com, change ip to new droplet domain name and open it
# 6) apt-get update && apt-get upgrade reboot, if necessary use apt --with-new-pkgs upgrade # 6) apt-get update && apt-get dist-upgrade reboot
# 7) TRIAL: make calendar entry 8 days hence to decommision and blueberry color reminder 0 days 11am # 7) TRIAL: make calendar entry 8 days hence to decommision and blueberry color reminder 0 days 11am
# 8) nano ayinit.sh paste in this # 8) nano ayinit.sh paste in this
# 9) CHANGE the values at the top of the script to the desired time zone (see rfdocs for list) and subdomain, Save and exit nano # 9) CHANGE the values at the top of the script to the desired time zone (see rfdocs for list) and subdomain, Save and exit nano
@@ -1363,6 +1363,7 @@ echo STARTING...
timedatectl set-timezone $TIMEZONE timedatectl set-timezone $TIMEZONE
apt-get update apt-get update
apt-get dist-upgrade -y apt-get dist-upgrade -y
dpkg-reconfigure unattended-upgrades
echo SET SWAP FILE echo SET SWAP FILE
fallocate -l 1G /swapfile fallocate -l 1G /swapfile
chmod 600 /swapfile chmod 600 /swapfile
@@ -1372,7 +1373,7 @@ echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
echo INSTALL .NET CORE echo INSTALL .NET CORE
apt-get install -y aspnetcore-runtime-6.0 apt-get install -y aspnetcore-runtime-8.0
echo INSTALL POSTGRESQL echo INSTALL POSTGRESQL
sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list'
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add - wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
@@ -1380,22 +1381,26 @@ sudo apt-get update
sudo apt-get -y install postgresql sudo apt-get -y install postgresql
sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'YOUR_PASSWORD_HERE';" sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'YOUR_PASSWORD_HERE';"
echo INSTALL REPORTING LIBS echo INSTALL REPORTING LIBS
sudo apt-get install -yq gconf-service libasound2 libatk1.0-0 libc6 libcairo2 libcups2 libdbus-1-3 \
libexpat1 libfontconfig1 libgcc1 libgconf-2-4 libgdk-pixbuf2.0-0 libglib2.0-0 libgtk-3-0 libnspr4 \ # Ubuntu 24.04
libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 \ sudo apt-get update
libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 libgbm1 \ sudo apt-get install -y libatk1.0-0t64 libc6 libcairo2 libdbus-1-3 libexpat1 libfontconfig1 libgcc-s1 libgdk-pixbuf2.0-0 libglib2.0-0t64 libgtk-3-0t64 libnspr4 libpango-1.0-0 libpangocairo-1.0-0 libstdc++6 libx11-6 libx11-xcb1 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxext6 libxfixes3 libxi6 libxrandr2 libxrender1 libxss1 libxtst6 ca-certificates fonts-liberation libnss3 lsb-release libgbm-dev xdg-utils
ca-certificates fonts-liberation libappindicator1 libnss3 lsb-release xdg-utils wget sudo apt-get update
sudo apt-get install -y libatk-bridge2.0-0t64 libcups2t64 libxcomposite1 libxdamage1 libpangocairo-1.0-0 libxfixes3 libxrandr2 libgbm1 libcairo2 libpango-1.0-0 libasound2t64 wget
# NOTE: for future releases of ubuntu when need to update packages this was helpful https://itsfoss.com/unable-to-locate-package-error-ubuntu/
echo INSTALL AYANOVA echo INSTALL AYANOVA
apt install zip unzip -y apt install zip unzip -y
mkdir /var/ayanova mkdir /var/ayanova
mkdir /var/ayanova/data mkdir /var/ayanova/data
mkdir /var/ayanova/.local-chromium mkdir /var/ayanova/Chrome
mkdir /var/ayanova/ChromeHeadlessShell
cd /var/ayanova cd /var/ayanova
curl -O https://www.ayanova.com/download/ayanova-subscription-linux-x64-server.zip && \ curl -O https://www.ayanova.com/download/ayanova-subscription-linux-x64-server.zip && unzip -o ayanova-subscription-linux-x64-server.zip
unzip -o ayanova-subscription-linux-x64-server.zip
chown -vR :www-data /var/ayanova chown -vR :www-data /var/ayanova
chmod -R g+rw /var/ayanova/data chmod -R g+rw /var/ayanova/data
chmod -R g+rwx /var/ayanova/.local-chromium chmod -R g+rwx /var/ayanova/Chrome
chmod -R g+rwx /var/ayanova/ChromeHeadlessShell
chmod g+rw /var/ayanova/
echo '[Unit]' >> /etc/systemd/system/ayanova.service echo '[Unit]' >> /etc/systemd/system/ayanova.service
echo 'Description=AyaNova server' >> /etc/systemd/system/ayanova.service echo 'Description=AyaNova server' >> /etc/systemd/system/ayanova.service
echo '' >> /etc/systemd/system/ayanova.service echo '' >> /etc/systemd/system/ayanova.service
@@ -1458,26 +1463,6 @@ echo ...COMPLETED
); );
break; break;
// case "QuoteList":
// m.vm.$router.push({
// name: "svc-quotes",
// params: {
// aType: m.vm.sockType,
// objectId: m.vm.obj.id,
// name: m.vm.obj.name
// }
// });
// break;
// case "PMList":
// m.vm.$router.push({
// name: "svc-pms",
// params: {
// aType: m.vm.sockType,
// objectId: m.vm.obj.id,
// name: m.vm.obj.name
// }
// });
// break;
default: default:
window.$gz.eventBus.$emit( window.$gz.eventBus.$emit(
"notify-warning", "notify-warning",

View File

@@ -131,11 +131,18 @@
</v-list> </v-list>
</v-menu> </v-menu>
<span v-else class="text-h6"> <span v-else class="text-h6">
{{ $sock.t("SubscriptoinItemList") }}</span {{ $sock.t("SubscriptionItemList") }}</span
> >
</v-col> </v-col>
</template> </template>
<template v-slot:[`item.renewal`]="{ item }">
<v-simple-checkbox
v-model="item.renewal"
disabled
></v-simple-checkbox>
</template>
<template v-slot:[`item.active`]="{ item }"> <template v-slot:[`item.active`]="{ item }">
<v-simple-checkbox <v-simple-checkbox
v-model="item.active" v-model="item.active"
@@ -274,25 +281,17 @@
</v-btn> </v-btn>
</template> </template>
<v-list> <v-list>
<!-- <v-list-item @click="subExpireAddOneWeek">
<v-list-item-icon>
<v-icon>$sockiPlus</v-icon>
</v-list-item-icon>
<v-list-item-title>One week</v-list-item-title>
</v-list-item> -->
<v-list-item @click="subExpireAddOneMonth"> <v-list-item @click="subExpireAddOneMonth">
<v-list-item-icon> <v-list-item-icon>
<v-icon>$sockiPlus</v-icon> <v-icon>$sockiPlus</v-icon>
</v-list-item-icon> </v-list-item-icon>
<v-list-item-title <v-list-item-title>Now + 1M + 7d</v-list-item-title>
>One month + 7d</v-list-item-title
>
</v-list-item> </v-list-item>
<v-list-item @click="subExpireAddOneYear"> <v-list-item @click="subExpireAddOneYear">
<v-list-item-icon> <v-list-item-icon>
<v-icon>$sockiPlus</v-icon> <v-icon>$sockiPlus</v-icon>
</v-list-item-icon> </v-list-item-icon>
<v-list-item-title>One year + 7d</v-list-item-title> <v-list-item-title>Now + 1Y + 7d</v-list-item-title>
</v-list-item> </v-list-item>
</v-list> </v-list>
</v-menu> </v-menu>
@@ -319,7 +318,24 @@
</v-col> </v-col>
</v-row> </v-row>
</v-col> </v-col>
<v-col cols="12" sm="6" lg="4" xl="3">
<v-checkbox
ref="renewal"
v-model="obj.items[editItemIndex].renewal"
dense
:readonly="formState.readOnly"
:label="$sock.t('Renewal')"
:error-messages="
form().serverErrors(
this,
`Items[${editItemIndex}].renewal`
)
"
@change="
fieldValueChanged(`Items[${editItemIndex}].renewal`)
"
></v-checkbox>
</v-col>
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col cols="12" sm="6" lg="4" xl="3">
<gz-date-time-picker <gz-date-time-picker
ref="Items.originalOrderDate" ref="Items.originalOrderDate"
@@ -531,6 +547,11 @@ export default {
align: "right", align: "right",
value: "quantity" value: "quantity"
}); });
headers.push({
text: this.$sock.t("Renewal"),
align: "center",
value: "renewal"
});
headers.push({ headers.push({
text: this.$sock.t("PurchaseExpireDate"), text: this.$sock.t("PurchaseExpireDate"),
@@ -565,6 +586,7 @@ export default {
this.hour12 this.hour12
), ),
active: x.active, active: x.active,
renewal: x.renewal,
productViz: x.productViz productViz: x.productViz
}; };
}); });
@@ -671,10 +693,11 @@ export default {
subscriptionId: 0, subscriptionId: 0,
productId: null, productId: null,
quantity: 1, quantity: 1,
expireDate: window.$gz.locale.nowUTC8601String(), expireDate: null, //deliberate to ensure a date gets set properly as some items are monthly and some yearly can't just assume a date here
originalOrderDate: window.$gz.locale.nowUTC8601String(), originalOrderDate: window.$gz.locale.nowUTC8601String(),
originalOrderNumber: null, originalOrderNumber: null,
active: true active: true,
renewal: false
}); });
this.editItemIndex = this.obj.items.length - 1; this.editItemIndex = this.obj.items.length - 1;
this.editItemDialog = true; this.editItemDialog = true;
@@ -689,7 +712,8 @@ export default {
expireDate: src.expireDate, expireDate: src.expireDate,
originalOrderDate: src.originalOrderDate, originalOrderDate: src.originalOrderDate,
originalOrderNumber: src.originalOrderNumber, originalOrderNumber: src.originalOrderNumber,
active: true active: true,
renewal: false
}); });
this.editItemIndex = this.obj.items.length - 1; this.editItemIndex = this.obj.items.length - 1;
this.editItemDialog = true; this.editItemDialog = true;
@@ -707,31 +731,28 @@ export default {
return "font-weight-black font-italic error--text"; return "font-weight-black font-italic error--text";
} }
}, },
subExpireAddOneWeek: function() {
this.obj.items[this.editItemIndex].expireDate = addToDate(
this.obj.items[this.editItemIndex].expireDate,
{
days: 7
}
);
},
subExpireAddOneMonth: function() { subExpireAddOneMonth: function() {
this.obj.items[this.editItemIndex].expireDate = addToDate( //8.0.16 changed to how I actually use it which is now plus additional time
this.obj.items[this.editItemIndex].expireDate, //before this change I had to keep selecting now and today first
{ this.obj.items[this.editItemIndex].expireDate = addToDate(null, {
months: 1, months: 1,
days: 7 days: 7
} });
); // this.obj.items[this.editItemIndex].expireDate = addToDate(
// this.obj.items[this.editItemIndex].expireDate,
// {
// months: 1,
// days: 7
// }
// );
}, },
subExpireAddOneYear: function() { subExpireAddOneYear: function() {
this.obj.items[this.editItemIndex].expireDate = addToDate( //8.0.16 changed to how I actually use it which is now plus additional time
this.obj.items[this.editItemIndex].expireDate, //before this change I had to keep selecting now and today first
{ this.obj.items[this.editItemIndex].expireDate = addToDate(null, {
years: 1, years: 1,
days: 7 days: 7
} });
);
// const now = window.$gz.locale.nowUTC8601String(this.timeZoneName); // const now = window.$gz.locale.nowUTC8601String(this.timeZoneName);
// this.obj.items[ // this.obj.items[
// this.editItemIndex // this.editItemIndex
@@ -1046,6 +1067,7 @@ async function clickHandler(menuItem) {
// { id: 7, name: "Single ", active: true }, // { id: 7, name: "Single ", active: true },
// { id: 9, name: "Up to 10 ", active: true }, // { id: 9, name: "Up to 10 ", active: true },
// { id: 17, name: "Up to 15 ", active: true }, // { id: 17, name: "Up to 15 ", active: true },
// id 25 = up to 25
// { id: 12, name: "Up to 20 ", active: true }, // { id: 12, name: "Up to 20 ", active: true },
// { id: 2, name: "Up to 5 ", active: true }, // { id: 2, name: "Up to 5 ", active: true },
// { id: 20, name: "Up to 999 ", active: true }, // { id: 20, name: "Up to 999 ", active: true },
@@ -1073,7 +1095,7 @@ async function clickHandler(menuItem) {
wiki: null, wiki: null,
tags: [], tags: [],
trialMode: false, trialMode: false,
renewal: false, renewal: true,
//dto only props //dto only props
customerUsers: 250, customerUsers: 250,
maxDataGB: 20, maxDataGB: 20,
@@ -1192,6 +1214,10 @@ async function clickHandler(menuItem) {
l.users = 1; l.users = 1;
l.maintenanceExpire = z.expireDate; l.maintenanceExpire = z.expireDate;
break; break;
case 25: //Up to 25 //case 4576
l.users = 25;
l.maintenanceExpire = z.expireDate;
break;
case 20: //Up to 999 case 20: //Up to 999
l.users = 999; l.users = 999;
l.maintenanceExpire = z.expireDate; l.maintenanceExpire = z.expireDate;
@@ -1411,7 +1437,8 @@ async function fetchTranslatedText() {
"OriginalOrderDate", "OriginalOrderDate",
"LicenseRegTo", "LicenseRegTo",
"LicenseFetchEmail", "LicenseFetchEmail",
"DatabaseID" "DatabaseID",
"Renewal"
]); ]);
} }

View File

@@ -101,7 +101,7 @@
<v-col cols="12" sm="6" lg="4" xl="3"> <v-col cols="12" sm="6" lg="4" xl="3">
<v-select <v-select
ref="sockType" ref="sockType"
v-model="obj.aType" v-model="obj.sockType"
dense dense
:items="selectLists.coreSockTypes" :items="selectLists.coreSockTypes"
item-text="name" item-text="name"
@@ -109,9 +109,9 @@
:readonly="formState.readOnly" :readonly="formState.readOnly"
:label="$sock.t('SockType')" :label="$sock.t('SockType')"
data-cy="sockType" data-cy="sockType"
:rules="[form().integerValid(this, 'aType')]" :rules="[form().integerValid(this, 'sockType')]"
:error-messages="form().serverErrors(this, 'aType')" :error-messages="form().serverErrors(this, 'sockType')"
@input="fieldValueChanged('aType')" @input="fieldValueChanged('sockType')"
></v-select> ></v-select>
</v-col> </v-col>
@@ -371,7 +371,7 @@ export default {
active: true, active: true,
notes: "", notes: "",
roles: 124927, //all except customers roles: 124927, //all except customers
aType: 0, sockType: 0,
template: `<html> template: `<html>
<body> <body>
@@ -438,7 +438,7 @@ export default {
}, },
computed: { computed: {
showIncludeDescendants: function() { showIncludeDescendants: function() {
switch (this.obj.aType) { switch (this.obj.sockType) {
case window.$gz.type.WorkOrderItem: case window.$gz.type.WorkOrderItem:
case window.$gz.type.WorkOrderItemExpense: case window.$gz.type.WorkOrderItemExpense:
case window.$gz.type.WorkOrderItemLabor: case window.$gz.type.WorkOrderItemLabor:
@@ -558,7 +558,7 @@ export default {
vm.$router.go(-1); vm.$router.go(-1);
return; return;
} }
vm.obj.aType = vm.$route.params.reportDataOptions.SockType; vm.obj.sockType = vm.$route.params.reportDataOptions.SockType;
//trigger rule breaking / validation //trigger rule breaking / validation
this.$nextTick(() => { this.$nextTick(() => {
this.obj.name = null; this.obj.name = null;
@@ -1139,7 +1139,7 @@ async function fetchReportData(vm) {
"sock-report-edit:fetchReportData - route parameter SockType is missing or empty, unable to init report designer" "sock-report-edit:fetchReportData - route parameter SockType is missing or empty, unable to init report designer"
); );
} }
vm.obj.aType = reportDataOptions.SockType; vm.obj.sockType = reportDataOptions.SockType;
//handle includeWoItemDescendants by adding it's value to the request for report data //handle includeWoItemDescendants by adding it's value to the request for report data
reportDataOptions["includeWoItemDescendants"] = reportDataOptions["includeWoItemDescendants"] =
vm.obj.includeWoItemDescendants; vm.obj.includeWoItemDescendants;