Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V14: Remove member list view #15979

Merged
merged 4 commits into from Apr 12, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
Expand Up @@ -25,7 +25,6 @@ public Task<IActionResult> Configuration(CancellationToken cancellationToken)
CanBeChanged = _dataTypesSettings.CanBeChanged,
DocumentListViewId = Constants.DataTypes.Guids.ListViewContentGuid,
MediaListViewId = Constants.DataTypes.Guids.ListViewMediaGuid,
MemberListViewId = Constants.DataTypes.Guids.ListViewMembersGuid,
};
return Task.FromResult<IActionResult>(Ok(responseModel));
}
Expand Down
Expand Up @@ -9,6 +9,4 @@ public class DatatypeConfigurationResponseModel
public required Guid DocumentListViewId { get; init; }

public required Guid MediaListViewId { get; init; }

public required Guid MemberListViewId { get; init; }
}
5 changes: 0 additions & 5 deletions src/Umbraco.Core/Constants-DataTypes.cs
Expand Up @@ -284,11 +284,6 @@ public static class Guids
/// </summary>
public static readonly Guid ListViewMediaGuid = new(ListViewMedia);

/// <summary>
/// Guid for List View - Members
/// </summary>
public static readonly Guid ListViewMembersGuid = new(ListViewMembers);

/// <summary>
/// Guid for Date Picker with time
/// </summary>
Expand Down
2 changes: 0 additions & 2 deletions src/Umbraco.Core/Models/DataTypeExtensions.cs
Expand Up @@ -18,7 +18,6 @@ public static class DataTypeExtensions
Constants.DataTypes.Guids.TagsGuid,
Constants.DataTypes.Guids.ListViewContentGuid,
Constants.DataTypes.Guids.ListViewMediaGuid,
Constants.DataTypes.Guids.ListViewMembersGuid,
Constants.DataTypes.Guids.DatePickerWithTimeGuid,
Constants.DataTypes.Guids.ApprovedColorGuid,
Constants.DataTypes.Guids.DropdownMultipleGuid,
Expand Down Expand Up @@ -56,7 +55,6 @@ public static class DataTypeExtensions
// these data types are required for default list view handling
Constants.DataTypes.Guids.ListViewContentGuid,
Constants.DataTypes.Guids.ListViewMediaGuid,
Constants.DataTypes.Guids.ListViewMembersGuid,
};

/// <summary>
Expand Down
@@ -1,4 +1,4 @@
using System.Diagnostics.CodeAnalysis;

Check notice on line 1 in src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs

View check run for this annotation

CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (v14/dev)

✅ Getting better: Lines of Code in a Single File

The lines of code decreases from 2113 to 2094, improve code health by reducing it to 1000. The number of Lines of Code in a single file. More Lines of Code lowers the code health.
using System.Globalization;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
Expand Down Expand Up @@ -673,26 +673,7 @@
CreateDate = DateTime.Now,
},
Constants.DatabaseSchema.Tables.Node,
"id");

Check notice on line 676 in src/Umbraco.Infrastructure/Migrations/Install/DatabaseDataCreator.cs

View check run for this annotation

CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (v14/dev)

✅ Getting better: Large Method

CreateNodeDataForDataTypes decreases from 632 to 613 lines of code, threshold = 70. Large functions with many lines of code are generally harder to understand and lower the code health. Avoid adding more lines to this function.
ConditionalInsert(
Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes,
Constants.DataTypes.Guids.ListViewMembers,
new NodeDto
{
NodeId = Constants.DataTypes.DefaultMembersListView,
Trashed = false,
ParentId = -1,
UserId = -1,
Level = 1,
Path = $"-1,{Constants.DataTypes.DefaultMembersListView}",
SortOrder = 2,
UniqueId = Constants.DataTypes.Guids.ListViewMembersGuid,
Text = Constants.Conventions.DataTypes.ListViewPrefix + "Members",
NodeObjectType = Constants.ObjectTypes.DataType,
CreateDate = DateTime.Now,
},
Constants.DatabaseSchema.Tables.Node,
"id");
ConditionalInsert(
Constants.Configuration.NamedOptions.InstallDefaultData.DataTypes,
Constants.DataTypes.Guids.Tags,
Expand Down
Expand Up @@ -115,11 +115,6 @@ private void MigrateSqlite()
return Constants.DataTypes.Guids.ListViewMediaGuid;
}

if (dto.NodeDto.NodeObjectType == Constants.ObjectTypes.MemberType)
{
return Constants.DataTypes.Guids.ListViewMembersGuid;
}

// No custom list view was found, and not one of the default types either. Therefore we cannot find it.
return null;
}
Expand Down
@@ -1,4 +1,4 @@
using System.Text.Json.Nodes;

Check notice on line 1 in src/Umbraco.Infrastructure/Migrations/Upgrade/V_14_0_0/MigrateDataTypeConfigurations.cs

View check run for this annotation

CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (v14/dev)

✅ Getting better: Overall Code Complexity

The mean cyclomatic complexity decreases from 4.83 to 4.75, threshold = 4. This file has many conditional statements (e.g. if, for, while) across its implementation, leading to lower code health. Avoid adding more conditionals.
using Microsoft.Extensions.Logging;
using NPoco;
using Umbraco.Cms.Core;
Expand Down Expand Up @@ -93,7 +93,7 @@
PropertyEditorAliases.DropDownListFlexible => HandleDropDown(ref configurationData),
PropertyEditorAliases.EmailAddress => HandleEmailAddress(ref configurationData),
PropertyEditorAliases.Label => HandleLabel(ref configurationData),
PropertyEditorAliases.ListView => HandleListView(ref configurationData, dataTypeDto.NodeDto?.UniqueId, allMediaTypes, allMemberTypes),
PropertyEditorAliases.ListView => HandleListView(ref configurationData, dataTypeDto.NodeDto?.UniqueId, allMediaTypes),
PropertyEditorAliases.MediaPicker3 => HandleMediaPicker(ref configurationData, allMediaTypes),
PropertyEditorAliases.MultiNodeTreePicker => HandleMultiNodeTreePicker(ref configurationData, allContentTypes, allMediaTypes, allMemberTypes),
PropertyEditorAliases.MultiUrlPicker => HandleMultiUrlPicker(ref configurationData),
Expand Down Expand Up @@ -308,13 +308,11 @@

// ensure that list view configs have all configurations, as some have never been added by means of migration.
// also performs a re-formatting of "layouts" and "includeProperties" to a V14 format
private bool HandleListView(ref Dictionary<string, object> configurationData, Guid? dataTypeKey, IMediaType[] allMediaTypes, IMemberType[] allMemberTypes)
private bool HandleListView(ref Dictionary<string, object> configurationData, Guid? dataTypeKey, IMediaType[] allMediaTypes)
{
var collectionViewType = dataTypeKey == Constants.DataTypes.Guids.ListViewMediaGuid || allMediaTypes.Any(mt => mt.ListView == dataTypeKey)
? "Media"
: dataTypeKey == Constants.DataTypes.Guids.ListViewMembersGuid || allMemberTypes.Any(mt => mt.ListView == dataTypeKey)
? "Member"
: "Document";
: "Document";

Check notice on line 315 in src/Umbraco.Infrastructure/Migrations/Upgrade/V_14_0_0/MigrateDataTypeConfigurations.cs

View check run for this annotation

CodeScene Delta Analysis / CodeScene Cloud Delta Analysis (v14/dev)

✅ Getting better: Complex Method

HandleListView decreases in cyclomatic complexity from 20 to 18, threshold = 9. This function has many conditional statements (e.g. if, for, while), leading to lower code health. Avoid adding more conditionals and code to it without refactoring.

string? LayoutPathToCollectionView(string? path)
=> "views/propertyeditors/listview/layouts/list/list.html".InvariantEquals(path)
Expand Down
Expand Up @@ -250,7 +250,7 @@ public void Can_Perform_GetAll_On_DataTypeDefinitionRepository()
Assert.That(dataTypeDefinitions, Is.Not.Null);
Assert.That(dataTypeDefinitions.Any(), Is.True);
Assert.That(dataTypeDefinitions.Any(x => x == null), Is.False);
Assert.That(dataTypeDefinitions.Length, Is.EqualTo(35));
Assert.That(dataTypeDefinitions.Length, Is.EqualTo(34));
}
}

Expand Down
Expand Up @@ -437,7 +437,6 @@ public async Task Cannot_Move_DataType_To_Non_Existing_Container()
[TestCase(Constants.DataTypes.Guids.Checkbox)]
[TestCase(Constants.DataTypes.Guids.ListViewContent)]
[TestCase(Constants.DataTypes.Guids.ListViewMedia)]
[TestCase(Constants.DataTypes.Guids.ListViewMembers)]
public async Task Cannot_Delete_NonDeletable_DataType(string dataTypeKey)
{
var dataType = await DataTypeService.GetAsync(Guid.Parse(dataTypeKey));
Expand Down