Imported Upstream version 3.6.0

Former-commit-id: da6be194a6b1221998fc28233f2503bd61dd9d14
This commit is contained in:
Jo Shields
2014-08-13 10:39:27 +01:00
commit a575963da9
50588 changed files with 8155799 additions and 0 deletions

View File

@@ -0,0 +1,218 @@
@* Generator: WebPage *@
@using System.Globalization;
@using NuGet;
@section PackageHead{
<script type="text/javascript" src="@Href("scripts/Default.js")"></script>
<noscript>@PackageManagerResources.JavascriptRequired</noscript>
}
@{
Page.SectionTitle = PackageManagerResources.SectionTitle;
// Page Constants
const int PackagesPerPage = 10;
const string FilterCookieName = "packagesFilter";
// Request parameters
var view = GetView(PageUtils.GetFilterValue(Request, FilterCookieName, "view"));
var searchTerm = Request.QueryString["search"];
var packageSourceName = PageUtils.GetFilterValue(Request, FilterCookieName, "source");
var packageSource = PageUtils.GetPackageSource(packageSourceName);
PageUtils.PersistFilter(Response, FilterCookieName, new Dictionary<string, string> {
{ "view", view.ToString() },
{ "source", packageSourceName },
});
// Add values to ModelState
ModelState.SetModelValue("view", view.ToString());
WebProjectManager projectManager;
WebGrid grid;
int totalPackages = 0;
try {
// This entire block needs ot be inside a try catch block. This is necessary because exceptions could be fired at two places
// 1. When trying to connect to the remote repository. 2. When executing the Linq expression
IEnumerable<IPackage> packages;
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
// Read packages
switch (view) {
case View.Updates:
packages = projectManager.GetPackagesWithUpdates(searchTerm, packageSource.FilterPreferredPackages);
break;
case View.Online:
IQueryable<IPackage> remotePackages = projectManager.GetRemotePackages(searchTerm, packageSource.FilterPreferredPackages);
totalPackages = remotePackages.Count();
packages = WebProjectManager.CollapseVersions(remotePackages);
break;
default:
packages = projectManager.GetInstalledPackages(searchTerm);
break;
}
if (view != View.Online) {
totalPackages = packages.Count();
}
grid = new WebGrid(rowsPerPage: PackagesPerPage, pageFieldName: "page");
packages = packages.Skip(grid.PageIndex * PackagesPerPage)
.Take(PackagesPerPage);
grid.Bind(packages.ToList(), columnNames: Enumerable.Empty<string>(), autoSortAndPage: false, rowCount: totalPackages);
}
catch (Exception exception) {
<div class="error message">@exception.Message</div>
return;
}
}
@{
var completedAction = Request.QueryString["action-completed"];
if (!completedAction.IsEmpty()) {
var packageName = Html.Encode(Request.QueryString["packageName"]);
string message = null;
if (completedAction.Equals("Install", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.InstallSuccess, packageName);
}
else if (completedAction.Equals("Uninstall", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UninstallSuccess, packageName);
}
else if (completedAction.Equals("Update", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UpdateSuccess, packageName);
}
if (message != null) {
<div class="success message">
<img class="inline" src="@Href(SiteAdmin.GetVirtualPath("~/images/ok.png"))" alt="@Html.Raw(message)" />&nbsp;@Html.Raw(message)
</div>
<br />
}
}
}
<form method="get" action="" class="group">
<div class="left form-actions">
<label>@PackageManagerResources.ShowLabel:
@Html.DropDownList("view", from v in new[] { View.Installed, View.Online, View.Updates }
select new SelectListItem { Text = GetViewName(v), Value = v.ToString() })
</label>
@if (PackageManagerModule.PackageSources.Count() > 1) {
<span @if (view == View.Installed) { @Html.Raw("style=\"display: none\"");
}>
&nbsp;
<label>@PackageManagerResources.PackageSourceLabel:</label>
@Html.DropDownList("source", from f in PackageManagerModule.PackageSources.OrderBy(p => p.Name)
select new SelectListItem {
Value = f.Name,
Text = f.Name,
Selected = f.Name.Equals(packageSourceName, StringComparison.OrdinalIgnoreCase)
}
)
</span>
}
</div>
<div class="right">
<fieldset class="no-border">
<input type="text" id="search" name="search" size="30" value="@searchTerm" />
<input type="submit" value="@PackageManagerResources.SearchLabel" />
<input type="reset" id="searchReset" value="@PackageManagerResources.ClearLabel" />
</fieldset>
</div>
</form>
@if (view != View.Online && !projectManager.LocalRepository.GetPackages().Any()) {
var onlineLink = Href(PageUtils.GetPackagesHome()) + "?view=" + View.Online;
@Html.Raw(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.NoPackagesInstalled, Html.Encode(onlineLink)))
return;
}
@if (!grid.Rows.Any()) {
<h3>@PackageManagerResources.NoPackagesFound</h3>
}
else {
<ul id="package-list">
@{ var dataDictionary = new Dictionary<string, object>(1); }
@foreach (var item in grid.Rows) {
IPackage package = item.Value;
dataDictionary["package"] = package;
<li>
<div class="column-left">
@RenderPage("_Package.cshtml", dataDictionary)
</div>
<div class="right">
<form method="get" action="@Href(GetPostUrl(view, package, projectManager))">
<input type="hidden" name="page" value="@(grid.PageIndex + 1)" />
<input type="hidden" name="package" value="@package.Id" />
<input type="hidden" name="version" value="@package.Version" />
<input type="hidden" name="packageName" value="@package.GetDisplayName()" />
<input class="formatted" type="submit" value="@GetSubmitText(view, package, projectManager)" />
</form>
</div>
<div class="clear"></div>
</li>
}
</ul>
}
@if (totalPackages > PackagesPerPage) {
<div class="pager">
<strong>@PackageManagerResources.PageLabel: </strong>
@grid.Pager(WebGridPagerModes.FirstLast | WebGridPagerModes.NextPrevious,
nextText: PackageManagerResources.NextText,
previousText: PackageManagerResources.PreviousText)
</div>
}
@functions {
private enum View { Installed, Updates, Online };
private static readonly IDictionary<string, View> _viewMapping = new Dictionary<string, View>(StringComparer.OrdinalIgnoreCase) {
{ "Installed", View.Installed }, { "Updates", View.Updates }, { "Online", View.Online }
};
private static View GetView(string viewName) {
View view;
if (String.IsNullOrEmpty(viewName) || !_viewMapping.TryGetValue(viewName, out view)) {
view = View.Installed;
}
return view;
}
private static string GetViewName(View view) {
switch (view) {
case View.Online:
return PackageManagerResources.OnlineLabel;
case View.Updates:
return PackageManagerResources.UpdatesLabel;
default:
return PackageManagerResources.InstalledLabel;
}
}
private static string GetSubmitText(View view, IPackage package, WebProjectManager projectManager) {
switch (view) {
case View.Online:
return projectManager.IsPackageInstalled(package) ? PackageManagerResources.UninstallPackage : PackageManagerResources.InstallPackage;
case View.Updates:
return PackageManagerResources.UpdatePackage;
default:
return PackageManagerResources.UninstallPackage;
}
}
private static string GetPostUrl(View view, IPackage package, WebProjectManager projectManager) {
switch (view) {
case View.Online:
return projectManager.IsPackageInstalled(package) ? "Uninstall" : "Install";
case View.Updates:
return "Update";
default:
return "Uninstall";
}
}
}

View File

@@ -0,0 +1,420 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/Default.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "0.6.0.0")]
public class packages_Default_cshtml : System.Web.WebPages.WebPage
{
#line hidden
private enum View { Installed, Updates, Online };
private static readonly IDictionary<string, View> _viewMapping = new Dictionary<string, View>(StringComparer.OrdinalIgnoreCase) {
{ "Installed", View.Installed }, { "Updates", View.Updates }, { "Online", View.Online }
};
private static View GetView(string viewName) {
View view;
if (String.IsNullOrEmpty(viewName) || !_viewMapping.TryGetValue(viewName, out view)) {
view = View.Installed;
}
return view;
}
private static string GetViewName(View view) {
switch (view) {
case View.Online:
return PackageManagerResources.OnlineLabel;
case View.Updates:
return PackageManagerResources.UpdatesLabel;
default:
return PackageManagerResources.InstalledLabel;
}
}
private static string GetSubmitText(View view, IPackage package, WebProjectManager projectManager) {
switch (view) {
case View.Online:
return projectManager.IsPackageInstalled(package) ? PackageManagerResources.UninstallPackage : PackageManagerResources.InstallPackage;
case View.Updates:
return PackageManagerResources.UpdatePackage;
default:
return PackageManagerResources.UninstallPackage;
}
}
private static string GetPostUrl(View view, IPackage package, WebProjectManager projectManager) {
switch (view) {
case View.Online:
return projectManager.IsPackageInstalled(package) ? "Uninstall" : "Install";
case View.Updates:
return "Update";
default:
return "Uninstall";
}
}
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_Default_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n");
DefineSection("PackageHead", () => {
WriteLiteral("\r\n <script type=\"text/javascript\" src=\"");
Write(Href("scripts/Default.js"));
WriteLiteral("\"></script>\r\n <noscript>");
Write(PackageManagerResources.JavascriptRequired);
WriteLiteral("</noscript>\r\n");
});
WriteLiteral("\r\n");
Page.SectionTitle = PackageManagerResources.SectionTitle;
// Page Constants
const int PackagesPerPage = 10;
const string FilterCookieName = "packagesFilter";
// Request parameters
var view = GetView(PageUtils.GetFilterValue(Request, FilterCookieName, "view"));
var searchTerm = Request.QueryString["search"];
var packageSourceName = PageUtils.GetFilterValue(Request, FilterCookieName, "source");
var packageSource = PageUtils.GetPackageSource(packageSourceName);
PageUtils.PersistFilter(Response, FilterCookieName, new Dictionary<string, string> {
{ "view", view.ToString() },
{ "source", packageSourceName },
});
// Add values to ModelState
ModelState.SetModelValue("view", view.ToString());
WebProjectManager projectManager;
WebGrid grid;
int totalPackages = 0;
try {
// This entire block needs ot be inside a try catch block. This is necessary because exceptions could be fired at two places
// 1. When trying to connect to the remote repository. 2. When executing the Linq expression
IEnumerable<IPackage> packages;
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
// Read packages
switch (view) {
case View.Updates:
packages = projectManager.GetPackagesWithUpdates(searchTerm, packageSource.FilterPreferredPackages);
break;
case View.Online:
IQueryable<IPackage> remotePackages = projectManager.GetRemotePackages(searchTerm, packageSource.FilterPreferredPackages);
totalPackages = remotePackages.Count();
packages = WebProjectManager.CollapseVersions(remotePackages);
break;
default:
packages = projectManager.GetInstalledPackages(searchTerm);
break;
}
if (view != View.Online) {
totalPackages = packages.Count();
}
grid = new WebGrid(rowsPerPage: PackagesPerPage, pageFieldName: "page");
packages = packages.Skip(grid.PageIndex * PackagesPerPage)
.Take(PackagesPerPage);
grid.Bind(packages.ToList(), columnNames: Enumerable.Empty<string>(), autoSortAndPage: false, rowCount: totalPackages);
}
catch (Exception exception) {
WriteLiteral(" <div class=\"error message\">");
Write(exception.Message);
WriteLiteral("</div>\r\n");
return;
}
WriteLiteral("\r\n");
var completedAction = Request.QueryString["action-completed"];
if (!completedAction.IsEmpty()) {
var packageName = Html.Encode(Request.QueryString["packageName"]);
string message = null;
if (completedAction.Equals("Install", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.InstallSuccess, packageName);
}
else if (completedAction.Equals("Uninstall", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UninstallSuccess, packageName);
}
else if (completedAction.Equals("Update", StringComparison.OrdinalIgnoreCase)) {
message = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UpdateSuccess, packageName);
}
if (message != null) {
WriteLiteral(" <div class=\"success message\">\r\n <img class=\"inline\" sr" +
"c=\"");
Write(Href(SiteAdmin.GetVirtualPath("~/images/ok.png")));
WriteLiteral("\" alt=\"");
Write(Html.Raw(message));
WriteLiteral("\" />&nbsp;");
Write(Html.Raw(message));
WriteLiteral("\r\n </div>\r\n");
WriteLiteral(" <br />\r\n");
}
}
WriteLiteral("<form method=\"get\" action=\"\" class=\"group\">\r\n <div class=\"left form-actions\">\r" +
"\n <label>");
Write(PackageManagerResources.ShowLabel);
WriteLiteral(":\r\n ");
Write(Html.DropDownList("view", from v in new[] { View.Installed, View.Online, View.Updates }
select new SelectListItem { Text = GetViewName(v), Value = v.ToString() }));
WriteLiteral("\r\n </label> \r\n \r\n");
if (PackageManagerModule.PackageSources.Count() > 1) {
WriteLiteral(" <span ");
if (view == View.Installed) {
Write(Html.Raw("style=\"display: none\""));
;
}
WriteLiteral(">\r\n &nbsp;\r\n <label>");
Write(PackageManagerResources.PackageSourceLabel);
WriteLiteral(":</label>\r\n ");
Write(Html.DropDownList("source", from f in PackageManagerModule.PackageSources.OrderBy(p => p.Name)
select new SelectListItem {
Value = f.Name,
Text = f.Name,
Selected = f.Name.Equals(packageSourceName, StringComparison.OrdinalIgnoreCase)
}
));
WriteLiteral("\r\n </span>\r\n");
}
WriteLiteral(" </div>\r\n\r\n <div class=\"right\">\r\n <fieldset class=\"no-border\">\r\n " +
" <input type=\"text\" id=\"search\" name=\"search\" size=\"30\" value=\"");
Write(searchTerm);
WriteLiteral("\" />\r\n <input type=\"submit\" value=\"");
Write(PackageManagerResources.SearchLabel);
WriteLiteral("\" />\r\n <input type=\"reset\" id=\"searchReset\" value=\"");
Write(PackageManagerResources.ClearLabel);
WriteLiteral("\" />\r\n </fieldset>\r\n </div>\r\n</form>\r\n\r\n");
if (view != View.Online && !projectManager.LocalRepository.GetPackages().Any()) {
var onlineLink = Href(PageUtils.GetPackagesHome()) + "?view=" + View.Online;
Write(Html.Raw(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.NoPackagesInstalled, Html.Encode(onlineLink))));
return;
}
WriteLiteral("\r\n");
if (!grid.Rows.Any()) {
WriteLiteral(" <h3>");
Write(PackageManagerResources.NoPackagesFound);
WriteLiteral("</h3>\r\n");
}
else {
WriteLiteral(" <ul id=\"package-list\">\r\n");
var dataDictionary = new Dictionary<string, object>(1);
foreach (var item in grid.Rows) {
IPackage package = item.Value;
dataDictionary["package"] = package;
WriteLiteral(" <li>\r\n <div class=\"column-left\">\r\n ");
Write(RenderPage("_Package.cshtml", dataDictionary));
WriteLiteral("\r\n </div>\r\n <div class=\"right\">\r\n <form meth" +
"od=\"get\" action=\"");
Write(Href(GetPostUrl(view, package, projectManager)));
WriteLiteral("\">\r\n <input type=\"hidden\" name=\"page\" value=\"");
Write(grid.PageIndex + 1);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"package\" value=\"");
Write(package.Id);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"version\" value=\"");
Write(package.Version);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"packageName\" value=\"");
Write(package.GetDisplayName());
WriteLiteral("\" />\r\n <input class=\"formatted\" type=\"submit\" value=\"");
Write(GetSubmitText(view, package, projectManager));
WriteLiteral("\" />\r\n </form>\r\n </div>\r\n <div class=\"clear\"" +
"></div>\r\n </li>\r\n");
}
WriteLiteral(" </ul>\r\n");
}
if (totalPackages > PackagesPerPage) {
WriteLiteral(" <div class=\"pager\">\r\n <strong>");
Write(PackageManagerResources.PageLabel);
WriteLiteral(": </strong>\r\n ");
Write(grid.Pager(WebGridPagerModes.FirstLast | WebGridPagerModes.NextPrevious,
nextText: PackageManagerResources.NextText,
previousText: PackageManagerResources.PreviousText));
WriteLiteral("\r\n </div>\r\n");
}
WriteLiteral("\r\n\r\n");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,91 @@
@* 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>

View File

@@ -0,0 +1,259 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/Install.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "0.6.0.0")]
public class packages_Install_cshtml : System.Web.WebPages.WebPage
{
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_Install_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n");
DefineSection("PackageHead", () => {
WriteLiteral(" \r\n <script type=\"text/javascript\" src=\"");
Write(Href("scripts/PackageAction.js"));
WriteLiteral("\"></script>\r\n <noscript>");
Write(PackageManagerResources.JavascriptRequired);
WriteLiteral("</noscript>\r\n");
});
WriteLiteral("\r\n");
// 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) {
WriteLiteral(" <div class=\"error message\">");
Write(exception.Message);
WriteLiteral("</div>\r\n");
return;
}
IPackage package = projectManager.SourceRepository.FindPackage(packageId, version != null ? SemanticVersion.Parse(version) : null);
if (package == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
Write(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 {
Write(Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageInstallationError, package.GetDisplayName())));
return;
}
}
WriteLiteral("\r\n");
Write(RenderPage("_PackageDetails.cshtml", new Dictionary<string, object>{ {"Package", package} }));
WriteLiteral("\r\n\r\n");
var licensePackages = projectManager.GetPackagesRequiringLicenseAcceptance(package);
if (licensePackages.Any()) {
WriteLiteral(" <hr />\r\n");
WriteLiteral(" <ul>\r\n");
foreach(var licensePackage in licensePackages.Where(p => PageUtils.IsValidLicenseUrl(p.LicenseUrl))){
WriteLiteral(" <li>\r\n <strong>");
Write(licensePackage.Id);
WriteLiteral(" ");
Write(licensePackage.Version);
WriteLiteral("</strong> \r\n (");
Write(PackageManagerResources.AuthorsLabel);
WriteLiteral(": <span class=\"package-author\">");
Write(String.Join(PackageManagerResources.WordSeparator, licensePackage.Authors));
WriteLiteral("</span>)\r\n <br />\r\n <a href=\"");
Write(licensePackage.LicenseUrl);
WriteLiteral("\" target=\"_blank\">");
Write(PackageManagerResources.ViewLicenseTerms);
WriteLiteral("</a>\r\n </li>\r\n");
}
WriteLiteral(" </ul> \r\n");
}else {
WriteLiteral(" <br />\r\n");
WriteLiteral(" <hr />\r\n");
}
WriteLiteral("\r\n<form method=\"post\" action=\"\" id=\"submitForm\">\r\n<p>");
Write(PackageManagerResources.Disclaimer);
WriteLiteral("</p> \r\n<fieldset class=\"no-border install\">\r\n <input type=\"hidden\" name=\"so" +
"urce\" value=\"");
Write(sourceName);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"package\" value=\"");
Write(packageId);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"version\" value=\"");
Write(version);
WriteLiteral("\" />\r\n ");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n\r\n <input type=\"submit\" value=\"");
Write(PackageManagerResources.InstallPackage);
WriteLiteral("\" />\r\n <input type=\"reset\" value=\"");
Write(PackageManagerResources.Cancel);
WriteLiteral("\" data-returnurl=\"");
Write(packagesHomeUrl);
WriteLiteral("\" />\r\n</fieldset>\r\n \r\n\r\n</form>");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,111 @@
@* Generator: WebPage *@
@using System.Globalization;
@{
// Setup layout
var currentPage = Href(PageUtils.GetPageVirtualPath("PackageSources"));
PageData["BreadCrumbs"].Add(Tuple.Create(PackageManagerResources.ManageSourcesTitle, currentPage));
Page.Desc = PackageManagerResources.ManageSourcesDesc;
Page.SectionTitle = PackageManagerResources.ManageSourcesTitle;
if (IsPost) {
AntiForgery.Validate();
var action = Request.Form["action"];
var sourceUrl = Request.Form["sourceUrl"];
var sourceName = Request.Form["sourceName"];
try {
if (action.Equals(PackageManagerResources.AddPackageSourceLabel, StringComparison.OrdinalIgnoreCase)) {
ModelState.SetModelValue("sourceName", sourceName);
ModelState.SetModelValue("sourceUrl", sourceUrl);
Uri url;
if (!Uri.TryCreate(sourceUrl, UriKind.Absolute, out url)) {
ModelState.AddError("sourceUrl", PackageManagerResources.Validation_InvalidPackageSourceUrl);
} else if (!PackageManagerModule.AddPackageSource(source: sourceUrl, name: sourceName)) {
ModelState.AddError("sourceName", PackageManagerResources.Validation_PackageSourceAlreadyExists);
} else {
// The feed was successfully added. Clear the model state.
ModelState.Clear();
}
}
else if (action.Equals(PackageManagerResources.DeleteLabel, StringComparison.OrdinalIgnoreCase)) {
PackageManagerModule.RemovePackageSource(sourceName);
}
else if (action.Equals(PackageManagerResources.RestoreDefaultSources, StringComparison.OrdinalIgnoreCase)) {
foreach(var packageSource in PackageManagerModule.DefaultSources) {
PackageManagerModule.AddPackageSource(packageSource);
}
}
} catch (UnauthorizedAccessException) {
<div class="message error">
@String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageSourceFileInstructions, PackageManagerModule.PackageSourceFilePath)
</div>
}
}
var numSources = PackageManagerModule.PackageSources.Count();
}
@Html.ValidationSummary(excludeFieldErrors: true)
<table id="feeds">
<thead>
<tr>
<th scope="col">@PackageManagerResources.SourceNameLabel</th>
<th scope="col">@PackageManagerResources.SourceUrlLabel</th>
<th></th>
</tr>
</thead>
<tbody>
@foreach(var source in PackageManagerModule.PackageSources) {
<tr>
<td>@source.Name</td>
<td><a href="@source.Source">@source.Source</a></td>
<td>
@if(numSources > 1) {
<form method="post" action="">
<input type="hidden" name="sourceName" value="@source.Name" />
<input type="submit" name="action" value="@PackageManagerResources.DeleteLabel" />
@AntiForgery.GetHtml()
</form>
}
</td>
</tr>
}
</tbody>
</table>
<br />
<form method="post" action="">
@AntiForgery.GetHtml()
<fieldset>
<legend>@PackageManagerResources.AddPackageSourceLabel</legend>
<ol>
<li>
<label for="feedName">@PackageManagerResources.SourceNameLabel:</label>
@Html.TextBox("sourceName") @Html.ValidationMessage("sourceName")
</li>
<li>
<label for="feedUrl">@PackageManagerResources.SourceUrlLabel:</label>
@Html.TextBox("sourceUrl") @Html.ValidationMessage("sourceUrl")
</li>
</ol>
<p class="form-actions">
<input type="submit" name="action" class="long-input" value="@PackageManagerResources.AddPackageSourceLabel" />
</p>
</fieldset>
</form>
@{
if (PackageManagerModule.DefaultSources.Intersect(PackageManagerModule.PackageSources).Count() != PackageManagerModule.DefaultSources.Count()) {
<p>
<form method="post" action="">
@AntiForgery.GetHtml()
<fieldset class="no-border">
<input type="submit" name="action" class="long-input" value="@PackageManagerResources.RestoreDefaultSources" />
</fieldset>
</form>
</p>
}
}

View File

@@ -0,0 +1,248 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/PackageSources.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages_PackageSources_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_PackageSources_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
// Setup layout
var currentPage = Href(PageUtils.GetPageVirtualPath("PackageSources"));
PageData["BreadCrumbs"].Add(Tuple.Create(PackageManagerResources.ManageSourcesTitle, currentPage));
Page.Desc = PackageManagerResources.ManageSourcesDesc;
Page.SectionTitle = PackageManagerResources.ManageSourcesTitle;
if (IsPost) {
AntiForgery.Validate();
var action = Request.Form["action"];
var sourceUrl = Request.Form["sourceUrl"];
var sourceName = Request.Form["sourceName"];
try {
if (action.Equals(PackageManagerResources.AddPackageSourceLabel, StringComparison.OrdinalIgnoreCase)) {
ModelState.SetModelValue("sourceName", sourceName);
ModelState.SetModelValue("sourceUrl", sourceUrl);
Uri url;
if (!Uri.TryCreate(sourceUrl, UriKind.Absolute, out url)) {
ModelState.AddError("sourceUrl", PackageManagerResources.Validation_InvalidPackageSourceUrl);
} else if (!PackageManagerModule.AddPackageSource(source: sourceUrl, name: sourceName)) {
ModelState.AddError("sourceName", PackageManagerResources.Validation_PackageSourceAlreadyExists);
} else {
// The feed was successfully added. Clear the model state.
ModelState.Clear();
}
}
else if (action.Equals(PackageManagerResources.DeleteLabel, StringComparison.OrdinalIgnoreCase)) {
PackageManagerModule.RemovePackageSource(sourceName);
}
else if (action.Equals(PackageManagerResources.RestoreDefaultSources, StringComparison.OrdinalIgnoreCase)) {
foreach(var packageSource in PackageManagerModule.DefaultSources) {
PackageManagerModule.AddPackageSource(packageSource);
}
}
} catch (UnauthorizedAccessException) {
WriteLiteral(" <div class=\"message error\">\r\n ");
Write(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageSourceFileInstructions, PackageManagerModule.PackageSourceFilePath));
WriteLiteral("\r\n </div>\r\n");
}
}
var numSources = PackageManagerModule.PackageSources.Count();
WriteLiteral("\r\n");
Write(Html.ValidationSummary(excludeFieldErrors: true));
WriteLiteral("\r\n\r\n<table id=\"feeds\">\r\n<thead>\r\n <tr>\r\n <th scope=\"col\">");
Write(PackageManagerResources.SourceNameLabel);
WriteLiteral("</th>\r\n <th scope=\"col\">");
Write(PackageManagerResources.SourceUrlLabel);
WriteLiteral("</th>\r\n <th></th>\r\n </tr>\r\n</thead>\r\n<tbody> \r\n");
foreach(var source in PackageManagerModule.PackageSources) {
WriteLiteral(" <tr>\r\n <td>");
Write(source.Name);
WriteLiteral("</td>\r\n <td><a href=\"");
Write(source.Source);
WriteLiteral("\">");
Write(source.Source);
WriteLiteral("</a></td>\r\n <td>\r\n");
if(numSources > 1) {
WriteLiteral(" <form method=\"post\" action=\"\">\r\n <input type=\"" +
"hidden\" name=\"sourceName\" value=\"");
Write(source.Name);
WriteLiteral("\" />\r\n <input type=\"submit\" name=\"action\" value=\"");
Write(PackageManagerResources.DeleteLabel);
WriteLiteral("\" />\r\n ");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n </form>\r\n");
}
WriteLiteral(" </td>\r\n </tr>\r\n");
}
WriteLiteral("</tbody>\r\n</table>\r\n<br />\r\n<form method=\"post\" action=\"\">\r\n");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n<fieldset>\r\n <legend>");
Write(PackageManagerResources.AddPackageSourceLabel);
WriteLiteral("</legend>\r\n <ol>\r\n <li>\r\n <label for=\"feedName\">");
Write(PackageManagerResources.SourceNameLabel);
WriteLiteral(":</label>\r\n ");
Write(Html.TextBox("sourceName"));
WriteLiteral(" ");
Write(Html.ValidationMessage("sourceName"));
WriteLiteral("\r\n </li>\r\n <li>\r\n <label for=\"feedUrl\">");
Write(PackageManagerResources.SourceUrlLabel);
WriteLiteral(":</label>\r\n ");
Write(Html.TextBox("sourceUrl"));
WriteLiteral(" ");
Write(Html.ValidationMessage("sourceUrl"));
WriteLiteral("\r\n </li>\r\n </ol>\r\n <p class=\"form-actions\">\r\n \r\n <input ty" +
"pe=\"submit\" name=\"action\" class=\"long-input\" value=\"");
Write(PackageManagerResources.AddPackageSourceLabel);
WriteLiteral("\" />\r\n </p>\r\n</fieldset>\r\n</form>\r\n\r\n");
if (PackageManagerModule.DefaultSources.Intersect(PackageManagerModule.PackageSources).Count() != PackageManagerModule.DefaultSources.Count()) {
WriteLiteral(" <p>\r\n <form method=\"post\" action=\"\">\r\n ");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n <fieldset class=\"no-border\"> \r\n <input type=\"submit" +
"\" name=\"action\" class=\"long-input\" value=\"");
Write(PackageManagerResources.RestoreDefaultSources);
WriteLiteral("\" />\r\n </fieldset>\r\n </form>\r\n </p>\r\n");
}
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,127 @@
.validation-summary-errors li {
list-style-image: url(images/error.png);
}
.package-description {
padding: 0px;
margin: 5px 5px 3px 0px;
}
.package {
list-style-image: url(images/package.png);
padding-left: 10px;
margin-left: 10px;
margin-bottom: 5px;
}
.centered {
text-align: center;
}
.nav li {
font-size: 16px;
}
#package-name {
font-weight: bold;
}
.package-author {
font-style: oblique;
}
#package-list {
width: 100%;
border-collapse: collapse;
list-style-type: none;
}
#package-list li {
margin-bottom: 10px;
}
#package-list li:last {
margin-bottom: 0;
}
.column-left {
width: 90%;
float: left;
}
.column-right {
width: 10%;
float: left;
}
.package-info h4 {
background: url("images/package.png") no-repeat scroll 0 50% transparent;
padding-left: 30px;
font-size: 16px;
line-height: 24px;
}
.package-info h4:hover {
text-decoration: underline;
cursor: pointer;
}
.pager {
font-size: 16px;
font-weight: bold;
margin: 20px auto;
}
.pager a, .pager span {
margin: 0 2px;
padding: 3px;
}
.pager span {
background-color: #699;
color: #fff;
}
.pager a, .pager a:hover {
text-decoration: none;
}
.nav li {
margin-bottom: 5px;
}
fieldset.no-border {
border: none;
margin: 10px 0;
padding: 10px 0;
}
.message h4 {
margin-top: 0;
}
.package-details .package-info {
width: 60%;
}
.notice {
font-size: 0.9em;
}
#searchForm fieldset {
margin: 0;
padding: 0;
}
#searchForm input[type="text"] {
width: auto;
}
fieldset.install {
margin: 0;
padding: 5px;
}
table#feed th, td {
padding: 4px;
}

View File

@@ -0,0 +1,7 @@
@* Generator: WebPage *@
@using System.Globalization;
<div class="message error">
@String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageSourceFileInstructions, PackageManagerModule.PackageSourceFilePath)
</div>

View File

@@ -0,0 +1,67 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/SourceFileInstructions.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages_SourceFileInstructions_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_SourceFileInstructions_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n<div class=\"message error\">\r\n ");
Write(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageSourceFileInstructions, PackageManagerModule.PackageSourceFilePath));
WriteLiteral("\r\n</div>");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,74 @@
@* Generator: WebPage *@
@using System.Globalization;
@using System.Text.RegularExpressions;
@using NuGet;
@section PackageHead {
<script type="text/javascript" src="@Href("scripts/PackageAction.js")"></script>
<noscript>@PackageManagerResources.JavascriptRequired</noscript>
}
@{
// Read from request
var packageId = Request["package"];
var version = Request["version"];
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(PackageManagerModule.ActiveSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
<div class="error message">@exception.Message</div>
return;
}
IPackage package = projectManager.LocalRepository.FindPackage(packageId, version != null ? SemanticVersion.Parse(version) : null);
if (package == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
@Html.ValidationSummary()
return;
}
// Set up layout values
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UninstallPackageDesc, package.GetDisplayName());
if (IsPost) {
AntiForgery.Validate();
bool removeDependencies = Request.Form["removeDependencies"].AsBool(false);
try {
projectManager.UninstallPackage(package, removeDependencies: removeDependencies);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Uninstall");
}
else {
@Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageUninstallationError, package.GetDisplayName()))
}
return;
}
}
@{
var encodedPackageName = Html.Encode(package.GetDisplayName());
<h4>@Html.Raw(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.AreYouSureUninstall, encodedPackageName))</h4>
}
<form method="post" action="" id="submitForm">
<fieldset class="no-border">
@AntiForgery.GetHtml()
<input type="hidden" name="package" value="@packageId" />
<input type="hidden" name="version" value="@version" />
@if (package.Dependencies.Any()) {
<div>
<label><input type="checkbox" name="removeDependencies" value="true" checked="checked"/>@PackageManagerResources.RemoveDependencies</label>
</div>
<br />
}
<input type="submit" value="@PackageManagerResources.UninstallPackage" />
&nbsp;
<input type="reset" value="@PackageManagerResources.Cancel" data-returnurl="@packagesHomeUrl" />
</fieldset>
</form>

View File

@@ -0,0 +1,212 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
using System.Text.RegularExpressions;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/Uninstall.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages_Uninstall_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_Uninstall_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n");
DefineSection("PackageHead", () => {
WriteLiteral(" \r\n <script type=\"text/javascript\" src=\"");
Write(Href("scripts/PackageAction.js"));
WriteLiteral("\"></script>\r\n <noscript>");
Write(PackageManagerResources.JavascriptRequired);
WriteLiteral("</noscript>\r\n");
});
WriteLiteral("\r\n\r\n");
// Read from request
var packageId = Request["package"];
var version = Request["version"];
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(PackageManagerModule.ActiveSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
WriteLiteral(" <div class=\"error message\">");
Write(exception.Message);
WriteLiteral("</div>\r\n");
return;
}
IPackage package = projectManager.LocalRepository.FindPackage(packageId, version != null ? SemanticVersion.Parse(version) : null);
if (package == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
Write(Html.ValidationSummary());
return;
}
// Set up layout values
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UninstallPackageDesc, package.GetDisplayName());
if (IsPost) {
AntiForgery.Validate();
bool removeDependencies = Request.Form["removeDependencies"].AsBool(false);
try {
projectManager.UninstallPackage(package, removeDependencies: removeDependencies);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Uninstall");
}
else {
Write(Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageUninstallationError, package.GetDisplayName())));
}
return;
}
var encodedPackageName = Html.Encode(package.GetDisplayName());
WriteLiteral(" <h4>");
Write(Html.Raw(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.AreYouSureUninstall, encodedPackageName)));
WriteLiteral("</h4>\r\n");
WriteLiteral("<form method=\"post\" action=\"\" id=\"submitForm\">\r\n<fieldset class=\"no-border\">\r\n " +
" ");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n <input type=\"hidden\" name=\"package\" value=\"");
Write(packageId);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"version\" value=\"");
Write(version);
WriteLiteral("\" />\r\n");
if (package.Dependencies.Any()) {
WriteLiteral(" <div>\r\n <label><input type=\"checkbox\" name=\"removeDependencies" +
"\" value=\"true\" checked=\"checked\"/>");
Write(PackageManagerResources.RemoveDependencies);
WriteLiteral("</label>\r\n </div>\r\n");
WriteLiteral(" <br />\r\n");
}
WriteLiteral(" <input type=\"submit\" value=\"");
Write(PackageManagerResources.UninstallPackage);
WriteLiteral("\" />\r\n &nbsp;\r\n <input type=\"reset\" value=\"");
Write(PackageManagerResources.Cancel);
WriteLiteral("\" data-returnurl=\"");
Write(packagesHomeUrl);
WriteLiteral("\" />\r\n</fieldset>\r\n</form>");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,69 @@
@* Generator: WebPage *@
@using System.Globalization;
@using System.IO;
@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 versionString = Request["version"];
var packageSource = PageUtils.GetPackageSource(sourceName);
var version = !versionString.IsEmpty() ? SemanticVersion.Parse(versionString) : null;
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
<div class="error message">@exception.Message</div>
return;
}
var updatePackage = projectManager.SourceRepository.FindPackage(packageId, version);
if (updatePackage == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
@Html.ValidationSummary()
return;
}
var package = projectManager.LocalRepository.FindPackage(packageId);
// Layout
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UpdatePackageDesc, package.GetDisplayName(), updatePackage.Version);
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
if (IsPost) {
AntiForgery.Validate();
try {
projectManager.UpdatePackage(updatePackage);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Update");
}
else {
@Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageUpdateError, package.GetDisplayName()))
}
return;
}
}
@RenderPage("_PackageDetails.cshtml", new Dictionary<string, object>{ {"Package", updatePackage} })
<br />
<form method="post" action="" id="submitForm">
@AntiForgery.GetHtml()
<input type="hidden" name="source" value="@sourceName" />
<input type="hidden" name="package" value="@packageId" />
<input type="hidden" name="version" value="@version" />
<input type="submit" value="@PackageManagerResources.UpdatePackage" />
<input type="reset" value="@PackageManagerResources.Cancel" data-returnurl="@packagesHomeUrl" />
<br /><br />
</form>

View File

@@ -0,0 +1,189 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using System.Globalization;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/Update.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages_Update_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages_Update_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n");
DefineSection("PackageHead", () => {
WriteLiteral(" \r\n <script type=\"text/javascript\" src=\"");
Write(Href("scripts/PackageAction.js"));
WriteLiteral("\"></script>\r\n <noscript>");
Write(PackageManagerResources.JavascriptRequired);
WriteLiteral("</noscript>\r\n");
});
WriteLiteral("\r\n");
// Read params from request
var sourceName = Request["source"];
var packageId = Request["package"];
var versionString = Request["version"];
var packageSource = PageUtils.GetPackageSource(sourceName);
var version = !versionString.IsEmpty() ? SemanticVersion.Parse(versionString) : null;
WebProjectManager projectManager;
try {
projectManager = new WebProjectManager(packageSource.Source, PackageManagerModule.SiteRoot);
} catch (Exception exception) {
WriteLiteral(" <div class=\"error message\">");
Write(exception.Message);
WriteLiteral("</div>\r\n");
return;
}
var updatePackage = projectManager.SourceRepository.FindPackage(packageId, version);
if (updatePackage == null) {
ModelState.AddFormError(PackageManagerResources.BadRequest);
Write(Html.ValidationSummary());
return;
}
var package = projectManager.LocalRepository.FindPackage(packageId);
// Layout
Page.SectionTitle = String.Format(CultureInfo.CurrentCulture, PackageManagerResources.UpdatePackageDesc, package.GetDisplayName(), updatePackage.Version);
var packagesHomeUrl = Href(PageUtils.GetPackagesHome(), Request.Url.Query);
if (IsPost) {
AntiForgery.Validate();
try {
projectManager.UpdatePackage(updatePackage);
} catch (Exception exception) {
ModelState.AddFormError(exception.Message);
}
if (ModelState.IsValid) {
Response.Redirect(packagesHomeUrl + "&action-completed=Update");
}
else {
Write(Html.ValidationSummary(String.Format(CultureInfo.CurrentCulture, PackageManagerResources.PackageUpdateError, package.GetDisplayName())));
}
return;
}
WriteLiteral("\r\n");
Write(RenderPage("_PackageDetails.cshtml", new Dictionary<string, object>{ {"Package", updatePackage} }));
WriteLiteral("\r\n<br />\r\n<form method=\"post\" action=\"\" id=\"submitForm\">\r\n ");
Write(AntiForgery.GetHtml());
WriteLiteral("\r\n <input type=\"hidden\" name=\"source\" value=\"");
Write(sourceName);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"package\" value=\"");
Write(packageId);
WriteLiteral("\" />\r\n <input type=\"hidden\" name=\"version\" value=\"");
Write(version);
WriteLiteral("\" />\r\n\r\n <input type=\"submit\" value=\"");
Write(PackageManagerResources.UpdatePackage);
WriteLiteral("\" />\r\n <input type=\"reset\" value=\"");
Write(PackageManagerResources.Cancel);
WriteLiteral("\" data-returnurl=\"");
Write(packagesHomeUrl);
WriteLiteral("\" />\r\n <br /><br />\r\n</form>");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,22 @@
@* Generator: WebPage *@
@{
Layout = "../_Layout.cshtml";
Page.Title = PackageManagerResources.ModuleTitle;
}
@section Head {
<link href="@Href("Site.css")" rel="stylesheet" type="text/css" />
<script src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.2.js" type="text/javascript"></script>
@RenderSection("PackageHead", required: false)
}
@section PageSettings {
<a href="@Href("PackageSources")">@PackageManagerResources.ManageSourcesTitle</a>
}
@RenderBody()
@section Footer {
<a href="http://go.microsoft.com/fwlink/?LinkID=205205" target="_blank">@PackageManagerResources.PrivacyStatement</a>
}

View File

@@ -0,0 +1,123 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/_Layout.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages__Layout_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages__Layout_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
Layout = "../_Layout.cshtml";
Page.Title = PackageManagerResources.ModuleTitle;
DefineSection("Head", () => {
WriteLiteral("\r\n <link href=\"");
Write(Href("Site.css"));
WriteLiteral("\" rel=\"stylesheet\" type=\"text/css\" />\r\n <script src=\"http://ajax.microsoft.com" +
"/ajax/jquery/jquery-1.4.2.js\" type=\"text/javascript\"></script>\r\n\r\n ");
Write(RenderSection("PackageHead", required: false));
WriteLiteral("\r\n");
});
WriteLiteral("\r\n\r\n");
DefineSection("PageSettings", () => {
WriteLiteral("\r\n <a href=\"");
Write(Href("PackageSources"));
WriteLiteral("\">");
Write(PackageManagerResources.ManageSourcesTitle);
WriteLiteral("</a>\r\n");
});
WriteLiteral("\r\n\r\n");
Write(RenderBody());
WriteLiteral("\r\n\r\n");
DefineSection("Footer", () => {
WriteLiteral("\r\n <a href=\"http://go.microsoft.com/fwlink/?LinkID=205205\" target=\"_blank\">");
Write(PackageManagerResources.PrivacyStatement);
WriteLiteral("</a>\r\n");
});
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,16 @@
@* Generator: WebPage *@
@using System.Linq;
@using NuGet;
@{
IPackage package = Page.package;
}
<div class="package-info">
<h4>
@package.GetDisplayName()
</h4>
@if (!String.IsNullOrEmpty(package.Description)) {
<p class="package-description">@package.Description</p>
}
</div>

View File

@@ -0,0 +1,88 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/_Package.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages__Package_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages__Package_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
IPackage package = Page.package;
WriteLiteral("\r\n<div class=\"package-info\">\r\n <h4>\r\n ");
Write(package.GetDisplayName());
WriteLiteral("\r\n </h4>\r\n");
if (!String.IsNullOrEmpty(package.Description)) {
WriteLiteral(" <p class=\"package-description\">");
Write(package.Description);
WriteLiteral("</p>\r\n");
}
WriteLiteral("</div>\r\n");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,23 @@
@* Generator: WebPage *@
@using NuGet;
@{
IPackage package = Page.Package;
}
<div class="package-info">
<h4>
@package.GetDisplayName()
</h4>
@if (!String.IsNullOrEmpty(package.Description)) {
<p class="package-description">@package.Description</p>
}
@{
var authors = package.Authors as IEnumerable<string>;
if (authors.Any()) {
<p>
<strong>@PackageManagerResources.AuthorsLabel: </strong><span class="package-author">@String.Join(PackageManagerResources.WordSeparator, authors)</span>
</p>
}
}
</div>

View File

@@ -0,0 +1,110 @@
#pragma warning disable 1591
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.225
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace System.Web.WebPages.Administration.PackageManager
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Web;
using System.Web.Helpers;
using System.Web.Security;
using System.Web.UI;
using System.Web.WebPages;
using System.Web.WebPages.Html;
using NuGet;
[System.Web.WebPages.PageVirtualPathAttribute("~/packages/_PackageDetails.cshtml")]
[System.CodeDom.Compiler.GeneratedCodeAttribute("RazorSingleFileGenerator", "1.0.0.0")]
public class packages__PackageDetails_cshtml : System.Web.WebPages.WebPage
{
#line hidden
// Resolve package relative syntax
// Also, if it comes from a static embedded resource, change the path accordingly
public override string Href(string virtualPath, params object[] pathParts) {
virtualPath = ApplicationPart.ProcessVirtualPath(GetType().Assembly, VirtualPath, virtualPath);
return base.Href(virtualPath, pathParts);
}
public packages__PackageDetails_cshtml()
{
}
protected System.Web.HttpApplication ApplicationInstance
{
get
{
return ((System.Web.HttpApplication)(Context.ApplicationInstance));
}
}
public override void Execute()
{
WriteLiteral("\r\n\r\n");
WriteLiteral("\r\n");
IPackage package = Page.Package;
WriteLiteral("<div class=\"package-info\">\r\n<h4>\r\n ");
Write(package.GetDisplayName());
WriteLiteral("\r\n</h4>\r\n");
if (!String.IsNullOrEmpty(package.Description)) {
WriteLiteral(" <p class=\"package-description\">");
Write(package.Description);
WriteLiteral("</p>\r\n");
}
var authors = package.Authors as IEnumerable<string>;
if (authors.Any()) {
WriteLiteral(" <p>\r\n <strong>");
Write(PackageManagerResources.AuthorsLabel);
WriteLiteral(": </strong><span class=\"package-author\">");
Write(String.Join(PackageManagerResources.WordSeparator, authors));
WriteLiteral("</span>\r\n </p>\r\n");
}
WriteLiteral("</div>\r\n");
}
}
}
#pragma warning restore 1591

View File

@@ -0,0 +1,15 @@
@* Generator: WebPage *@
@using System.Web.WebPages.Administration;
@{
if (!PackageManagerModule.InitPackageSourceFile()) {
var instructionsPath = VirtualPathUtility.ToAbsolute(PageUtils.GetPageVirtualPath("SourceFileInstructions"));
if (!Request.FilePath.Equals(instructionsPath, StringComparison.OrdinalIgnoreCase)) {
Response.Redirect(instructionsPath);
}
}
Layout = "_Layout.cshtml";
PageData["Title"] = PackageManagerResources.ModuleTitle;
string packagesVirutalPath = SiteAdmin.GetVirtualPath("~/packages");
PageData["BreadCrumbs"].Add(Tuple.Create(PackageManagerResources.ModuleTitle, Href(packagesVirutalPath)));
}

Some files were not shown because too many files have changed in this diff Show More