Minimal profile editing.

This commit is contained in:
Michael 2017-03-25 15:14:27 -04:00
parent 7fced3d987
commit 84285d2ffb
2 changed files with 131 additions and 16 deletions

View file

@ -237,6 +237,78 @@ namespace Project_Unite.Controllers
return View(model);
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeFullName(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.FullName = model.FullName;
db.SaveChanges();
return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeBio(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.Bio = model.Bio;
db.SaveChanges();
return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeInterests(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.Interests = model.Interests;
db.SaveChanges();
return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeHobbies(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.Hobbies = model.Hobbies;
db.SaveChanges();
return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeYouTube(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.YoutubeUrl = model.YoutubeUrl;
db.SaveChanges();
return RedirectToAction("Index");
}
[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult ChangeWebsite(ApplicationUser model)
{
var db = new ApplicationDbContext();
var usr = db.Users.FirstOrDefault(x => x.UserName == User.Identity.Name);
usr.Website = model.Website;
db.SaveChanges();
return RedirectToAction("Index");
}
//
// GET: /Manage/SetPassword
public ActionResult SetPassword()

View file

@ -29,13 +29,11 @@
<tr>
<td><strong>Full name:</strong></td>
<td>
@if (string.IsNullOrWhiteSpace(Model.FullName))
@using(Html.BeginForm("ChangeFullName", "Manage"))
{
<p><em>Not provided.</em></p>
}
else
{
<p>@Model.FullName</p>
@Html.AntiForgeryToken()
@Html.TextBoxFor(Model=>Model.FullName, new { @class="form-control"})
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
</tr>
@ -48,17 +46,62 @@
<td><p>@Model.Codepoints</p></td>
</tr>
<tr>
<td>Links</td>
<td><strong>Hobbies</strong><br />What do you like to do? <em>Separate each hobby with a comma.</em></td>
<td>
@if (!string.IsNullOrWhiteSpace(Model.YoutubeUrl)) {
<a href="@Model.YoutubeUrl"><span class="glyphicon glyphicon-hd-video"></span></a>
}
&nbsp;&nbsp;
@if (!string.IsNullOrWhiteSpace(Model.Website)) {
<a href="@Model.Website">Website</a>
@using (Html.BeginForm("ChangeHobbies", "Manage"))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(Model => Model.Hobbies, new { @class = "form-control" })
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
</tr>
<tr>
<td><strong>Interests</strong><br />What are you interested in? <em>Separate each interest with a comma.</em></td>
<td>
@using (Html.BeginForm("ChangeInterests", "Manage"))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(Model => Model.Interests, new { @class = "form-control" })
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
</tr>
<tr>
<td><strong>About you</strong><br />Introduce yourself! <em>Markdown formatting is supported.</em></td>
<td>
@using (Html.BeginForm("ChangeBio", "Manage"))
{
@Html.AntiForgeryToken()
@Html.TextAreaFor(Model => Model.Bio, new { rows="5", @class = "form-control" })
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
</tr>
<tr>
<td><strong>Website</strong><br/>If you have a website, post its URL here!</td>
<td>
@using (Html.BeginForm("ChangeWebsite", "Manage"))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(Model => Model.Website, new { @class = "form-control" })
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
<tr/>
<tr>
<td><strong>YouTube</strong><br />If you have a YouTube channel, post its URL here!</td>
<td>
@using (Html.BeginForm("ChangeYouTube", "Manage"))
{
@Html.AntiForgeryToken()
@Html.TextBoxFor(Model => Model.YoutubeUrl, new { @class = "form-control" })
<input type="submit" value="Set" class="btn btn-default" />
}
</td>
</tr>
</table>
</div>
<div class="tab-pane" id="t_badges">