mirror of
https://github.com/lempamo/Project-Unite.git
synced 2025-02-02 04:57:35 +00:00
Ability to add user to role
This commit is contained in:
parent
ec06cd1752
commit
f8808ebe13
4 changed files with 42 additions and 5 deletions
|
@ -548,21 +548,50 @@ This user has been anonymized by an administrator.";
|
|||
}
|
||||
|
||||
// GET: Admin/AddUserToRole
|
||||
public ActionResult AddUserToRole()
|
||||
public ActionResult AddUserToRole(string id = "")
|
||||
{
|
||||
ViewBag.Admin = true;
|
||||
var model = new AddUserToRoleViewModel();
|
||||
|
||||
if (id == "")
|
||||
id = "user";
|
||||
model.RoleId = id;
|
||||
model.Users = new List<SelectListItem>();
|
||||
foreach (var u in db.Users.ToArray())
|
||||
{
|
||||
var user = u as ApplicationUser;
|
||||
model.Users.Add(new SelectListItem
|
||||
{
|
||||
Value = user.Id,
|
||||
Text = user.DisplayName
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
model.Roles = new List<SelectListItem>();
|
||||
foreach(var role in db.Roles.ToArray())
|
||||
{
|
||||
var r = role as Role;
|
||||
model.Roles.Add(new SelectListItem
|
||||
{
|
||||
Value = r.Id,
|
||||
Text = r.Name
|
||||
});
|
||||
}
|
||||
|
||||
return View(new AddUserToRoleViewModel());
|
||||
}
|
||||
|
||||
// POST: Admin/AddUserToRole
|
||||
[HttpPost]
|
||||
[ValidateAntiForgeryToken]
|
||||
public async Task<ActionResult> AddUserToRole(AddUserToRoleViewModel model)
|
||||
{
|
||||
var r = db.Roles.FirstOrDefault(role => role.Name == model.RoleId);
|
||||
var r = db.Roles.FirstOrDefault(role => role.Id == model.RoleId);
|
||||
var user = db.Users.FirstOrDefault(u => u.DisplayName == model.Username);
|
||||
var uMan = HttpContext.GetOwinContext().GetUserManager<ApplicationUserManager>();
|
||||
|
||||
var isInRole = await uMan.IsInRoleAsync(user.Id, r.Id);
|
||||
var isInRole = await uMan.IsInRoleAsync(user.Id, r.Name);
|
||||
|
||||
if(isInRole)
|
||||
{
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.ComponentModel;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.Mvc;
|
||||
|
||||
namespace Project_Unite.Models
|
||||
{
|
||||
|
@ -13,5 +14,8 @@ namespace Project_Unite.Models
|
|||
|
||||
[DisplayName("Role")]
|
||||
public string RoleId { get; set; }
|
||||
|
||||
public List<SelectListItem> Roles { get; set; }
|
||||
public List<SelectListItem> Users { get; set; }
|
||||
}
|
||||
}
|
|
@ -11,11 +11,11 @@
|
|||
<table class="table-condensed">
|
||||
<tr>
|
||||
<td>@Html.DisplayNameFor(model => model.Username)</td>
|
||||
<td>@Html.TextBoxFor(model => model.Username)</td>
|
||||
<td>@Html.DropdownListFor(model => model.Username, Model.Users, new { @class = "form-control" })</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>@Html.DisplayNameFor(model => model.RoleId)</td>
|
||||
<td>@Html.TextBoxFor(model => model.RoleId)</td>
|
||||
<td>@Html.DropDownListFor(model => model.RoleId, Model.Roles, new { @class = "form-control" })</td>
|
||||
</tr>
|
||||
|
||||
</table>
|
||||
|
|
|
@ -20,6 +20,10 @@
|
|||
|
||||
<p>Below is a list of users in this role.</p>
|
||||
|
||||
<ul class="nav nav-pills">
|
||||
<li><a href="@Url.Action("AddUserToRole", new { id = Model.Id })"><span class="glyphicon glyphicon-plus"></span> Add user to role</a></li>
|
||||
</ul>
|
||||
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th style="width:65%">User</th>
|
||||
|
|
Loading…
Add table
Reference in a new issue