Skip to content

Commit 7086fb7

Browse files
fix for bug #4827 (#5026)
* fix for bug #4943 * fix for bug 4827 * refactor code --------- Co-authored-by: Gautam Sheth <[email protected]>
1 parent a221a96 commit 7086fb7

File tree

1 file changed

+25
-22
lines changed

1 file changed

+25
-22
lines changed

src/Commands/Admin/SetHomeSite.cs

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -27,55 +27,58 @@ public class SetHomeSite : PnPSharePointOnlineAdminCmdlet
2727
protected override void ExecuteCmdlet()
2828
{
2929
Tenant.EnsureProperties(t => t.IsMultipleVivaConnectionsFlightEnabled, t => t.IsVivaHomeFlightEnabled);
30+
HomeSiteConfigurationParam configurationParam;
31+
32+
bool hasVivaConnectionsDefaultStart = ParameterSpecified(nameof(VivaConnectionsDefaultStart));
33+
bool hasDraftMode = ParameterSpecified(nameof(DraftMode));
34+
35+
// Replace the current configurationParam assignment block with the following:
36+
37+
configurationParam = null;
38+
if (hasVivaConnectionsDefaultStart || hasDraftMode)
39+
{
40+
configurationParam = new();
41+
if (hasVivaConnectionsDefaultStart)
42+
{
43+
configurationParam.vivaConnectionsDefaultStart = VivaConnectionsDefaultStart;
44+
configurationParam.IsVivaConnectionsDefaultStartPresent = true;
45+
}
46+
if (hasDraftMode)
47+
{
48+
configurationParam.isInDraftMode = DraftMode;
49+
configurationParam.IsInDraftModePresent = true;
50+
}
51+
}
3052

3153
if (Tenant.IsMultipleVivaConnectionsFlightEnabled)
3254
{
3355
if (Force || ShouldContinue("Before you update a home site or Viva Connections experiences, make sure you review the documentation at https://aka.ms/homesites.", Properties.Resources.Confirm))
3456
{
3557
IEnumerable<TargetedSiteDetails> enumerable = Tenant.GetTargetedSitesDetails()?.Where((TargetedSiteDetails hs) => !hs.IsVivaBackendSite);
3658
AdminContext.ExecuteQueryRetry();
37-
bool flag = false;
3859
if (enumerable == null || enumerable.Count() == 0)
3960
{
4061
Tenant.AddHomeSite(HomeSiteUrl, 1, null);
4162
AdminContext.ExecuteQueryRetry();
42-
flag = true;
4363
}
4464
else if (enumerable.Count() == 1 && !IsSameSiteUrl(enumerable.First().Url, HomeSiteUrl))
4565
{
4666
Tenant.RemoveTargetedSite(enumerable.First().SiteId);
4767
AdminContext.ExecuteQueryRetry();
4868
Tenant.AddHomeSite(HomeSiteUrl, 1, null);
4969
AdminContext.ExecuteQueryRetry();
50-
flag = true;
5170
}
52-
HomeSiteConfigurationParam configurationParam = new()
53-
{
54-
vivaConnectionsDefaultStart = VivaConnectionsDefaultStart,
55-
IsVivaConnectionsDefaultStartPresent = VivaConnectionsDefaultStart,
56-
isInDraftMode = DraftMode,
57-
IsInDraftModePresent = DraftMode || flag
58-
};
71+
5972
ClientResult<TargetedSiteDetails> clientResult = Tenant.UpdateTargetedSite(HomeSiteUrl, configurationParam);
73+
6074
AdminContext.ExecuteQueryRetry();
6175
WriteObject(clientResult.Value);
6276
}
6377
}
6478
else if (Force || ShouldContinue("Before you set a Home site, make sure you review the documentation at https://aka.ms/homesites.", Properties.Resources.Confirm))
6579
{
6680
Tenant.ValidateVivaHomeParameterExists(VivaConnectionsDefaultStart);
67-
HomeSiteConfigurationParam configuration = null;
68-
if (VivaConnectionsDefaultStart || DraftMode)
69-
{
70-
configuration = new HomeSiteConfigurationParam
71-
{
72-
vivaConnectionsDefaultStart = VivaConnectionsDefaultStart,
73-
IsVivaConnectionsDefaultStartPresent = VivaConnectionsDefaultStart,
74-
isInDraftMode = DraftMode,
75-
IsInDraftModePresent = DraftMode
76-
};
77-
}
78-
ClientResult<string> clientResult = Tenant.SetSPHSiteWithConfiguration(HomeSiteUrl, configuration);
81+
ClientResult<string> clientResult = Tenant.SetSPHSiteWithConfiguration(HomeSiteUrl, configurationParam);
7982
AdminContext.ExecuteQueryRetry();
8083
WriteObject(clientResult.Value);
8184
}

0 commit comments

Comments
 (0)