Compare commits
10 Commits
9b506cefdb
...
7269a51188
| Author | SHA1 | Date | |
|---|---|---|---|
| 7269a51188 | |||
| 8b9712ce1c | |||
| 23251760b3 | |||
| 4bd77b982b | |||
| a7e7e41a90 | |||
| 2f4cabcc48 | |||
| fc10596037 | |||
| 5f76206f3d | |||
| ef585bddbd | |||
| 9a6ebc84fa |
@@ -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",
|
||||||
|
|||||||
@@ -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 }
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -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(
|
||||||
|
|||||||
@@ -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."
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -264,7 +264,8 @@ export default {
|
|||||||
"PurchaseList",
|
"PurchaseList",
|
||||||
"GZCaseList",
|
"GZCaseList",
|
||||||
"VendorNotificationList",
|
"VendorNotificationList",
|
||||||
"SubscriptionList"
|
"SubscriptionList",
|
||||||
|
"SubscriptionItemList"
|
||||||
],
|
],
|
||||||
|
|
||||||
////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////
|
||||||
|
|||||||
@@ -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>
|
||||||
|
|||||||
@@ -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"
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
@@ -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"
|
||||||
]);
|
]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user