This commit is contained in:
@@ -11,13 +11,7 @@ ____________
|
|||||||
|
|
||||||
## CURRENT STAGE:
|
## CURRENT STAGE:
|
||||||
|
|
||||||
todo: Make this route work
|
|
||||||
http://localhost:8080/open?type=Widget&id=104
|
|
||||||
if user not logged in then it should login first then go to object
|
|
||||||
if user is logged in then it should just open that object
|
|
||||||
there need be no form "open" anywhere
|
|
||||||
todo: open object link url not working at client, asks for login but then doesn't navigate like it should
|
|
||||||
todo: test notification in alternate language
|
|
||||||
todo: subscription form should autofill in user's personal email address when they pick a new email subscription but still let them change it
|
todo: subscription form should autofill in user's personal email address when they pick a new email subscription but still let them change it
|
||||||
todo: subscription form still not completed, needs to be coded for when to show tags (for example) and other stuff
|
todo: subscription form still not completed, needs to be coded for when to show tags (for example) and other stuff
|
||||||
todo: Localize this message or get rid of it, it's annoying and possibly useless
|
todo: Localize this message or get rid of it, it's annoying and possibly useless
|
||||||
@@ -25,7 +19,7 @@ todo: Localize this message or get rid of it, it's annoying and possibly useless
|
|||||||
todo: Back end notification related settings
|
todo: Back end notification related settings
|
||||||
GlobalOpsNotificationSettings (copy from backup settings)
|
GlobalOpsNotificationSettings (copy from backup settings)
|
||||||
SMTP creds, return address
|
SMTP creds, return address
|
||||||
|
todo: back end email subject could use the object type in addition to the name of the object i.e. AY:Object changed:User:Christina Shanahan 25
|
||||||
todo: notifysubscriptionbiz
|
todo: notifysubscriptionbiz
|
||||||
Check for duplicate before accepting new / edit in validator
|
Check for duplicate before accepting new / edit in validator
|
||||||
|
|
||||||
@@ -73,6 +67,10 @@ todo: wo, quote and any other AgeValue notify objects are going to need to be ab
|
|||||||
todo: As biz objects are fleshed out need to also code their notification event stuff as well
|
todo: As biz objects are fleshed out need to also code their notification event stuff as well
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
|
todo: add method to continue on to requested url when a login needs to happen
|
||||||
|
(like capture the requested url and if found after login go to it)
|
||||||
|
todo: clean out leftover openurl stuff from old system
|
||||||
|
todo: Evaluate form generate sample data sb inside a dialog, it's only done once or twice at most and takes focus away from the other buttons and future stuff
|
||||||
todo: for some reason getting error about checking for notifications logout and back in again even after clean reboot
|
todo: for some reason getting error about checking for notifications logout and back in again even after clean reboot
|
||||||
Not sure why or how the notification check is starting but it's not right at the moment
|
Not sure why or how the notification check is starting but it's not right at the moment
|
||||||
At most sb one message saying server is unreachable and one more saying it's ok if it comes back but nothing in between
|
At most sb one message saying server is unreachable and one more saying it's ok if it comes back but nothing in between
|
||||||
|
|||||||
@@ -765,7 +765,9 @@ async function getUserOptions() {
|
|||||||
languageOverride: null,
|
languageOverride: null,
|
||||||
timeZoneOverride: null,
|
timeZoneOverride: null,
|
||||||
currencyName: null,
|
currencyName: null,
|
||||||
hour12: true
|
hour12: true,
|
||||||
|
uiColor: "#000000",
|
||||||
|
emailAddress: null
|
||||||
};
|
};
|
||||||
|
|
||||||
//get language to use, try user set override first, if empty then browser set, if empty then default to en-us
|
//get language to use, try user set override first, if empty then browser set, if empty then default to en-us
|
||||||
@@ -785,7 +787,10 @@ async function getUserOptions() {
|
|||||||
l.hour12 = res.data.hour12;
|
l.hour12 = res.data.hour12;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.$gz.store.commit("setLocale", l);
|
l.uiColor = res.data.uiColor || "#000000";
|
||||||
|
l.emailAddress = res.data.emailAddress || null;
|
||||||
|
|
||||||
|
window.$gz.store.commit("setUserOptions", l);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
window.$gz.store.commit(
|
window.$gz.store.commit(
|
||||||
|
|||||||
@@ -32,13 +32,13 @@ export default {
|
|||||||
// Get the user's chosen currency name
|
// Get the user's chosen currency name
|
||||||
//https://en.wikipedia.org/wiki/ISO_4217
|
//https://en.wikipedia.org/wiki/ISO_4217
|
||||||
getCurrencyName() {
|
getCurrencyName() {
|
||||||
return window.$gz.store.state.locale.currencyName;
|
return window.$gz.store.state.userOptions.currencyName;
|
||||||
},
|
},
|
||||||
//////////////////////////////////////////////////
|
//////////////////////////////////////////////////
|
||||||
// Get the user's chosen 12hr clock
|
// Get the user's chosen 12hr clock
|
||||||
//
|
//
|
||||||
getHour12() {
|
getHour12() {
|
||||||
return window.$gz.store.state.locale.hour12;
|
return window.$gz.store.state.userOptions.hour12;
|
||||||
},
|
},
|
||||||
///////////////////////////////////////////
|
///////////////////////////////////////////
|
||||||
// Turn a utc date into a displayable
|
// Turn a utc date into a displayable
|
||||||
|
|||||||
@@ -10,29 +10,27 @@ export default {
|
|||||||
//expects extra data (tid) to be one of { type: [AYATYPE], id: [RECORDID] }
|
//expects extra data (tid) to be one of { type: [AYATYPE], id: [RECORDID] }
|
||||||
//or null which is what is called when asking to check if there is a direct openObject in store and open it
|
//or null which is what is called when asking to check if there is a direct openObject in store and open it
|
||||||
|
|
||||||
if (tid == null) {
|
// if (tid == null) {
|
||||||
let op = vm.$store.state.openObject;
|
// let op = vm.$store.state.openObject;
|
||||||
//clear it out so it doesn't recur
|
// //clear it out so it doesn't recur
|
||||||
window.$gz.store.commit("clearOpenObject");
|
// window.$gz.store.commit("clearOpenObject");
|
||||||
if (op && op.type) {
|
// if (op && op.type) {
|
||||||
tid = op;
|
// tid = op;
|
||||||
} else {
|
// } else {
|
||||||
//log it in case we need to see it in tech support
|
// //log it in case we need to see it in tech support
|
||||||
window.$gz.store.commit(
|
// window.$gz.store.commit(
|
||||||
"logItem",
|
// "logItem",
|
||||||
`Error: open object url was not valid, missing type or invalid type ${JSON.stringify(
|
// `Error: open object url was not valid, missing type or invalid type ${JSON.stringify(
|
||||||
op
|
// op
|
||||||
)}`
|
// )}`
|
||||||
);
|
// );
|
||||||
return; //bail out, nothing to open here
|
// return; //bail out, nothing to open here
|
||||||
}
|
// }
|
||||||
}
|
// }
|
||||||
|
|
||||||
//NOTE: for new objects all edit pages assume record ID 0 means create rather than open
|
//NOTE: for new objects all edit pages assume record ID 0 means create rather than open
|
||||||
|
|
||||||
if (tid.type && tid.id != null) {
|
if (tid.type && tid.id != null) {
|
||||||
console.log("tid", tid);
|
|
||||||
console.log("ayatype", ayatype);
|
|
||||||
switch (tid.type) {
|
switch (tid.type) {
|
||||||
case ayatype.Widget:
|
case ayatype.Widget:
|
||||||
vm.$router.push({
|
vm.$router.push({
|
||||||
|
|||||||
@@ -273,7 +273,7 @@ export default {
|
|||||||
|
|
||||||
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
||||||
let languageName = window.$gz.locale.getBrowserLanguages();
|
let languageName = window.$gz.locale.getBrowserLanguages();
|
||||||
let hour12 = window.$gz.store.state.locale.hour12;
|
let hour12 = window.$gz.store.state.userOptions.hour12;
|
||||||
let ret = [];
|
let ret = [];
|
||||||
for (let i = 0; i < data.length; i++) {
|
for (let i = 0; i < data.length; i++) {
|
||||||
let o = data[i];
|
let o = data[i];
|
||||||
|
|||||||
@@ -637,8 +637,8 @@ function buildRecords(listData, columndefinitions) {
|
|||||||
//cache display format stuff
|
//cache display format stuff
|
||||||
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
||||||
let languageName = window.$gz.locale.getBrowserLanguages();
|
let languageName = window.$gz.locale.getBrowserLanguages();
|
||||||
let hour12 = window.$gz.store.state.locale.hour12;
|
let hour12 = window.$gz.store.state.userOptions.hour12;
|
||||||
let currencyName = window.$gz.store.state.locale.currencyName;
|
let currencyName = window.$gz.store.state.userOptions.currencyName;
|
||||||
|
|
||||||
//comes as an array of arrays, needs to leave as an array of objects representing each row
|
//comes as an array of arrays, needs to leave as an array of objects representing each row
|
||||||
for (let iRow = 0; iRow < listData.length; iRow++) {
|
for (let iRow = 0; iRow < listData.length; iRow++) {
|
||||||
|
|||||||
@@ -33,11 +33,13 @@ export default new Vuex.Store({
|
|||||||
homePage: undefined,
|
homePage: undefined,
|
||||||
translationText: {},
|
translationText: {},
|
||||||
enums: {}, //all enum values with translated text to match stored as key e.g. enums:={AuthorizationRoles:{0:"no role",1:"Limited role"},UserTypes:{0:"Technician",1:"Client user"}}
|
enums: {}, //all enum values with translated text to match stored as key e.g. enums:={AuthorizationRoles:{0:"no role",1:"Limited role"},UserTypes:{0:"Technician",1:"Client user"}}
|
||||||
locale: {
|
userOptions: {
|
||||||
languageOverride: "en-US",
|
languageOverride: "en-US",
|
||||||
timeZoneOverride: "America/New_York",
|
timeZoneOverride: "America/New_York",
|
||||||
currencyName: "USD",
|
currencyName: "USD",
|
||||||
hour12: true
|
hour12: true,
|
||||||
|
uiColor: "#000000",
|
||||||
|
emailAddress: null
|
||||||
},
|
},
|
||||||
globalSettings: {},
|
globalSettings: {},
|
||||||
navItems: [],
|
navItems: [],
|
||||||
@@ -77,10 +79,12 @@ export default new Vuex.Store({
|
|||||||
state.enums = {};
|
state.enums = {};
|
||||||
state.formCustomTemplate = {};
|
state.formCustomTemplate = {};
|
||||||
state.apiUrl = "";
|
state.apiUrl = "";
|
||||||
state.locale.languageOverride = "en-US";
|
state.userOptions.languageOverride = "en-US";
|
||||||
state.locale.timeZoneOverride = "America/New_York";
|
state.userOptions.timeZoneOverride = "America/New_York";
|
||||||
state.locale.currencyName = "USD";
|
state.userOptions.currencyName = "USD";
|
||||||
state.locale.hour12 = true;
|
state.userOptions.hour12 = true;
|
||||||
|
state.userOptions.uiColor = "#000000";
|
||||||
|
state.userOptions.emailAddress = null;
|
||||||
state.globalSettings = {};
|
state.globalSettings = {};
|
||||||
state.knownPassword = false;
|
state.knownPassword = false;
|
||||||
state.newNotificationCount = 0;
|
state.newNotificationCount = 0;
|
||||||
@@ -96,12 +100,14 @@ export default new Vuex.Store({
|
|||||||
data.concurrency;
|
data.concurrency;
|
||||||
state.formCustomTemplate[data.formKey] = data.value;
|
state.formCustomTemplate[data.formKey] = data.value;
|
||||||
},
|
},
|
||||||
setLocale(state, data) {
|
setUserOptions(state, data) {
|
||||||
// mutate state
|
// mutate state
|
||||||
state.locale.languageOverride = data.languageOverride;
|
state.userOptions.languageOverride = data.languageOverride;
|
||||||
state.locale.currencyName = data.currencyName;
|
state.userOptions.currencyName = data.currencyName;
|
||||||
state.locale.hour12 = data.hour12;
|
state.userOptions.hour12 = data.hour12;
|
||||||
state.locale.timeZoneOverride = data.timeZoneOverride;
|
state.userOptions.timeZoneOverride = data.timeZoneOverride;
|
||||||
|
state.userOptions.emailAddress = data.emailAddress;
|
||||||
|
state.userOptions.uiColor = data.uiColor;
|
||||||
},
|
},
|
||||||
setGlobalSettings(state, data) {
|
setGlobalSettings(state, data) {
|
||||||
// mutate state
|
// mutate state
|
||||||
|
|||||||
@@ -291,7 +291,7 @@ export default {
|
|||||||
let currentEventCount = vm.obj.length;
|
let currentEventCount = vm.obj.length;
|
||||||
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
||||||
let languageName = window.$gz.locale.getBrowserLanguages();
|
let languageName = window.$gz.locale.getBrowserLanguages();
|
||||||
let hour12 = window.$gz.store.state.locale.hour12;
|
let hour12 = window.$gz.store.state.userOptions.hour12;
|
||||||
for (let i = 0; i < temp.length; i++) {
|
for (let i = 0; i < temp.length; i++) {
|
||||||
temp[i].date = window.$gz.locale.utcDateToShortDateAndTimeLocalized(
|
temp[i].date = window.$gz.locale.utcDateToShortDateAndTimeLocalized(
|
||||||
temp[i].date,
|
temp[i].date,
|
||||||
|
|||||||
@@ -160,7 +160,7 @@ export default {
|
|||||||
|
|
||||||
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
let timeZoneName = window.$gz.locale.getBrowserTimeZoneName();
|
||||||
let languageName = window.$gz.locale.getBrowserLanguages();
|
let languageName = window.$gz.locale.getBrowserLanguages();
|
||||||
let hour12 = window.$gz.store.state.locale.hour12;
|
let hour12 = window.$gz.store.state.userOptions.hour12;
|
||||||
for (let i = 0; i < temp.length; i++) {
|
for (let i = 0; i < temp.length; i++) {
|
||||||
temp[
|
temp[
|
||||||
i
|
i
|
||||||
|
|||||||
@@ -175,6 +175,8 @@ export default {
|
|||||||
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
|
await vm.getDataFromApi(vm.$route.params.recordid); //let getdata handle loading
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
//default to their configured email address on new record
|
||||||
|
this.obj.deliveryAddress = this.$store.state.userOptions.emailAddress;
|
||||||
vm.formState.loading = false; //here we handle it immediately
|
vm.formState.loading = false; //here we handle it immediately
|
||||||
}
|
}
|
||||||
//set initial form status
|
//set initial form status
|
||||||
|
|||||||
@@ -316,7 +316,7 @@ export default {
|
|||||||
});
|
});
|
||||||
|
|
||||||
//Set values in store so they are updated immediately for user
|
//Set values in store so they are updated immediately for user
|
||||||
let l = vm.$store.state.locale;
|
let l = vm.$store.state.userOptions;
|
||||||
|
|
||||||
if (vm.obj.languageOverride) {
|
if (vm.obj.languageOverride) {
|
||||||
l.languageOverride = vm.obj.languageOverride;
|
l.languageOverride = vm.obj.languageOverride;
|
||||||
@@ -334,7 +334,14 @@ export default {
|
|||||||
l.hour12 = vm.obj.hour12;
|
l.hour12 = vm.obj.hour12;
|
||||||
}
|
}
|
||||||
|
|
||||||
window.$gz.store.commit("setLocale", l);
|
if (vm.obj.uiColor) {
|
||||||
|
l.uiColor = vm.obj.uiColor;
|
||||||
|
}
|
||||||
|
if (vm.obj.emailAddress) {
|
||||||
|
l.emailAddress = vm.obj.emailAddress;
|
||||||
|
}
|
||||||
|
|
||||||
|
window.$gz.store.commit("setUserOptions", l);
|
||||||
|
|
||||||
if (
|
if (
|
||||||
vm.activeTranslationId &&
|
vm.activeTranslationId &&
|
||||||
|
|||||||
@@ -180,26 +180,27 @@ export default {
|
|||||||
dirty: false
|
dirty: false
|
||||||
});
|
});
|
||||||
|
|
||||||
//Set values in store so they are updated immediately for user
|
//why is this crap here, copied over from user settings form I guess , remove
|
||||||
let l = vm.$store.state.locale;
|
// //Set values in store so they are updated immediately for user
|
||||||
|
// let l = vm.$store.state.userOptions;
|
||||||
|
|
||||||
if (vm.obj.languageOverride) {
|
// if (vm.obj.languageOverride) {
|
||||||
l.languageOverride = vm.obj.languageOverride;
|
// l.languageOverride = vm.obj.languageOverride;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (vm.obj.timeZoneOverride) {
|
// if (vm.obj.timeZoneOverride) {
|
||||||
l.timeZoneOverride = vm.obj.timeZoneOverride;
|
// l.timeZoneOverride = vm.obj.timeZoneOverride;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (vm.obj.currencyName) {
|
// if (vm.obj.currencyName) {
|
||||||
l.currencyName = vm.obj.currencyName;
|
// l.currencyName = vm.obj.currencyName;
|
||||||
}
|
// }
|
||||||
|
|
||||||
if (vm.obj.hour12) {
|
// if (vm.obj.hour12) {
|
||||||
l.hour12 = vm.obj.hour12;
|
// l.hour12 = vm.obj.hour12;
|
||||||
}
|
// }
|
||||||
|
|
||||||
window.$gz.store.commit("setLocale", l);
|
// window.$gz.store.commit("setUserOptions", l);
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
vm.formState.loading = false;
|
vm.formState.loading = false;
|
||||||
|
|||||||
Reference in New Issue
Block a user