protected void lbnOK_Click(object sender, EventArgs e)
        {
            //ensure path works before saving changes
            if (!VerifyPath())
                return;

            try
            {
                FileConfigurationController ctrl = new FileConfigurationController();
                List<FileConfiguration> configs = ctrl.GetItems(PortalId) as List<FileConfiguration>;
                FileConfiguration config = null;
                if (configs.Count > 0)
                {
                    config = configs[0];
                }
                else
                {
                    config = new FileConfiguration();
                    config.ID = -1;
                }

                config.FilesLocation = txtFilesLocation.Text;
                config.LastModifiedByUserName = UserInfo.DisplayName;
                config.LastModifiedDate = System.DateTime.Now;
                config.PortalID = PortalId;
                config.StorageType = radStorageLocation.SelectedValue;

                if (config.ID == -1)
                {
                    ctrl.Create(config);
                }
                else
                {
                    ctrl.Update(config);
                }

                //refresh cac
                SynchronizeModule();

                //Redirect back to the portal home page
                this.Response.Redirect(Globals.NavigateURL(), true);
            }
            catch (Exception exc) //Module failed to load
            {
                Exceptions.ProcessModuleLoadException(this, exc);
            }
        }
예제 #2
0
        public File CreateRootSharedFolder(int userID, int portalID)
        {
            FileController ctrl = new FileController();
            UserController ctrlUser = new UserController();
            UserInfo user = ctrlUser.GetUser(portalID, userID);

            //create root shared folder
            File rootPortalFolder = new File();
            //rootPortalFolder.ChildCount = 0;
            rootPortalFolder.CreatedByUserID = userID;
            rootPortalFolder.CreatedByUserName = user.DisplayName;
            rootPortalFolder.CreatedDate = System.DateTime.Now;
            rootPortalFolder.IsInTrash = false;
            rootPortalFolder.IsFolder = true;
            rootPortalFolder.ItemType = 0;
            rootPortalFolder.LastModifiedByUserID = userID;
            rootPortalFolder.LastModifiedByUserName = user.DisplayName;
            rootPortalFolder.LastModifiedDate = System.DateTime.Now;
            rootPortalFolder.Name = "Site Root Folder";
            rootPortalFolder.Description = "";
            rootPortalFolder.ParentID = -1;
            rootPortalFolder.PortalID = portalID;

            ctrl.Create(rootPortalFolder);

            //add default permission
            PermissionController ctrlPerm = new PermissionController();
            Permission perm = new Permission();
            perm.CanAddFiles = true;
            perm.CanAddFolders = true;
            perm.CanSee = true;
            perm.FileID = rootPortalFolder.ID;
            perm.PortalID = portalID;
            perm.RoleID = 1000000;
            perm.RoleName = "All Users";

            ctrlPerm.Create(perm);

            //update files config
            FileConfigurationController ctrlConfig = new FileConfigurationController();
            var configs = ctrlConfig.GetItems(portalID) as List<FileConfiguration>;
            configs[0].RootUsersFolderID = rootPortalFolder.ID;
            ctrlConfig.Update(configs[0]);

            return rootPortalFolder;
        }
예제 #3
0
        public File CreateRootGroupsFolder(int userID, int portalID)
        {
            //create folder
            FileController ctrl = new FileController();
            UserController ctrlUser = new UserController();
            UserInfo user = ctrlUser.GetUser(portalID, userID);

            //create root shared folder
            File rootPortalFolder = new File();
            //rootPortalFolder.ChildCount = 0;
            rootPortalFolder.CreatedByUserID = userID;
            rootPortalFolder.CreatedByUserName = user.DisplayName;
            rootPortalFolder.CreatedDate = System.DateTime.Now;
            rootPortalFolder.IsInTrash = false;
            rootPortalFolder.IsFolder = true;
            rootPortalFolder.ItemType = 0;
            rootPortalFolder.LastModifiedByUserID = userID;
            rootPortalFolder.LastModifiedByUserName = user.DisplayName;
            rootPortalFolder.LastModifiedDate = System.DateTime.Now;
            rootPortalFolder.Name = "Groups Root Folder";
            rootPortalFolder.Description = "";
            rootPortalFolder.ParentID = GetRootPortalFolder(portalID, userID).ID;
            rootPortalFolder.PortalID = portalID;

            ctrl.Create(rootPortalFolder);

            //add permissions
            //admins only

            //update files config
            FileConfigurationController ctrlConfig = new FileConfigurationController();
            var configs = ctrlConfig.GetItems(portalID) as List<FileConfiguration>;
            configs[0].RootGroupsFolderID = rootPortalFolder.ID;
            ctrlConfig.Update(configs[0]);

            //unify existing user folders under default users folder
            foreach (var userFolder in ctrl.GetV702GroupFolders(portalID))
            {
                userFolder.ParentID = rootPortalFolder.ID;
                ctrl.Update(userFolder);
            }

            //return default new root users folder
            return rootPortalFolder;
        }
예제 #4
0
        private void PopulateTree(int searchValue)
        {
            FileController fileCtrl = new FileController();
            FileConfigurationController ctrlConfig = new FileConfigurationController();
            var configs = ctrlConfig.GetItems(PortalId) as List<FileConfiguration>;
            if (configs.Count > 0)
            {
                //check for root shared folder
                var rootFolder = fileCtrl.GetRootPortalFolder(PortalId, UserId);

                //if none exists, create
                if (rootFolder == null)
                {
                    rootFolder = fileCtrl.CreateRootSharedFolder(UserId, PortalId);
                }
                configs[0].RootSharedFolderID = rootFolder.ID;

                //check root users folder
                if (configs[0].RootUsersFolderID == 0)
                {
                    //if none exists, create
                    configs[0].RootUsersFolderID = fileCtrl.CreateRootUsersFolder(UserId, PortalId).ID;
                }

                //check root groups folder
                if (configs[0].RootGroupsFolderID == 0)
                {
                    //if none exists, create
                    configs[0].RootGroupsFolderID = fileCtrl.CreateRootGroupsFolder(UserId, PortalId).ID;
                }

                //update config
                ctrlConfig.Update(configs[0]);
            }

            File rootFile = new File();
            rootFile.ID = -1;
            rootFile.Name = "QuickDocsPro";

            List<File> listFiles = fileCtrl.GetItemsByParent(rootFile.ID, UserId, PortalId, PortalSettings.AdministratorRoleId, "Asc") as List<File>;
            System.Web.UI.WebControls.TreeNode rootNode = new System.Web.UI.WebControls.TreeNode(rootFile.Name, rootFile.ID.ToString(), "images/window_16_hot.png");
            rootNode.Expanded = false;

            treeFolders.Nodes.Add(rootNode);
            populateChildren(rootNode, searchValue, configs[0]);

            if (rootNode.Value == searchValue.ToString())
            {
                rootNode.Selected = true;
            }
        }