fix category,tag, news list
fix edit account details bug
This commit is contained in:
@ -17,12 +17,15 @@ namespace WebApplication1.Controllers
|
||||
// GET: categories
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewBag.role = Convert.ToInt32(Session["Userrole"]);
|
||||
return View(db.categories.ToList());
|
||||
}
|
||||
|
||||
// GET: categories/Details/5
|
||||
public ActionResult Details(int? id)
|
||||
{
|
||||
ViewBag.role = Convert.ToInt32(Session["Userrole"]);
|
||||
ViewBag.uid = Convert.ToInt32(Session["Userid"]);
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
@ -76,16 +79,28 @@ namespace WebApplication1.Controllers
|
||||
// GET: categories/Edit/5
|
||||
public ActionResult Edit(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
category category = db.categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
category category = db.categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
}
|
||||
|
||||
// POST: categories/Edit/5
|
||||
@ -107,16 +122,28 @@ namespace WebApplication1.Controllers
|
||||
// GET: categories/Delete/5
|
||||
public ActionResult Delete(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
category category = db.categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
category category = db.categories.Find(id);
|
||||
if (category == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(category);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
}
|
||||
|
||||
// POST: categories/Delete/5
|
||||
|
||||
@ -28,6 +28,8 @@ namespace WebApplication1.Controllers
|
||||
// GET: news
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewBag.role = Convert.ToInt32(Session["Userrole"]);
|
||||
ViewBag.uid = Convert.ToInt32(Session["Userid"]);
|
||||
var models = (from user in db.users // Access Users DbSet
|
||||
join news in db.news on user.ID equals news.userID into newsGroup // Join News DbSet
|
||||
from news in newsGroup.DefaultIfEmpty() // Left outer join
|
||||
@ -35,6 +37,7 @@ namespace WebApplication1.Controllers
|
||||
select new newsModel
|
||||
{
|
||||
DisplayName = user != null ? user.displayname : null,
|
||||
userID = user != null ? user.ID : 0,
|
||||
NewsID = news.ID, // Use null-conditional operator for missing news
|
||||
Title = news.title,
|
||||
Image = news.image,
|
||||
@ -185,16 +188,34 @@ namespace WebApplication1.Controllers
|
||||
// GET: news/Edit/5
|
||||
public ActionResult Edit(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
news news = db.news.Find(id);
|
||||
if (news == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
else if ( news.userID == Convert.ToInt32(Session["Userid"]) || Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
return View(news);
|
||||
}
|
||||
else
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
news news = db.news.Find(id);
|
||||
if (news == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(news);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
|
||||
}
|
||||
|
||||
// POST: news/Edit/5
|
||||
@ -216,16 +237,33 @@ namespace WebApplication1.Controllers
|
||||
// GET: news/Delete/5
|
||||
public ActionResult Delete(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
news news = db.news.Find(id);
|
||||
if (news == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
else if (news.userID == Convert.ToInt32(Session["Userid"]) || Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
return View(news);
|
||||
}
|
||||
else
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
news news = db.news.Find(id);
|
||||
if (news == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(news);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
}
|
||||
|
||||
// POST: news/Delete/5
|
||||
|
||||
@ -16,12 +16,15 @@ namespace WebApplication1.Models
|
||||
// GET: tags
|
||||
public ActionResult Index()
|
||||
{
|
||||
ViewBag.role = Convert.ToInt32(Session["Userrole"]);
|
||||
return View(db.tags.ToList());
|
||||
}
|
||||
|
||||
// GET: tags/Details/5
|
||||
public ActionResult Details(int? id)
|
||||
{
|
||||
ViewBag.role = Convert.ToInt32(Session["Userrole"]);
|
||||
ViewBag.uid = Convert.ToInt32(Session["Userid"]);
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
@ -75,16 +78,28 @@ namespace WebApplication1.Models
|
||||
// GET: tags/Edit/5
|
||||
public ActionResult Edit(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
tag tags = db.tags.Find(id);
|
||||
if (tags == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(tags);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
tag tag = db.tags.Find(id);
|
||||
if (tag == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(tag);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
}
|
||||
|
||||
// POST: tags/Edit/5
|
||||
@ -106,16 +121,28 @@ namespace WebApplication1.Models
|
||||
// GET: tags/Delete/5
|
||||
public ActionResult Delete(int? id)
|
||||
{
|
||||
if (id == null)
|
||||
if (Session["User"] != null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
if (Convert.ToInt32(Session["Userrole"]) == 1)
|
||||
{
|
||||
if (id == null)
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.BadRequest);
|
||||
}
|
||||
tag tags = db.tags.Find(id);
|
||||
if (tags == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(tags);
|
||||
}
|
||||
else
|
||||
{
|
||||
return new HttpStatusCodeResult(HttpStatusCode.Unauthorized);
|
||||
}
|
||||
}
|
||||
tag tag = db.tags.Find(id);
|
||||
if (tag == null)
|
||||
{
|
||||
return HttpNotFound();
|
||||
}
|
||||
return View(tag);
|
||||
else
|
||||
return RedirectToAction("index", "home");
|
||||
}
|
||||
|
||||
// POST: tags/Delete/5
|
||||
|
||||
@ -261,15 +261,20 @@ namespace WebApplication1.Controllers
|
||||
{
|
||||
if (ModelState.IsValid)
|
||||
{
|
||||
// Hash the password
|
||||
using (var sha256 = SHA256.Create())
|
||||
{
|
||||
var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(user.password));
|
||||
user.password = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
|
||||
var u = db.users.Find(user.ID);
|
||||
|
||||
if (user.password != null){
|
||||
// Hash the password
|
||||
using (var sha256 = SHA256.Create())
|
||||
{
|
||||
var hashedBytes = sha256.ComputeHash(Encoding.UTF8.GetBytes(user.password));
|
||||
user.password = BitConverter.ToString(hashedBytes).Replace("-", "").ToLower();
|
||||
u.password = user.password;
|
||||
}
|
||||
}
|
||||
var u= db.users.Find(user.ID);
|
||||
u.password = user.password;
|
||||
|
||||
u.displayname = user.displayname;
|
||||
|
||||
db.SaveChanges();
|
||||
return RedirectToAction("Index");
|
||||
}
|
||||
|
||||
@ -9,6 +9,7 @@ namespace WebApplication1.Models
|
||||
{
|
||||
public string DisplayName { get; set; }
|
||||
public int NewsID { get; set; }
|
||||
public int userID { get; set; }
|
||||
public string Title { get; set; }
|
||||
public string Image { get; set; }
|
||||
public string category { get; set; }
|
||||
|
||||
@ -11,9 +11,6 @@
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.title)
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.link)
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.tag)
|
||||
</th>
|
||||
@ -29,9 +26,6 @@
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.title)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.link)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.tag)
|
||||
</td>
|
||||
@ -39,9 +33,14 @@
|
||||
@Html.DisplayFor(modelItem => item.cat)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.ID }) |
|
||||
@Html.ActionLink("Details", "Details", new { id = item.ID }) |
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
|
||||
@Html.ActionLink("Read", "../news/Details", new { id = item.ID })|
|
||||
@if (ViewBag.role == 1 || ViewBag.uid == item.userID)
|
||||
{
|
||||
|
||||
@Html.ActionLink("Edit", "../news/Edit", new { id = item.ID })
|
||||
<span>|</span>
|
||||
@Html.ActionLink("Delete", "../news/Delete", new { id = item.ID })
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@ -29,9 +29,15 @@
|
||||
@Html.DisplayFor(modelItem => item.title)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edit", "Edit", new { id=item.ID }) |
|
||||
@Html.ActionLink("Details", "Details", new { id=item.ID }) |
|
||||
@Html.ActionLink("Delete", "Delete", new { id=item.ID })
|
||||
|
||||
@Html.ActionLink("Details", "Details", new { id = item.ID }) |
|
||||
@if (ViewBag.role == 1)
|
||||
{
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.ID })
|
||||
<span>|</span>
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
|
||||
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
|
||||
@{
|
||||
ViewBag.Title = "Index";
|
||||
|
||||
}
|
||||
|
||||
<h2>Index</h2>
|
||||
@ -56,9 +57,17 @@
|
||||
@Html.DisplayFor(modelItem => item.views)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.NewsID }) |
|
||||
@Html.ActionLink("Details", "Details", new { id = item.NewsID }) |
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.NewsID })
|
||||
|
||||
@Html.ActionLink("Read", "Details", new { id = item.NewsID })|
|
||||
@if (ViewBag.role == 1 || ViewBag.uid == item.userID)
|
||||
{
|
||||
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.NewsID })
|
||||
<span>|</span>
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.NewsID })
|
||||
|
||||
}
|
||||
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@ -11,9 +11,6 @@
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.title)
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.link)
|
||||
</th>
|
||||
<th>
|
||||
@Html.DisplayNameFor(model => model.tag)
|
||||
</th>
|
||||
@ -29,9 +26,6 @@
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.title)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.link)
|
||||
</td>
|
||||
<td>
|
||||
@Html.DisplayFor(modelItem => item.tag)
|
||||
</td>
|
||||
@ -39,9 +33,15 @@
|
||||
@Html.DisplayFor(modelItem => item.cat)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.ID }) |
|
||||
@Html.ActionLink("Details", "Details", new { id = item.ID }) |
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.ID })
|
||||
@Html.ActionLink("Read", "../news/Details", new { id = item.ID })|
|
||||
@if (ViewBag.role == 1 || ViewBag.uid == item.userID)
|
||||
{
|
||||
|
||||
@Html.ActionLink("Edit", "../news/Edit", new { id = item.ID })
|
||||
<span>|</span>
|
||||
@Html.ActionLink("Delete", "../news/Delete", new { id = item.ID })
|
||||
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
@ -29,9 +29,14 @@
|
||||
@Html.DisplayFor(modelItem => item.title)
|
||||
</td>
|
||||
<td>
|
||||
@Html.ActionLink("Edit", "Edit", new { id=item.code }) |
|
||||
@Html.ActionLink("Details", "Details", new { id=item.code }) |
|
||||
@Html.ActionLink("Delete", "Delete", new { id=item.code })
|
||||
@Html.ActionLink("Details", "Details", new { id = item.code }) |
|
||||
@if (ViewBag.role == 1)
|
||||
{
|
||||
@Html.ActionLink("Edit", "Edit", new { id = item.code })
|
||||
<span>|</span>
|
||||
@Html.ActionLink("Delete", "Delete", new { id = item.code })
|
||||
|
||||
}
|
||||
</td>
|
||||
</tr>
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user