no comment
This commit is contained in:
parent
176c0411df
commit
0e49b13965
54 changed files with 6158 additions and 213 deletions
|
|
@ -1,4 +1,4 @@
|
|||
@model Blog
|
||||
@model BlogPost
|
||||
|
||||
@{
|
||||
ViewData["Title"] = "Create";
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@model Blog
|
||||
@model BlogPost
|
||||
@{
|
||||
ViewData["Title"] = "Delete";
|
||||
}
|
||||
|
|
|
|||
84
Yavsc/Views/Blogspot/Details.1.cshtml
Normal file
84
Yavsc/Views/Blogspot/Details.1.cshtml
Normal file
|
|
@ -0,0 +1,84 @@
|
|||
@model BlogPost
|
||||
@{
|
||||
ViewData["Title"]=Model.Title;
|
||||
}
|
||||
<!--
|
||||
@section scripts {
|
||||
<script src="~/js/comment.js" asp-append-version="true"></script>
|
||||
<script>
|
||||
$(document).ready() {
|
||||
var doComment = new function(ctrlr, receiverid, comment) {
|
||||
console.log('commentting:' + comment);
|
||||
$.post(ctrlr, { Content: comment, Receiver: @Model.Id })
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
</script>
|
||||
}
|
||||
-->
|
||||
<div class="container">
|
||||
<h1 class="blogtitle" ismarkdown>@Model.Title</h1>
|
||||
<img class="blogphoto" alt="" src="@Model.Photo" >
|
||||
|
||||
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
<span class="icon-bar"></span>
|
||||
</button>
|
||||
|
||||
<div class="blogpost">
|
||||
|
||||
<div markdown="@Model.Content" class="blog"></div>
|
||||
<hr/>
|
||||
|
||||
<div class="meta">
|
||||
@Html.DisplayFor(model => model.Author)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateModified) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateModified)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateCreated) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateCreated)
|
||||
|
||||
@Component.Invoke("Tagger",Model)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="comments">
|
||||
<!-- @foreach (var comment in model=>model.Comments) {
|
||||
<div markdown="@Model.Content" class="blogcomment">
|
||||
</div>
|
||||
<div markdown="@Model.Content" class="commentauthor">
|
||||
@Html.Display("ApplicationUser",c.Author)
|
||||
</div>
|
||||
}
|
||||
|
||||
<form>
|
||||
<div class="form-horizontal">
|
||||
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
|
||||
<div class="input-group" >
|
||||
<input asp-for="Content" class="form-control" placeholder="@SR["DoCommentPlaceHolder"]"/>
|
||||
<span class="input-group-btn">
|
||||
<input type="button" value="@SR["DoComment"]" class="btn btn-secondary"
|
||||
onclick="doComment('@ViewData["apictlr"]',@Model.PostId,$('#Content').val())"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
<span asp-validation-for="Content" class="text-danger" >
|
||||
</span>
|
||||
|
||||
<input type="hidden" name="PostId" value="@Model.PostId"/>
|
||||
<input type="hidden" name="Id" value="@Model.Id"/>
|
||||
|
||||
</form>
|
||||
</div>
|
||||
-->
|
||||
</div>
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, Model, new EditRequirement())) {
|
||||
<a asp-action="Edit" asp-route-id="@Model.Id" class="btn btn-link">@SR["Edit"]</a>
|
||||
}
|
||||
<a asp-action="Index" class="btn btn-link">@SR["Back to List"]</a>
|
||||
|
|
@ -1,31 +1,101 @@
|
|||
@model Blog
|
||||
@{
|
||||
ViewData["Title"]=Model.Title;
|
||||
}
|
||||
|
||||
<div class="blogpost">
|
||||
<h1 class="blogtitle" ismarkdown>@Model.Title</h1>
|
||||
<img class="blogphoto" alt="" src="@Model.Photo" >
|
||||
|
||||
<div markdown="@Model.Content" class="blog"></div>
|
||||
<hr/>
|
||||
|
||||
<div class="meta">
|
||||
@Html.DisplayFor(model => model.Author)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateModified) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateModified)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateCreated) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateCreated)
|
||||
|
||||
@Component.Invoke("Tagger",Model)
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, Model, new EditRequirement())) {
|
||||
<a asp-action="Edit" asp-route-id="@Model.Id" class="btn btn-link">@SR["Edit"]</a>
|
||||
}
|
||||
<a asp-action="Index" class="btn btn-link">@SR["Back to List"]</a>
|
||||
@model BlogPost
|
||||
@{
|
||||
ViewData["Title"]=Model.Title;
|
||||
}
|
||||
@section header {
|
||||
<script>
|
||||
$(document).ready(function() {
|
||||
$('#cmtBtn').click(function() {
|
||||
var receiverid = $(this).data('receiverid');
|
||||
|
||||
var comment = $('#Comment').val();
|
||||
var data = {
|
||||
Id:0,
|
||||
Content: comment,
|
||||
PostId: receiverid,
|
||||
UserCreated: '@User.GetUserId()',
|
||||
Visible:true
|
||||
};
|
||||
console.log('sending:');
|
||||
console.log(data);
|
||||
|
||||
$.ajax({
|
||||
async: true,
|
||||
cache: false,
|
||||
type: 'POST',
|
||||
method: 'POST',
|
||||
contentType: "application/json",
|
||||
data: JSON.stringify(data),
|
||||
error: function(xhr,data) {
|
||||
if (xhr.status=400)
|
||||
{
|
||||
console.log(xhr.responseJSON);
|
||||
$('span.field-validation-valid[data-valmsg-for="Content"]').html(
|
||||
xhr.responseJSON.Content);
|
||||
} else {
|
||||
$('span.field-validation-valid[data-valmsg-for="Content"]').html(
|
||||
"Une erreur est survenue : "+xhr.status+"<br/>"+
|
||||
"<code><pre>"+xhr.responseText+"</pre></code>"
|
||||
)
|
||||
}
|
||||
|
||||
},
|
||||
success: function () {
|
||||
$('#Comment').val("");
|
||||
$('span.field-validation-valid[data-valmsg-for="Content"]').empty();
|
||||
},
|
||||
url:'@ViewData["apicmtctlr"]'
|
||||
});
|
||||
});
|
||||
})
|
||||
</script>
|
||||
}
|
||||
<div class="container">
|
||||
<h1 class="blogtitle" ismarkdown>@Model.Title</h1>
|
||||
<img class="blogphoto" alt="" src="@Model.Photo" >
|
||||
<div class="blogpost">
|
||||
|
||||
<div markdown="@Model.Content" class="blog"></div>
|
||||
<hr/>
|
||||
|
||||
<div class="meta">
|
||||
@Html.DisplayFor(model => model.Author)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateModified) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateModified)
|
||||
|
||||
@Html.DisplayNameFor(model => model.DateCreated) :
|
||||
|
||||
@Html.DisplayFor(model => model.DateCreated)
|
||||
|
||||
@Component.Invoke("Tagger",Model)
|
||||
</div>
|
||||
|
||||
<div class="comments">
|
||||
@foreach (Comment comment in Model.Comments) {
|
||||
<div markdown="@comment.Content" class="blogcomment">
|
||||
</div>
|
||||
}
|
||||
|
||||
<form>
|
||||
<div class="form-horizontal">
|
||||
<div class="input-group" >
|
||||
<input id="Comment" class="form-control" placeholder="@SR["DoCommentPlaceHolder"]"/>
|
||||
<span class="input-group-btn">
|
||||
<input type="button" value="@SR["DoComment"]" class="btn btn-secondary"
|
||||
data-receiverid="@Model.Id" id="cmtBtn"
|
||||
/>
|
||||
</span>
|
||||
</div>
|
||||
<span asp-validation-for="Content" class="text-danger" >
|
||||
</span>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, Model, new EditRequirement())) {
|
||||
<a asp-action="Edit" asp-route-id="@Model.Id" class="btn btn-link">@SR["Edit"]</a>
|
||||
}
|
||||
<a asp-action="Index" class="btn btn-link">@SR["Back to List"]</a>
|
||||
</div>
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
@model Blog
|
||||
@model BlogPost
|
||||
|
||||
@{
|
||||
ViewData["Title"] = SR["Blog post edition"];
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@model IEnumerable<IGrouping<BlogIndexKey,Blog>>
|
||||
@model IEnumerable<IGrouping<BlogIndexKey,BlogPost>>
|
||||
@{
|
||||
ViewData["Title"] = "Blogs, l'index";
|
||||
// Regroup!?!
|
||||
|
|
@ -17,6 +17,9 @@
|
|||
td {
|
||||
transition: height 1s;
|
||||
}
|
||||
[class*="col-"] {
|
||||
border: solid 1px blue;
|
||||
}
|
||||
</style>
|
||||
}
|
||||
@section scripts {
|
||||
|
|
@ -50,28 +53,24 @@
|
|||
<a asp-action="Create">@SR["Create a new article"]</a>
|
||||
</p>
|
||||
}
|
||||
<table class="table">
|
||||
<tr>
|
||||
<th>
|
||||
@SR["Title"]
|
||||
</th>
|
||||
<th>
|
||||
aperçu
|
||||
</th>
|
||||
</tr>
|
||||
|
||||
<div class="container">
|
||||
|
||||
|
||||
|
||||
@foreach (var group in Model) {
|
||||
var title = group.Key.Title;
|
||||
string secondclass="";
|
||||
var first = group.First();
|
||||
string trclass = (first.Visible) ? "visiblepost" : "hiddenpost";
|
||||
<tr class="@trclass">
|
||||
<td><a asp-action="Details" asp-route-id="@first.Id" class="bloglink">
|
||||
<img src="@first.Photo" class="smalltofhol"></a>
|
||||
<a asp-action="Title" asp-route-id="@title">
|
||||
<markdown>@first.Title</markdown></a>
|
||||
</td>
|
||||
<td>
|
||||
<div class="row @trclass">
|
||||
<div class="col-xs-10">
|
||||
|
||||
<a asp-action="Details" asp-route-id="@first.Id" class="bloglink">
|
||||
<img src="@first.Photo" class="smalltofhol"></a>
|
||||
<a asp-action="Title" asp-route-id="@title">
|
||||
<markdown>@first.Title</markdown></a>
|
||||
|
||||
<markdown>@((first.Content?.Length > 120) ? first.Content.Substring(0, 120) + " ..." : first.Content)</markdown>
|
||||
<span style="font-size:x-small;">(@first.Author.UserName </span>,
|
||||
<span style="font-size:xx-small;">
|
||||
|
|
@ -81,23 +80,9 @@
|
|||
})
|
||||
</span>
|
||||
|
||||
@if (group.Count()>1) {
|
||||
<div class="sametitle">
|
||||
Au même titre:
|
||||
<table>
|
||||
|
||||
@foreach (var item in group.Skip(1)) {
|
||||
trclass = ((item.Visible)?"visiblepost":"hiddenpost");
|
||||
|
||||
<tr class="@trclass"><td>le @item.DateModified.ToString("dddd d MMM yyyy à H:mm")</td>
|
||||
<td><markdown>@((item.Content?.Length > 120) ? item.Content.Substring(0, 120) + " ..." : item.Content)</markdown>
|
||||
</td>
|
||||
<td> <a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">Details</a>
|
||||
</td></tr>
|
||||
} </table></div>
|
||||
}
|
||||
</td>
|
||||
<td>
|
||||
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<ul class="actiongroup">
|
||||
@if (await AuthorizationService.AuthorizeAsync(User, first, new ViewRequirement())) {
|
||||
<li>
|
||||
|
|
@ -111,9 +96,31 @@
|
|||
</li>
|
||||
}
|
||||
</ul>
|
||||
</td>
|
||||
</tr>
|
||||
</div>
|
||||
</div>
|
||||
long gcount = group.Count();
|
||||
@if (gcount>1) {
|
||||
<div class="sametitle">
|
||||
@(gcount-1) autre@(gcount>2?"s":"") au même titre:
|
||||
|
||||
@foreach (var item in group.Skip(1)) {
|
||||
trclass = ((item.Visible)?"visiblepost":"hiddenpost");
|
||||
<div class="row @trclass">
|
||||
<div class="col-xs-10">
|
||||
<markdown>
|
||||
@((item.Content?.Length > 120) ? item.Content.Substring(0, 120) + "..." : item.Content)
|
||||
</markdown>
|
||||
</div>
|
||||
<div class="col-xs-2">
|
||||
<a asp-action="Details" asp-route-id="@item.Id" class="btn btn-lg">
|
||||
le @item.DateModified.ToString("dddd d MMM yyyy à H:mm")
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
}
|
||||
</div>
|
||||
}
|
||||
}
|
||||
</table>
|
||||
</div>
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@model IEnumerable<Blog>
|
||||
@model IEnumerable<BlogPost>
|
||||
|
||||
<h2 markdown="@ViewData["Title"]"></h2>
|
||||
<p class="text-success">@ViewData["StatusMessage"]</p>
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
@model IEnumerable<Blog>
|
||||
@model IEnumerable<BlogPost>
|
||||
@{
|
||||
ViewData["Title"] = "User posts";
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue