mirror of
https://gitlab.com/buildfeed/BuildFeed.git
synced 2024-03-22 21:10:34 +08:00
Refresh Pt 5b
This commit is contained in:
parent
17c4545146
commit
f4cd963a0f
|
@ -1,5 +1,6 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.Default.props')" />
|
||||
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
|
||||
<PropertyGroup>
|
||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||
|
@ -48,8 +49,8 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Antlr.3.5.0.2\lib\Antlr3.Runtime.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="Humanizer, Version=1.34.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Humanizer.1.34.0\lib\portable-win+net40+sl50+wp8+wpa81\Humanizer.dll</HintPath>
|
||||
<Reference Include="Humanizer, Version=1.35.0.0, Culture=neutral, PublicKeyToken=979442b78dfc278e, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\Humanizer.1.35.0\lib\portable-win+net40+sl50+wp8+wpa81+MonoAndroid10+MonoTouch10+Xamarin.iOS10\Humanizer.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="Microsoft.CSharp" />
|
||||
|
@ -66,17 +67,17 @@
|
|||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\Newtonsoft.Json.6.0.8\lib\net45\Newtonsoft.Json.dll</HintPath>
|
||||
</Reference>
|
||||
<Reference Include="NServiceKit.Common, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\NServiceKit.Common.1.0.27\lib\net35\NServiceKit.Common.dll</HintPath>
|
||||
<Reference Include="NServiceKit.Common, Version=1.0.32.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NServiceKit.Common.1.0.32\lib\net35\NServiceKit.Common.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="NServiceKit.Interfaces, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\NServiceKit.Common.1.0.27\lib\net35\NServiceKit.Interfaces.dll</HintPath>
|
||||
<Reference Include="NServiceKit.Interfaces, Version=1.0.32.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NServiceKit.Common.1.0.32\lib\net35\NServiceKit.Interfaces.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="NServiceKit.Redis, Version=1.0.10.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<SpecificVersion>False</SpecificVersion>
|
||||
<HintPath>..\packages\NServiceKit.Redis.1.0.10\lib\net35\NServiceKit.Redis.dll</HintPath>
|
||||
<Reference Include="NServiceKit.Redis, Version=1.0.16.0, Culture=neutral, processorArchitecture=MSIL">
|
||||
<HintPath>..\packages\NServiceKit.Redis.1.0.16\lib\net35\NServiceKit.Redis.dll</HintPath>
|
||||
<Private>True</Private>
|
||||
</Reference>
|
||||
<Reference Include="NServiceKit.Text">
|
||||
<HintPath>..\packages\NServiceKit.Text.1.0.10\lib\net35\NServiceKit.Text.dll</HintPath>
|
||||
|
@ -208,6 +209,8 @@
|
|||
<Content Include="Areas\admin\Views\users\admins.cshtml" />
|
||||
<Content Include="Areas\admin\Views\meta\index.cshtml" />
|
||||
<Content Include="Areas\admin\Views\meta\create.cshtml" />
|
||||
<Content Include="Scripts\Chart.js" />
|
||||
<Content Include="Scripts\Chart.min.js" />
|
||||
<Content Include="Scripts\jquery.validate.unobtrusive.js" />
|
||||
<Content Include="Scripts\jquery.validate.unobtrusive.min.js" />
|
||||
<Content Include="Scripts\trumbowyg\langs\ca.min.js" />
|
||||
|
@ -260,8 +263,6 @@
|
|||
<Content Include="content\tile\large.png" />
|
||||
<Content Include="Scripts\bfs.js" />
|
||||
<None Include="Scripts\jquery-2.1.3.intellisense.js" />
|
||||
<Content Include="Scripts\Chart.js" />
|
||||
<Content Include="Scripts\Chart.min.js" />
|
||||
<Content Include="Scripts\excanvas.compiled.js" />
|
||||
<Content Include="Scripts\excanvas.js" />
|
||||
<Content Include="Scripts\jquery-2.1.3.js" />
|
||||
|
@ -292,17 +293,13 @@
|
|||
<Content Include="Views\front\editBuild.cshtml" />
|
||||
<Content Include="Views\build\index.cshtml" />
|
||||
<Content Include="Views\shared\DisplayTemplates\Enumeration.cshtml" />
|
||||
<Content Include="Views\shared\EditorTemplates\Enumeration.cshtml" />
|
||||
<Content Include="Views\support\register.cshtml" />
|
||||
<Content Include="Views\support\login.cshtml" />
|
||||
<Content Include="Views\build\info.cshtml" />
|
||||
<Content Include="Views\support\password.cshtml" />
|
||||
<Content Include="Views\support\thanks_register.cshtml" />
|
||||
<Content Include="Views\support\rss.cshtml" />
|
||||
<Content Include="Views\support\sitemap.cshtml" />
|
||||
<Content Include="Scripts\jsrender.min.js.map" />
|
||||
<Content Include="Views\support\question.cshtml" />
|
||||
<Content Include="Views\support\thanks_question.cshtml" />
|
||||
<Content Include="Views\support\stats.cshtml" />
|
||||
<Content Include="smtp.config">
|
||||
<SubType>Designer</SubType>
|
||||
|
@ -339,6 +336,7 @@
|
|||
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||
</PropertyGroup>
|
||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets" Condition="Exists('$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\TypeScript\Microsoft.TypeScript.targets')" />
|
||||
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
|
||||
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />
|
||||
<Target Name="MvcBuildViews" AfterTargets="AfterBuild" Condition="'$(MvcBuildViews)'=='true'">
|
||||
|
|
|
@ -67,82 +67,7 @@ public ActionResult source(TypeOfSource source, int page = 1)
|
|||
|
||||
public ActionResult info(int id)
|
||||
{
|
||||
return RedirectToAction("viewBuild", "front");
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /build/Create
|
||||
[Authorize]
|
||||
public ActionResult create()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
//
|
||||
// POST: /build/Create
|
||||
[Authorize]
|
||||
[HttpPost]
|
||||
public ActionResult create(Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
build.Added = DateTime.Now;
|
||||
build.Modified = DateTime.Now;
|
||||
Build.Insert(build);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return View(build);
|
||||
}
|
||||
return RedirectToAction("info", new { id = build.Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
return View(build);
|
||||
}
|
||||
}
|
||||
|
||||
//
|
||||
// GET: /build/Edit/5
|
||||
[Authorize]
|
||||
public ActionResult edit(long id)
|
||||
{
|
||||
Build b = Build.SelectById(id);
|
||||
return View("create", b);
|
||||
}
|
||||
|
||||
//
|
||||
// POST: /build/Edit/5
|
||||
[Authorize]
|
||||
[HttpPost]
|
||||
public ActionResult edit(long id, Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
Build.Update(build);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return View("create", build);
|
||||
}
|
||||
|
||||
return RedirectToAction("info", new { id = build.Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
return View("create", build);
|
||||
}
|
||||
}
|
||||
|
||||
[Authorize(Roles = "Administrators")]
|
||||
public ActionResult delete(long id)
|
||||
{
|
||||
Build.DeleteById(id);
|
||||
return Redirect("/");
|
||||
return RedirectToAction("viewBuild", "front", new { id = id });
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -69,17 +69,69 @@ public ActionResult viewBuild(long id)
|
|||
return View(b);
|
||||
}
|
||||
|
||||
[Route("add/")]
|
||||
[Route("add/"), Authorize]
|
||||
public ActionResult addBuild()
|
||||
{
|
||||
return View("editBuild");
|
||||
}
|
||||
|
||||
[Route("edit/{id}/")]
|
||||
[Route("add/"), Authorize, HttpPost]
|
||||
public ActionResult addBuild(Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
build.Added = DateTime.Now;
|
||||
build.Modified = DateTime.Now;
|
||||
Build.Insert(build);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return View("editBuild", build);
|
||||
}
|
||||
return RedirectToAction("viewBuild", new { id = build.Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
return View("editBuild", build);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("edit/{id}/"), Authorize]
|
||||
public ActionResult editBuild(long id)
|
||||
{
|
||||
Build b = Build.SelectById(id);
|
||||
return View(b);
|
||||
}
|
||||
|
||||
[Route("edit/{id}/"), Authorize, HttpPost]
|
||||
public ActionResult editBuild(long id, Build build)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
try
|
||||
{
|
||||
Build.Update(build);
|
||||
}
|
||||
catch
|
||||
{
|
||||
return View(build);
|
||||
}
|
||||
|
||||
return RedirectToAction("viewBuild", new { id = build.Id });
|
||||
}
|
||||
else
|
||||
{
|
||||
return View(build);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("delete/{id}/"), Authorize(Roles = "Adminstrators")]
|
||||
public ActionResult deleteBuild(long id)
|
||||
{
|
||||
Build.DeleteById(id);
|
||||
return RedirectToAction("index");
|
||||
}
|
||||
}
|
||||
}
|
|
@ -127,43 +127,6 @@ public ActionResult thanks_register()
|
|||
return View();
|
||||
}
|
||||
|
||||
public ActionResult question()
|
||||
{
|
||||
return View();
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult> question(QuestionForm qf)
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
SmtpClient sc = new SmtpClient();
|
||||
MailMessage mm = new MailMessage(ConfigurationManager.AppSettings["form:QuestionFromEmail"], ConfigurationManager.AppSettings["form:QuestionToEmail"]);
|
||||
mm.Subject = "BuildFeed Question from " + qf.Name;
|
||||
mm.ReplyToList.Add(qf.Email);
|
||||
|
||||
StringBuilder sb = new StringBuilder();
|
||||
sb.AppendLine("BuildFeed Question");
|
||||
sb.AppendLine("==================");
|
||||
sb.AppendLine();
|
||||
sb.AppendFormat("Name: {0}\r\n", qf.Name);
|
||||
sb.AppendFormat("Email: {0}\r\n", qf.Email);
|
||||
sb.AppendLine();
|
||||
sb.AppendLine("Question: ");
|
||||
sb.AppendLine(qf.Comment);
|
||||
|
||||
mm.Body = sb.ToString();
|
||||
|
||||
await sc.SendMailAsync(mm);
|
||||
|
||||
return View("thanks_question");
|
||||
}
|
||||
else
|
||||
{
|
||||
return View(qf);
|
||||
}
|
||||
}
|
||||
|
||||
[Route("rss")]
|
||||
public ActionResult rss()
|
||||
{
|
||||
|
|
32
Scripts/Chart.js
vendored
32
Scripts/Chart.js
vendored
|
@ -1,7 +1,7 @@
|
|||
/*!
|
||||
* Chart.js
|
||||
* http://chartjs.org/
|
||||
* Version: 1.0.1
|
||||
* Version: 1.0.2
|
||||
*
|
||||
* Copyright 2015 Nick Downie
|
||||
* Released under the MIT license
|
||||
|
@ -25,6 +25,25 @@
|
|||
this.ctx = context;
|
||||
|
||||
//Variables global to the chart
|
||||
var computeDimension = function(element,dimension)
|
||||
{
|
||||
if (element['offset'+dimension])
|
||||
{
|
||||
return element['offset'+dimension];
|
||||
}
|
||||
else
|
||||
{
|
||||
return document.defaultView.getComputedStyle(element).getPropertyValue(dimension);
|
||||
}
|
||||
}
|
||||
|
||||
var width = this.width = computeDimension(context.canvas,'Width');
|
||||
var height = this.height = computeDimension(context.canvas,'Height');
|
||||
|
||||
// Firefox requires this to work correctly
|
||||
context.canvas.width = width;
|
||||
context.canvas.height = height;
|
||||
|
||||
var width = this.width = context.canvas.width;
|
||||
var height = this.height = context.canvas.height;
|
||||
this.aspectRatio = this.width / this.height;
|
||||
|
@ -825,7 +844,7 @@
|
|||
},
|
||||
stop : function(){
|
||||
// Stops any current animation loop occuring
|
||||
helpers.cancelAnimFrame.call(root, this.animationFrame);
|
||||
cancelAnimFrame(this.animationFrame);
|
||||
return this;
|
||||
},
|
||||
resize : function(callback){
|
||||
|
@ -1368,7 +1387,6 @@
|
|||
var halfHeight = this.height/2;
|
||||
|
||||
//Check to ensure the height will fit on the canvas
|
||||
//The three is to buffer form the very
|
||||
if (this.y - halfHeight < 0 ){
|
||||
this.y = halfHeight;
|
||||
} else if (this.y + halfHeight > this.chart.height){
|
||||
|
@ -1575,7 +1593,7 @@
|
|||
var isRotated = (this.xLabelRotation > 0),
|
||||
// innerWidth = (this.offsetGridLines) ? this.width - offsetLeft - this.padding : this.width - (offsetLeft + halfLabelWidth * 2) - this.padding,
|
||||
innerWidth = this.width - (this.xScalePaddingLeft + this.xScalePaddingRight),
|
||||
valueWidth = innerWidth/(this.valuesCount - ((this.offsetGridLines) ? 0 : 1)),
|
||||
valueWidth = innerWidth/Math.max((this.valuesCount - ((this.offsetGridLines) ? 0 : 1)), 1),
|
||||
valueOffset = (valueWidth * index) + this.xScalePaddingLeft;
|
||||
|
||||
if (this.offsetGridLines){
|
||||
|
@ -2416,12 +2434,12 @@
|
|||
}
|
||||
},
|
||||
calculateCircumference : function(value){
|
||||
return (Math.PI*2)*(value / this.total);
|
||||
return (Math.PI*2)*(Math.abs(value) / this.total);
|
||||
},
|
||||
calculateTotal : function(data){
|
||||
this.total = 0;
|
||||
helpers.each(data,function(segment){
|
||||
this.total += segment.value;
|
||||
this.total += Math.abs(segment.value);
|
||||
},this);
|
||||
},
|
||||
update : function(){
|
||||
|
@ -3061,6 +3079,8 @@
|
|||
helpers.each(this.segments,function(segment){
|
||||
segment.save();
|
||||
});
|
||||
|
||||
this.reflow();
|
||||
this.render();
|
||||
},
|
||||
reflow : function(){
|
||||
|
|
6
Scripts/Chart.min.js
vendored
6
Scripts/Chart.min.js
vendored
File diff suppressed because one or more lines are too long
Binary file not shown.
22
Scripts/typings/jquery/jquery.d.ts
vendored
22
Scripts/typings/jquery/jquery.d.ts
vendored
|
@ -725,30 +725,42 @@ interface JQueryStatic {
|
|||
* @param context A DOM Element, Document, or jQuery to use as context
|
||||
*/
|
||||
(selector: string, context?: Element|JQuery): JQuery;
|
||||
|
||||
/**
|
||||
* Accepts a string containing a CSS selector which is then used to match a set of elements.
|
||||
*
|
||||
* @param element A DOM element to wrap in a jQuery object.
|
||||
*/
|
||||
(element: Element): JQuery;
|
||||
|
||||
/**
|
||||
* Accepts a string containing a CSS selector which is then used to match a set of elements.
|
||||
*
|
||||
* @param elementArray An array containing a set of DOM elements to wrap in a jQuery object.
|
||||
*/
|
||||
(elementArray: Element[]): JQuery;
|
||||
|
||||
/**
|
||||
* Binds a function to be executed when the DOM has finished loading.
|
||||
*
|
||||
* @param callback A function to execute after the DOM is ready.
|
||||
*/
|
||||
(callback: (jQueryAlias?: JQueryStatic) => any): JQuery;
|
||||
|
||||
/**
|
||||
* Accepts a string containing a CSS selector which is then used to match a set of elements.
|
||||
*
|
||||
* @param object A plain object to wrap in a jQuery object.
|
||||
*/
|
||||
(object: {}): JQuery;
|
||||
|
||||
/**
|
||||
* Accepts a string containing a CSS selector which is then used to match a set of elements.
|
||||
*
|
||||
* @param object An existing jQuery object to clone.
|
||||
*/
|
||||
(object: JQuery): JQuery;
|
||||
|
||||
/**
|
||||
* Specify a function to execute when the DOM is fully loaded.
|
||||
*/
|
||||
|
@ -761,6 +773,7 @@ interface JQueryStatic {
|
|||
* @param ownerDocument A document in which the new elements will be created.
|
||||
*/
|
||||
(html: string, ownerDocument?: Document): JQuery;
|
||||
|
||||
/**
|
||||
* Creates DOM elements on the fly from the provided string of raw HTML.
|
||||
*
|
||||
|
@ -769,13 +782,6 @@ interface JQueryStatic {
|
|||
*/
|
||||
(html: string, attributes: Object): JQuery;
|
||||
|
||||
/**
|
||||
* Binds a function to be executed when the DOM has finished loading.
|
||||
*
|
||||
* @param callback A function to execute after the DOM is ready.
|
||||
*/
|
||||
(callback: Function): JQuery;
|
||||
|
||||
/**
|
||||
* Relinquish jQuery's control of the $ variable.
|
||||
*
|
||||
|
@ -2352,7 +2358,7 @@ interface JQuery {
|
|||
*
|
||||
* @param handler A function to execute after the DOM is ready.
|
||||
*/
|
||||
ready(handler: Function): JQuery;
|
||||
ready(handler: (jQueryAlias?: JQueryStatic) => any): JQuery;
|
||||
|
||||
/**
|
||||
* Trigger the "resize" event on an element.
|
||||
|
|
|
@ -1,228 +0,0 @@
|
|||
@model BuildFeed.Models.Build
|
||||
|
||||
@{
|
||||
ViewBag.Title = Model.FullBuildString + " | BuildFeed";
|
||||
}
|
||||
|
||||
@section head
|
||||
{
|
||||
<link href="@Url.Action()" rel="canonical" />
|
||||
<meta property="og:title" content="@Model.FullBuildString" />
|
||||
<meta property="og:type" content="website" />
|
||||
<meta property="og:url" content="@Url.Action()" />
|
||||
@if (Model.BuildTime.HasValue)
|
||||
{
|
||||
<meta name="description" content="Discover about Windows Build @Model.Number, from @Model.Lab and compiled on @Model.BuildTime.Value.ToString("d MMMM yyyy")." />
|
||||
<meta property="og:description" content="Discover about Windows Build @Model.Number, from @Model.Lab and compiled on @Model.BuildTime.Value.ToString("d MMMM yyyy")." />
|
||||
}
|
||||
else
|
||||
{
|
||||
<meta name="description" content="Discover about Windows Build @Model.Number, from @Model.Lab. BuildFeed tracks Windows builds throughout the development process." />
|
||||
<meta property="og:description" content="Discover about Windows Build @Model.Number, from @Model.Lab. BuildFeed tracks Windows builds throughout the development process." />
|
||||
}
|
||||
}
|
||||
|
||||
<h2>@Model.FullBuildString</h2>
|
||||
|
||||
<div class="form-horizontal form-details">
|
||||
@if (User.Identity.IsAuthenticated)
|
||||
{
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Editor Actions</label>
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
@Html.ActionLink("Edit", "edit", new { id = Model.Id }, new { @class = "btn btn-default btn-xs" })
|
||||
|
||||
@if (Roles.IsUserInRole("Administrators"))
|
||||
{
|
||||
@Html.ActionLink("Delete", "delete", new { id = Model.Id }, new { @class = "btn btn-danger btn-xs" })
|
||||
}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.MajorVersion, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">@Html.DisplayFor(model => model.MajorVersion)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.MinorVersion, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">@Html.DisplayFor(model => model.MinorVersion)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Number, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">@Html.DisplayFor(model => model.Number)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Revision, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">@Html.DisplayFor(model => model.Revision)</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Lab, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
@Model.Lab<br />
|
||||
<a href="@Url.Action("lab", new { lab = Model.Lab })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds from @Model.Lab</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.BuildTime, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
@if (Model.BuildTime.HasValue)
|
||||
{
|
||||
<time datetime="@Model.BuildTime.Value.ToString("yyyy-MM-dd HH:mm")" title="@Model.BuildTime.Value.ToString("h:mm tt on dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.BuildTime, "{0:yyMMdd-HHmm}")</time>
|
||||
<br />
|
||||
<a href="@Url.Action("year", new { year = Model.BuildTime.Value.Year })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds compiled in @Model.BuildTime.Value.Year</a>
|
||||
}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.SourceType, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
@Html.DisplayFor(model => model.SourceType, "Enumeration")<br />
|
||||
<a href="@Url.Action("source", new { source = Model.SourceType })" class="more-link"><i class="fa fa-plus-square-o fa-sm"></i> Find more builds sourced from @Html.DisplayFor(model => model.SourceType, "Enumeration")</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if (Model.LeakDate.HasValue)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.LeakDate, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<div class="form-control-static"><time datetime="@Model.LeakDate.Value.ToString("yyyy-MM-dd")" title="@Model.LeakDate.Value.ToString("dddd, d MMMM yyyy")">@Html.DisplayFor(model => model.LeakDate, "{0:dd/MM/yyyy}")</time></div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.SourceDetails, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<div class="form-control-static">@Html.Raw(Model.SourceDetails)</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@if ((Model.MajorVersion == 6 && Model.MinorVersion == 4) || (Model.MajorVersion == 10 && Model.MinorVersion == 0) && Model.FlightLevel != BuildFeed.Models.LevelOfFlight.None)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.FlightLevel, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">@Html.DisplayFor(model => model.FlightLevel, "Enumeration")</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.BetaWikiUri != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.BetaWikiUri, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<a href="@Model.BetaWikiUri" target="_blank"><i class="fa fa-sm fa-link"></i> BetaWiki Article (Client)</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.BetaWikiServerUri != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.BetaWikiServerUri, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<a href="@Model.BetaWikiServerUri" target="_blank"><i class="fa fa-sm fa-link"></i> BetaWiki Article (Server)</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.WinWorldPCUri != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.WinWorldPCUri, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<a href="@Model.WinWorldPCUri" target="_blank"><i class="fa fa-sm fa-link"></i> WinWorldPC Library</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.BetaArchiveUri != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.BetaArchiveUri, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<a href="@Model.BetaArchiveUri" target="_blank"><i class="fa fa-sm fa-link"></i> BetaArchive Wiki</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@if (Model.MajorVersion == 6 && Model.MinorVersion == 0 && Model.LonghornMsUri != null)
|
||||
{
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.LonghornMsUri, new { @class = "control-label col-sm-2" })
|
||||
<div class="col-sm-10">
|
||||
<p class="form-control-static">
|
||||
<a href="@Model.LonghornMsUri" target="_blank"><i class="fa fa-sm fa-link"></i> Longhorn.ms Article</a>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Share</label>
|
||||
<div class="col-sm-10">
|
||||
<div class="addthis_sharing_toolbox"></div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">Comments</label>
|
||||
<div class="col-sm-10">
|
||||
<div id="disqus_thread"></div>
|
||||
<script type="text/javascript">
|
||||
var disqus_shortname = 'buildfeed';
|
||||
var disqus_url = 'https://buildfeed.net' + '@Url.Action()';
|
||||
|
||||
(function () {
|
||||
var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
|
||||
dsq.src = '//' + disqus_shortname + '.disqus.com/embed.js';
|
||||
(document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
|
||||
})();
|
||||
</script>
|
||||
<noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-sm-offset-2 col-sm-10">
|
||||
<a href="/" class="btn btn-info">Return to Listing</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@section scripts
|
||||
{
|
||||
<script type="text/javascript" src="//s7.addthis.com/js/300/addthis_widget.js#pubid=ra-5431719a661cbfd0" async="async"></script>
|
||||
}
|
|
@ -19,11 +19,11 @@
|
|||
}
|
||||
@if (build.IsLeaked)
|
||||
{
|
||||
<span class="label label-success label-build-status">Public</span>
|
||||
<span class="label label-success label-build-status">Leaked</span>
|
||||
}
|
||||
else
|
||||
{
|
||||
<span class="label label-danger label-build-status">Private</span>
|
||||
<span class="label label-danger label-build-status">Unleaked</span>
|
||||
}
|
||||
</p>
|
||||
<p>
|
||||
|
|
|
@ -1,15 +0,0 @@
|
|||
@using System.ComponentModel.DataAnnotations
|
||||
|
||||
@model Enum
|
||||
|
||||
@{
|
||||
var values = Enum.GetValues(ViewData.ModelMetadata.ModelType).Cast<object>()
|
||||
.Select(v => new SelectListItem
|
||||
{
|
||||
Selected = v.Equals(Model),
|
||||
Text = DisplayHelpers.GetDisplayTextForEnum(v),
|
||||
Value = v.ToString()
|
||||
});
|
||||
}
|
||||
|
||||
@Html.DropDownList("", values, new { @class = "form-control" })
|
|
@ -4,7 +4,6 @@
|
|||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<!--<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" />-->
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.4/slate/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />
|
||||
<link href="//fonts.googleapis.com/css?family=Hind:300,700,400" rel="stylesheet" type="text/css" />
|
||||
|
|
|
@ -5,15 +5,17 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta charset="utf-8" />
|
||||
<meta name="viewport" content="width=device-width" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.1/css/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.0/yeti/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet" />
|
||||
<link href="//fonts.googleapis.com/css?family=Source+Sans+Pro:300,400,700,400italic" rel="stylesheet" type="text/css" />
|
||||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/bootswatch/3.3.4/slate/bootstrap.min.css" rel="stylesheet" />
|
||||
<link href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet" />
|
||||
<link href="//fonts.googleapis.com/css?family=Hind:300,700,400" rel="stylesheet" type="text/css" />
|
||||
<link rel="shortcut icon" href="~/favicon.ico" />
|
||||
<link rel="icon" href="~/favicon.ico">
|
||||
<link rel="icon" href="~/favicon.ico" />
|
||||
<meta name="application-name" content="BuildFeed" />
|
||||
|
||||
@Styles.Render("~/content/css")
|
||||
<title>Error | BuildFeed</title>
|
||||
<script type="text/javascript">
|
||||
var appInsights = window.appInsights || function (config) {
|
||||
|
@ -41,13 +43,17 @@
|
|||
ga('send', 'pageview');
|
||||
</script>
|
||||
<div class="container">
|
||||
<header id="page-header">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
<h1>@Html.ActionLink("BuildFeed", "index", new { controller = "build", area = "", page = 1 })</h1>
|
||||
<header id="page-header"></header>
|
||||
<nav id="page-navigation" role="navigation">
|
||||
<div class="navbar navbar-default navbar-fixed-top">
|
||||
<div class="container">
|
||||
@Html.ActionLink("BuildFeed", "index", new { controller = "front", area = "" }, new { @class = "navbar-brand" })
|
||||
<ul class="nav navbar-nav navbar-right">
|
||||
<li><a href="https://twitter.com/buildfeed" title="Twitter" target="_blank"><i class="fa fa-twitter"></i> Twitter</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</header>
|
||||
</nav>
|
||||
<article id="page-content">
|
||||
<div class="row">
|
||||
<div class="col-sm-12">
|
||||
|
@ -58,9 +64,14 @@
|
|||
</article>
|
||||
<footer id="page-footer">
|
||||
<div class="row">
|
||||
<div class="col-sm-4 col-sm-offset-8 text-right">
|
||||
<div class="col-sm-8">
|
||||
<p>
|
||||
© 2013 - @DateTime.Now.Year, BuildFeed<br />
|
||||
<a href="@Url.Action("sitemap", new { controller = "support" })">Sitemap</a>
|
||||
</p>
|
||||
</div>
|
||||
<div class="col-sm-4 text-right">
|
||||
<p>
|
||||
© 2013 - @DateTime.Now.Year.ToString(), BuildFeed<br />
|
||||
Developed by <a href="https://twitter.com/tomhounsell" target="_blank">Thomas Hounsell</a>
|
||||
</p>
|
||||
</div>
|
||||
|
@ -68,6 +79,6 @@
|
|||
</footer>
|
||||
</div>
|
||||
@Scripts.Render("~/bundles/jquery")
|
||||
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.2.0/js/bootstrap.min.js"></script>
|
||||
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
|
||||
</body>
|
||||
</html>
|
||||
|
|
|
@ -1,61 +0,0 @@
|
|||
@model BuildFeed.Models.ViewModel.QuestionForm
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Ask a question | BuildFeed";
|
||||
}
|
||||
|
||||
<h2>Ask a question</h2>
|
||||
<p>Have a burning question you wish to ask the BuildFeed team? Drop us an email directly using this form. We'll respond to you using the email address you provide in the form below.</p>
|
||||
|
||||
@using (Html.BeginForm())
|
||||
{
|
||||
@Html.AntiForgeryToken()
|
||||
|
||||
<div class="form-horizontal">
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Name, htmlAttributes: new { @class = "control-label col-md-2" })
|
||||
<div class="col-md-10">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
@Html.EditorFor(model => model.Name, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
</div>
|
||||
@Html.ValidationMessageFor(model => model.Name, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Email, htmlAttributes: new { @class = "control-label col-md-2" })
|
||||
<div class="col-md-10">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
@Html.EditorFor(model => model.Email, new { htmlAttributes = new { @class = "form-control" } })
|
||||
</div>
|
||||
</div>
|
||||
@Html.ValidationMessageFor(model => model.Email, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
@Html.LabelFor(model => model.Comment, htmlAttributes: new { @class = "control-label col-md-2" })
|
||||
<div class="col-md-10">
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
@Html.TextAreaFor(model => model.Comment, new { @class = "form-control", rows = 5 })
|
||||
</div>
|
||||
</div>
|
||||
@Html.ValidationMessageFor(model => model.Comment, "", new { @class = "text-danger" })
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<div class="col-md-offset-2 col-md-10">
|
||||
<input type="submit" value="Submit my question" class="btn btn-primary" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
|
||||
@section Scripts {
|
||||
@Scripts.Render("~/bundles/jqueryval")
|
||||
}
|
|
@ -1,7 +0,0 @@
|
|||
|
||||
@{
|
||||
ViewBag.Title = "Thank you asking a question | BuildFeed";
|
||||
}
|
||||
|
||||
<h2>Thank you for asking a question.</h2>
|
||||
<p>A member of the BuildFeed administration team will get in touch with a response to your question.</p>
|
|
@ -1,10 +1,10 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<packages>
|
||||
<package id="Antlr" version="3.5.0.2" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Chart.js" version="1.0.1" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Humanizer" version="1.34.0" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Chart.js" version="1.0.2" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Humanizer" version="1.35.0" targetFramework="net45" userInstalled="true" />
|
||||
<package id="jQuery" version="2.1.3" targetFramework="net45" userInstalled="true" />
|
||||
<package id="jquery.TypeScript.DefinitelyTyped" version="2.2.3" targetFramework="net45" userInstalled="true" />
|
||||
<package id="jquery.TypeScript.DefinitelyTyped" version="2.2.4" targetFramework="net45" userInstalled="true" />
|
||||
<package id="jQuery.Validation" version="1.13.1" targetFramework="net45" userInstalled="true" />
|
||||
<package id="jsrender.TypeScript.DefinitelyTyped" version="0.0.3" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Microsoft.AspNet.Mvc" version="5.2.3" targetFramework="net45" userInstalled="true" />
|
||||
|
@ -21,8 +21,8 @@
|
|||
<package id="Microsoft.jQuery.Unobtrusive.Validation" version="3.2.3" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" userInstalled="true" />
|
||||
<package id="Newtonsoft.Json" version="6.0.8" targetFramework="net45" userInstalled="true" />
|
||||
<package id="NServiceKit.Common" version="1.0.27" targetFramework="net45" userInstalled="true" />
|
||||
<package id="NServiceKit.Redis" version="1.0.10" targetFramework="net45" userInstalled="true" />
|
||||
<package id="NServiceKit.Common" version="1.0.32" targetFramework="net45" userInstalled="true" />
|
||||
<package id="NServiceKit.Redis" version="1.0.16" targetFramework="net45" userInstalled="true" />
|
||||
<package id="NServiceKit.Text" version="1.0.10" targetFramework="net45" userInstalled="true" />
|
||||
<package id="routedebugger" version="2.1.4.0" targetFramework="net45" userInstalled="true" />
|
||||
<package id="WebGrease" version="1.6.0" targetFramework="net45" userInstalled="true" />
|
||||
|
|
Loading…
Reference in New Issue
Block a user