Skip to content

Commit 7ef0644

Browse files
author
alirizaadiyahsi
authored
Merge pull request #362 from personball/master
fix issues in vue template
2 parents 71110ee + 06b7ae5 commit 7ef0644

File tree

15 files changed

+203
-31
lines changed

15 files changed

+203
-31
lines changed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
using Abp.Application.Services.Dto;
2+
using System;
3+
4+
namespace AbpCompanyName.AbpProjectName.Users.Dto
5+
{
6+
//custom PagedResultRequestDto
7+
public class PagedUserResultRequestDto : PagedResultRequestDto
8+
{
9+
public string UserName { get; set; }
10+
public string Name { get; set; }
11+
public bool? IsActive { get; set; }
12+
public DateTimeOffset? From { get; set; }//javascript date within timezone
13+
public DateTimeOffset? To { get; set; }//javascript date within timezone
14+
}
15+
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Application/Users/IUserAppService.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
namespace AbpCompanyName.AbpProjectName.Users
88
{
9-
public interface IUserAppService : IAsyncCrudAppService<UserDto, long, PagedResultRequestDto, CreateUserDto, UserDto>
9+
public interface IUserAppService : IAsyncCrudAppService<UserDto, long, PagedUserResultRequestDto, CreateUserDto, UserDto>
1010
{
1111
Task<ListResultDto<RoleDto>> GetRoles();
1212

aspnet-core/src/AbpCompanyName.AbpProjectName.Application/Users/UserAppService.cs

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,13 @@
1616
using AbpCompanyName.AbpProjectName.Authorization.Users;
1717
using AbpCompanyName.AbpProjectName.Roles.Dto;
1818
using AbpCompanyName.AbpProjectName.Users.Dto;
19+
using Abp.Linq.Extensions;
20+
using Abp.Extensions;
1921

2022
namespace AbpCompanyName.AbpProjectName.Users
2123
{
2224
[AbpAuthorize(PermissionNames.Pages_Users)]
23-
public class UserAppService : AsyncCrudAppService<User, UserDto, long, PagedResultRequestDto, CreateUserDto, UserDto>, IUserAppService
25+
public class UserAppService : AsyncCrudAppService<User, UserDto, long, PagedUserResultRequestDto, CreateUserDto, UserDto>, IUserAppService
2426
{
2527
private readonly UserManager _userManager;
2628
private readonly RoleManager _roleManager;
@@ -124,9 +126,15 @@ protected override UserDto MapToEntityDto(User user)
124126
return userDto;
125127
}
126128

127-
protected override IQueryable<User> CreateFilteredQuery(PagedResultRequestDto input)
129+
protected override IQueryable<User> CreateFilteredQuery(PagedUserResultRequestDto input)
128130
{
129-
return Repository.GetAllIncluding(x => x.Roles);
131+
return
132+
Repository.GetAllIncluding(x => x.Roles)
133+
.WhereIf(!input.UserName.IsNullOrWhiteSpace(), x => x.UserName.Contains(input.UserName))
134+
.WhereIf(!input.Name.IsNullOrWhiteSpace(), x => x.Name.Contains(input.Name))
135+
.WhereIf(input.IsActive.HasValue, x => x.IsActive)
136+
.WhereIf(input.From.HasValue, x => x.CreationTime >= input.From.Value.LocalDateTime)
137+
.WhereIf(input.To.HasValue, x => x.CreationTime <= input.To.Value.LocalDateTime);
130138
}
131139

132140
protected override async Task<User> GetEntityByIdAsync(long id)
@@ -141,7 +149,7 @@ protected override async Task<User> GetEntityByIdAsync(long id)
141149
return user;
142150
}
143151

144-
protected override IQueryable<User> ApplySorting(IQueryable<User> query, PagedResultRequestDto input)
152+
protected override IQueryable<User> ApplySorting(IQueryable<User> query, PagedUserResultRequestDto input)
145153
{
146154
return query.OrderBy(r => r.UserName);
147155
}

aspnet-core/src/AbpCompanyName.AbpProjectName.Core/Localization/SourceFiles/AbpProjectName-zh-Hans.xml

Lines changed: 41 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,46 @@
2020
<text name="LogIn" value="登录" />
2121

2222
<text name="LoginFailed" value="登录失败!" />
23-
23+
24+
<text name="AppName" >AbpProjectName</text>
25+
<text name="UserNamePlaceholder" >请输入账户</text>
26+
<text name="PasswordPlaceholder" >请输入密码</text>
27+
<text name="CopyRight" >© 2018 AbpProjectName</text>
28+
<text name="LoginPrompt" >正在登陆,请稍候!</text>
29+
30+
<text name="UserProfile" >用户资料</text>
31+
<text name="Users" >用户</text>
32+
<text name="Roles" >角色</text>
33+
<text name="Tenants" >租户</text>
34+
<text name="Logout" >注销</text>
35+
36+
<text name="ManageMenu" >菜单</text>
37+
<text name="LabelOptions" >页签操作</text>
38+
<text name="ClearAll" >关闭所有</text>
39+
<text name="ClearOthers" >关闭其他</text>
40+
<text name="Create" >创建</text>
41+
<text name="Add" >添加</text>
42+
<text name="Edit" >编辑</text>
43+
<text name="Delete">删除</text>
44+
<text name="Find" >查找</text>
45+
<text name="CreationTime">创建时间</text>
46+
<text name="Actions">操作</text>
47+
<text name="Keyword">关键字</text>
48+
<text name="NoDatas">没有结果</text>
49+
<text name="Select">请选择</text>
50+
<text name="SelectDate">请选择</text>
51+
<text name="Tips">提示</text>
52+
<text name="DeleteConfirm">确定删除?</text>
53+
<text name="Title" >标题</text>
54+
<text name="Content" >内容</text>
55+
56+
<text name="ChangePassword" >修改密码</text>
57+
58+
<text name="PasswordComplexityNotSatisfied">密码复杂度要求不符.</text>
59+
<text name="PasswordRequireDigit">密码至少需要一位是0到9的数字.</text>
60+
<text name="PasswordRequireLowercase">密码至少需要一位是a到z的小写字母.</text>
61+
<text name="PasswordRequireNonAlphanumeric">密码至少需要包含一个特殊字符(非字母或数字的字符).</text>
62+
<text name="PasswordRequireUppercase">密码至少需要一位是A到Z的大写字母.</text>
63+
<text name="PasswordTooShort">密码长度太短</text>
2464
</texts>
2565
</localizationDictionary>

aspnet-core/src/AbpCompanyName.AbpProjectName.Web.Mvc/Controllers/UsersController.cs

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
using AbpCompanyName.AbpProjectName.Controllers;
77
using AbpCompanyName.AbpProjectName.Users;
88
using AbpCompanyName.AbpProjectName.Web.Models.Users;
9+
using AbpCompanyName.AbpProjectName.Users.Dto;
910

1011
namespace AbpCompanyName.AbpProjectName.Web.Controllers
1112
{
@@ -21,7 +22,7 @@ public UsersController(IUserAppService userAppService)
2122

2223
public async Task<ActionResult> Index()
2324
{
24-
var users = (await _userAppService.GetAll(new PagedResultRequestDto {MaxResultCount = int.MaxValue})).Items; // Paging not implemented yet
25+
var users = (await _userAppService.GetAll(new PagedUserResultRequestDto {MaxResultCount = int.MaxValue})).Items; // Paging not implemented yet
2526
var roles = (await _userAppService.GetRoles()).Items;
2627
var model = new UserListViewModel
2728
{

aspnet-core/test/AbpCompanyName.AbpProjectName.Tests/Users/UserAppService_Tests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ public UserAppService_Tests()
2121
public async Task GetUsers_Test()
2222
{
2323
// Act
24-
var output = await _userAppService.GetAll(new PagedResultRequestDto{MaxResultCount=20, SkipCount=0} );
24+
var output = await _userAppService.GetAll(new PagedUserResultRequestDto{MaxResultCount=20, SkipCount=0} );
2525

2626
// Assert
2727
output.Items.Count.ShouldBeGreaterThan(0);

rename.ps1

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
# set output encoding
2+
$OutputEncoding = [Text.UTF8Encoding]::UTF8
3+
4+
# company name placeholder
5+
$oldCompanyName="AbpCompanyName"
6+
# your company name
7+
$newCompanyName="YourCompanyName"
8+
9+
# project name placeholder
10+
$oldProjectName="AbpProjectName"
11+
# your project name
12+
$newProjectName="YourProjectName"
13+
14+
# file type
15+
$fileType="FileInfo"
16+
17+
# directory type
18+
$dirType="DirectoryInfo"
19+
20+
# copy
21+
Write-Host 'Start copy folders...'
22+
$newRoot=$newCompanyName+"."+$newProjectName
23+
mkdir $newRoot
24+
Copy-Item -Recurse .\aspnet-core\ .\$newRoot\
25+
Copy-Item -Recurse .\vue\ .\$newRoot\
26+
Copy-Item .gitignore .\$newRoot\
27+
Copy-Item LICENSE .\$newRoot\
28+
Copy-Item README.md .\$newRoot\
29+
30+
# folders to deal with
31+
$slnFolder = (Get-Item -Path "./$newRoot/aspnet-core/" -Verbose).FullName
32+
$vueFolder = (Get-Item -Path "./$newRoot/vue/" -Verbose).FullName
33+
34+
function Rename {
35+
param (
36+
$TargetFolder,
37+
$PlaceHolderCompanyName,
38+
$PlaceHolderProjectName,
39+
$NewCompanyName,
40+
$NewProjectName
41+
)
42+
# file extensions to deal with
43+
$include=@("*.cs","*.cshtml","*.asax","*.ps1","*.ts","*.csproj","*.sln","*.xaml","*.json","*.js","*.xml","*.config","Dockerfile")
44+
45+
$elapsed = [System.Diagnostics.Stopwatch]::StartNew()
46+
47+
Write-Host "[$TargetFolder]Start rename folder..."
48+
# rename folder
49+
Ls $TargetFolder -Recurse | Where { $_.GetType().Name -eq $dirType -and ($_.Name.Contains($PlaceHolderCompanyName) -or $_.Name.Contains($PlaceHolderProjectName)) } | ForEach-Object{
50+
Write-Host 'directory ' $_.FullName
51+
$newDirectoryName=$_.Name.Replace($PlaceHolderCompanyName,$NewCompanyName).Replace($PlaceHolderProjectName,$NewProjectName)
52+
Rename-Item $_.FullName $newDirectoryName
53+
}
54+
Write-Host "[$TargetFolder]End rename folder."
55+
Write-Host '-------------------------------------------------------------'
56+
57+
58+
# replace file content and rename file name
59+
Write-Host "[$TargetFolder]Start replace file content and rename file name..."
60+
Ls $TargetFolder -Include $include -Recurse | Where { $_.GetType().Name -eq $fileType} | ForEach-Object{
61+
$fileText = Get-Content $_ -Raw -Encoding UTF8
62+
if($fileText.Length -gt 0 -and ($fileText.contains($PlaceHolderCompanyName) -or $fileText.contains($PlaceHolderProjectName))){
63+
$fileText.Replace($PlaceHolderCompanyName,$NewCompanyName).Replace($PlaceHolderProjectName,$NewProjectName) | Set-Content $_ -Encoding UTF8
64+
Write-Host 'file(change text) ' $_.FullName
65+
}
66+
If($_.Name.contains($PlaceHolderCompanyName) -or $_.Name.contains($PlaceHolderProjectName)){
67+
$newFileName=$_.Name.Replace($PlaceHolderCompanyName,$NewCompanyName).Replace($PlaceHolderProjectName,$NewProjectName)
68+
Rename-Item $_.FullName $newFileName
69+
Write-Host 'file(change name) ' $_.FullName
70+
}
71+
}
72+
Write-Host "[$TargetFolder]End replace file content and rename file name."
73+
Write-Host '-------------------------------------------------------------'
74+
75+
$elapsed.stop()
76+
write-host "[$TargetFolder]Total Time Cost: $($elapsed.Elapsed.ToString())"
77+
}
78+
79+
Rename -TargetFolder $slnFolder -PlaceHolderCompanyName $oldCompanyName -PlaceHolderProjectName $oldProjectName -NewCompanyName $newCompanyName -NewProjectName $newProjectName
80+
Rename -TargetFolder $vueFolder -PlaceHolderCompanyName $oldCompanyName -PlaceHolderProjectName $oldProjectName -NewCompanyName $newCompanyName -NewProjectName $newProjectName
81+

vue/src/lib/appconst.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ const AppConsts= {
44
defaultAdminUserName: 'admin'
55
},
66
localization:{
7-
defaultLocalizationSourceName: 'FengCloud'
7+
defaultLocalizationSourceName: 'AbpProjectName'
88
},
99
authorization:{
1010
encrptedAuthTokenName: 'enc_auth_token'

vue/src/lib/url.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
1-
const URL = process.env.NODE_ENV === 'production' ? 'http://app.abzschina.com/AnBang/' : 'http://localhost:21021/';
1+
const URL = process.env.NODE_ENV === 'production' ? 'https://yourdomain/' : 'http://localhost:21021/';
22
export default URL;

vue/src/lib/util.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ class Util{
1010
document.body.appendChild(script);
1111
}
1212
buildFilters(filters:Filter[]){
13+
console.warn('SQL Injection warning.');
1314
let fileswhere:string[]=[];
1415
filters.forEach(f=>{
1516
let where='';

0 commit comments

Comments
 (0)