10-24-2014 06:49 AM
I have recently noticed an issue with storing the tab order under any level. Anybody is having the same issue? I have tried changing the default tab order and logged out of SLX and logged back in but I don't see the changes.
10-24-2014 03:25 PM
The issue you're facing is that once a user has logged in the application saves their custom tab layout which always overrides your default layout.
We had a requirement where we always wanted users returned the default tab layout each time the login, so while they could play with tab layouts during their session, the next time the logged in they would be returned to default layout. While this wouldn't meet your needs you could probably adapt the code to do this conditionally where desirable.
Basically we added a custom Module to the contact page which runs before the contact.aspx is rendered client side and we can delete their customized layout. See code snippet below:
TabWorkspace tabs = _parentWorkItem.Workspaces["TabControl"] as TabWorkspace; if (tabs == null) return; if (tabs != null) { if (AppContext != null && slxUserService != null) { // Only need to reset once per session so check the Application Context if we have already done this. if (!AppContext.HasContext("ContactTabsReset")) { if (currentUserid.Trim().ToUpper() != "ADMIN") { //Clear Saved TabWorkspace layout for each session sb = new System.Text.StringBuilder(); sb.Append("DELETE FROM sysdba.VIRTUALFILESYSTEM"); sb.Append(string.Format(@" WHERE (ITEMPATH LIKE '\Configuration\Application_User\SlxClient\{0}\ASP.contact_aspxDetail\TabWorkspace-E53DA2EE-942A-4b9d-8885-55C2EF1A4E4A.xml')", user.UserName)); Sage.SalesLogix.API.MySlx.Data.ExecuteSql(sb.ToString()); AppContext.SetContext("ContactTabsReset", true); } //20140119.jws.end } } }
Hope that helps.