} // _ViewTree_ViewSelected() public void ChangeMainView(CswViewListTree.ViewType ViewType, Int32 Pk) { switch (ViewType) { case CswViewListTree.ViewType.View: Master.setViewId(new CswNbtViewId(Pk)); Master.GoMain(); break; case CswViewListTree.ViewType.RecentView: CswNbtView View = Master.CswNbtResources.ViewSelect.restoreView(new CswNbtViewId(Pk)); Master.setViewXml(View.ToXml().InnerXml.ToString()); Master.GoMain(); break; case CswViewListTree.ViewType.Action: CswNbtAction Action = Master.CswNbtResources.Actions[Pk]; Master.setAction(Action.ActionId); Master.Redirect(Action.Url); break; case CswViewListTree.ViewType.Report: Master.HandleLoadReport(new CswPrimaryKey("nodes", Pk)); Master.Redirect("Report.aspx?reportid=" + Pk.ToString()); break; default: throw new CswDniException(CswEnumErrorType.Error, "Invalid Selection", "MainLayout.master.cs::ChangeMainView() got an invalid ViewType: " + ViewType.ToString()); } // switch( SelectedViewType ) } // ChangeMainView()
public override void setItemDataForUI(DataRow LandingPageRow, LandingPageData.Request Request) { Int32 NodeTypeId = CswConvert.ToInt32(LandingPageRow["to_nodetypeid"]); if (NodeTypeId != Int32.MinValue) { CswNbtMetaDataNodeType NodeType = _CswNbtResources.MetaData.getNodeType(NodeTypeId); if (NodeType != null) { bool CanAdd = NodeType.getObjectClass().CanAdd&& _CswNbtResources.Permit.canNodeType(CswEnumNbtNodeTypePermission.Create, NodeType); if (CanAdd) { String DisplayText = LandingPageRow["displaytext"].ToString(); _ItemData.Text = false == String.IsNullOrEmpty(DisplayText) ? DisplayText : "Add New " + NodeType.NodeTypeName; _ItemData.NodeTypeId = NodeType.NodeTypeId.ToString(); _ItemData.ButtonIcon = CswNbtMetaDataObjectClass.IconPrefix100 + NodeType.IconFileName; _ItemData.Type = "add_new_nodetype"; _ItemData.ActionId = LandingPageRow["to_actionid"].ToString(); Int32 ActionId = CswConvert.ToInt32(LandingPageRow["to_actionid"]); if (ActionId != Int32.MinValue) { CswNbtAction ThisAction = _CswNbtResources.Actions[ActionId]; if (null != ThisAction) { _ItemData.ActionId = ActionId.ToString(); _ItemData.ActionName = ThisAction.Name.ToString(); } } } _setCommonItemDataForUI(LandingPageRow); } } }
/// <summary> /// Sets a permission for the given Action for the user /// </summary> public void set(CswNbtAction Action, ICswNbtUser User, bool value) { if (User != null) { set(Action, _getRole(User.RoleId), value); } }
public override bool canAction(CswNbtAction Action) { bool hasPermission = false; if (null != Action) { if ((Action.Name == CswEnumNbtActionName.DispenseContainer && Dispense.Checked == CswEnumTristate.True) || (Action.Name == CswEnumNbtActionName.DisposeContainer && Dispose.Checked == CswEnumTristate.True) || (Action.Name == CswEnumNbtActionName.UndisposeContainer && Undispose.Checked == CswEnumTristate.True) || (Action.Name == CswEnumNbtActionName.Submit_Request && Request.Checked == CswEnumTristate.True)) { hasPermission = true; } else if (Action.Name == CswEnumNbtActionName.Receiving) { CswNbtMetaDataObjectClass ContainerOC = _CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ContainerClass); foreach (CswNbtMetaDataNodeType ContainerNt in ContainerOC.getLatestVersionNodeTypes()) { hasPermission = _CswNbtResources.Permit.canNodeType(CswEnumNbtNodeTypePermission.Create, ContainerNt); if (hasPermission) { break; } } } } return(hasPermission); }
/// <summary> /// Returns true if the role has the appropriate permissions for the Action /// </summary> public bool can(CswNbtAction Action, CswNbtObjClassRole Role) { bool ret = false; if (null != Role && null != Action) { ret = Role.ActionPermissions.CheckValue(CswNbtObjClassRole.MakeActionPermissionValue(Action)); } return(ret); } // can( CswNbtAction Action, CswNbtObjClassRole Role )
}//afterPopulateProps() protected override bool onButtonClick( NbtButtonData ButtonData ) { if( null != ButtonData && null != ButtonData.NodeTypeProp ) { string OCPPropName = ButtonData.NodeTypeProp.getObjectClassPropName(); //Remember: Save is an OCP too if( PropertyName.LoadUserContext == OCPPropName ) { ButtonData.Data["action"] = OCPPropName; ButtonData.Data["type"] = "view"; //assume it's a view unless it's an action CswEnumNbtActionName ActionName = CswNbtAction.ActionNameStringToEnum( Action.Text ); if( CswResources.UnknownEnum != ActionName ) { if( null != _CswNbtResources.Actions[ActionName] ) { CswNbtAction action = _CswNbtResources.Actions[ActionName]; ButtonData.Data["type"] = "action"; ButtonData.Data["actionname"] = action.Name.ToString(); ButtonData.Data["actionid"] = action.ActionId.ToString(); ButtonData.Data["actionurl"] = action.Url.ToString(); } } else { ButtonData.Data["selectedNodeId"] = SelectedNodeId.Text; if( null != CurrentViewMode ) { ButtonData.Data["viewmode"] = CurrentViewMode.Text; } //CswNbtViewId delimitedViewId = new CswNbtViewId( CswConvert.ToInt32( View.SelectedViewIds.ToString() ) ); CswNbtViewId delimitedViewId = View.ViewId; if( null != delimitedViewId ) { ButtonData.Data["viewid"] = delimitedViewId.ToString(); } if( null != Author.RelatedNodeId ) { if( _CswNbtResources.CurrentNbtUser.UserId != Author.RelatedNodeId ) { ButtonData.Data["userid"] = Author.RelatedNodeId.ToString(); CswNbtObjClassUser userNode = _CswNbtResources.Nodes[Author.RelatedNodeId]; if( null != userNode ) { ButtonData.Data["username"] = userNode.Username; } } } } ButtonData.Action = CswEnumNbtButtonAction.loadView; } } return true; }
public void ToggleAction(bool showInList, CswEnumNbtActionName actionName) { string databaseActionName = CswNbtAction.ActionNameEnumToString(actionName); CswTableUpdate actionTU = _CswNbtResources.makeCswTableUpdate("toggleActionVisibility", "actions"); DataTable actionsDT = actionTU.getTable("where actionname = '" + databaseActionName + "'"); foreach (DataRow row in actionsDT.Rows) { row["showinlist"] = CswConvert.ToDbVal(showInList); } actionTU.update(actionsDT); }
/// <summary> /// Save an action to the session data collection. /// </summary> public CswNbtSessionDataId saveSessionData( CswNbtAction Action, bool IncludeInQuickLaunch, bool KeepInQuickLaunch = false ) { CswTableUpdate SessionViewsUpdate = _CswNbtResources.makeCswTableUpdate( "saveSessionView_update", SessionDataTableName ); DataTable SessionViewTable = null; SessionViewTable = SessionViewsUpdate.getTable( SessionDataColumn_ActionId, Action.ActionId, "where sessionid = '" + SessionId + "'", false ); DataRow SessionViewRow = _getSessionViewRow( SessionViewTable, Action.DisplayName, CswEnumNbtSessionDataType.Action, IncludeInQuickLaunch && Action.ShowInList, KeepInQuickLaunch ); SessionViewRow[SessionDataColumn_ActionId] = CswConvert.ToDbVal( Action.ActionId ); SessionViewsUpdate.update( SessionViewTable ); return new CswNbtSessionDataId( CswConvert.ToInt32( SessionViewRow[SessionDataColumn_PrimaryKey] ) ); } // saveSessionData(Action)
/// <summary> /// Returns true if the user has the appropriate permissions for the Action /// </summary> public bool can(CswNbtAction Action, ICswNbtUser User) { bool ret = false; if (null != Action && null != User) { if (User is CswNbtSystemUser || User.Username == CswNbtObjClassUser.ChemSWAdminUsername) { ret = true; } else { ret = can(Action, _getRole(User.RoleId)); } } return(ret); } // can( CswNbtAction Action, ICswNbtUser User )
public void set(CswNbtAction Action, CswNbtObjClassRole Role, bool value) { if (Role != null) { //Role.ActionPermissions.SetValue( CswNbtAction.PermissionXValue.ToString(), CswNbtAction.ActionNameEnumToString( ActionName ), value ); //Role.ActionPermissions.Save(); if (value) { Role.ActionPermissions.AddValue(CswNbtObjClassRole.MakeActionPermissionValue(Action)); } else { Role.ActionPermissions.RemoveValue(CswNbtObjClassRole.MakeActionPermissionValue(Action)); } Role.postChanges(false); } } // set( CswNbtActionName ActionName, ICswNbtUser User, bool value )
private XmlNode _makePreviousViewTreeViewXmlNode(XmlDocument XmlDoc, object PreviousViewObj) { XmlNode Ret = null; if (PreviousViewObj is CswNbtView) { CswNbtView PreviousView = PreviousViewObj as CswNbtView; Ret = _makeTreeViewXmlNode(XmlDoc, PreviousView.SessionViewId.ToString(), ViewType.RecentView, PreviousView.ViewName, PreviousView.IconFileName, true, PreviousView.IsSearchable()); } else // Action { Int32 PreviousActionId = CswConvert.ToInt32(PreviousViewObj.ToString()); if (PreviousActionId > 0) { CswNbtAction Action = _CswNbtResources.Actions[PreviousActionId]; Ret = _makeTreeViewXmlNode(XmlDoc, Action.ActionId.ToString(), ViewType.Action, Action.Name.ToString().Replace('_', ' '), CswNbtMetaDataObjectClass.IconPrefix16 + "wizard.png", true, false); } } return(Ret); }
} // _getView() private void _reauthenticate() { if (_AuthenticationStatus == CswEnumAuthenticationStatus.Authenticated) { // Set audit context if (false == string.IsNullOrEmpty(_AuthenticationRequest.CurrentViewId)) { CswNbtView ContextView = _getView(_AuthenticationRequest.CurrentViewId); if (ContextView != null) { _CswNbtResources.AuditContext = ContextView.ViewName + " (" + ContextView.ViewId.ToString() + ")"; } } else if (false == string.IsNullOrEmpty(_AuthenticationRequest.CurrentActionName)) { CswNbtAction ContextAction = _CswNbtResources.Actions[CswNbtAction.ActionNameStringToEnum(_AuthenticationRequest.CurrentActionName)]; if (ContextAction != null) { _CswNbtResources.AuditContext = CswNbtAction.ActionNameEnumToString(ContextAction.Name) + " (Action_" + ContextAction.ActionId.ToString() + ")"; } } } }
} // getQuickLaunchJson() private void _addQuickLaunchProp( DataRow Row, ViewSelect.Response.Category Category ) { Int32 ItemId = CswConvert.ToInt32( Row[SessionDataColumn_PrimaryKey] ); CswEnumNbtSessionDataType SessionType = CswConvert.ToString( Row[SessionDataColumn_SessionDataType] ); string Name = Row[SessionDataColumn_Name].ToString(); CswNbtSessionDataId SessionDataId = new CswNbtSessionDataId( ItemId ); if( SessionType == CswEnumNbtSessionDataType.Action ) { Int32 ActionId = CswConvert.ToInt32( Row[SessionDataColumn_ActionId] ); CswNbtAction Action = _CswNbtResources.Actions[ActionId]; _addQuickLaunchAction( Category, Name, SessionDataId, Action ); } else if( SessionType == CswEnumNbtSessionDataType.View ) { //Int32 ViewId = CswConvert.ToInt32( Row[SessionDataColumn_ViewId] ); _addQuickLaunchView( Category, Name, SessionDataId, Row[SessionDataColumn_ViewMode].ToString() ); } else if( SessionType == CswEnumNbtSessionDataType.Search ) { _addQuickLaunchSearch( Category, Name, SessionDataId ); } } // _addQuickLaunchProp()
public override void update() { CswNbtAction Action = _CswNbtSchemaModTrnsctn.Actions[CswEnumNbtActionName.Reconciliation]; Action.SetCategory(CswEnumNbtCategory.Containers); }
private void _addQuickLaunchAction( ViewSelect.Response.Category Category, string Text, CswNbtSessionDataId SessionDataId, CswNbtAction Action ) { Category.items.Add( new ViewSelect.Response.Item( CswEnumNbtViewItemType.Action ) { name = Text, itemid = SessionDataId.ToString(), iconurl = CswNbtMetaDataObjectClass.IconPrefix16 + Action.IconFileName, url = CswConvert.ToString( Action.Url ) } ); }
/// <summary> /// Returns true if the current user has the appropriate permissions for the Action /// </summary> public bool can(CswNbtAction Action) { return(can(Action, _CswNbtResources.CurrentNbtUser)); }
}//_initResources() public CswEnumAuthenticationStatus authenticate() { CswEnumAuthenticationStatus Ret = CswEnumAuthenticationStatus.Unknown; //We're keeping this logic here, because we don't want to contaminate NbtLogic with the necessary web libraries required to support CswSessionResourcesNbt if (null != _AuthenticationRequest && _AuthenticationRequest.IsValid()) { if (false == CswTools.IsValidUsername(_AuthenticationRequest.CustomerId)) { Ret = CswEnumAuthenticationStatus.NonExistentAccessId; } else { Ret = _SessionAuthenticate.authenticate(); } } else { Ret = _CswSessionResourcesNbt.attemptRefresh(); } //Set audit context if (Ret == CswEnumAuthenticationStatus.Authenticated && null != _HttpContext.Request.Cookies) { string ContextViewId = string.Empty; string ContextActionName = string.Empty; if (null != _HttpContext.Request.Cookies["csw_currentviewid"]) { ContextViewId = _HttpContext.Request.Cookies["csw_currentviewid"].Value; } if (null != _HttpContext.Request.Cookies["csw_currentactionname"]) { ContextActionName = _HttpContext.Request.Cookies["csw_currentactionname"].Value; } if (string.Empty != ContextViewId) { CswNbtView ContextView = null; if (CswNbtViewId.isViewIdString(ContextViewId)) { CswNbtViewId realViewid = new CswNbtViewId(ContextViewId); ContextView = _CswNbtResources.ViewSelect.restoreView(realViewid); } else if (CswNbtSessionDataId.isSessionDataIdString(ContextViewId)) { CswNbtSessionDataId SessionViewid = new CswNbtSessionDataId(ContextViewId); ContextView = _CswNbtResources.ViewSelect.getSessionView(SessionViewid); } if (null != ContextView) { _CswNbtResources.AuditContext = ContextView.ViewName + " (" + ContextView.ViewId.ToString() + ")"; } } else if (string.Empty != ContextActionName) { CswNbtAction ContextAction = _CswNbtResources.Actions[CswNbtAction.ActionNameStringToEnum(ContextActionName)]; if (null != ContextAction) { _CswNbtResources.AuditContext = CswNbtAction.ActionNameEnumToString(ContextAction.Name) + " (Action_" + ContextAction.ActionId.ToString() + ")"; } } } _CswNbtResources.ServerInitTime = _Timer.ElapsedDurationInMilliseconds; return(Ret); }//autheticate
/// <summary> /// ObjectClass-specific logic for determining Action Permissions /// </summary> public virtual bool canAction( CswNbtAction Action ) { return true; }
public static ViewSelect.Response getViewSelect(CswNbtResources CswNbtResources, ViewSelect.Request Request) { ViewSelect.Response ret = new ViewSelect.Response(); // Favorites and Recent ICswNbtUser User = CswNbtResources.CurrentNbtUser; if (User != null) { CswNbtObjClassUser UserOc = CswNbtResources.Nodes[User.UserId]; // Recent if (Request.IncludeRecent) { ViewSelect.Response.Category RecentCategory = _getCategory(ref ret, "Recent"); CswNbtResources.SessionDataMgr.getQuickLaunchJson(ref RecentCategory); } ViewSelect.Response.Category FavoritesCategory = _getCategory(ref ret, "Favorites"); //Add the user's stored views to Favorites foreach (CswNbtView View in UserOc.FavoriteViews.SelectedViews.Values.Where(View => View.IsFullyEnabled())) { ViewSelect.Response.Item ViewItem = _addViewSelectObj(FavoritesCategory, View.ViewName, CswEnumNbtViewItemType.View, View.IconFileName, View.ViewId.ToString()); ViewItem.mode = View.ViewMode.ToString(); } if (Request.IncludeActions) { //Add the user's stored actions to Favorites DataTable ActionsTable = UserOc.FavoriteActions.GetDataAsTable(ActionName, ActionPk); foreach (CswNbtAction Action in (from DataRow ActionRow in ActionsTable.Rows where CswConvert.ToBoolean(ActionRow[ActionSelected]) select CswNbtAction.ActionNameStringToEnum(CswConvert.ToString(ActionRow[ActionPk])) into NbtActionName select CswNbtResources.Actions[NbtActionName] into ThisAction where null != ThisAction select ThisAction)) { if (Action.ShowInList) //case 26555 - filter out actions like 'Multi Edit' or 'Edit View' { ViewSelect.Response.Item ActionItem = _addViewSelectObj(FavoritesCategory, Action.DisplayName, CswEnumNbtViewItemType.Action, CswNbtMetaDataObjectClass.IconPrefix16 + Action.IconFileName, Action.ActionId.ToString()); ActionItem.url = Action.Url; } } // foreach } // if( Request.IncludeActions ) } // if( User != null ) // Views Dictionary <CswNbtViewId, CswNbtView> Views = CswNbtResources.ViewSelect.getVisibleViews("lower(NVL(v.category, v.viewname)), lower(v.viewname)", CswNbtResources.CurrentNbtUser, false, false, Request.IsSearchable, CswEnumNbtViewRenderingMode.Any); foreach (CswNbtView View in Views.Values) { ViewSelect.Response.Item ViewItem = _addViewSelectObj(ref ret, View.Category, View.ViewName, CswEnumNbtViewItemType.View, View.IconFileName, View.ViewId.ToString()); ViewItem.mode = View.ViewMode.ToString(); } if (false == Request.IsSearchable) { // Actions if (Request.IncludeActions) { foreach (CswNbtAction Action in CswNbtResources.Actions) { if (Action.ShowInList && //Case 23687: "View By Location" Action is toast. Bye-bye "loc_use_images" config var check. CswNbtResources.Permit.can(Action.Name)) { ViewSelect.Response.Item ActionItem = _addViewSelectObj(ref ret, Action.Category, Action.DisplayName, CswEnumNbtViewItemType.Action, CswNbtMetaDataObjectClass.IconPrefix16 + Action.IconFileName, Action.ActionId.ToString()); ActionItem.url = Action.Url; } } } // Reports if (Request.IncludeReports) { CswNbtMetaDataObjectClass ReportMetaDataObjectClass = CswNbtResources.MetaData.getObjectClass(CswEnumNbtObjectClass.ReportClass); CswNbtView ReportView = ReportMetaDataObjectClass.CreateDefaultView(); ReportView.ViewName = "CswViewTree.DataBinding.ReportView"; ICswNbtTree ReportTree = CswNbtResources.Trees.getTreeFromView(CswNbtResources.CurrentNbtUser, ReportView, true, false, false); for (int i = 0; i < ReportTree.getChildNodeCount(); i++) { ReportTree.goToNthChild(i); CswNbtObjClassReport ReportNode = ReportTree.getNodeForCurrentPosition(); _addViewSelectObj(ref ret, ReportNode.Category.Text, ReportNode.ReportName.Text, CswEnumNbtViewItemType.Report, CswNbtMetaDataObjectClass.IconPrefix16 + "doc.png", ReportNode.NodeId.ToString()); ReportTree.goToParentNode(); } } // Searches if (Request.IncludeSearches) { Collection <CswNbtSearch> Searches = CswNbtResources.SearchManager.getSearches(); foreach (CswNbtSearch Search in Searches) { _addViewSelectObj(ref ret, Search.Category, Search.Name, CswEnumNbtViewItemType.Search, CswNbtMetaDataObjectClass.IconPrefix16 + "magglass.png", Search.SearchId.ToString()); } } } // if( false == Request.IsSearchable ) return(ret); } // getViewSelect()
public static string MakeActionPermissionText( CswNbtAction Action ) { return Action.DisplayName; }
public static string MakeActionPermissionValue( CswNbtAction Action ) { return "act_" + Action.ActionId.ToString(); }
/// <summary> /// Sets a permission for the given Action for the user /// </summary> public void set(CswNbtAction Action, bool value) { set(Action, _CswNbtResources.CurrentNbtUser, value); }
public override void setItemDataForUI(DataRow LandingPageRow, LandingPageData.Request Request) { bool finishLoading = false; //this will be set to true if and only if there's a valid link to be made String DisplayText = LandingPageRow["displaytext"].ToString(); Int32 ViewId = CswConvert.ToInt32(LandingPageRow["to_nodeviewid"]); if (ViewId != Int32.MinValue) { CswNbtViewId NodeViewId = new CswNbtViewId(ViewId); CswNbtView ThisView = _CswNbtResources.ViewSelect.restoreView(NodeViewId); if (null != ThisView && ThisView.IsFullyEnabled() && ThisView.IsVisible()) { finishLoading = true; _ItemData.Text = LandingPageRow["displaytext"].ToString() != string.Empty ? LandingPageRow["displaytext"].ToString() : ThisView.ViewName; _ItemData.ViewId = NodeViewId.ToString(); _ItemData.ViewMode = ThisView.ViewMode.ToString().ToLower(); if (ThisView.Root.ChildRelationships.Count > 0 && ThisView.Root.ChildRelationships[0] != null) { _ItemData.ButtonIcon = CswNbtMetaDataObjectClass.IconPrefix100 + ThisView.Root.ChildRelationships[0].SecondIconFileName; } _ItemData.Type = "view"; } } Int32 ActionId = CswConvert.ToInt32(LandingPageRow["to_actionid"]); if (ActionId != Int32.MinValue) { CswNbtAction ThisAction = _CswNbtResources.Actions[ActionId]; if (null != ThisAction) { if (_CswNbtResources.Permit.can(ThisAction.Name)) { finishLoading = true; _ItemData.Text = false == String.IsNullOrEmpty(DisplayText) ? DisplayText : CswNbtAction.ActionNameEnumToString(ThisAction.Name); _ItemData.ActionId = ActionId.ToString(); _ItemData.ActionName = ThisAction.Name.ToString(); _ItemData.ActionUrl = ThisAction.Url; _ItemData.ButtonIcon = CswNbtMetaDataObjectClass.IconPrefix100 + ThisAction.IconFileName; _ItemData.Type = "action"; } } } Int32 ReportId = CswConvert.ToInt32(LandingPageRow["to_reportid"]); if (ReportId != Int32.MinValue) { CswPrimaryKey ReportPk = new CswPrimaryKey("nodes", ReportId); CswNbtNode ThisReportNode = _CswNbtResources.Nodes[ReportPk]; if (null != ThisReportNode) { finishLoading = true; _ItemData.Text = false == String.IsNullOrEmpty(DisplayText) ? DisplayText : ThisReportNode.NodeName; _ItemData.ReportId = ReportPk.ToString(); _ItemData.Type = "report"; _ItemData.ButtonIcon = CswNbtMetaDataObjectClass.IconPrefix100 + ThisReportNode.getNodeType().IconFileName; } } Int32 SearchId = CswConvert.ToInt32(LandingPageRow["to_searchid"]); if (SearchId != Int32.MinValue) { CswPrimaryKey SearchPk = new CswPrimaryKey("search", SearchId); CswNbtSearch Search = _CswNbtResources.SearchManager.restoreSearch(SearchPk); if (null != Search) { finishLoading = true; _ItemData.Text = Search.Name; _ItemData.ReportId = SearchPk.ToString(); _ItemData.Type = "search"; _ItemData.ButtonIcon = CswNbtMetaDataObjectClass.IconPrefix100 + "magglass.png"; } } //we only want to send the item back with a landingpageid if it contains a valid link if (finishLoading) { _setCommonItemDataForUI(LandingPageRow); } }
public override void update() { CswTableUpdate LandingPageUpdate = _CswNbtSchemaModTrnsctn.makeCswTableUpdate( "28523_LandingPageUpdate", "landingpage" ); DataTable LandingPageTable = LandingPageUpdate.getTable(); // Clear bogus existing landing page icons foreach( DataRow LandingPageRow in LandingPageTable.Rows ) { LandingPageRow["buttonicon"] = ""; } // Set default icons for actions CswTableUpdate ActionsUpdate = _CswNbtSchemaModTrnsctn.makeCswTableUpdate( "28523_ActionsUpdate", "actions" ); DataTable ActionsTable = ActionsUpdate.getTable(); foreach( DataRow ActionRow in ActionsTable.Rows ) { // Set action icon string IconFileName = string.Empty; CswNbtActionName ActionName = CswNbtAction.ActionNameStringToEnum( ActionRow["actionname"].ToString() ); Int32 ActionId = CswConvert.ToInt32( ActionRow["actionid"] ); switch( ActionName) { case CswNbtActionName.Create_Inspection : IconFileName = "clipboardcheck.png"; break; case CswNbtActionName.Create_Material : IconFileName = "atomplus.png"; break; case CswNbtActionName.Design : IconFileName = "wrench.png"; break; case CswNbtActionName.DispenseContainer : IconFileName = "flask.png"; break; case CswNbtActionName.DisposeContainer : IconFileName = "trash.png"; break; case CswNbtActionName.Edit_View : IconFileName = "options.png"; break; case CswNbtActionName.Future_Scheduling : IconFileName = "calendarstack.png"; break; case CswNbtActionName.HMIS_Reporting : IconFileName = "doc.png"; break; case CswNbtActionName.Kiosk_Mode : IconFileName = "barcode.png"; break; case CswNbtActionName.Modules : IconFileName = "options.png"; break; case CswNbtActionName.Multi_Edit : IconFileName = "largeicons.png"; break; case CswNbtActionName.Quotas : IconFileName = "plus.png"; break; case CswNbtActionName.Receiving : IconFileName = "bottlebox.png"; break; case CswNbtActionName.Reconciliation : IconFileName = "bottlecalendar.png"; break; case CswNbtActionName.Sessions : IconFileName = "personclock.png"; break; case CswNbtActionName.Submit_Request : IconFileName = "cartplus.png"; break; case CswNbtActionName.Subscriptions : IconFileName = "envelopes.png"; break; case CswNbtActionName.Tier_II_Reporting : IconFileName = "doc.png"; break; case CswNbtActionName.UndisposeContainer : IconFileName = "flask.png"; break; case CswNbtActionName.Upload_Legacy_Mobile_Data : IconFileName = "up.png"; break; case CswNbtActionName.View_Scheduled_Rules : IconFileName = "clock.png"; break; default: break; } ActionRow["iconfilename"] = IconFileName; //// Fix existing landing page icons //foreach( DataRow LandingPageRow in from DataRow LandingPageRow in LandingPageTable.Rows // let LandingPageActionId = CswConvert.ToInt32( LandingPageRow["to_actionid"] ) // where ActionId == LandingPageActionId // select LandingPageRow ) //{ // LandingPageRow["buttonicon"] = IconFileName; //} } // foreach( DataRow ActionRow in ActionsTable.Rows ) ActionsUpdate.update( ActionsTable ); LandingPageUpdate.update( LandingPageTable ); // update getActiveActions s4 _CswNbtSchemaModTrnsctn.UpdateS4( "getActiveActions", @"select a.actionid, a.actionname, a.showinlist, a.url, a.category, a.iconfilename, lower(a.actionname) mssqlorder from actions a where exists (select m.moduleid from modules m, jct_modules_actions jma where jma.actionid = a.actionid and jma.moduleid = m.moduleid and m.enabled = '1') or not exists (select m.moduleid from modules m, jct_modules_actions jma where jma.actionid = a.actionid and jma.moduleid = m.moduleid) order by lower(a.actionname)" ); } // update()