no comment

This commit is contained in:
Paul Schneider 2017-10-04 23:53:47 +02:00
commit 0e49b13965
54 changed files with 6158 additions and 213 deletions

View file

@ -1,4 +1,4 @@
@model Blog
@model BlogPost
@{
ViewData["Title"] = "Create";

View file

@ -1,4 +1,4 @@
@model Blog
@model BlogPost
@{
ViewData["Title"] = "Delete";
}

View 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>

View file

@ -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>

View file

@ -1,4 +1,4 @@
@model Blog
@model BlogPost
@{
ViewData["Title"] = SR["Blog post edition"];

View file

@ -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>

View file

@ -1,4 +1,4 @@
@model IEnumerable<Blog>
@model IEnumerable<BlogPost>
<h2 markdown="@ViewData["Title"]"></h2>
<p class="text-success">@ViewData["StatusMessage"]</p>

View file

@ -1,4 +1,4 @@
@model IEnumerable<Blog>
@model IEnumerable<BlogPost>
@{
ViewData["Title"] = "User posts";
}

View file

@ -0,0 +1,74 @@
@model Yavsc.Models.Blog.Comment
@{
ViewData["Title"] = "Create";
}
<h2>Create</h2>
<form asp-action="Create">
<div class="form-horizontal">
<h4>Comment</h4>
<hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<div class="form-group">
<label asp-for="Content" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Content" class="form-control" />
<span asp-validation-for="Content" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="DateCreated" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DateCreated" class="form-control" />
<span asp-validation-for="DateCreated" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="DateModified" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DateModified" class="form-control" />
<span asp-validation-for="DateModified" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="PostId" class="col-md-2 control-label"></label>
<div class="col-md-10">
<select asp-for="PostId" class ="form-control"></select>
</div>
</div>
<div class="form-group">
<label asp-for="UserCreated" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="UserCreated" class="form-control" />
<span asp-validation-for="UserCreated" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="UserModified" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="UserModified" class="form-control" />
<span asp-validation-for="UserModified" class="text-danger" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Visible" />
<label asp-for="Visible"></label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Create" class="btn btn-default" />
</div>
</div>
</div>
</form>
<div>
<a asp-action="Index">Back to List</a>
</div>

View file

@ -0,0 +1,58 @@
@model Yavsc.Models.Blog.Comment
@{
ViewData["Title"] = "Delete";
}
<h2>Delete</h2>
<h3>Are you sure you want to delete this?</h3>
<div>
<h4>Comment</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Content)
</dt>
<dd>
@Html.DisplayFor(model => model.Content)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DateCreated)
</dt>
<dd>
@Html.DisplayFor(model => model.DateCreated)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DateModified)
</dt>
<dd>
@Html.DisplayFor(model => model.DateModified)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UserCreated)
</dt>
<dd>
@Html.DisplayFor(model => model.UserCreated)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UserModified)
</dt>
<dd>
@Html.DisplayFor(model => model.UserModified)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Visible)
</dt>
<dd>
@Html.DisplayFor(model => model.Visible)
</dd>
</dl>
<form asp-action="Delete">
<div class="form-actions no-color">
<input type="submit" value="Delete" class="btn btn-default" /> |
<a asp-action="Index">Back to List</a>
</div>
</form>
</div>

View file

@ -0,0 +1,54 @@
@model Yavsc.Models.Blog.Comment
@{
ViewData["Title"] = "Details";
}
<h2>Details</h2>
<div>
<h4>Comment</h4>
<hr />
<dl class="dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Content)
</dt>
<dd>
@Html.DisplayFor(model => model.Content)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DateCreated)
</dt>
<dd>
@Html.DisplayFor(model => model.DateCreated)
</dd>
<dt>
@Html.DisplayNameFor(model => model.DateModified)
</dt>
<dd>
@Html.DisplayFor(model => model.DateModified)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UserCreated)
</dt>
<dd>
@Html.DisplayFor(model => model.UserCreated)
</dd>
<dt>
@Html.DisplayNameFor(model => model.UserModified)
</dt>
<dd>
@Html.DisplayFor(model => model.UserModified)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Visible)
</dt>
<dd>
@Html.DisplayFor(model => model.Visible)
</dd>
</dl>
</div>
<p>
<a asp-action="Edit" asp-route-id="@Model.Id">Edit</a> |
<a asp-action="Index">Back to List</a>
</p>

View file

@ -0,0 +1,76 @@
@model Yavsc.Models.Blog.Comment
@{
ViewData["Title"] = "Edit";
}
<h2>Edit</h2>
<form asp-action="Edit">
<div class="form-horizontal">
<h4>Comment</h4>
<hr />
<div asp-validation-summary="ValidationSummary.ModelOnly" class="text-danger"></div>
<input type="hidden" asp-for="Id" />
<div class="form-group">
<label asp-for="Content" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="Content" class="form-control" />
<span asp-validation-for="Content" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="DateCreated" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DateCreated" class="form-control" />
<span asp-validation-for="DateCreated" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="DateModified" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="DateModified" class="form-control" />
<span asp-validation-for="DateModified" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="PostId" class="control-label col-md-2">PostId</label>
<div class="col-md-10">
<select asp-for="PostId" class="form-control" />
<span asp-validation-for="PostId" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="UserCreated" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="UserCreated" class="form-control" />
<span asp-validation-for="UserCreated" class="text-danger" />
</div>
</div>
<div class="form-group">
<label asp-for="UserModified" class="col-md-2 control-label"></label>
<div class="col-md-10">
<input asp-for="UserModified" class="form-control" />
<span asp-validation-for="UserModified" class="text-danger" />
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<div class="checkbox">
<input asp-for="Visible" />
<label asp-for="Visible"></label>
</div>
</div>
</div>
<div class="form-group">
<div class="col-md-offset-2 col-md-10">
<input type="submit" value="Save" class="btn btn-default" />
</div>
</div>
</div>
</form>
<div>
<a asp-action="Index">Back to List</a>
</div>

View file

@ -0,0 +1,62 @@
@model IEnumerable<Yavsc.Models.Blog.Comment>
@{
ViewData["Title"] = "Index";
}
<h2>Index</h2>
<p>
<a asp-action="Create">Create New</a>
</p>
<table class="table">
<tr>
<th>
@Html.DisplayNameFor(model => model.Content)
</th>
<th>
@Html.DisplayNameFor(model => model.DateCreated)
</th>
<th>
@Html.DisplayNameFor(model => model.DateModified)
</th>
<th>
@Html.DisplayNameFor(model => model.UserCreated)
</th>
<th>
@Html.DisplayNameFor(model => model.UserModified)
</th>
<th>
@Html.DisplayNameFor(model => model.Visible)
</th>
<th></th>
</tr>
@foreach (var item in Model) {
<tr>
<td>
@Html.DisplayFor(modelItem => item.Content)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateCreated)
</td>
<td>
@Html.DisplayFor(modelItem => item.DateModified)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserCreated)
</td>
<td>
@Html.DisplayFor(modelItem => item.UserModified)
</td>
<td>
@Html.DisplayFor(modelItem => item.Visible)
</td>
<td>
<a asp-action="Edit" asp-route-id="@item.Id">Edit</a> |
<a asp-action="Details" asp-route-id="@item.Id">Details</a> |
<a asp-action="Delete" asp-route-id="@item.Id">Delete</a>
</td>
</tr>
}
</table>

View file

@ -2,27 +2,27 @@
ViewData["Title"] = @"Créditer";
}
<h1>@ViewData["Title"]</h1>
<environement names="Development">
<environment names="Development">
<em>Gimmy da flooze</em>
</environement>
</environment>
<div id="paypal-button"></div>
<script src="https://www.paypalobjects.com/api/checkout.js"></script>
<environement names="lua,coiffure,zicmoove,yavsc,yavscpre">
<environment names="lua,coiffure,zicmoove,yavsc,yavscpre">
<script>
var CREATE_PAYMENT_URL = 'https://lua.pschneider.fr/api/payment/create';
var EXECUTE_PAYMENT_URL = 'https://lua.pschneider.fr/api/payment/execute';
var PAYPAL_ENV = 'sandbox';
</script>
</environement>
<environement names="Development">
</environment>
<environment names="Development">
<script>
var CREATE_PAYMENT_URL = 'https://dev.pschneider.fr/api/payment/create';
var EXECUTE_PAYMENT_URL = 'https://dev.pschneider.fr/api/payment/execute';
var PAYPAL_ENV = 'sandbox';
</script>
</environement>
</environment>
<script>
paypal.Button.render({

View file

@ -0,0 +1 @@
@model Comment

View file

@ -3,7 +3,7 @@
@model ITaggable<long>
<div class="container">
<environnement names="Development">
<environment names="Development">
<div class="row">
@ -26,5 +26,5 @@
</div>
</environnement>
</environment>
</div>

View file

@ -1,17 +0,0 @@
@model Blog
<dl class="blog dl-horizontal">
<dt>
@Html.DisplayNameFor(model => model.Title)
</dt>
<dd>
@Html.DisplayFor(model => model.Title)
</dd>
<dt>
@Html.DisplayNameFor(model => model.Author)
</dt>
<dd>
@Html.DisplayFor(model => model.Author)
</dd>
</dl>

View file

@ -2,7 +2,7 @@
<html lang="@System.Globalization.CultureInfo.CurrentUICulture.Name">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1, user-scalable=no" />
<meta name="viewport" content="width=device-width, initial-scale=1.0, shrink-to-fit=no" />
<link rel="icon" href="~/favicon.ico" asp-append-version="true" />
<title>@ViewData["Title"] - @SiteSettings.Value.Title</title>

View file

@ -26,6 +26,7 @@
@using Yavsc.Models.Calendar;
@using Yavsc.Models.Google.Calendar
@using Yavsc.Billing;
@using Yavsc.Models.Blog;
@using Yavsc.ViewModels;
@using Yavsc.ViewModels.Account;