Browse Source

Blogging module: more fixes

pull/441/head
Yunus Emre Kalkan 8 years ago
parent
commit
5610c85d2c
  1. 13
      modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Create.cshtml.cs
  2. 16
      modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Edit.cshtml.cs
  3. 18
      modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs
  4. 10
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml
  5. 2
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Edit.cshtml
  6. 16
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Edit.cshtml.cs
  7. 10
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml
  8. 1
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs
  9. 15
      modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/New.cshtml.cs

13
modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Create.cshtml.cs

@ -1,4 +1,6 @@
using System.ComponentModel.DataAnnotations;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.Bootstrap.TagHelpers.Form;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
@ -10,18 +12,25 @@ namespace Volo.Blogging.Pages.Admin.Blogs
public class CreateModel : AbpPageModel
{
private readonly IBlogAppService _blogAppService;
private readonly IAuthorizationService _authorization;
[BindProperty]
public BlogCreateModalView Blog { get; set; } = new BlogCreateModalView();
public CreateModel(IBlogAppService blogAppService)
public CreateModel(IBlogAppService blogAppService, IAuthorizationService authorization)
{
_blogAppService = blogAppService;
_authorization = authorization;
}
public void OnGet()
public async Task<ActionResult> OnGetAsync()
{
if (!await _authorization.IsGrantedAsync(BloggingPermissions.Blogs.Create))
{
return Redirect("/");
}
return Page();
}
public async void OnPostAsync()

16
modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Edit.cshtml.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs;
@ -13,6 +14,7 @@ namespace Volo.Blogging.Pages.Admin.Blogs
public class EditModel : AbpPageModel
{
private readonly IBlogAppService _blogAppService;
private readonly IAuthorizationService _authorization;
[BindProperty(SupportsGet = true)]
public Guid BlogId { get; set; }
@ -20,19 +22,27 @@ namespace Volo.Blogging.Pages.Admin.Blogs
[BindProperty]
public BlogEditViewModel Blog { get; set; } = new BlogEditViewModel();
public EditModel(IBlogAppService blogAppService)
public EditModel(IBlogAppService blogAppService, IAuthorizationService authorization)
{
_blogAppService = blogAppService;
_authorization = authorization;
}
public async Task OnGet()
public async Task<ActionResult> OnGetAsync()
{
if (!await _authorization.IsGrantedAsync(BloggingPermissions.Blogs.Update))
{
return Redirect("/");
}
var blog = await _blogAppService.GetAsync(BlogId);
Blog = ObjectMapper.Map<BlogDto, BlogEditViewModel>(blog);
return Page();
}
public async Task OnPost()
public async Task OnPostAsync()
{
await _blogAppService.Update(Blog.Id, new UpdateBlogDto()
{

18
modules/blogging/src/Volo.Blogging.Web/Pages/Admin/Blogs/Index.cshtml.cs

@ -1,13 +1,27 @@
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
namespace Volo.Blogging.Pages.Admin.Blogs
{
public class IndexModel : AbpPageModel
{
public async Task OnGetAsync()
private readonly IAuthorizationService _authorization;
public IndexModel(IAuthorizationService authorization)
{
_authorization = authorization;
}
public async Task<ActionResult> OnGetAsync()
{
if (!await _authorization.IsGrantedAsync(BloggingPermissions.Blogs.Management))
{
return Redirect("/");
}
return Page();
}
}
}

10
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Detail.cshtml

@ -38,37 +38,37 @@
<a asp-page="/Blog/Posts/Index" asp-route-blogShortName="@Model.BlogShortName">
<i class="fa fa fa-angle-left"></i> @L["Blog"]
</a>
<span class="vs-seperator">|</span>
@if (!string.IsNullOrWhiteSpace(Model.Blog.Facebook))
{
<span class="vs-seperator">|</span>
<a href="https://Facebook.com/@Model.Blog.Facebook" target="_blank">
<i class="fa fa-facebook"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Twitter))
{
<span class="vs-seperator">|</span>
<a href="https://twitter.com/@Model.Blog.Twitter" target="_blank">
<i class="fa fa-twitter"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Instagram))
{
<span class="vs-seperator">|</span>
<a href="https://Instagram.com/@Model.Blog.Instagram" target="_blank">
<i class="fa fa-instagram"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Github))
{
<span class="vs-seperator">|</span>
<a href="https://Github.com/@Model.Blog.Github" target="_blank">
<i class="fa fa-github"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.StackOverflow))
{
<span class="vs-seperator">|</span>
<a href="https://StackOverflow.com/@Model.Blog.StackOverflow" target="_blank">
<i class="fa fa-stack-overflow"></i>
</a>

2
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Edit.cshtml

@ -68,4 +68,4 @@
</div>
</form>
</div>
</div>

16
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Edit.cshtml.cs

@ -2,6 +2,7 @@ using System;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs;
@ -13,6 +14,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
{
private readonly IPostAppService _postAppService;
private readonly IBlogAppService _blogAppService;
private readonly IAuthorizationService _authorization;
[BindProperty(SupportsGet = true)]
public string BlogShortName { get; set; }
@ -23,20 +25,28 @@ namespace Volo.Blogging.Pages.Blog.Posts
[BindProperty]
public EditPostViewModel Post { get; set; }
public EditModel(IPostAppService postAppService, IBlogAppService blogAppService)
public EditModel(IPostAppService postAppService, IBlogAppService blogAppService, IAuthorizationService authorization)
{
_postAppService = postAppService;
_blogAppService = blogAppService;
_authorization = authorization;
}
public async Task OnGet()
public async Task<ActionResult> OnGetAsync()
{
if (!await _authorization.IsGrantedAsync(BloggingPermissions.Posts.Update))
{
return Redirect("/");
}
var postDto = await _postAppService.GetAsync(new Guid(PostId));
Post = ObjectMapper.Map<PostWithDetailsDto, EditPostViewModel>(postDto);
Post.Tags = String.Join(", ", postDto.Tags.Select(p=>p.Name).ToArray());
return Page();
}
public async Task<ActionResult> OnPost()
public async Task<ActionResult> OnPostAsync()
{
var post = new UpdatePostDto
{

10
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml

@ -47,38 +47,38 @@
@if (await Authorization.IsGrantedAsync(BloggingPermissions.Posts.Create))
{
<a asp-page="./New" asp-route-blogShortName="@Model.BlogShortName">@L["CreateANewPost"]</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Facebook))
{
<span class="vs-seperator">|</span>
<a href="https://Facebook.com/@Model.Blog.Facebook" target="_blank">
<i class="fa fa-facebook"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Twitter))
{
<span class="vs-seperator">|</span>
<a href="https://twitter.com/@Model.Blog.Twitter" target="_blank">
<i class="fa fa-twitter"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Instagram))
{
<span class="vs-seperator">|</span>
<a href="https://Instagram.com/@Model.Blog.Instagram" target="_blank">
<i class="fa fa-instagram"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.Github))
{
<span class="vs-seperator">|</span>
<a href="https://Github.com/@Model.Blog.Github" target="_blank">
<i class="fa fa-github"></i>
</a>
<span class="vs-seperator">|</span>
}
@if (!string.IsNullOrWhiteSpace(Model.Blog.StackOverflow))
{
<span class="vs-seperator">|</span>
<a href="https://StackOverflow.com/@Model.Blog.StackOverflow" target="_blank">
<i class="fa fa-stack-overflow"></i>
</a>

1
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/Index.cshtml.cs

@ -1,7 +1,6 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs;
using Volo.Blogging.Blogs.Dtos;

15
modules/blogging/src/Volo.Blogging.Web/Pages/Blog/Posts/New.cshtml.cs

@ -1,6 +1,8 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.Net;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc.UI.RazorPages;
using Volo.Blogging.Blogs;
@ -13,6 +15,7 @@ namespace Volo.Blogging.Pages.Blog.Posts
{
private readonly IPostAppService _postAppService;
private readonly IBlogAppService _blogAppService;
private readonly IAuthorizationService _authorization;
[BindProperty(SupportsGet = true)]
public string BlogShortName { get; set; }
@ -22,19 +25,27 @@ namespace Volo.Blogging.Pages.Blog.Posts
public BlogDto Blog { get; set; }
public NewModel(IPostAppService postAppService, IBlogAppService blogAppService)
public NewModel(IPostAppService postAppService, IBlogAppService blogAppService, IAuthorizationService authorization)
{
_postAppService = postAppService;
_blogAppService = blogAppService;
_authorization = authorization;
}
public async Task OnGetAsync()
public async Task<ActionResult> OnGetAsync()
{
if (!await _authorization.IsGrantedAsync(BloggingPermissions.Posts.Create))
{
return Redirect("/");
}
Blog = await _blogAppService.GetByShortNameAsync(BlogShortName);
Post = new CreatePostViewModel
{
BlogId = Blog.Id
};
return Page();
}
public async Task<ActionResult> OnPost()

Loading…
Cancel
Save