Files
linux-packaging-mono/external/aspnetwebstack/src/System.Web.WebPages.Administration/packages/Install.cshtml

91 lines
3.2 KiB
Plaintext
Raw Normal View History

@* Generator: WebPage *@
@using System.Globalization;
@using System.IO;
@using System.Linq;
@using NuGet;
@section PackageHead {
<script type="text/javascript" src="@Href("scripts/PackageAction.js")"></script>
<noscript>@PackageManagerResources.JavascriptRequired</noscript>
}
@{
// Read params from request
var sourceName = Request["source"];
var packageId = Request["package"];
var version = Request["version"];
var packageSource = PageUtils.GetPackageSource(sourceName);
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
<div class="error message">@exception.Message</div>
return;
}
IPackage package = projectManager.SourceRepository.FindPackage(packageId, version != null ? SemanticVersion.Parse(version) : null);
if (package == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
@Html.ValidationSummary()
return;
}
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.InstallPackageDesc, package.GetDisplayName());
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
if (IsPost) {
AntiForgery.Validate();
try {
projectManager.InstallPackage(package);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Install");
}
else {
@Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageInstallationError, package.GetDisplayName()))
return;
}
}
}
@RenderPage("_PackageDetails.cshtml", new Dictionary<string, object>{ {"Package", package} })
@{
var licensePackages = projectManager.GetPackagesRequiringLicenseAcceptance(package);
if (licensePackages.Any()) {
<hr />
<ul>
@foreach(var licensePackage in licensePackages.Where(p => PageUtils.IsValidLicenseUrl(p.LicenseUrl))){
<li>
<strong>@licensePackage.Id @licensePackage.Version</strong>
(@PackageManagerResources.AuthorsLabel: <span class="package-author">@String.Join(PackageManagerResources.WordSeparator, licensePackage.Authors)</span>)
<br />
<a href="@licensePackage.LicenseUrl" target="_blank">@PackageManagerResources.ViewLicenseTerms</a>
</li>
}
</ul>
}else {
<br />
<hr />
}
}
<form method="post" action="" id="submitForm">
<p>@PackageManagerResources.Disclaimer</p>
<fieldset class="no-border install">
<input type="hidden" name="source" value="@sourceName" />
<input type="hidden" name="package" value="@packageId" />
<input type="hidden" name="version" value="@version" />
@AntiForgery.GetHtml()
<input type="submit" value="@PackageManagerResources.InstallPackage" />
<input type="reset" value="@PackageManagerResources.Cancel" data-returnurl="@packagesHomeUrl" />
</fieldset>
</form>