mirror of
https://github.com/lempamo/Project-Unite.git
synced 2025-01-22 17:22:15 +00:00
Bugtracker work
This commit is contained in:
parent
c5506fc9f9
commit
52245ffb86
7 changed files with 193 additions and 0 deletions
19
Project-Unite/Controllers/BugsController.cs
Normal file
19
Project-Unite/Controllers/BugsController.cs
Normal file
|
@ -0,0 +1,19 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using Project_Unite.Models;
|
||||
|
||||
namespace Project_Unite.Controllers
|
||||
{
|
||||
public class BugsController : Controller
|
||||
{
|
||||
// GET: Bugs
|
||||
public ActionResult Index()
|
||||
{
|
||||
var db = new ApplicationDbContext();
|
||||
return View(db.BugTags);
|
||||
}
|
||||
}
|
||||
}
|
124
Project-Unite/Models/BugModels.cs
Normal file
124
Project-Unite/Models/BugModels.cs
Normal file
|
@ -0,0 +1,124 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Project_Unite.Models
|
||||
{
|
||||
public class Bug
|
||||
{
|
||||
public string Id { get; set; }
|
||||
/// <summary>
|
||||
/// Just a funny name for "what category is this bug in?"
|
||||
/// </summary>
|
||||
public string Species { get; set; }
|
||||
public int Urgency { get; set; }
|
||||
public string Name { get; set; }
|
||||
|
||||
public ForumPost[] Comments
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ApplicationDbContext().ForumPosts.Where(x => x.Parent == this.Id).ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
public DateTime ReportedAt { get; set; }
|
||||
public string ReleaseId { get; set; }
|
||||
public string Reporter { get; set; }
|
||||
public bool Open { get; set; }
|
||||
public DateTime ClosedAt { get; set; }
|
||||
public string ClosedBy { get; set; }
|
||||
}
|
||||
|
||||
public class BugTag
|
||||
{
|
||||
public string Id { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string ColorHex { get; set; }
|
||||
public string Description { get; set; }
|
||||
|
||||
public Bug[] Open
|
||||
{
|
||||
get
|
||||
{
|
||||
return new ApplicationDbContext().Bugs.Where(x => x.Species == this.Id && x.Open == true).ToArray();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public class PostBugViewModel
|
||||
{
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage ="You must specify a name for your bug.")]
|
||||
[MaxLength(75, ErrorMessage = "Your bug's name must have at most 75 characters.")]
|
||||
public string Name { get; set; }
|
||||
|
||||
[Required(AllowEmptyStrings = false, ErrorMessage ="Please describe your bug.")]
|
||||
[AllowHtml]
|
||||
[MinLength(20, ErrorMessage = "Your bug's description must have at least 20 characters in it.")]
|
||||
public string Description { get; set; }
|
||||
|
||||
|
||||
public string SpeciesId { get; set; }
|
||||
|
||||
public string VersionId { get; set; }
|
||||
|
||||
public string Urgency { get; set; }
|
||||
|
||||
public List<SelectListItem> Urgencies
|
||||
{
|
||||
get
|
||||
{
|
||||
var items = new List<SelectListItem>();
|
||||
string[] list = new[] { "Minor", "Moderate", "Major", "Critical" };
|
||||
for (int i = 0; i < list.Length; i++)
|
||||
{
|
||||
items.Add(new SelectListItem
|
||||
{
|
||||
Text = list[i],
|
||||
Value = i.ToString()
|
||||
});
|
||||
}
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
public List<SelectListItem> Species
|
||||
{
|
||||
get
|
||||
{
|
||||
var db = new ApplicationDbContext();
|
||||
var items = new List<SelectListItem>();
|
||||
foreach (var itm in db.BugTags.OrderBy(x => x.Name))
|
||||
{
|
||||
items.Add(new SelectListItem
|
||||
{
|
||||
Text = itm.Name,
|
||||
Value = itm.Id
|
||||
});
|
||||
}
|
||||
return items;
|
||||
}
|
||||
}
|
||||
|
||||
public List<SelectListItem> Versions
|
||||
{
|
||||
get
|
||||
{
|
||||
var db = new ApplicationDbContext();
|
||||
var items = new List<SelectListItem>();
|
||||
foreach(var itm in db.Downloads.OrderByDescending(x => x.PostDate))
|
||||
{
|
||||
items.Add(new SelectListItem
|
||||
{
|
||||
Text = itm.Name,
|
||||
Value = itm.Id
|
||||
});
|
||||
}
|
||||
return items;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -219,6 +219,8 @@ public static ApplicationDbContext Create()
|
|||
return new ApplicationDbContext();
|
||||
}
|
||||
|
||||
public DbSet<Bug> Bugs { get; set; }
|
||||
public DbSet<BugTag> BugTags { get; set; }
|
||||
public DbSet<BlogPost> BlogPosts { get; set; }
|
||||
public DbSet<ReadPost> ReadPosts { get; set; }
|
||||
public DbSet<Download> Downloads { get; set; }
|
||||
|
|
|
@ -244,6 +244,7 @@
|
|||
<Compile Include="Controllers\AdminController.cs" />
|
||||
<Compile Include="Controllers\APIController.cs" />
|
||||
<Compile Include="Controllers\BlogController.cs" />
|
||||
<Compile Include="Controllers\BugsController.cs" />
|
||||
<Compile Include="Controllers\DeveloperController.cs" />
|
||||
<Compile Include="Controllers\DownloadController.cs" />
|
||||
<Compile Include="Controllers\ForumController.cs" />
|
||||
|
@ -426,6 +427,7 @@
|
|||
<Compile Include="Models\AddUserToRoleViewModel.cs" />
|
||||
<Compile Include="Models\AdminViewModels.cs" />
|
||||
<Compile Include="Models\BlogModels.cs" />
|
||||
<Compile Include="Models\BugModels.cs" />
|
||||
<Compile Include="Models\Download.cs" />
|
||||
<Compile Include="Models\ForumCategory.cs" />
|
||||
<Compile Include="Models\ForumViewModels.cs" />
|
||||
|
@ -559,6 +561,9 @@
|
|||
<Content Include="Views\Blog\ViewBlog.cshtml" />
|
||||
<Content Include="Views\Blog\Index.cshtml" />
|
||||
<Content Include="Views\Blog\PostBlog.cshtml" />
|
||||
<Content Include="Views\Bugs\Index.cshtml" />
|
||||
<Content Include="Views\Bugs\_BugBar.cshtml" />
|
||||
<Content Include="Views\Bugs\_Sidebar.cshtml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Folder Include="App_Data\" />
|
||||
|
|
27
Project-Unite/Views/Bugs/Index.cshtml
Normal file
27
Project-Unite/Views/Bugs/Index.cshtml
Normal file
|
@ -0,0 +1,27 @@
|
|||
@model IEnumerable<Project_Unite.Models.BugTag>
|
||||
@{
|
||||
ViewBag.Title = "Bugtracker";
|
||||
}
|
||||
|
||||
<h2>Bugtracker</h2>
|
||||
|
||||
@{
|
||||
Html.RenderPartial("~/Views/Bugs/_BugBar.cshtml");
|
||||
}
|
||||
|
||||
<div class="row">
|
||||
<div class="col-xs-3">
|
||||
@{
|
||||
Html.RenderPartial("~/Views/Bugs/_Sidebar.cshtml", Model);
|
||||
}
|
||||
</div>
|
||||
|
||||
<div class="col-xs-9">
|
||||
<h3>Welcome to the ShiftOS bug tracker.</h3>
|
||||
|
||||
<p>ShiftOS is a game about an evolving operating system, and an evolving world. However, ShiftOS itself is evolving with new features everyday.</p>
|
||||
|
||||
<p>We at ShiftOS strive to create a stable experience and most bugs are taken care of before they ever leave the development environment. However, sometimes we make mistakes. I mean, we're all human, right? Anyways, if you find a mistake we've made in ShiftOS, this is the best spot to place it.</p>
|
||||
|
||||
</div>
|
||||
</div>
|
6
Project-Unite/Views/Bugs/_BugBar.cshtml
Normal file
6
Project-Unite/Views/Bugs/_BugBar.cshtml
Normal file
|
@ -0,0 +1,6 @@
|
|||
@if (Request.IsAuthenticated)
|
||||
{
|
||||
<ul class="nav nav-pills">
|
||||
<li><a href="@Url.Action("PostBug")"><span class="glyphicon glyphicon-plus"></span> Post a bug</a></li>
|
||||
</ul>
|
||||
}
|
10
Project-Unite/Views/Bugs/_Sidebar.cshtml
Normal file
10
Project-Unite/Views/Bugs/_Sidebar.cshtml
Normal file
|
@ -0,0 +1,10 @@
|
|||
@model IEnumerable<Project_Unite.Models.BugTag>
|
||||
|
||||
<h3>Categories</h3>
|
||||
|
||||
<ul>
|
||||
@foreach (var cat in Model)
|
||||
{
|
||||
<li><a href="@Url.Action("ViewCategory", new { id = cat.Id })">@cat.Name (@cat.Open.Count())</a></li>
|
||||
}
|
||||
</ul>
|
Loading…
Reference in a new issue