Exemple #1
0
        } // _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()
Exemple #2
0
        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);
                }
            }
        }
Exemple #3
0
 /// <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);
        }
Exemple #5
0
        /// <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)
Exemple #9
0
        /// <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 )
Exemple #10
0
 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 )
Exemple #11
0
        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);
        }
Exemple #12
0
        } // _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 )
         } );
 }
Exemple #16
0
 /// <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; }
Exemple #19
0
        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();
 }
Exemple #22
0
 /// <summary>
 /// Sets a permission for the given Action for the user
 /// </summary>
 public void set(CswNbtAction Action, bool value)
 {
     set(Action, _CswNbtResources.CurrentNbtUser, value);
 }
Exemple #23
0
        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);
            }
        }
Exemple #24
0
        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()