diff --git a/Installer/DBAdminToolkit.Setup.zip b/Installer/DBAdminToolkit.Setup.zip index bfacf0b..0dd3c95 100644 Binary files a/Installer/DBAdminToolkit.Setup.zip and b/Installer/DBAdminToolkit.Setup.zip differ diff --git a/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj b/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj index c22c0f5..f8f8a15 100644 --- a/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj +++ b/Source/DBAdminToolkit.Setup/DBAdminToolkit.Setup.vdproj @@ -51,6 +51,12 @@ } "Entry" { + "MsmKey" = "8:_518A735363D64D80BAB4864F321FBD01" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_5661ECFE82564529A2FCAA07988A44AF" "OwnerKey" = "8:_UNDEFINED" "MsmSig" = "8:_UNDEFINED" @@ -99,6 +105,12 @@ } "Entry" { + "MsmKey" = "8:_949030045CBA4F5090FA4DBB6CA51E8F" + "OwnerKey" = "8:_UNDEFINED" + "MsmSig" = "8:_UNDEFINED" + } + "Entry" + { "MsmKey" = "8:_98D806DD5327570DE7FD64E4DBD7FD2B" "OwnerKey" = "8:_4A6B6FBF12AC43BB83F88A643D56B1CE" "MsmSig" = "8:_UNDEFINED" @@ -136,61 +148,61 @@ "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_29597E39965D4D82B7C1E43E5262B5D8" + "OwnerKey" = "8:_20D2D1C0384C24D624835FDEEA55E755" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_A4152587AA564BE2471A6D4C0F596B87" + "OwnerKey" = "8:_604E624E49524AB483464DD673E08914" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_2EEC1DA55561C2D8DA9E1CA61339695B" + "OwnerKey" = "8:_98D806DD5327570DE7FD64E4DBD7FD2B" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_2E62269EFD269AEF848109100FDA0E52" + "OwnerKey" = "8:_BEC6DA59794123F937E6DB1C4BB41961" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_692BA171A886727BC0AB5754FBD09D80" + "OwnerKey" = "8:_8E616154BC4D8F6BDB3BC1C2BA7CAFB7" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_8E616154BC4D8F6BDB3BC1C2BA7CAFB7" + "OwnerKey" = "8:_692BA171A886727BC0AB5754FBD09D80" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_BEC6DA59794123F937E6DB1C4BB41961" + "OwnerKey" = "8:_2E62269EFD269AEF848109100FDA0E52" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_98D806DD5327570DE7FD64E4DBD7FD2B" + "OwnerKey" = "8:_2EEC1DA55561C2D8DA9E1CA61339695B" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_604E624E49524AB483464DD673E08914" + "OwnerKey" = "8:_A4152587AA564BE2471A6D4C0F596B87" "MsmSig" = "8:_UNDEFINED" } "Entry" { "MsmKey" = "8:_UNDEFINED" - "OwnerKey" = "8:_20D2D1C0384C24D624835FDEEA55E755" + "OwnerKey" = "8:_29597E39965D4D82B7C1E43E5262B5D8" "MsmSig" = "8:_UNDEFINED" } } @@ -318,7 +330,7 @@ { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:ProviderLauncher, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:ProviderLauncher, Version=4.1.0.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { "_29597E39965D4D82B7C1E43E5262B5D8" @@ -401,7 +413,7 @@ { "AssemblyRegister" = "3:1" "AssemblyIsInGAC" = "11:FALSE" - "AssemblyAsmDisplayName" = "8:DfBAdminToolkit, Version=4.0.0.0, Culture=neutral, processorArchitecture=MSIL" + "AssemblyAsmDisplayName" = "8:DfBAdminToolkit, Version=4.1.0.0, Culture=neutral, processorArchitecture=MSIL" "ScatterAssemblies" { "_4A6B6FBF12AC43BB83F88A643D56B1CE" @@ -428,6 +440,26 @@ "IsDependency" = "11:FALSE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_518A735363D64D80BAB4864F321FBD01" + { + "SourcePath" = "8:..\\..\\..\\..\\ProvisioningTemplate.csv" + "TargetName" = "8:ProvisioningTemplate.csv" + "Tag" = "8:" + "Folder" = "8:_DF991A4076234D9C941D22E5025CD05C" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_5661ECFE82564529A2FCAA07988A44AF" { "SourcePath" = "8:..\\DfBAdminToolkit\\app.manifest" @@ -571,6 +603,26 @@ "IsDependency" = "11:TRUE" "IsolateTo" = "8:" } + "{1FB2D0AE-D3B9-43D4-B9DD-F88EC61E35DE}:_949030045CBA4F5090FA4DBB6CA51E8F" + { + "SourcePath" = "8:..\\..\\..\\..\\UpdateMembersTemplate.csv" + "TargetName" = "8:UpdateMembersTemplate.csv" + "Tag" = "8:" + "Folder" = "8:_DF991A4076234D9C941D22E5025CD05C" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Vital" = "11:TRUE" + "ReadOnly" = "11:FALSE" + "Hidden" = "11:FALSE" + "System" = "11:FALSE" + "Permanent" = "11:FALSE" + "SharedLegacy" = "11:FALSE" + "PackageAs" = "3:1" + "Register" = "3:1" + "Exclude" = "11:FALSE" + "IsDependency" = "11:FALSE" + "IsolateTo" = "8:" + } "{9F6F8455-1EF1-4B85-886A-4223BCC8E7F7}:_98D806DD5327570DE7FD64E4DBD7FD2B" { "AssemblyRegister" = "3:1" @@ -721,6 +773,17 @@ "Property" = "8:TARGETDIR" "Folders" { + "{9EF0B969-E518-4E46-987F-47570745A589}:_DF991A4076234D9C941D22E5025CD05C" + { + "Name" = "8:Templates" + "AlwaysCreate" = "11:FALSE" + "Condition" = "8:" + "Transitive" = "11:FALSE" + "Property" = "8:_7FBA90444E11439EB38206A7E0A12DE9" + "Folders" + { + } + } } } "{1525181F-901A-416C-8A58-119130FE478E}:_6E0C177DEB914B8EA568D08C12583CE3" @@ -750,7 +813,7 @@ { "Name" = "8:Microsoft Visual Studio" "ProductName" = "8:Dropbox Business Admin Toolkit" - "ProductCode" = "8:{FE93966C-DFA1-4F23-BCA8-FEAC7D424855}" + "ProductCode" = "8:{F095753C-0E82-4DEA-B5B4-4A6D3EB75D53}" "PackageCode" = "8:{4F507568-2104-402C-812B-BF0F65944546}" "UpgradeCode" = "8:{F6F4214B-C1CB-4F20-B1B3-35E1B7262F93}" "AspNetVersion" = "8:4.0.30319.0" @@ -758,7 +821,7 @@ "RemovePreviousVersions" = "11:TRUE" "DetectNewerInstalledVersion" = "11:TRUE" "InstallAllUsers" = "11:FALSE" - "ProductVersion" = "8:4.0.0" + "ProductVersion" = "8:4.1.0" "Manufacturer" = "8:Dropbox Enterprise Services" "ARPHELPTELEPHONE" = "8:" "ARPHELPLINK" = "8:" diff --git a/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs b/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs index db904f8..935075b 100644 --- a/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs +++ b/Source/DfBAdminToolkit.Common/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.0.0.0")] -[assembly: AssemblyFileVersion("4.0.0.0")] +[assembly: AssemblyVersion("4.1.0.0")] +[assembly: AssemblyFileVersion("4.1.0.0")] diff --git a/Source/DfBAdminToolkit.Common/Services/MemberServices.cs b/Source/DfBAdminToolkit.Common/Services/MemberServices.cs index 21f0aa6..e533710 100644 --- a/Source/DfBAdminToolkit.Common/Services/MemberServices.cs +++ b/Source/DfBAdminToolkit.Common/Services/MemberServices.cs @@ -413,7 +413,7 @@ public IServiceResponse CreateGroup(string groupName, string authToken) request.RequestFormat = DataFormat.Json; client.UserAgent = UserAgentVersion; IRestResponse response = client.Execute(request); - serviceResponse = new ServiceResponse(response.StatusCode, response.ErrorMessage); + serviceResponse = new ServiceResponse(response.StatusCode, response.Content); } else { diff --git a/Source/DfBAdminToolkit/ErrorMessages.cs b/Source/DfBAdminToolkit/ErrorMessages.cs index bf27ca6..1725f9d 100644 --- a/Source/DfBAdminToolkit/ErrorMessages.cs +++ b/Source/DfBAdminToolkit/ErrorMessages.cs @@ -3,13 +3,13 @@ public static class ErrorMessages { public readonly static string DLG_DEFAULT_TITLE = "Dropbox Business Admin Toolkit"; - public readonly static string MISSING_QUERYSTRING = "You must enter a query string first"; + public readonly static string MISSING_QUERYSTRING = "You must enter a query string first."; public readonly static string INVALID_TOKEN = "You must provide a valid access token first"; - public readonly static string INVALID_TOKEN_AND_USER = "You must provide a valid access token, and select a user from the list"; - public readonly static string INVALID_DUMP_FILE_SELECTION = "You must choose at least one file to dump locally"; - public readonly static string INVALID_CSV_FILE = "Please provide a valid CSV file"; - public readonly static string MISSING_CSV_FILE = "Selected CSV file no longer exists"; - public readonly static string INVALID_CSV_DATA = "CSV file contains invalid data"; + public readonly static string INVALID_TOKEN_AND_USER = "You must provide a valid access token, and select a user from the list."; + public readonly static string INVALID_DUMP_FILE_SELECTION = "You must choose at least one file to dump locally."; + public readonly static string INVALID_CSV_FILE = "Please provide a valid CSV file."; + public readonly static string MISSING_CSV_FILE = "Selected CSV file no longer exists."; + public readonly static string INVALID_CSV_DATA = "CSV file contains invalid data."; public readonly static string FAILED_TO_ADD_MEMBER = "Bad request to the API, possibly due to no permissions on your app to add members."; public readonly static string FAILED_TO_REMOVE_MEMBER = "Bad request to the API, possibly due to no permissions on your app to remove members."; public readonly static string FAILED_TO_SUSPEND_MEMBER = "Bad request to the API, possibly due to no permissions on your app to suspend members."; @@ -17,18 +17,21 @@ public static class ErrorMessages public readonly static string FAILED_TO_UPDATE_PROFILE = "Bad request to the API, possibly due to no permissions on your app to update profiles."; public readonly static string USER_NOT_FOUND = "No matching user found. The provided email does not exist on this team."; public readonly static string USER_NOT_IN_TEAM = "The user is not a member of this team."; - public readonly static string MISSING_ROLE = "Please select a user role first"; - public readonly static string MISSING_OUTPUT_FOLDER = "Please select output directory first"; - public readonly static string MISSING_FILES = "Please list file(s) first. You can do this by right-click and choose [ List file(s) ] option"; + public readonly static string MISSING_ROLE = "Please select a user role first."; + public readonly static string MISSING_OUTPUT_FOLDER = "Please select output directory first."; + public readonly static string MISSING_FILES = "Please list file(s) first. You can do this by right-click and choose [ List file(s) ] option."; public readonly static string CONFIRM_DELETE = "Are you sure you want to remove this list of members from your Dropbox Business account?"; public readonly static string CONFIRM_DELETE_KEEP_ACCOUNT = "Are you sure you would like these users to keep their accounts active? Their accounts will be downgraded to Dropbox Basic and you will no longer have ownership of account data."; public readonly static string CONFIRM_SUSPEND = "Are you sure you want to suspend this list of members from your Dropbox Business account?"; public readonly static string CONFIRM_UNSUSPEND = "Are you sure you want to unsuspend this list of members from your Dropbox Business account?"; public readonly static string CONFIRM_SET_PROFILE = "Are you sure you want to update profiles on this list of members from your Dropbox Business account?"; + public readonly static string CONFIRM_SEND_WELCOME_EMAIL = "Warning: Please consult your Dropbox account team prior to disabling welcome emails. Please ensure that your domains are verified and single sign-on (SSO) is enabled and set to required in the Dropbox admin console if you decide to use this feature."; public readonly static string MISSING_TOKEN = "You must go to File->Settings to add your app tokens before performing any actions in the toolkit."; - public readonly static string INVALID_EXPORT_FOLDER = "Directory to export report file is not found"; + public readonly static string INVALID_EXPORT_FOLDER = "Directory to export report file is not found."; public readonly static string FAILED_TO_GET_GROUPS = "Bad request to the API, possibly due to no permissions to get groups."; public readonly static string FAILED_TO_CREATE_GROUP = "Bad request to the API, possibly due to no permissions on your app to create groups."; + public readonly static string FAILED_TO_CREATE_GROUP_GROUP_EXISTS = "Group was not created. Reason: Group name already exists."; + public readonly static string FAILED_TO_CREATE_GROUP_GROUP_INVALID = "Group was not created. Reason: Group name was invalid."; public readonly static string FAILED_TO_ADD_MEMBER_TO_GROUP = "Bad request to the API, possibly due to no permissions on your app to add members to groups."; public readonly static string FAILED_TO_DELETE_MEMBER_FROM_GROUP = "Bad request to the API, possibly due to no permissions on your app to delete members from groups."; public readonly static string FAILED_TO_GET_TEAMFOLDERS = "Bad request to the API, possibly due to no permissions to get team folders."; diff --git a/Source/DfBAdminToolkit/Presenter/DevicesPresenter.cs b/Source/DfBAdminToolkit/Presenter/DevicesPresenter.cs index ffee4ae..d820e44 100644 --- a/Source/DfBAdminToolkit/Presenter/DevicesPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/DevicesPresenter.cs @@ -214,7 +214,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["ip_address"]; dynamic sessionIdObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["session_id"]; clientType = "Web"; - created = jsonDevicesData["devices"][i]["web_sessions"][i2]["created"]; + dynamic createdObj = jsonDevicesData["devices"][i]["web_sessions"][i2]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -227,7 +227,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } - + if (createdObj != null) + { + created = jsonDevicesData["devices"][i]["web_sessions"][i2]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) @@ -290,7 +293,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["ip_address"]; dynamic sessionIdObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["session_id"]; clientType = "Desktop"; - created = jsonDevicesData["devices"][i]["desktop_clients"][i3]["created"]; + dynamic createdObj = jsonDevicesData["devices"][i]["desktop_clients"][i3]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -303,6 +306,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } + if (createdObj != null) + { + created = jsonDevicesData["devices"][i]["desktop_clients"][i3]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) @@ -366,7 +373,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["ip_address"]; dynamic sessionIdObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["session_id"]; clientType = "Mobile"; - created = jsonDevicesData["devices"][i]["mobile_clients"][i4]["created"]; + dynamic createdObj = jsonDevicesData["devices"][i]["mobile_clients"][i4]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -379,6 +386,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } + if (createdObj != null) + { + created = jsonDevicesData["devices"][i]["mobile_clients"][i4]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) @@ -473,7 +484,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["ip_address"]; dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["session_id"]; clientType = "Web"; - created = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["created"]; + dynamic createdObj = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -486,6 +497,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } + if (createdObj != null) + { + created = jsonDevicesDataCont["devices"][i]["web_sessions"][i2]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) @@ -549,7 +564,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["ip_address"]; dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["session_id"]; clientType = "Desktop"; - created = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["created"]; + dynamic createdObj = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -562,6 +577,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } + if (createdObj != null) + { + created = jsonDevicesDataCont["devices"][i]["desktop_clients"][i3]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) @@ -625,7 +644,7 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { dynamic ipAddressObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["ip_address"]; dynamic sessionIdObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["session_id"]; clientType = "Mobile"; - created = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["created"]; + dynamic createdObj = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["created"]; if (idObj != null) { teamId = idObj.Value as string; } @@ -638,6 +657,10 @@ private void GetDevices(IDevicesModel model, IMainPresenter presenter) { if (sessionIdObj != null) { sessionId = sessionIdObj.Value as string; } + if (createdObj != null) + { + created = jsonDevicesDataCont["devices"][i]["mobile_clients"][i4]["created"]; + } foreach (string[] lvitem in members) { if (teamId == lvitem[0]) diff --git a/Source/DfBAdminToolkit/Presenter/GroupsPresenter.cs b/Source/DfBAdminToolkit/Presenter/GroupsPresenter.cs index 3af7d6e..8af0a2c 100644 --- a/Source/DfBAdminToolkit/Presenter/GroupsPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/GroupsPresenter.cs @@ -156,6 +156,24 @@ private string CreateGroup(IGroupsModel model, string groupName, IMainPresenter }, null); } } + if (response.Message.Contains("group_name_already_used")) + { + if (SyncContext != null) + { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(ErrorMessages.FAILED_TO_CREATE_GROUP_GROUP_EXISTS); + }, null); + } + } + if (response.Message.Contains("group_name_invalid")) + { + if (SyncContext != null) + { + SyncContext.Post(delegate { + presenter.UpdateProgressInfo(ErrorMessages.FAILED_TO_CREATE_GROUP_GROUP_INVALID); + }, null); + } + } else { errorMessage = ErrorMessages.FAILED_TO_CREATE_GROUP; @@ -315,7 +333,6 @@ private void OnCommandCreateGroup(object sender, System.EventArgs e) view.RenderGroupList(); presenter.ActivateSpinner(false); presenter.EnableControl(true); - presenter.UpdateProgressInfo("Completed."); }, null); } } diff --git a/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs b/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs index f579a5d..f782139 100644 --- a/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs +++ b/Source/DfBAdminToolkit/Presenter/ProvisioningPresenter.cs @@ -773,9 +773,6 @@ private void OnCommandProvision(object sender, System.EventArgs e) presenter.UpdateProgressInfo("Processing..."); }, null); } - - // TODO: to improve stability, we will need to ensure to kill - // thread when user exits application while thread is running for REST service call Thread provision = new Thread(() => { if (string.IsNullOrEmpty(model.AccessToken)) diff --git a/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs b/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs index 02616f7..5027db7 100644 --- a/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs +++ b/Source/DfBAdminToolkit/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.0.0.0")] -[assembly: AssemblyFileVersion("4.0.0.0")] +[assembly: AssemblyVersion("4.1.0.0")] +[assembly: AssemblyFileVersion("4.1.0.0")] diff --git a/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs b/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs index bae2f67..8ab2943 100644 --- a/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs +++ b/Source/DfBAdminToolkit/View/ProvisioningView.Designer.cs @@ -112,13 +112,13 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningCommandGroup.RowCount = 2; this.tableLayoutPanel_ProvisioningCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 45.35519F)); this.tableLayoutPanel_ProvisioningCommandGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 8F)); - this.tableLayoutPanel_ProvisioningCommandGroup.Size = new System.Drawing.Size(707, 132); + this.tableLayoutPanel_ProvisioningCommandGroup.Size = new System.Drawing.Size(707, 131); this.tableLayoutPanel_ProvisioningCommandGroup.TabIndex = 0; // // tableLayoutPanel_ProvisioningInputFile // this.tableLayoutPanel_ProvisioningInputFile.ColumnCount = 4; - this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 297F)); + this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 334F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 10.07371F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 89.92629F)); this.tableLayoutPanel_ProvisioningInputFile.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle()); @@ -133,7 +133,7 @@ private void InitializeComponent() this.tableLayoutPanel_ProvisioningInputFile.RowCount = 2; this.tableLayoutPanel_ProvisioningInputFile.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 30.50847F)); this.tableLayoutPanel_ProvisioningInputFile.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 69.49152F)); - this.tableLayoutPanel_ProvisioningInputFile.Size = new System.Drawing.Size(705, 122); + this.tableLayoutPanel_ProvisioningInputFile.Size = new System.Drawing.Size(704, 121); this.tableLayoutPanel_ProvisioningInputFile.TabIndex = 1; // // textBox_ProvisioningInputFile @@ -141,10 +141,10 @@ private void InitializeComponent() this.textBox_ProvisioningInputFile.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.textBox_ProvisioningInputFile.FileFilter = null; this.textBox_ProvisioningInputFile.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); - this.textBox_ProvisioningInputFile.Location = new System.Drawing.Point(3, 8); + this.textBox_ProvisioningInputFile.Location = new System.Drawing.Point(3, 7); this.textBox_ProvisioningInputFile.Margin = new System.Windows.Forms.Padding(3, 4, 3, 3); this.textBox_ProvisioningInputFile.Name = "textBox_ProvisioningInputFile"; - this.textBox_ProvisioningInputFile.Size = new System.Drawing.Size(291, 22); + this.textBox_ProvisioningInputFile.Size = new System.Drawing.Size(328, 22); this.textBox_ProvisioningInputFile.TabIndex = 1; this.textBox_ProvisioningInputFile.Visible = false; // @@ -152,21 +152,21 @@ private void InitializeComponent() // this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnCount = 2; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 64.28571F)); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 133F)); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Absolute, 165F)); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleTeamAdmin, 0, 1); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleUserMgmtAdmin, 1, 0); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleSupportAdmin, 1, 1); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.radioButton_ProvisioningRoleMemberOnly, 0, 0); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.Add(this.checkBox_ProvisioningSendWelcomeEmail, 0, 2); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Dock = System.Windows.Forms.DockStyle.Fill; - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Location = new System.Drawing.Point(3, 40); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Location = new System.Drawing.Point(3, 39); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Name = "tableLayoutPanel_ProvisioningRolesSelectionGroup"; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Padding = new System.Windows.Forms.Padding(3); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowCount = 3; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 48.97959F)); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 51.02041F)); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 24F)); - this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Size = new System.Drawing.Size(291, 79); + this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Size = new System.Drawing.Size(328, 79); this.tableLayoutPanel_ProvisioningRolesSelectionGroup.TabIndex = 0; this.tableLayoutPanel_ProvisioningRolesSelectionGroup.Visible = false; // @@ -176,34 +176,34 @@ private void InitializeComponent() this.radioButton_ProvisioningRoleTeamAdmin.AutoSize = true; this.radioButton_ProvisioningRoleTeamAdmin.Location = new System.Drawing.Point(6, 30); this.radioButton_ProvisioningRoleTeamAdmin.Name = "radioButton_ProvisioningRoleTeamAdmin"; - this.radioButton_ProvisioningRoleTeamAdmin.Size = new System.Drawing.Size(146, 17); + this.radioButton_ProvisioningRoleTeamAdmin.Size = new System.Drawing.Size(151, 17); this.radioButton_ProvisioningRoleTeamAdmin.TabIndex = 3; this.radioButton_ProvisioningRoleTeamAdmin.TabStop = true; - this.radioButton_ProvisioningRoleTeamAdmin.Text = "Team Administrator"; + this.radioButton_ProvisioningRoleTeamAdmin.Text = "Team Admin"; this.radioButton_ProvisioningRoleTeamAdmin.UseVisualStyleBackColor = true; // // radioButton_ProvisioningRoleUserMgmtAdmin // this.radioButton_ProvisioningRoleUserMgmtAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleUserMgmtAdmin.AutoSize = true; - this.radioButton_ProvisioningRoleUserMgmtAdmin.Location = new System.Drawing.Point(158, 6); + this.radioButton_ProvisioningRoleUserMgmtAdmin.Location = new System.Drawing.Point(163, 6); this.radioButton_ProvisioningRoleUserMgmtAdmin.Name = "radioButton_ProvisioningRoleUserMgmtAdmin"; - this.radioButton_ProvisioningRoleUserMgmtAdmin.Size = new System.Drawing.Size(127, 17); + this.radioButton_ProvisioningRoleUserMgmtAdmin.Size = new System.Drawing.Size(159, 17); this.radioButton_ProvisioningRoleUserMgmtAdmin.TabIndex = 4; this.radioButton_ProvisioningRoleUserMgmtAdmin.TabStop = true; - this.radioButton_ProvisioningRoleUserMgmtAdmin.Text = "User Management Administrator"; + this.radioButton_ProvisioningRoleUserMgmtAdmin.Text = "User Management Admin"; this.radioButton_ProvisioningRoleUserMgmtAdmin.UseVisualStyleBackColor = true; // // radioButton_ProvisioningRoleSupportAdmin // this.radioButton_ProvisioningRoleSupportAdmin.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.radioButton_ProvisioningRoleSupportAdmin.AutoSize = true; - this.radioButton_ProvisioningRoleSupportAdmin.Location = new System.Drawing.Point(158, 30); + this.radioButton_ProvisioningRoleSupportAdmin.Location = new System.Drawing.Point(163, 30); this.radioButton_ProvisioningRoleSupportAdmin.Name = "radioButton_ProvisioningRoleSupportAdmin"; - this.radioButton_ProvisioningRoleSupportAdmin.Size = new System.Drawing.Size(127, 17); + this.radioButton_ProvisioningRoleSupportAdmin.Size = new System.Drawing.Size(159, 17); this.radioButton_ProvisioningRoleSupportAdmin.TabIndex = 5; this.radioButton_ProvisioningRoleSupportAdmin.TabStop = true; - this.radioButton_ProvisioningRoleSupportAdmin.Text = "Support Administrator"; + this.radioButton_ProvisioningRoleSupportAdmin.Text = "Support Admin"; this.radioButton_ProvisioningRoleSupportAdmin.UseVisualStyleBackColor = true; // // radioButton_ProvisioningRoleMemberOnly @@ -212,7 +212,7 @@ private void InitializeComponent() this.radioButton_ProvisioningRoleMemberOnly.AutoSize = true; this.radioButton_ProvisioningRoleMemberOnly.Location = new System.Drawing.Point(6, 6); this.radioButton_ProvisioningRoleMemberOnly.Name = "radioButton_ProvisioningRoleMemberOnly"; - this.radioButton_ProvisioningRoleMemberOnly.Size = new System.Drawing.Size(146, 17); + this.radioButton_ProvisioningRoleMemberOnly.Size = new System.Drawing.Size(151, 17); this.radioButton_ProvisioningRoleMemberOnly.TabIndex = 2; this.radioButton_ProvisioningRoleMemberOnly.TabStop = true; this.radioButton_ProvisioningRoleMemberOnly.Text = "Standard Team Member"; @@ -225,9 +225,9 @@ private void InitializeComponent() this.checkBox_ProvisioningSendWelcomeEmail.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.checkBox_ProvisioningSendWelcomeEmail.Location = new System.Drawing.Point(6, 55); this.checkBox_ProvisioningSendWelcomeEmail.Name = "checkBox_ProvisioningSendWelcomeEmail"; - this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(146, 17); + this.checkBox_ProvisioningSendWelcomeEmail.Size = new System.Drawing.Size(151, 17); this.checkBox_ProvisioningSendWelcomeEmail.TabIndex = 5; - this.checkBox_ProvisioningSendWelcomeEmail.Text = "Send Welcome Email"; + this.checkBox_ProvisioningSendWelcomeEmail.Text = "Send Team Join Emails"; this.checkBox_ProvisioningSendWelcomeEmail.UseVisualStyleBackColor = true; this.checkBox_ProvisioningSendWelcomeEmail.Visible = false; // @@ -253,9 +253,9 @@ private void InitializeComponent() office2010White1.SelectedTextColor = System.Drawing.Color.FromArgb(((int)(((byte)(30)))), ((int)(((byte)(57)))), ((int)(((byte)(91))))); office2010White1.TextColor = System.Drawing.Color.Black; this.buttonEx_ProvisioningFileInputSelect.ColorTable = office2010White1; - this.buttonEx_ProvisioningFileInputSelect.Location = new System.Drawing.Point(300, 7); + this.buttonEx_ProvisioningFileInputSelect.Location = new System.Drawing.Point(337, 3); this.buttonEx_ProvisioningFileInputSelect.Name = "buttonEx_ProvisioningFileInputSelect"; - this.buttonEx_ProvisioningFileInputSelect.Size = new System.Drawing.Size(35, 23); + this.buttonEx_ProvisioningFileInputSelect.Size = new System.Drawing.Size(31, 30); this.buttonEx_ProvisioningFileInputSelect.TabIndex = 4; this.buttonEx_ProvisioningFileInputSelect.Text = "..."; this.buttonEx_ProvisioningFileInputSelect.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -265,17 +265,17 @@ private void InitializeComponent() // tableLayoutPanel_ProvisioningSendEmailGroup // this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnCount = 3; - this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 31.45401F)); - this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 36.49852F)); - this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 31.75074F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 35.58282F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.43558F)); + this.tableLayoutPanel_ProvisioningSendEmailGroup.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 31.28834F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.Controls.Add(this.checkBoxProvisioningKeepAccount, 0, 0); - this.tableLayoutPanel_ProvisioningSendEmailGroup.Location = new System.Drawing.Point(341, 40); + this.tableLayoutPanel_ProvisioningSendEmailGroup.Location = new System.Drawing.Point(374, 39); this.tableLayoutPanel_ProvisioningSendEmailGroup.Name = "tableLayoutPanel_ProvisioningSendEmailGroup"; this.tableLayoutPanel_ProvisioningSendEmailGroup.RowCount = 2; this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 36.48649F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 63.51351F)); this.tableLayoutPanel_ProvisioningSendEmailGroup.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F)); - this.tableLayoutPanel_ProvisioningSendEmailGroup.Size = new System.Drawing.Size(359, 79); + this.tableLayoutPanel_ProvisioningSendEmailGroup.Size = new System.Drawing.Size(326, 78); this.tableLayoutPanel_ProvisioningSendEmailGroup.TabIndex = 3; // // checkBoxProvisioningKeepAccount @@ -284,7 +284,7 @@ private void InitializeComponent() this.checkBoxProvisioningKeepAccount.Dock = System.Windows.Forms.DockStyle.Fill; this.checkBoxProvisioningKeepAccount.Location = new System.Drawing.Point(3, 3); this.checkBoxProvisioningKeepAccount.Name = "checkBoxProvisioningKeepAccount"; - this.checkBoxProvisioningKeepAccount.Size = new System.Drawing.Size(107, 22); + this.checkBoxProvisioningKeepAccount.Size = new System.Drawing.Size(109, 22); this.checkBoxProvisioningKeepAccount.TabIndex = 5; this.checkBoxProvisioningKeepAccount.Text = "Keep Account"; this.checkBoxProvisioningKeepAccount.UseVisualStyleBackColor = true; @@ -292,16 +292,17 @@ private void InitializeComponent() // // tableLayoutPanel2 // - this.tableLayoutPanel2.ColumnCount = 2; - this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 54.0107F)); - this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 45.9893F)); + this.tableLayoutPanel2.ColumnCount = 3; + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); + this.tableLayoutPanel2.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 33.33333F)); this.tableLayoutPanel2.Controls.Add(this.buttonEx_ProvisioningLoadCSV, 0, 0); this.tableLayoutPanel2.Controls.Add(this.buttonEx_ProvisioningLoadUpdateCSV, 1, 0); - this.tableLayoutPanel2.Location = new System.Drawing.Point(341, 3); + this.tableLayoutPanel2.Location = new System.Drawing.Point(374, 3); this.tableLayoutPanel2.Name = "tableLayoutPanel2"; this.tableLayoutPanel2.RowCount = 1; - this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F)); - this.tableLayoutPanel2.Size = new System.Drawing.Size(218, 27); + this.tableLayoutPanel2.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); + this.tableLayoutPanel2.Size = new System.Drawing.Size(323, 27); this.tableLayoutPanel2.TabIndex = 5; // // buttonEx_ProvisioningLoadCSV @@ -310,7 +311,7 @@ private void InitializeComponent() this.buttonEx_ProvisioningLoadCSV.ColorTable = office2010White1; this.buttonEx_ProvisioningLoadCSV.Location = new System.Drawing.Point(3, 3); this.buttonEx_ProvisioningLoadCSV.Name = "buttonEx_ProvisioningLoadCSV"; - this.buttonEx_ProvisioningLoadCSV.Size = new System.Drawing.Size(111, 21); + this.buttonEx_ProvisioningLoadCSV.Size = new System.Drawing.Size(101, 21); this.buttonEx_ProvisioningLoadCSV.TabIndex = 4; this.buttonEx_ProvisioningLoadCSV.Text = "Load Input File"; this.buttonEx_ProvisioningLoadCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -321,9 +322,9 @@ private void InitializeComponent() // this.buttonEx_ProvisioningLoadUpdateCSV.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Left | System.Windows.Forms.AnchorStyles.Right))); this.buttonEx_ProvisioningLoadUpdateCSV.ColorTable = office2010White1; - this.buttonEx_ProvisioningLoadUpdateCSV.Location = new System.Drawing.Point(120, 3); + this.buttonEx_ProvisioningLoadUpdateCSV.Location = new System.Drawing.Point(110, 3); this.buttonEx_ProvisioningLoadUpdateCSV.Name = "buttonEx_ProvisioningLoadUpdateCSV"; - this.buttonEx_ProvisioningLoadUpdateCSV.Size = new System.Drawing.Size(95, 21); + this.buttonEx_ProvisioningLoadUpdateCSV.Size = new System.Drawing.Size(101, 21); this.buttonEx_ProvisioningLoadUpdateCSV.TabIndex = 9; this.buttonEx_ProvisioningLoadUpdateCSV.Text = "Load Update CSV"; this.buttonEx_ProvisioningLoadUpdateCSV.Theme = DfBAdminToolkit.Common.Component.Theme.MSOffice2010_White; @@ -432,7 +433,7 @@ private void InitializeComponent() this.tableLayoutPanel1.Name = "tableLayoutPanel1"; this.tableLayoutPanel1.RowCount = 1; this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 100F)); - this.tableLayoutPanel1.Size = new System.Drawing.Size(707, 24); + this.tableLayoutPanel1.Size = new System.Drawing.Size(707, 23); this.tableLayoutPanel1.TabIndex = 4; // // radioBulkProvisioning diff --git a/Source/DfBAdminToolkit/View/ProvisioningView.cs b/Source/DfBAdminToolkit/View/ProvisioningView.cs index f6ac1a4..3ea38a9 100644 --- a/Source/DfBAdminToolkit/View/ProvisioningView.cs +++ b/Source/DfBAdminToolkit/View/ProvisioningView.cs @@ -305,32 +305,45 @@ private void CheckBox_ProvisioningKeepAccount_CheckedChanged(object sender, Even private void Button_ProvisioningDoProvision_Click(object sender, EventArgs e) { - Control checkedButton = tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.OfType().FirstOrDefault(r => r.Checked); - switch (checkedButton.Name) + DialogResult d; + if (this.checkBox_ProvisioningSendWelcomeEmail.Checked == true) { - case "radioButton_ProvisioningRoleTeamAdmin": - SelectedRole = "team_admin"; - break; - - case "radioButton_ProvisioningRoleUserMgmtAdmin": - SelectedRole = "user_management_admin"; - break; - - case "radioButton_ProvisioningRoleSupportAdmin": - SelectedRole = "support_admin"; - break; - - case "radioButton_ProvisioningRoleMemberOnly": - default: - SelectedRole = "member_only"; - break; - } + d = MessageBoxUtil.ShowConfirm(this, ErrorMessages.CONFIRM_SEND_WELCOME_EMAIL); - InvokeDataChanged(sender, e); - if (CommandProvision != null) - { - CommandProvision(sender, e); - } + if (d == DialogResult.Yes) + { + Control checkedButton = tableLayoutPanel_ProvisioningRolesSelectionGroup.Controls.OfType().FirstOrDefault(r => r.Checked); + switch (checkedButton.Name) + { + case "radioButton_ProvisioningRoleTeamAdmin": + SelectedRole = "team_admin"; + break; + + case "radioButton_ProvisioningRoleUserMgmtAdmin": + SelectedRole = "user_management_admin"; + break; + + case "radioButton_ProvisioningRoleSupportAdmin": + SelectedRole = "support_admin"; + break; + + case "radioButton_ProvisioningRoleMemberOnly": + default: + SelectedRole = "member_only"; + break; + } + + InvokeDataChanged(sender, e); + if (CommandProvision != null) + { + CommandProvision(sender, e); + } + } + else if (d == DialogResult.No) + { + //do nothing + } + } } private void Button_ProvisioningDoDeprovision_Click(object sender, EventArgs e) @@ -593,8 +606,6 @@ private void radioBulkProvisioning_CheckedChanged(object sender, EventArgs e) //callable button buttonEx_ProvisioningProvision.ColorTable = ColorTable.Office2010Green; - - } private void radioBulkSuspendDelete_CheckedChanged(object sender, EventArgs e) diff --git a/Source/ProviderLauncher/Properties/AssemblyInfo.cs b/Source/ProviderLauncher/Properties/AssemblyInfo.cs index 57314e0..88c23ac 100644 --- a/Source/ProviderLauncher/Properties/AssemblyInfo.cs +++ b/Source/ProviderLauncher/Properties/AssemblyInfo.cs @@ -32,5 +32,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("4.0.0.0")] -[assembly: AssemblyFileVersion("4.0.0.0")] +[assembly: AssemblyVersion("4.1.0.0")] +[assembly: AssemblyFileVersion("4.1.0.0")]