/// <summary> /// Populate all the mog aware directories within the 'MyProjects' node /// </summary> private void PopulateMogProjects() { TreeNode mogProjects = new TreeNode("MyProjects", 1, 1); GameDataTreeView.Nodes.Add(mogProjects); string userName = MOG_ControllerProject.GetUserName_DefaultAdmin(); // Get a list of all our projects that the server knows about ArrayList projectsArray = MOG_DBSyncedDataAPI.GetAllSyncedLocations(MOG_ControllerSystem.GetComputerName(), null, userName); if (projectsArray != null && projectsArray.Count > 0) { foreach (MOG_DBSyncedLocationInfo project in projectsArray) { // Hash our local tab name string LocalBranchName = "@" + project.mWorkingDirectory; MOG_ControllerSyncData targetGameData = new MOG_ControllerSyncData(project.mWorkingDirectory, project.mProjectName, project.mBranchName, project.mPlatformName, userName); TreeNode projectNode = new TreeNode(LocalBranchName, 4, 4); projectNode.Tag = new guiAssetTreeTag(project.mWorkingDirectory, projectNode, targetGameData); FillDirectory(projectNode, project.mWorkingDirectory, targetGameData); mogProjects.Nodes.Add(projectNode); } } // Create the helper project mogProjects.Nodes.Add("<Create new local branch>"); mogProjects.Expand(); }
private void LoginDepartmentComboBox_SelectedIndexChanged(object sender, EventArgs e) { List <string> users = guiStartup.GetUsers(LoginProjectsComboBox.Text, LoginDepartmentComboBox.Text); LoginUsersComboBox.Items.Clear(); LoginUsersComboBox.Items.AddRange(users.ToArray()); if (LoginUsersComboBox.Items.Contains(MOG_ControllerProject.GetUserName_DefaultAdmin())) { LoginUsersComboBox.SelectedItem = MOG_ControllerProject.GetUserName_DefaultAdmin(); } }
private void btnAddUser_Click(object sender, EventArgs e) { MOG_Privileges privs = MOG_ControllerProject.GetPrivileges(); if (privs != null) { if (!privs.GetUserPrivilege(MOG_ControllerProject.GetUserName_DefaultAdmin(), MOG_PRIVILEGE.AddNewUser)) { MOG_Prompt.PromptResponse("Insufficient Privileges", "Your privileges do not allow you to add users."); return; } } EditUserForm form = new EditUserForm(this, mProject, mPrivileges, null); form.ShowDialog(this); }
public bool Remove(MOG_Filename filename, BackgroundWorker worker) { Debug.Write(filename.GetOriginalFilename(), "\nClick_Delete"); MOG_ControllerInbox.Delete(filename); // Check if this asset was within our own inbox? if (string.Compare(filename.GetUserName(), MOG_ControllerProject.GetUserName_DefaultAdmin(), true) == 0) { // Check if this was one of our drafts or inbox assets? if (filename.IsDrafts() || filename.IsInbox()) { // Add this asset to all of our active workspaces if (WorkspaceManager.RemoveAssetFromWorkspaces(filename, true, worker)) { } } } return(true); }
/// <summary> /// Create a Directory TreeNode checking to see if this directory is a MOG sync target /// </summary> /// <param name="fullname"></param> /// <returns></returns> private TreeNode CreateDirectoryNode(string fullname, MOG_ControllerSyncData targetGameData) { string name = fullname; try { name = Path.GetFileName(fullname); } catch { } string userName = MOG_ControllerProject.GetUserName_DefaultAdmin(); TreeNode directory = new TreeNode(name); directory.ForeColor = SystemColors.InactiveCaptionText; directory.Tag = new guiAssetTreeTag(fullname, directory, false); return(directory); }
string ResolveToken(string token) { string value = ""; // Make sure this token starts with the '{'? if (token.StartsWith("{")) { // Get the name of this token string[] parts = token.Split("{}.".ToCharArray(), 3); // Make sure this resembled a real token? if (parts.Length == 3) { // Check for any contained commands? string testToken = "{" + parts[1] + "}"; // Determine which token we have? switch (testToken) { // Repository Tokens case TOKEN_Repository_Path: value = MOG_ControllerSystem.GetSystemRepositoryPath(); break; case TOKEN_Repository_ProjectsPath: value = MOG_ControllerSystem.GetSystemProjectsPath(); break; case TOKEN_Repository_ToolsPath: value = MOG_ControllerSystem.GetSystemRepositoryPath() + "\\Tools"; break; case TOKEN_Repository_Project_Path: value = MOG_ControllerProject.GetProjectPath(); break; case TOKEN_Repository_Project_ToolsPath: value = MOG_ControllerProject.GetProjectPath() + "\\Tools"; break; case TOKEN_Repository_Project_AssetsPath: value = MOG_ControllerRepository.GetRepositoryPath(); break; case TOKEN_Repository_Project_ArchivePath: value = MOG_ControllerRepository.GetArchivePath(); break; case TOKEN_Repository_Project_UsersPath: value = MOG_ControllerProject.GetProjectPath() + "\\Users"; break; // Project Tokens case TOKEN_Project_Name: value = MOG_ControllerProject.GetProjectName(); break; case TOKEN_Project_BranchName: value = MOG_ControllerProject.GetBranchName(); break; case TOKEN_Project_UserName: value = MOG_ControllerProject.GetUserName_DefaultAdmin(); break; case TOKEN_Project_PlatformName: value = MOG_ControllerProject.GetPlatformName(); break; case TOKEN_Project_WorkspaceDirectory: value = MOG_ControllerProject.GetWorkspaceDirectory(); break; // Ripper Tokens case TOKEN_Ripper_SourcePath: value = mRipperSourcePath; break; case TOKEN_Ripper_SourceFilePattern: value = mRipperSourceFilePattern; break; case TOKEN_Ripper_DestinationPath: value = mRipperDestinationPath; break; // Package Tokens case TOKEN_Package_WorkspaceDirectory: if (mPackageFileInfo != null) { value = mPackageFileInfo.mPackageWorkspaceDirectory; } break; case TOKEN_Package_DataDirectory: if (mPackageFileInfo != null) { value = mPackageFileInfo.mPackageDataDirectory; } break; case TOKEN_Package_PackageFile_Filename: if (mPackageFileInfo != null) { value = mPackageFileInfo.mPackageFile; } break; case TOKEN_Package_PackageFile_FullName: { MOG_Filename packageFilename = (mPackageFileInfo != null) ? mPackageFileInfo.mPackageAssetFilename : new MOG_Filename(MOG_ControllerPackage.GetPackageName(mPackageAssignment)); value = packageFilename.GetAssetFullName(); } break; case TOKEN_Package_PackageFile_Classification: { MOG_Filename packageFilename = (mPackageFileInfo != null) ? mPackageFileInfo.mPackageAssetFilename : new MOG_Filename(MOG_ControllerPackage.GetPackageName(mPackageAssignment)); value = packageFilename.GetAssetClassification(); } break; case TOKEN_Package_PackageFile_Label: { MOG_Filename packageFilename = (mPackageFileInfo != null) ? mPackageFileInfo.mPackageAssetFilename : new MOG_Filename(MOG_ControllerPackage.GetPackageName(mPackageAssignment)); value = packageFilename.GetAssetLabel(); } break; case TOKEN_Package_PackageFile_Platform: { MOG_Filename packageFilename = (mPackageFileInfo != null) ? mPackageFileInfo.mPackageAssetFilename : new MOG_Filename(MOG_ControllerPackage.GetPackageName(mPackageAssignment)); value = packageFilename.GetAssetPlatform(); } break; case TOKEN_Package_PackageFile_Group: value = MOG_ControllerPackage.GetPackageGroups(mPackageAssignment); break; case TOKEN_Package_PackageFile_Object: value = MOG_ControllerPackage.GetPackageObjects(mPackageAssignment); break; // Inbox Tokens case TOKEN_Inbox_UserName: value = mAssetFilename.GetUserName(); break; case TOKEN_Inbox_UserPath: value = mAssetFilename.GetUserPath(); break; case TOKEN_Inbox_BoxName: value = mAssetFilename.GetBoxName(); break; case TOKEN_Inbox_BoxPath: value = mAssetFilename.GetBoxPath(); break; // Asset Tokens case TOKEN_Asset_AssetName_Path: value = mAssetFilename.GetPath(); break; case TOKEN_Asset_AssetName_FullName: value = mAssetFilename.GetAssetFullName(); break; case TOKEN_Asset_AssetName_Classification: value = mAssetFilename.GetAssetClassification(); break; case TOKEN_Asset_AssetName_Name: value = mAssetFilename.GetAssetName(); break; case TOKEN_Asset_AssetName_PlatformName: value = mAssetFilename.GetAssetPlatform(); break; case TOKEN_Asset_AssetName_Label: value = mAssetFilename.GetAssetLabel(); break; case TOKEN_Asset_ImportedFile: case TOKEN_Asset_RippedFile: value = ResolveToken_AssetFile(token); break; case TOKEN_Asset_Property: value = ResolveToken_Property(token); break; case TOKEN_Asset_ClassificationPath: value = MOG_Filename.GetClassificationPath(mAssetFilename.GetAssetClassification()); break; case TOKEN_Asset_VersionTimeStamp: value = mAssetFilename.GetVersionTimeStamp(); break; } // Check if we have a command? if (parts[2] != ".") { } } } return(value); }
/// <summary> /// Create a Directory TreeNode checking to see if this directory is a MOG sync target /// </summary> /// <param name="fullname"></param> /// <returns></returns> private TreeNode CreateDirectoryNode(string fullname, MOG_ControllerSyncData targetGameData) { string name = fullname; try { name = Path.GetFileName(fullname); } catch { } //Check active user for null/empty string and default to Admin if that is the case. string userName = MOG_ControllerProject.GetUserName_DefaultAdmin(); TreeNode directory = new TreeNode(name); directory.Tag = new guiAssetTreeTag(fullname, directory); // This is a virtual directory if (targetGameData != null) { directory.ImageIndex = 5; directory.SelectedImageIndex = 5; directory.Tag = new guiAssetTreeTag(fullname, directory, targetGameData); } else { // Is this a MOG controlled directory - Always remove ' characters when talking to the database? if (MOG.DATABASE.MOG_DBSyncedDataAPI.DoesSyncedLocationExist(MOG_ControllerSystem.GetComputerName(), null, null, fullname.Replace("'", ""), userName)) { ArrayList gameDataArray = MOG.DATABASE.MOG_DBSyncedDataAPI.GetAllSyncedLocations(MOG_ControllerSystem.GetComputerName(), fullname.Replace("'", ""), userName); if (gameDataArray.Count == 1) { MOG_DBSyncedLocationInfo dbLocation = (MOG_DBSyncedLocationInfo)gameDataArray[0]; MOG_ControllerSyncData gameData = new MOG_ControllerSyncData(dbLocation.mWorkingDirectory, dbLocation.mProjectName, dbLocation.mBranchName, dbLocation.mPlatformName, userName); directory.Tag = new guiAssetTreeTag(fullname, directory, gameData); } else if (gameDataArray.Count > 1) { MOG_Report.ReportMessage("Create Mog Aware directory", "Got back too many gameDataControllers for this directory!\n\nDIRECTORY: " + fullname + "\n\nTaking first one...", Environment.StackTrace, MOG_ALERT_LEVEL.ERROR); MOG_DBSyncedLocationInfo dbLocation = (MOG_DBSyncedLocationInfo)gameDataArray[0]; MOG_ControllerSyncData gameData = new MOG_ControllerSyncData(dbLocation.mWorkingDirectory, dbLocation.mProjectName, dbLocation.mBranchName, dbLocation.mPlatformName, userName); directory.Tag = new guiAssetTreeTag(fullname, directory, gameData); } else if (gameDataArray.Count == 0) { MOG_Report.ReportMessage("Create Mog Aware directory", "Got back zero gameDataControllers for this directory!\n\nDIRECTORY: " + fullname, Environment.StackTrace, MOG_ALERT_LEVEL.ERROR); return(directory); } directory.ImageIndex = 4; directory.SelectedImageIndex = 4; } else { directory.ImageIndex = 3; directory.SelectedImageIndex = 3; } } return(directory); }
/// <summary> /// Makes the selected assets the current version in the current branch /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void MakeCurrentMenuItem_Click(object sender, System.EventArgs e) { try { ArrayList selectedItems = ControlGetSelectedItems(); ArrayList assetFilenames = new ArrayList(); // Scan the list and prepare it for delivery to the DLL string message = ""; foreach (guiAssetTreeTag tag in selectedItems) { if (tag.Execute) { MOG_Filename filename = new MOG_Filename(tag.FullFilename); if (filename.GetFilenameType() == MOG_FILENAME_TYPE.MOG_FILENAME_Asset) { assetFilenames.Add(filename); } message = message + filename.GetAssetFullName() + "\n"; } } // Check if this request effects more than 1 asset?? if (selectedItems.Count > 1) { if (MOG_Prompt.PromptResponse("Are you sure you want to make all of these assets the current versions?", message, MOGPromptButtons.OKCancel) != MOGPromptResult.OK) { return; } } // Stamp all the specified assets if (MOG_ControllerProject.MakeAssetCurrentVersion(assetFilenames, "Made current by " + MOG_ControllerProject.GetUserName_DefaultAdmin())) { // Check if this request effects more than 1 asset?? if (selectedItems.Count > 1) { // Inform the user this may take a while MOG_Prompt.PromptResponse("Completed", "This change requires Slave processing.\n" + "The project will not reflect these changes until all slaves have finished processing the generated commands.\n" + "The progress of this task can be monitored in the Connections Tab."); } } else { MOG_Prompt.PromptMessage("Make Current Failed", "The system was unable to fully complete the task!", Environment.StackTrace); } } catch (Exception ex) { MOG_Report.ReportMessage("MakeCurrent Exception", ex.Message, ex.StackTrace, MOG.PROMPT.MOG_ALERT_LEVEL.CRITICAL); } }