mirror of
https://git.teknik.io/Teknikode/Teknik.git
synced 2023-08-02 14:16:22 +02:00
Fixed multiple exceptions.
This commit is contained in:
parent
17f21194da
commit
fcf8c9bc1a
@ -18,9 +18,9 @@ namespace Teknik
|
||||
bundles.Add(new ScriptBundle("~/bundles/common").Include(
|
||||
"~/Scripts/jquery-{version}.js",
|
||||
"~/Scripts/jquery.validate*",
|
||||
"~/Scripts/common.js",
|
||||
"~/Scripts/bootstrap.js",
|
||||
"~/Scripts/bootstrap-select.js",
|
||||
"~/Scripts/common.js",
|
||||
"~/Scripts/respond.js"));
|
||||
|
||||
// Use the development version of Modernizr to develop with and learn from. Then, when you're
|
||||
|
@ -24,7 +24,7 @@ namespace Teknik.Areas.Blog.Controllers
|
||||
public ActionResult Blog(string username)
|
||||
{
|
||||
Models.Blog blog = null;
|
||||
BlogViewModel model = null;
|
||||
BlogViewModel model = new BlogViewModel();
|
||||
// The blog is the main site's blog
|
||||
if (string.IsNullOrEmpty(username))
|
||||
{
|
||||
@ -62,6 +62,7 @@ namespace Teknik.Areas.Blog.Controllers
|
||||
|
||||
return View(model);
|
||||
}
|
||||
model.Error = true;
|
||||
return View(model);
|
||||
}
|
||||
|
||||
|
@ -26,7 +26,7 @@
|
||||
@Scripts.Render("~/bundles/blog")
|
||||
|
||||
<div class="container">
|
||||
@if (Model != null && Model.User != null)
|
||||
@if (!Model.Error)
|
||||
{
|
||||
<div class="row">
|
||||
<div class="col-sm-12 blog-heading">
|
||||
|
@ -42,7 +42,7 @@ namespace Teknik.Areas.Error.Controllers
|
||||
{
|
||||
ViewBag.Title = "404 - " + Config.Title;
|
||||
ViewBag.Message = "Uh Oh, can't find it!";
|
||||
|
||||
|
||||
Response.StatusCode = 404;
|
||||
|
||||
ErrorViewModel model = new ErrorViewModel();
|
||||
|
@ -8,7 +8,8 @@
|
||||
<div class="error-details">
|
||||
An unexpected error has occurred. Please contact the system administrator.
|
||||
<br />
|
||||
@if (Model != null && HttpContext.Current.IsDebuggingEnabled)
|
||||
<br />
|
||||
@if (Model != null && Model.Exception != null)
|
||||
{
|
||||
<div class="text-left">
|
||||
<p>
|
||||
|
@ -9,6 +9,7 @@
|
||||
<div class="error-details">
|
||||
Sorry, an error has occured: @Model.Description
|
||||
</div>
|
||||
<br />
|
||||
<div class="error-actions">
|
||||
<a href="@Url.SubRouteUrl("www", "Home.Index")" class="btn btn-primary btn-lg">
|
||||
<span class="glyphicon glyphicon-home"></span>
|
||||
|
@ -4,10 +4,10 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="error-template text-center">
|
||||
<h1>Oops!</h1>
|
||||
<h1>Uh Oh!</h1>
|
||||
<h2>404 Not Found</h2>
|
||||
<div class="error-details">
|
||||
Sorry, an error has occured, Requested page not found!
|
||||
Unable to find the resource you are looking for. Please contact an Administrator if you think this is in error.
|
||||
</div>
|
||||
<br />
|
||||
<div class="error-actions">
|
||||
|
@ -4,12 +4,13 @@
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<div class="error-template text-center">
|
||||
<h1>Oops!</h1>
|
||||
<h1>Whoops!</h1>
|
||||
<h2>500 Server Error</h2>
|
||||
<div class="error-details">
|
||||
Sorry, a server error occured. Please contact an Administrator about this error.
|
||||
<br />
|
||||
@if (Model != null && HttpContext.Current.IsDebuggingEnabled)
|
||||
<br />
|
||||
@if (Model != null && Model.Exception != null)
|
||||
{
|
||||
<div class="text-left">
|
||||
<p>
|
||||
|
@ -6,6 +6,8 @@ using System.Web;
|
||||
using System.Web.Mvc;
|
||||
using System.Web.Security;
|
||||
using Teknik.Areas.Blog.Models;
|
||||
using Teknik.Areas.Error.Controllers;
|
||||
using Teknik.Areas.Error.ViewModels;
|
||||
using Teknik.Areas.Profile.Models;
|
||||
using Teknik.Areas.Profile.ViewModels;
|
||||
using Teknik.Controllers;
|
||||
@ -28,18 +30,18 @@ namespace Teknik.Areas.Profile.Controllers
|
||||
username = User.Identity.Name;
|
||||
}
|
||||
|
||||
ProfileViewModel model = null;
|
||||
ProfileViewModel model = new ProfileViewModel();
|
||||
ViewBag.Title = "User Does Not Exist - " + Config.Title;
|
||||
ViewBag.Message = "The User does not exist";
|
||||
|
||||
User user = db.Users.Where(u => u.Username == username).First();
|
||||
var userQuery = db.Users.Where(u => u.Username == username);
|
||||
|
||||
if (user != null)
|
||||
if (userQuery != null && userQuery.Any())
|
||||
{
|
||||
Models.User user = userQuery.First();
|
||||
ViewBag.Title = username + "'s Profile - " + Config.Title;
|
||||
ViewBag.Message = "Viewing " + username + "'s Profile";
|
||||
|
||||
model = new ProfileViewModel();
|
||||
|
||||
model.UserID = user.UserId;
|
||||
model.Username = user.Username;
|
||||
model.Email = string.Format("{0}@{1}", user.Username, Config.Host);
|
||||
@ -50,13 +52,16 @@ namespace Teknik.Areas.Profile.Controllers
|
||||
model.Quote = user.Quote;
|
||||
|
||||
// fill in Blog details
|
||||
Blog.Models.Blog blog = db.Blogs.Where(b => b.UserId == user.UserId && b.BlogId != Constants.SERVERBLOGID).First();
|
||||
if (blog != null)
|
||||
var blog = db.Blogs.Where(b => b.UserId == user.UserId && b.BlogId != Constants.SERVERBLOGID);
|
||||
if (blog != null && blog.Any())
|
||||
{
|
||||
model.BlogTitle = blog.Title;
|
||||
model.BlogDescription = blog.Description;
|
||||
Blog.Models.Blog foundBlog = blog.First();
|
||||
model.BlogTitle = foundBlog.Title;
|
||||
model.BlogDescription = foundBlog.Description;
|
||||
}
|
||||
return View(model);
|
||||
}
|
||||
model.Error = true;
|
||||
return View(model);
|
||||
}
|
||||
|
||||
@ -143,6 +148,7 @@ namespace Teknik.Areas.Profile.Controllers
|
||||
// Generate blog for the user
|
||||
var newBlog = db.Blogs.Create();
|
||||
newBlog.UserId = db.Users.Where(u => u.Username == model.Username).Select(u => u.UserId).First();
|
||||
db.Blogs.Add(newBlog);
|
||||
db.SaveChanges();
|
||||
}
|
||||
catch (Exception ex)
|
||||
@ -163,9 +169,10 @@ namespace Teknik.Areas.Profile.Controllers
|
||||
User user = db.Users.Where(u => u.Username == User.Identity.Name).First();
|
||||
if (user != null)
|
||||
{
|
||||
Blog.Models.Blog blog = db.Blogs.Where(b => b.UserId == user.UserId && b.BlogId != Constants.SERVERBLOGID).First();
|
||||
if (blog != null)
|
||||
var foundBlog = db.Blogs.Where(b => b.UserId == user.UserId && b.BlogId != Constants.SERVERBLOGID);
|
||||
if (foundBlog != null && foundBlog.Any())
|
||||
{
|
||||
Blog.Models.Blog blog = foundBlog.First();
|
||||
// Changing Password?
|
||||
if (!string.IsNullOrEmpty(curPass) && (!string.IsNullOrEmpty(newPass) || !string.IsNullOrEmpty(newPassConfirm)))
|
||||
{
|
||||
@ -204,12 +211,14 @@ namespace Teknik.Areas.Profile.Controllers
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
User user = db.Users.Where(u => u.Username == User.Identity.Name).First();
|
||||
if (user != null)
|
||||
var user = db.Users.Where(u => u.Username == User.Identity.Name);
|
||||
if (user != null && user.Any())
|
||||
{
|
||||
db.Users.Remove(user);
|
||||
Models.User foundUser = user.First();
|
||||
db.Users.Remove(foundUser);
|
||||
db.SaveChanges();
|
||||
return Logout();
|
||||
FormsAuthentication.SignOut();
|
||||
return Json(new { result = true });
|
||||
}
|
||||
}
|
||||
return Json(new { error = "Unable to delete user." });
|
||||
|
@ -8,7 +8,7 @@
|
||||
data: AddAntiForgeryToken({}),
|
||||
success: function (html) {
|
||||
if (html.result) {
|
||||
window.location.reload();
|
||||
window.location.replace(homeUrl);
|
||||
}
|
||||
else {
|
||||
$("#top_msg").css('display', 'inline', 'important');
|
||||
|
@ -1,19 +1,18 @@
|
||||
@model Teknik.Areas.Profile.ViewModels.ProfileViewModel
|
||||
|
||||
<script>
|
||||
var homeUrl = '@Url.SubRouteUrl("www", "Home.Index")';
|
||||
var editUserURL = '@Url.SubRouteUrl("profile", "Profile.Action", new { action = "Edit" })';
|
||||
var deleteUserURL = '@Url.SubRouteUrl("profile", "Profile.Action", new { action = "Delete" })';
|
||||
</script>
|
||||
|
||||
@Scripts.Render("~/bundles/profile")
|
||||
|
||||
@{
|
||||
bool OwnProfile = (Model.Username == User.Identity.Name);
|
||||
}
|
||||
|
||||
<div class="container">
|
||||
@if (Model != null)
|
||||
@if (!Model.Error)
|
||||
{
|
||||
bool OwnProfile = (Model.Username == User.Identity.Name);
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-3@((string.IsNullOrEmpty(Model.About) && !OwnProfile) ? " col-sm-offset-4" : string.Empty)"><h1>@Model.Username></h1></div>
|
||||
</div>
|
||||
|
@ -1,6 +1,7 @@
|
||||
@model Teknik.Areas.Profile.ViewModels.LoginViewModel
|
||||
|
||||
<form role="form" id="loginForm" action="@Url.SubRouteUrl("profile", "Profile.Login")" method="post" accept-charset="UTF-8">
|
||||
@Html.AntiForgeryToken()
|
||||
<input name="ReturnUrl" id="ReturnUrl" type="hidden" value="@Model.ReturnUrl" />
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" id="Username" value="" placeholder="Username" name="Username" data-val-required="The Username field is required." data-val="true" />
|
||||
|
@ -1,6 +1,7 @@
|
||||
@model Teknik.Areas.Profile.ViewModels.RegisterViewModel
|
||||
|
||||
<form role="form" id="registrationForm" action="@Url.SubRouteUrl("profile", "Profile.Register")" method="post" accept-charset="UTF-8">
|
||||
@Html.AntiForgeryToken()
|
||||
<input name="ReturnUrl" id="ReturnUrl" type="hidden" value="@Model.ReturnUrl" />
|
||||
<div class="form-group">
|
||||
<input type="text" class="form-control" id="Username" value="" placeholder="Username" name="Username" data-val-required="The Username field is required." data-val="true"/>
|
||||
|
@ -44,13 +44,16 @@ namespace Teknik
|
||||
{
|
||||
User user = entities.Users.Include("Groups").Include("Groups.Roles").SingleOrDefault(u => u.Username == username);
|
||||
|
||||
foreach (Group grp in user.Groups)
|
||||
if (user != null)
|
||||
{
|
||||
foreach (Role role in grp.Roles)
|
||||
foreach (Group grp in user.Groups)
|
||||
{
|
||||
if (!roles.Contains(role.Name))
|
||||
foreach (Role role in grp.Roles)
|
||||
{
|
||||
roles.Add(role.Name);
|
||||
if (!roles.Contains(role.Name))
|
||||
{
|
||||
roles.Add(role.Name);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -21,5 +21,14 @@ namespace Teknik.ViewModels
|
||||
return _config;
|
||||
}
|
||||
}
|
||||
|
||||
public bool Error { get; set; }
|
||||
|
||||
public string ErrorMessage { get; set; }
|
||||
|
||||
public ViewModelBase()
|
||||
{
|
||||
Error = false;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user