Pop Up when leaving any Asset from Asset Management
We have a weird situation in our system.
Whenever we open an asset from the asset management (HW Asset, SW Asset, Catalog Item,...) in our portal and then navigate to another site, we receive the information pop up, if we really wanna leave the website and that changes won't be applied (Screenshot is in German, sorry :( )
The thing is, we haven't changed anything and still the notification pops up every time. We had the same situation with our Incidents (we couldn't even resolve incidents then), but we solved it by deleting the custom form and build it up from new - Seems like Cireson doesn't like it, when you delete certain fields from Custom forms :D
But in our assets from asset management we have this situation even if we use the standard forms without any customizations. And as it is in every asset type, I doubt that this has something to do with any customizations from our side.
We use asset management Version 8.5.1.2016
Best Answers
-
Simon_Zeinhofer Customer Ninja IT Monkey ✭✭✭✭
Opened a ticket on cireson support, issue has been replicated in the lab and we received a fix.
0 -
Simon_Zeinhofer Customer Ninja IT Monkey ✭✭✭✭
@Brian_Winter I hope it is allowed to copy and paste the code I received from Cireson Support. :D
Here is the answer I received from @john_doyle :
Edit the file: C:\inetpub\CiresonPortal\Scripts\app\app.lib.js
Go to line 101.
You should find the definition of the CleanPageFormViewModel function which looks like this:
this.CleanPageFormViewModel = function (viewModel) {
//This will going to fix bug 26395 where if grid is empty, the number validation won't work if first load is empty
_.each(viewModel.PropertiesToClean, function (propItem) {
var listItem = viewModel[propItem];
for (var i in listItem) {
if (!isNaN(i) && !_.isUndefined(listItem[i].t) && listItem[i].t == true) {
listItem.splice(i, 1);
}
}
});
}
Change the code so that it reads
this.CleanPageFormViewModel = function (viewModel) {
//This will fix bug 26395 where if grid is empty, the number validation won't work if first load is empty
_.each(viewModel.PropertiesToClean, function (propItem) {
var listItem = viewModel[propItem];
for (var i in listItem) {
if (!isNaN(i) && !_.isUndefined(listItem[i].t) && listItem[i].t == true) {
listItem.splice(i, 1);
}
}
});
_.defer(function() {viewModel.set('isDirty', false);});
}
Save the file and then do a hard refresh of your browser (Ctrl + F5) before testing.
1
Answers
Hi @Simon_Zeinhofer
Do you have any customisations running that could be changing the model causing the browser to think something important has changed.
Geoff
Hello Geoff,
no, this also happens with all standard forms (Catalogue Item etc.), without any Customizations. Or do you mean general customizations? We use Add-Ins like "hide task" but even when we don't hide any tasks it's the same situation.
Opened a ticket on cireson support, issue has been replicated in the lab and we received a fix.
Hi @Simon_Zeinhofer , we have the same problem. What was your fix?
@Brian_Winter I hope it is allowed to copy and paste the code I received from Cireson Support. :D
Here is the answer I received from @john_doyle :
Edit the file: C:\inetpub\CiresonPortal\Scripts\app\app.lib.js
Go to line 101.
You should find the definition of the CleanPageFormViewModel function which looks like this:
this.CleanPageFormViewModel = function (viewModel) {
//This will going to fix bug 26395 where if grid is empty, the number validation won't work if first load is empty
_.each(viewModel.PropertiesToClean, function (propItem) {
var listItem = viewModel[propItem];
for (var i in listItem) {
if (!isNaN(i) && !_.isUndefined(listItem[i].t) && listItem[i].t == true) {
listItem.splice(i, 1);
}
}
});
}
Change the code so that it reads
this.CleanPageFormViewModel = function (viewModel) {
//This will fix bug 26395 where if grid is empty, the number validation won't work if first load is empty
_.each(viewModel.PropertiesToClean, function (propItem) {
var listItem = viewModel[propItem];
for (var i in listItem) {
if (!isNaN(i) && !_.isUndefined(listItem[i].t) && listItem[i].t == true) {
listItem.splice(i, 1);
}
}
});
_.defer(function() {viewModel.set('isDirty', false);});
}
Save the file and then do a hard refresh of your browser (Ctrl + F5) before testing.
Works perfectly!
Question to Support: Will this fix be implemented in the new baseline version of the Cireson Serlf Service Portal?
@Simon_Zeinhofer - I can confirm a PR is open for this issue and it will be resolved in a future version of the portal.
Issue still persists in 11.4.2 :(