Exemple #1
0
        public void CopyPermissionsToChildren(ArrayList tabs, TabPermissionCollection newPermissions)
        {
            TabPermissionController objTabPermissionController = new TabPermissionController();

            foreach (TabInfo objTab in tabs)
            {
                TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTab.TabID, objTab.PortalID);

                if (!(objCurrentTabPermissions.CompareTo(newPermissions)))
                {
                    objTabPermissionController.DeleteTabPermissionsByTabID(objTab.TabID);

                    foreach (TabPermissionInfo objTabPermission in newPermissions)
                    {
                        if (objTabPermission.AllowAccess)
                        {
                            objTabPermission.TabID = objTab.TabID;
                            objTabPermissionController.AddTabPermission(objTabPermission);
                        }
                    }
                }
            }

            if (tabs.Count > 0)
            {
                DataCache.ClearTabsCache(((TabInfo)(tabs[0])).PortalID);
            }
        }
        private int SaveAllSelectedRights()
        {
            string UserId = null;
            int    TabId = 0, PermissionId = 0, AllowAccess = 0, result = 0;
            string RoleId          = ddlRoleList.SelectedValue;
            string strPermissionId = ddlPermissionList.SelectedValue;

            if (strPermissionId != string.Empty)
            {
                PermissionId = Convert.ToInt32(strPermissionId);
            }

            foreach (GridViewRow row in GridView1.Rows)
            {
                // Selected Permission Right ===============================================================================================
                bool resultSelectedPermissionRight = ((CheckBox)row.FindControl("chkSelectedPermissionRight")).Checked;
                if (resultSelectedPermissionRight)
                {
                    TabId = (int)GridView1.DataKeys[row.RowIndex].Value;
                }

                //UserId ======================================================================================================
                DropDownList ddlUserList = (DropDownList)row.FindControl("ddlUserList");
                if (ddlUserList != null)
                {
                    UserId = ddlUserList.SelectedValue;
                }
                else
                {
                    UserId = Session["UserId"].ToString();
                }

                // AllowAccess Right ========================================================================================
                CheckBox chkSelectedAllowAccessRight = (CheckBox)row.FindControl("chkSelectedAllowAccessRight");
                if (chkSelectedAllowAccessRight != null)
                {
                    bool resultAllowAccessRight = chkSelectedAllowAccessRight.Checked;
                    if (resultAllowAccessRight)
                    {
                        AllowAccess = 1;
                        //==============================================================================================================
                        result = tab_permission_obj.AddTabPermission(TabId, PermissionId, RoleId, AllowAccess, UserId);
                        //==============================================================================================================
                    }
                    else
                    {
                        AllowAccess = 0;
                    }
                }
            }
            return(result);
        }
Exemple #3
0
        public int AddTab(TabInfo objTab, bool AddAllTabsModules)
        {
            int intTabId;

            objTab.TabPath = Globals.GenerateTabPath(objTab.ParentId, objTab.TabName);
            intTabId       = DataProvider.Instance().AddTab(objTab.PortalID, objTab.TabName, objTab.IsVisible, objTab.DisableLink, objTab.ParentId, objTab.IconFile, objTab.Title, objTab.Description, objTab.KeyWords, objTab.Url, objTab.SkinSrc, objTab.ContainerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText);

            TabPermissionController objTabPermissionController = new TabPermissionController();

            if (objTab.TabPermissions != null)
            {
                TabPermissionCollection objTabPermissions = objTab.TabPermissions;

                foreach (TabPermissionInfo objTabPermission in objTabPermissions)
                {
                    objTabPermission.TabID = intTabId;
                    if (objTabPermission.AllowAccess)
                    {
                        objTabPermissionController.AddTabPermission(objTabPermission);
                    }
                }
            }
            if (!(Null.IsNull(objTab.PortalID)))
            {
                UpdatePortalTabOrder(objTab.PortalID, intTabId, objTab.ParentId, 0, 0, objTab.IsVisible, true);
            }
            else // host tab
            {
                ArrayList arrTabs = GetTabsByParentId(objTab.ParentId, objTab.PortalID);
                UpdateTabOrder(objTab.PortalID, intTabId, (arrTabs.Count * 2) - 1, 1, objTab.ParentId);
            }

            if (AddAllTabsModules)
            {
                ModuleController objmodules = new ModuleController();
                ArrayList        arrMods    = objmodules.GetAllTabsModules(objTab.PortalID, true);

                foreach (ModuleInfo objModule in arrMods)
                {
                    objmodules.CopyModule(objModule.ModuleID, objModule.TabID, intTabId, "", true);
                }
            }

            ClearCache(objTab.PortalID);

            return(intTabId);
        }
Exemple #4
0
        public void UpdateTab(TabInfo objTab)
        {
            bool    updateChildren = false;
            TabInfo objTmpTab      = GetTab(objTab.TabID, objTab.PortalID, false);

            if (objTmpTab.TabName != objTab.TabName | objTmpTab.ParentId != objTab.ParentId)
            {
                updateChildren = true;
            }

            UpdatePortalTabOrder(objTab.PortalID, objTab.TabID, objTab.ParentId, 0, 0, objTab.IsVisible);

            DataProvider.Instance().UpdateTab(objTab.TabID, objTab.TabName, objTab.IsVisible, objTab.DisableLink, objTab.ParentId, objTab.IconFile, objTab.Title, objTab.Description, objTab.KeyWords, objTab.IsDeleted, objTab.Url, objTab.SkinSrc, objTab.ContainerSrc, objTab.TabPath, objTab.StartDate, objTab.EndDate, objTab.RefreshInterval, objTab.PageHeadText);

            TabPermissionController objTabPermissionController = new TabPermissionController();

            TabPermissionCollection objTabPermissions = objTab.TabPermissions;

            TabPermissionCollection objCurrentTabPermissions = objTabPermissionController.GetTabPermissionsCollectionByTabID(objTab.TabID, objTab.PortalID);

            if (!(objCurrentTabPermissions.CompareTo(objTab.TabPermissions)))
            {
                objTabPermissionController.DeleteTabPermissionsByTabID(objTab.TabID);

                foreach (TabPermissionInfo objTabPermission in objTabPermissions)
                {
                    if (objTabPermission.AllowAccess)
                    {
                        objTabPermissionController.AddTabPermission(objTabPermission);
                    }
                }
            }
            if (updateChildren)
            {
                UpdateChildTabPath(objTab.TabID, objTab.PortalID);
            }

            ClearCache(objTab.PortalID);
        }
        private int SaveAllSelectedRights()
        {
            int i = 0, result = 0;

            i = DeleteOldData();
            switch (i)
            {
            case -3:
                lblErrorMsg.Text = "Không tồn tại Id này";
                ClientScript.RegisterStartupScript(this.GetType(), "onload", "onError();", true);
                MultiView1.ActiveViewIndex = 2;
                break;

            case -2:
                lblErrorMsg.Text = "Tiến trình xử lý bị lỗi";
                ClientScript.RegisterStartupScript(this.GetType(), "onload", "onError();", true);
                MultiView1.ActiveViewIndex = 2;
                break;

            case 1:
                string UserId = null;
                int    TabId = 0, PermissionId = 0, AllowAccess = 0;
                string RoleId          = ddlRoleList.SelectedValue;
                string strPermissionId = ddlPermissionList.SelectedValue;

                if (strPermissionId != string.Empty)
                {
                    PermissionId = Convert.ToInt32(strPermissionId);
                }

                foreach (GridViewRow row in GridView1.Rows)
                {
                    // Selected Permission Right ===============================================================================================
                    bool resultSelectedPermissionRight = ((CheckBox)row.FindControl("chkSelectedPermissionRight")).Checked;
                    if (resultSelectedPermissionRight)
                    {
                        TabId = (int)GridView1.DataKeys[row.RowIndex].Value;
                    }

                    //UserId ======================================================================================================
                    DropDownList ddlUserList = (DropDownList)row.FindControl("ddlUserList");
                    if (ddlUserList != null)
                    {
                        UserId = ddlUserList.SelectedValue;
                    }

                    // AllowAccess Right ========================================================================================
                    CheckBox chkSelectedAllowAccessRight = (CheckBox)row.FindControl("chkSelectedAllowAccessRight");
                    if (chkSelectedAllowAccessRight != null)
                    {
                        bool resultAllowAccessRight = chkSelectedAllowAccessRight.Checked;
                        if (resultAllowAccessRight)
                        {
                            AllowAccess = 1;
                            //==============================================================================================================
                            result = tab_permission_obj.AddTabPermission(TabId, PermissionId, RoleId, AllowAccess, UserId);
                            //==============================================================================================================
                        }
                        else
                        {
                            AllowAccess = 0;
                        }
                    }
                }
                break;
            }
            return(result);
        }
Exemple #6
0
        private TabInfo CreateSubTab(string tabName, int departmentId, string settingsName = "department", int?parentTabID = null)
        {
            //Create Tab
            TabController tabController = new TabController();

            TabInfo tab = new TabInfo();

            tab.PortalID = PortalId;
            tab.TabName  = tabName;
            tab.Title    = tabName;

            //works for include in menu option. if true, will be shown in menus, else will not be shown, we have to redirect internally
            tab.IsVisible   = true;
            tab.DisableLink = false;

            //if this tab has any parents provide parent tab id, so that it will be shown in parent tab menus sub menu list, else is NULL
            //and will be in main menu list
            if (parentTabID == null)
            {
                tab.ParentId = TabId;
            }
            else
            {
                tab.ParentId = parentTabID.Value;
            }
            tab.IsDeleted    = false;
            tab.Url          = "";
            tab.IsSuperTab   = false;                            //if true, it has no parents, else false
            tab.SkinSrc      = "[G]Skins/Artfolio001/page.ascx"; //provide skin src, else will take default skin
            tab.ContainerSrc = "[G]Containers/Artfolio001/Block.ascx";
            int tabId = tabController.AddTab(tab, true);         //true to load defalut modules

            //Set Tab Permission
            TabPermissionController objTPC = new TabPermissionController();

            TabPermissionInfo tpi = new TabPermissionInfo();

            tpi.TabID          = tabId;
            tpi.PermissionID   = 3; //for view
            tpi.PermissionKey  = "VIEW";
            tpi.PermissionName = "View Tab";
            tpi.AllowAccess    = true;
            tpi.RoleID         = 0; //Role ID of administrator
            objTPC.AddTabPermission(tpi);

            TabPermissionInfo tpi1 = new TabPermissionInfo();

            tpi1.TabID          = tabId;
            tpi1.PermissionID   = 4; //for edit
            tpi1.PermissionKey  = "EDIT";
            tpi1.PermissionName = "Edit Tab";
            tpi1.AllowAccess    = true;
            tpi1.RoleID         = 0; //Role ID of administrator
            objTPC.AddTabPermission(tpi1);

            TabPermissionInfo tpi4 = new TabPermissionInfo();

            tpi4.TabID          = tabId;
            tpi4.PermissionID   = 3;
            tpi4.PermissionKey  = "VIEW";
            tpi4.PermissionName = "View Tab";
            tpi4.AllowAccess    = true;
            tpi4.RoleID         = -1; //All users
            objTPC.AddTabPermission(tpi4);

            //Add Module
            DesktopModuleController objDMC            = new DesktopModuleController();
            DesktopModuleInfo       desktopModuleInfo = objDMC.GetDesktopModuleByName("Clothes");

            ModuleDefinitionInfo moduleDefinitionInfo = new ModuleDefinitionInfo();
            ModuleInfo           moduleInfo           = new ModuleInfo();

            moduleInfo.PortalID                     = PortalId;
            moduleInfo.TabID                        = tabId;
            moduleInfo.ModuleOrder                  = 1;
            moduleInfo.ModuleTitle                  = "Clothes";
            moduleInfo.PaneName                     = "Clothes";
            moduleInfo.ModuleDefID                  = 160;
            moduleInfo.CacheTime                    = moduleDefinitionInfo.DefaultCacheTime; //Default Cache Time is 0
            moduleInfo.InheritViewPermissions       = true;                                  //Inherit View Permissions from Tab
            moduleInfo.AllTabs                      = false;
            moduleInfo.ModuleSettings[settingsName] = departmentId;

            ModuleController moduleController = new ModuleController();
            int moduleId = moduleController.AddModule(moduleInfo);

            //Set Module Permission
            ModulePermissionController objMPC = new ModulePermissionController();

            ModulePermissionInfo mpi1 = new ModulePermissionInfo();

            mpi1.ModuleID     = moduleId;
            mpi1.PermissionID = 1; //View Permission
            mpi1.AllowAccess  = true;
            mpi1.RoleID       = 0; //Role ID of Administrator
            objMPC.AddModulePermission(mpi1);

            ModulePermissionInfo mpi2 = new ModulePermissionInfo();

            mpi2.ModuleID     = moduleId;
            mpi2.PermissionID = 2; //Edit Permission
            mpi2.AllowAccess  = true;
            mpi2.RoleID       = 0; //Role ID of Administrator
            objMPC.AddModulePermission(mpi2);

            ModulePermissionInfo mpi5 = new ModulePermissionInfo();

            mpi5.ModuleID     = moduleId;
            mpi5.PermissionID = 1; //View Permission
            mpi5.AllowAccess  = true;
            mpi5.RoleID       = 1; //Role ID of Registered User
            objMPC.AddModulePermission(mpi5);
            return(tab);
        }
Exemple #7
0
        private TabInfo CreateTab(string tabName, bool isSuperTab = true)
        {
            //Create Tab
            TabController tabController = new TabController();

            TabInfo tab = new TabInfo();

            tab.PortalID = PortalId;
            tab.TabName  = tabName;
            tab.Title    = tabName;

            //works for include in menu option. if true, will be shown in menus, else will not be shown, we have to redirect internally
            tab.IsVisible   = true;
            tab.DisableLink = false;

            //if this tab has any parents provide parent tab id, so that it will be shown in parent tab menus sub menu list, else is NULL
            //and will be in main menu list
            if (!isSuperTab)
            {
                tab.ParentId = TabId;
            }
            tab.IsDeleted = false;
            tab.Url       = "";
            //if true, it has no parents, else false
            tab.IsSuperTab   = isSuperTab;
            tab.SkinSrc      = "[G]Skins/Artfolio001/page.ascx"; //provide skin src, else will take default skin
            tab.ContainerSrc = "[G]Containers/Artfolio001/Block.ascx";
            int tabId = tabController.AddTab(tab, true);         //true to load defalut modules

            //Set Tab Permission
            TabPermissionController objTPC = new TabPermissionController();

            TabPermissionInfo tpi = new TabPermissionInfo();

            tpi.TabID          = tabId;
            tpi.PermissionID   = 3; //for view
            tpi.PermissionKey  = "VIEW";
            tpi.PermissionName = "View Tab";
            tpi.AllowAccess    = true;
            tpi.RoleID         = 0; //Role ID of administrator
            objTPC.AddTabPermission(tpi);

            TabPermissionInfo tpi1 = new TabPermissionInfo();

            tpi1.TabID          = tabId;
            tpi1.PermissionID   = 4; //for edit
            tpi1.PermissionKey  = "EDIT";
            tpi1.PermissionName = "Edit Tab";
            tpi1.AllowAccess    = true;
            tpi1.RoleID         = 0; //Role ID of administrator
            objTPC.AddTabPermission(tpi1);

            TabPermissionInfo tpi4 = new TabPermissionInfo();

            tpi4.TabID          = tabId;
            tpi4.PermissionID   = 3;
            tpi4.PermissionKey  = "VIEW";
            tpi4.PermissionName = "View Tab";
            tpi4.AllowAccess    = true;
            tpi4.RoleID         = -1; //All users
            objTPC.AddTabPermission(tpi4);

            return(tab);
        }