big refactoring, and more
New routes, new juice flow, the tags on posts
This commit is contained in:
parent
d04a68db01
commit
1805cb3e17
46 changed files with 1339 additions and 515 deletions
|
|
@ -30,6 +30,8 @@ using System.ComponentModel.DataAnnotations;
|
|||
|
||||
namespace Yavsc.Model.Blogs
|
||||
{
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Base post.
|
||||
/// </summary>
|
||||
|
|
@ -52,6 +54,9 @@ namespace Yavsc.Model.Blogs
|
|||
id = value;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// The posted.
|
||||
/// </summary>
|
||||
|
|
@ -125,13 +130,21 @@ namespace Yavsc.Model.Blogs
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the photo.
|
||||
/// </summary>
|
||||
/// <value>The photo.</value>
|
||||
public string Photo {
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets a value indicating whether this <see cref="Yavsc.Model.Blogs.BlogEntry"/> is visible.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if visible; otherwise, <c>false</c>.</value>
|
||||
public bool Visible { get; set ; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,16 +12,20 @@ namespace Yavsc.Model.Blogs
|
|||
/// </summary>
|
||||
public class BlogEntry : BasePost {
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the photo.
|
||||
/// Gets or sets the circles allowed to read this ticket.
|
||||
/// An empty collection specifies a public post.
|
||||
/// </summary>
|
||||
/// <value>The photo.</value>
|
||||
public string Photo {
|
||||
get;
|
||||
set;
|
||||
}
|
||||
|
||||
/// <value>The circles.</value>
|
||||
[Display(Name="Cercles autorisés")]
|
||||
public long[] AllowedCircles { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the tags.
|
||||
/// </summary>
|
||||
/// <value>The tags.</value>
|
||||
public string [] Tags { get; set ; }
|
||||
|
||||
string content;
|
||||
|
||||
|
|
@ -40,21 +44,6 @@ namespace Yavsc.Model.Blogs
|
|||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the circles allowed to read this ticket.
|
||||
/// An empty collection specifies a public post.
|
||||
/// </summary>
|
||||
/// <value>The circles.</value>
|
||||
[Display(Name="Cercles autorisés")]
|
||||
public long[] AllowedCircles { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Gets or sets the tags.
|
||||
/// </summary>
|
||||
/// <value>The tags.</value>
|
||||
public string [] Tags { get; set ; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -122,7 +122,11 @@ namespace Yavsc.Model.Blogs
|
|||
orderby be.Posted descending
|
||||
group
|
||||
new PostInfoByTitle { Author=be.Author, Id=be.Id,
|
||||
Posted=be.Posted, Modified=be.Modified, Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated) }
|
||||
Posted=be.Posted, Modified=be.Modified,
|
||||
Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated),
|
||||
Visible = be.Visible,
|
||||
Photo = be.Photo
|
||||
}
|
||||
by be.Title
|
||||
into titlegroup
|
||||
select titlegroup;
|
||||
|
|
@ -137,8 +141,15 @@ namespace Yavsc.Model.Blogs
|
|||
return from be in this
|
||||
orderby be.Posted descending
|
||||
group
|
||||
new PostInfoByUser { Title=be.Title, Id=be.Id,
|
||||
Posted=be.Posted, Modified=be.Modified, Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated) }
|
||||
new PostInfoByUser {
|
||||
Title=be.Title,
|
||||
Id=be.Id,
|
||||
Posted=be.Posted,
|
||||
Modified=be.Modified,
|
||||
Intro = MarkdownHelper.MarkdownIntro(be.Content, out truncated) ,
|
||||
Photo = be.Photo,
|
||||
Visible = be.Visible
|
||||
}
|
||||
by be.Author
|
||||
into usergroup
|
||||
select usergroup;
|
||||
|
|
|
|||
45
yavscModel/Blogs/PostTag.cs
Normal file
45
yavscModel/Blogs/PostTag.cs
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
//
|
||||
// PostTag.cs
|
||||
//
|
||||
// Author:
|
||||
// Paul Schneider <paul@pschneider.fr>
|
||||
//
|
||||
// Copyright (c) 2015 GNU GPL
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.Configuration;
|
||||
using System.Collections.Generic;
|
||||
using Yavsc.Model.Blogs;
|
||||
using System.Linq;
|
||||
using Yavsc.Model.Circles;
|
||||
using System.ComponentModel;
|
||||
using System.ComponentModel.DataAnnotations;
|
||||
|
||||
namespace Yavsc.Model.Blogs
|
||||
{
|
||||
|
||||
public class PostTag {
|
||||
public long PostId { get; set; }
|
||||
|
||||
[StringLength(512)]
|
||||
[RegularExpression(@"^[a-zA-Z0-9 ]+$",ErrorMessage = "Un tag n'est composé que de lettres et de chiffres, les espaces" +
|
||||
"sont autorisés")]
|
||||
[Required(ErrorMessage = "S'il vous plait, saisissez nom de tag")]
|
||||
public string Tag { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue