Skip to content

Commit

Permalink
Manage edit documentation (#8169)
Browse files Browse the repository at this point in the history
* disable editing documation for package has embedded read me at manage package page
  • Loading branch information
lyndaidaii authored Dec 16, 2020
1 parent b84ca7d commit 2e8dcbe
Show file tree
Hide file tree
Showing 8 changed files with 56 additions and 13 deletions.
12 changes: 12 additions & 0 deletions src/NuGet.Services.Entities/Package.cs
Original file line number Diff line number Diff line change
Expand Up @@ -156,6 +156,18 @@ public bool HasReadMe
}
}

/// <summary>
/// Signifies whether or not the embedded Readme exists
/// </summary>
[NotMapped]
public bool HasEmbeddedReadme
{
get
{
return HasReadMe && EmbeddedReadmeType != EmbeddedReadmeFileType.Absent;
}
}

public bool RequiresLicenseAcceptance { get; set; }

public bool DevelopmentDependency { get; set; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -86,8 +86,6 @@ private ManagePackageViewModel SetupInternal(
var versionDeprecationStateDictionary = new Dictionary<string, ManagePackageViewModel.VersionDeprecationState>();
viewModel.VersionDeprecationStateDictionary = versionDeprecationStateDictionary;

var submitUrlTemplate = url.PackageVersionActionTemplate("Edit");
var getReadMeUrlTemplate = url.PackageVersionActionTemplate("GetReadMeMd");
foreach (var versionSelectPackage in versionSelectPackages)
{
var text = PackageHelper.GetSelectListText(versionSelectPackage);
Expand All @@ -106,10 +104,7 @@ private ManagePackageViewModel SetupInternal(
var model = new TrivialPackageVersionModel(versionSelectPackage);
versionReadMeStateDictionary.Add(
value,
new ManagePackageViewModel.VersionReadMeState(
submitUrlTemplate.Resolve(model),
getReadMeUrlTemplate.Resolve(model),
null));
GetVersionReadMeState(model, url));

versionDeprecationStateDictionary.Add(
value,
Expand All @@ -118,7 +113,7 @@ private ManagePackageViewModel SetupInternal(

// Update edit model with the readme.md data.
viewModel.ReadMe = new EditPackageVersionReadMeRequest();
if (package.HasReadMe)
if (package.HasReadMe && package.EmbeddedReadmeType == EmbeddedReadmeFileType.Absent)
{
viewModel.ReadMe.ReadMe.SourceType = ReadMeService.TypeWritten;
viewModel.ReadMe.ReadMe.SourceText = readMe;
Expand Down Expand Up @@ -157,5 +152,21 @@ private static ManagePackageViewModel.VersionDeprecationState GetVersionDeprecat

return result;
}

private static ManagePackageViewModel.VersionReadMeState GetVersionReadMeState(
TrivialPackageVersionModel model,
UrlHelper url)
{
var submitUrlTemplate = url.PackageVersionActionTemplate("Edit");
var getReadMeUrlTemplate = url.PackageVersionActionTemplate("GetReadMeMd");

var result = new ManagePackageViewModel.VersionReadMeState(
submitUrlTemplate.Resolve(model),
getReadMeUrlTemplate.Resolve(model),
readMe: null);

result.HasEmbeddedReadme = model.HasEmbeddedReadme;
return result;
}
}
}
22 changes: 19 additions & 3 deletions src/NuGetGallery/Scripts/gallery/page-edit-readme.js
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,15 @@
_submitted = false;
_viewModel = model;
_changedState = {};

_selectVersion = $('.page-edit-package #input-select-readme');
var defaultVersion = _selectVersion.val();

BindReadMeDataManager.init(previewUrl);

bindData(_viewModel);

$(window).on('beforeunload', confirmLeave);

_selectVersion = $('.page-edit-package #input-select-readme');
var defaultVersion = _selectVersion.val();

_selectVersion.change(function () {
var selectedVersion = $(this).val();
Expand Down Expand Up @@ -184,6 +185,21 @@
if (model === null || !model.IsSymbolsPackage) {
BindReadMeDataManager.bindReadMeData(model);
}

var selectedVersion = _selectVersion.val();

if (!selectedVersion) {
// No version is selected.
return;
}

if (model.Versions[selectedVersion].HasEmbeddedReadme) {
$('#edit-markdown-button').addClass('hidden');
$('#verify-submit-button').addClass('hidden');
} else {
$('#edit-markdown-button').removeClass('hidden');
$('#verify-submit-button').removeClass('hidden');
}
}
};
}());
Expand Down
1 change: 1 addition & 0 deletions src/NuGetGallery/ViewModels/DisplayPackageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,7 @@ public class DisplayPackageViewModel : ListPackageItemViewModel
public bool IsPackageDependentsEnabled { get; set; }
public NuGetPackageGitHubInformation GitHubDependenciesInformation { get; set; }
public bool HasEmbeddedIcon { get; set; }
public bool HasEmbeddedReadmeFile { get; set; }
public PackageDependents PackageDependents { get; set; }

public bool HasNewerPrerelease
Expand Down
1 change: 1 addition & 0 deletions src/NuGetGallery/ViewModels/ManagePackageViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,7 @@ public VersionReadMeState(string submitUrl, string getReadMeUrl, string readMe)
public string SubmitUrl { get; }
public string GetReadMeUrl { get; }
public string ReadMe { get; }
public bool HasEmbeddedReadme { get; set; }
}

/// <remarks>
Expand Down
2 changes: 2 additions & 0 deletions src/NuGetGallery/ViewModels/TrivialPackageVersionModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ public TrivialPackageVersionModel(Package package)
{
Id = package.PackageRegistration.Id;
Version = package.NormalizedVersion;
HasEmbeddedReadme = package.HasEmbeddedReadme;
}

public TrivialPackageVersionModel(string id, string version)
Expand All @@ -20,5 +21,6 @@ public TrivialPackageVersionModel(string id, string version)

public string Id { get; set; }
public string Version { get; set; }
public bool HasEmbeddedReadme { get; set; }
}
}
4 changes: 2 additions & 2 deletions src/NuGetGallery/Views/Packages/Manage.cshtml
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@
EditReadMeManager.init(
readMeModel,
'@Url.PreviewReadMe()');
// Set up delete section
var deleteVersionSelect = $('.page-delete-package #input-select-version');
deleteVersionSelect.change(function () {
Expand Down Expand Up @@ -141,4 +141,4 @@
@Scripts.Render("~/Scripts/gallery/page-manage-deprecation.min.js")
@Scripts.Render("~/Scripts/gallery/page-delete-package.min.js")
@Scripts.Render("~/Scripts/gallery/page-edit-readme.min.js")
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@
</div>
</div>

@Html.Partial("_EditForm")
@Html.Partial("_EditForm", Model)
</div>

</div>

0 comments on commit 2e8dcbe

Please sign in to comment.