80 lines
3.2 KiB
Plaintext
80 lines
3.2 KiB
Plaintext
@model TopicModel
|
|
@if (Model.IsPasswordProtected)
|
|
{
|
|
<script asp-location="Footer">
|
|
$(function() {
|
|
$('#button-password-@Model.Id').on('click', function() {
|
|
var postData = {
|
|
id: $("#topic-@Model.Id").val(),
|
|
password: $('#password-@Model.Id').val()
|
|
};
|
|
addAntiForgeryToken(postData);
|
|
|
|
$.ajax({
|
|
cache: false,
|
|
type: "POST",
|
|
url: "@Url.RouteUrl("TopicAuthenticate")",
|
|
data: postData,
|
|
dataType: "json",
|
|
success: function (data, textStatus, jqXHR) {
|
|
if (data.Authenticated) {
|
|
$('#ph-topic-@Model.Id #ph-title-@Model.Id h2').html(data.Title);
|
|
if ($('#ph-topic-@Model.Id #ph-title-@Model.Id h2').text().length == 0) {
|
|
$('#ph-title-@Model.Id').hide();
|
|
}
|
|
$('#ph-topic-@Model.Id .topic-block-body').html(data.Body);
|
|
$('#ph-password-@Model.Id').hide();
|
|
$('#ph-topic-@Model.Id').show();
|
|
//we need to re-run the validation plugin after the content is loaded after successful authentication
|
|
$.validator.unobtrusive.parse('#ph-topic-@Model.Id');
|
|
} else {
|
|
$('#password-error-@Model.Id').text(data.Error).fadeIn("slow");
|
|
$('#ph-password-@Model.Id #password-@Model.Id').select().focus();
|
|
}
|
|
}
|
|
});
|
|
return false;
|
|
});
|
|
});
|
|
|
|
$(function() {
|
|
$('#ph-topic-@Model.Id').hide();
|
|
$('#ph-password-@Model.Id #password-@Model.Id').select().focus();
|
|
});
|
|
</script>
|
|
<div class="topic-password" id="ph-password-@Model.Id">
|
|
<form asp-route="TopicAuthenticate" method="post" autocomplete="off">
|
|
<input asp-for="Id" id="topic-@Model.Id" type="hidden"/>
|
|
<div class="enter-password-title">
|
|
@T("Topic.EnterPassword")
|
|
</div>
|
|
<div class="enter-password-form">
|
|
<input name="password" type="password" id="password-@(Model.Id)" />
|
|
<button type="submit" id="button-password-@Model.Id" class="button-1 topic-password-button">@T("Topic.Button")</button>
|
|
</div>
|
|
<div class="password-error" id="password-error-@Model.Id" style="display: none;"></div>
|
|
</form>
|
|
</div>
|
|
<div class="topic-block" id="ph-topic-@Model.Id">
|
|
<div class="topic-block-title" id="ph-title-@Model.Id">
|
|
<h2>@Model.Title</h2>
|
|
</div>
|
|
<div class="topic-block-body">
|
|
@Html.Raw(Model.Body)
|
|
</div>
|
|
</div>
|
|
}
|
|
else
|
|
{
|
|
<div class="topic-block">
|
|
@if (!string.IsNullOrEmpty(Model.Title))
|
|
{
|
|
<div class="topic-block-title">
|
|
<h2>@Model.Title</h2>
|
|
</div>
|
|
}
|
|
<div class="topic-block-body">
|
|
@Html.Raw(Model.Body)
|
|
</div>
|
|
</div>
|
|
} |