75 lines
3.2 KiB
Plaintext
75 lines
3.2 KiB
Plaintext
@inherits Umbraco.Cms.Web.Common.Macros.PartialViewMacroPage
|
|
@using Umbraco.Cms.Core
|
|
@using Umbraco.Cms.Core.Security
|
|
@using Umbraco.Cms.Web.Website.Controllers
|
|
@using Umbraco.Cms.Web.Website.Models
|
|
@using Umbraco.Extensions
|
|
@inject MemberModelBuilderFactory memberModelBuilderFactory;
|
|
|
|
@{
|
|
// Build a profile model to edit
|
|
var profileModel = await memberModelBuilderFactory
|
|
.CreateProfileModel()
|
|
// If null or not set, this will redirect to the current page
|
|
.WithRedirectUrl(null)
|
|
// Include editable custom properties on the form
|
|
.WithCustomProperties(true)
|
|
.BuildForCurrentMemberAsync();
|
|
|
|
var success = TempData["FormSuccess"] != null;
|
|
}
|
|
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validate/1.19.0/jquery.validate.min.js"></script>
|
|
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-validation-unobtrusive/3.2.11/jquery.validate.unobtrusive.min.js"></script>
|
|
|
|
@if (profileModel != null)
|
|
{
|
|
if (success)
|
|
{
|
|
@* This message will show if profileModel.RedirectUrl is not defined (default) *@
|
|
<p class="text-success">Profile updated</p>
|
|
}
|
|
|
|
using (Html.BeginUmbracoForm<UmbProfileController>("HandleUpdateProfile", new { RedirectUrl = profileModel.RedirectUrl }))
|
|
{
|
|
<h2>Update your account.</h2>
|
|
<hr />
|
|
<div asp-validation-summary="All" class="text-danger"></div>
|
|
<div class="mb-3">
|
|
<label asp-for="@profileModel.Name" class="form-label"></label>
|
|
<input asp-for="@profileModel.Name" class="form-control" aria-required="true" />
|
|
<span asp-validation-for="@profileModel.Name" class="form-text text-danger"></span>
|
|
</div>
|
|
<div class="mb-3">
|
|
<label asp-for="@profileModel.Email" class="form-label"></label>
|
|
<input asp-for="@profileModel.Email" class="form-control" autocomplete="username" aria-required="true" />
|
|
<span asp-validation-for="@profileModel.Email" class="form-text text-danger"></span>
|
|
</div>
|
|
|
|
@if (!string.IsNullOrWhiteSpace(profileModel.UserName))
|
|
{
|
|
<div class="mb-3">
|
|
<label asp-for="@profileModel.UserName" class="form-label"></label>
|
|
<input asp-for="@profileModel.UserName" class="form-control" autocomplete="username" aria-required="true" />
|
|
<span asp-validation-for="@profileModel.UserName" class="form-text text-danger"></span>
|
|
</div>
|
|
}
|
|
|
|
@if (profileModel.MemberProperties != null)
|
|
{
|
|
for (var i = 0; i < profileModel.MemberProperties.Count; i++)
|
|
{
|
|
<div class="mb-3">
|
|
@Html.LabelFor(m => profileModel.MemberProperties[i].Value, profileModel.MemberProperties[i].Name)
|
|
<input asp-for="@profileModel.MemberProperties[i].Value" class="form-control" />
|
|
@Html.HiddenFor(m => profileModel.MemberProperties[i].Alias)
|
|
<span asp-validation-for="@profileModel.MemberProperties[i].Value" class="form-text text-danger"></span>
|
|
</div>
|
|
}
|
|
}
|
|
|
|
<button type="submit" class="btn btn-primary">Update</button>
|
|
}
|
|
}
|