Browse Source

fix: 调整多语言权限

pull/126/head 7.2.2.16
wangjun 3 years ago
parent
commit
df206383c4
  1. 2
      aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProCapPermissionDefinitionProvider.cs
  2. 1
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/GlobalUsings.cs
  3. 17
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs
  4. 6
      aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementDomainSharedModule.cs
  5. 1
      aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application.Contracts/GlobalUsings.cs
  6. 8
      aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application.Contracts/Permissions/DataDictionaryManagementPermissionDefinitionProvider.cs
  7. 1
      aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/GlobalUsings.cs
  8. 16
      aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/Permissions/LanguageManagementPermissionDefinitionProvider.cs
  9. 4
      aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/Permissions/LanguageManagementPermissions.cs
  10. 2
      aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs
  11. 2
      aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs
  12. 3
      templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/language/Index.vue
  13. 2
      templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/languageText/Index.vue
  14. 197
      templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/roles/AbpRole.vue
  15. 3
      templates/abp-vnext-pro-nuget-simplify/vben28/src/views/admin/language/Index.vue
  16. 2
      templates/abp-vnext-pro-nuget-simplify/vben28/src/views/admin/languageText/Index.vue
  17. 3
      vben28/src/views/admin/language/Index.vue
  18. 2
      vben28/src/views/admin/languageText/Index.vue

2
aspnet-core/frameworks/src/Lion.AbpPro.CAP/Lion/AbpPro/CAP/AbpProCapPermissionDefinitionProvider.cs

@ -6,7 +6,7 @@ public class AbpProCapPermissionDefinitionProvider : PermissionDefinitionProvide
{
var abpIdentityGroup = context.GetGroup(AbpProCapPermissions.CapManagement.Default);
abpIdentityGroup.AddPermission(AbpProCapPermissions.CapManagement.Cap, L("Permission:Cap"));
abpIdentityGroup.AddPermission(AbpProCapPermissions.CapManagement.Cap, L("Permission:Cap"), multiTenancySide: MultiTenancySides.Both);
}
private static LocalizableString L(string name)

1
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/GlobalUsings.cs

@ -11,5 +11,6 @@ global using Volo.Abp.Application.Dtos;
global using Volo.Abp.Application.Services;
global using Volo.Abp.AspNetCore.Mvc.MultiTenancy;
global using Volo.Abp.Data;
global using Volo.Abp.MultiTenancy;
global using Volo.Abp.PermissionManagement;
global using Volo.Abp.TenantManagement;

17
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Application.Contracts/Permissions/BasicManagementPermissionDefinitionProvider.cs

@ -11,29 +11,28 @@ public class BasicManagementPermissionDefinitionProvider : PermissionDefinitionP
{
var abpIdentityGroup = context.GetGroup(IdentityPermissions.GroupName);
var userManagement = abpIdentityGroup.GetPermissionOrNull(IdentityPermissions.Users.Default);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserEnable, L("Permission:Enable"));
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserExport, L("Permission:Export"));
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserEnable, L("Permission:Enable"), multiTenancySide: MultiTenancySides.Both);
userManagement.AddChild(BasicManagementPermissions.SystemManagement.UserExport, L("Permission:Export"), multiTenancySide: MultiTenancySides.Both);
var auditManagement =
abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement"));
var settingManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.Setting, L("Permission:SettingManagement"));
var organizationUnitManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.OrganizationUnit, L("Permission:OrganizationUnitManagement"));
abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement"), multiTenancySide: MultiTenancySides.Both);
var settingManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.Setting, L("Permission:SettingManagement"), multiTenancySide: MultiTenancySides.Both);
var organizationUnitManagement = abpIdentityGroup.AddPermission(BasicManagementPermissions.SystemManagement.OrganizationUnit, L("Permission:OrganizationUnitManagement"), multiTenancySide: MultiTenancySides.Both);
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Create,
L("Permission:Create")
L("Permission:Create"), multiTenancySide: MultiTenancySides.Both
);
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Update,
L("Permission:Update")
L("Permission:Update"), multiTenancySide: MultiTenancySides.Both
);
organizationUnitManagement.AddChild
(
BasicManagementPermissions.SystemManagement.OrganizationUnitManagement.Delete,
L("Permission:Delete")
L("Permission:Delete"), multiTenancySide: MultiTenancySides.Both
);
}
private static LocalizableString L(string name)

6
aspnet-core/modules/BasicManagement/src/Lion.AbpPro.BasicManagement.Domain.Shared/BasicManagementDomainSharedModule.cs

@ -25,11 +25,7 @@ public class BasicManagementDomainSharedModule : AbpModule
{
options.Resources
.Add<BasicManagementResource>(BasicManagementConsts.DefaultCultureName)
.AddVirtualJson("/Localization/BasicManagement")
.AddBaseTypes(typeof(IdentityResource))
.AddBaseTypes(typeof(AbpValidationResource))
.AddBaseTypes(typeof(AbpLocalizationResource))
.AddBaseTypes(typeof(AbpSettingManagementResource));
.AddVirtualJson("/Localization/BasicManagement");
options.DefaultResourceType = typeof(BasicManagementResource);
});

1
aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application.Contracts/GlobalUsings.cs

@ -20,4 +20,5 @@ global using Volo.Abp.Authorization;
global using Volo.Abp.Authorization.Permissions;
global using Volo.Abp.Localization;
global using Volo.Abp.Modularity;
global using Volo.Abp.MultiTenancy;
global using Volo.Abp.Reflection;

8
aspnet-core/modules/DataDictionaryManagement/src/Lion.AbpPro.DataDictionaryManagement.Application.Contracts/Permissions/DataDictionaryManagementPermissionDefinitionProvider.cs

@ -7,10 +7,10 @@ namespace Lion.AbpPro.DataDictionaryManagement.Permissions
var abpIdentityGroup = context.GetGroup("AbpIdentity");
var dataDictionaryManagement = abpIdentityGroup.AddPermission(DataDictionaryManagementPermissions.DataDictionaryManagement.Default,
L("Permission:DataDictionaryManagement"));
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Create, L("Permission:Create"));
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Update, L("Permission:Update"));
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Delete, L("Permission:Delete"));
L("Permission:DataDictionaryManagement"), multiTenancySide: MultiTenancySides.Both);
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Create, L("Permission:Create"), multiTenancySide: MultiTenancySides.Both);
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Update, L("Permission:Update"), multiTenancySide: MultiTenancySides.Both);
dataDictionaryManagement.AddChild(DataDictionaryManagementPermissions.DataDictionaryManagement.Delete, L("Permission:Delete"), multiTenancySide: MultiTenancySides.Both);
}
private static LocalizableString L(string name)

1
aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/GlobalUsings.cs

@ -19,4 +19,5 @@ global using Volo.Abp.Authorization;
global using Volo.Abp.Authorization.Permissions;
global using Volo.Abp.Localization;
global using Volo.Abp.Modularity;
global using Volo.Abp.MultiTenancy;
global using Volo.Abp.Reflection;

16
aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/Permissions/LanguageManagementPermissionDefinitionProvider.cs

@ -8,16 +8,16 @@ namespace Lion.AbpPro.LanguageManagement.Permissions
// var languageManagement = context.AddGroup(LanguageManagementPermissions.GroupName, L("Permission:LanguageManagement"));
var languages = abpIdentityGroup.AddPermission(LanguageManagementPermissions.Languages.Default, L("Permission:Languages"));
languages.AddChild(LanguageManagementPermissions.Languages.Create, L("Permission:Create"));
languages.AddChild(LanguageManagementPermissions.Languages.Edit, L("Permission:Edit"));
languages.AddChild(LanguageManagementPermissions.Languages.Delete, L("Permission:Delete"));
languages.AddChild(LanguageManagementPermissions.Languages.ChangeDefault, L("Permission:LanguagesChangeDefault"));
var languages = abpIdentityGroup.AddPermission(LanguageManagementPermissions.Languages.Default, L("Permission:Languages"), multiTenancySide: MultiTenancySides.Both);
languages.AddChild(LanguageManagementPermissions.Languages.Create, L("Permission:Create"), multiTenancySide: MultiTenancySides.Both);
languages.AddChild(LanguageManagementPermissions.Languages.Update, L("Permission:Update"), multiTenancySide: MultiTenancySides.Both);
languages.AddChild(LanguageManagementPermissions.Languages.Delete, L("Permission:Delete"), multiTenancySide: MultiTenancySides.Both);
languages.AddChild(LanguageManagementPermissions.Languages.ChangeDefault, L("Permission:LanguagesChangeDefault"), multiTenancySide: MultiTenancySides.Both);
var languageTexts = abpIdentityGroup.AddPermission(LanguageManagementPermissions.LanguageTexts.Default, L("Permission:LanguageTexts"));
languageTexts.AddChild(LanguageManagementPermissions.LanguageTexts.Edit, L("Permission:Edit"));
languageTexts.AddChild(LanguageManagementPermissions.LanguageTexts.Create, L("Permission:Create"));
var languageTexts = abpIdentityGroup.AddPermission(LanguageManagementPermissions.LanguageTexts.Default, L("Permission:LanguageTexts"), multiTenancySide: MultiTenancySides.Both);
languageTexts.AddChild(LanguageManagementPermissions.LanguageTexts.Update, L("Permission:Update"), multiTenancySide: MultiTenancySides.Both);
languageTexts.AddChild(LanguageManagementPermissions.LanguageTexts.Create, L("Permission:Create"), multiTenancySide: MultiTenancySides.Both);
}
private static LocalizableString L(string name)

4
aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application.Contracts/Permissions/LanguageManagementPermissions.cs

@ -17,14 +17,14 @@ namespace Lion.AbpPro.LanguageManagement.Permissions
public const string Create = "AbpIdentity.LanguageTexts.Create";
public const string Edit = "AbpIdentity.LanguageTexts.Edit";
public const string Update = "AbpIdentity.LanguageTexts.Update";
}
public class Languages
{
public const string Default = "AbpIdentity.Languages";
public const string Edit = "AbpIdentity.Languages.Edit";
public const string Update = "AbpIdentity.Languages.Update";
public const string Create = "AbpIdentity.Languages.Create";

2
aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/LanguageTexts/LanguageTextAppService.cs

@ -115,7 +115,7 @@ public class LanguageTextAppService : ApplicationService, ILanguageTextAppServic
/// <summary>
/// 编辑语言文本
/// </summary>
[Authorize(LanguageManagementPermissions.LanguageTexts.Edit)]
[Authorize(LanguageManagementPermissions.LanguageTexts.Update)]
public async Task UpdateAsync(UpdateLanguageTextInput input)
{
var localizedString = await GetLocalizedStringAsync(input.ResourceName, input.CultureName, input.Name);

2
aspnet-core/modules/LanguageManagement/src/Lion.AbpPro.LanguageManagement.Application/Languages/LanguageAppService.cs

@ -59,7 +59,7 @@ public class LanguageAppService : ApplicationService, ILanguageAppService
/// <summary>
/// 编辑语言
/// </summary>
[Authorize(LanguageManagementPermissions.Languages.Edit)]
[Authorize(LanguageManagementPermissions.Languages.Update)]
public Task UpdateAsync(UpdateLanguageInput input)
{
return _languageManager.UpdateAsync(

3
templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/language/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageModal"
v-auth="'AbpIdentity.Languages.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -28,12 +29,14 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.Languages.Update',
onClick: handleEdit.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
color: 'error',
label: t('common.delText'),
auth: 'AbpIdentity.Languages.Update',
popConfirm: {
title: t('common.askDelete'),
placement: 'left',

2
templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/languageText/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageTextModal"
v-auth="'AbpIdentity.LanguageTexts.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -17,6 +18,7 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.LanguageTexts.Update',
onClick: handleEdit.bind(null, record),
},
]"

197
templates/abp-vnext-pro-nuget-all/vben28/src/views/admin/roles/AbpRole.vue

@ -1,13 +1,13 @@
<template>
<div>
<BasicTable @register="registerTable" size="small">
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'isDefault'">
<Tag :color="record.isDefault ? 'red' : 'green'">
{{ record.isDefault ? "是" : "否" }}
</Tag>
<template #bodyCell="{ column, record }">
<template v-if="column.key === 'isDefault'">
<Tag :color="record.isDefault ? 'red' : 'green'">
{{ record.isDefault ? '是' : '否' }}
</Tag>
</template>
</template>
</template>
<template #toolbar>
<a-button
type="primary"
@ -15,7 +15,7 @@
@click="openCreateAbpRoleModal"
v-auth="'AbpIdentity.Roles.Create'"
>
{{ t("common.createText") }}
{{ t('common.createText') }}
</a-button>
</template>
@ -66,102 +66,107 @@
</template>
<script lang="ts">
import { defineComponent } from "vue";
import { BasicTable, useTable, TableAction } from "/@/components/Table";
import { tableColumns, searchFormSchema, getTableListAsync, deleteRoleAsync } from "/@/views/admin/roles/AbpRole";
import { useModal } from "/@/components/Modal";
import CreateAbpRole from "./CreateAbpRole.vue";
import PermissionAbpRole from "./PermissionAbpRole.vue";
import EditAbpRole from "./EditAbpRole.vue";
import { useMessage } from "/@/hooks/web/useMessage";
import { useDrawer } from "/@/components/Drawer";
import { useI18n } from "/@/hooks/web/useI18n";
import { Tag } from "ant-design-vue";
import { defineComponent } from 'vue';
import { BasicTable, useTable, TableAction } from '/@/components/Table';
import {
tableColumns,
searchFormSchema,
getTableListAsync,
deleteRoleAsync,
} from '/@/views/admin/roles/AbpRole';
import { useModal } from '/@/components/Modal';
import CreateAbpRole from './CreateAbpRole.vue';
import PermissionAbpRole from './PermissionAbpRole.vue';
import EditAbpRole from './EditAbpRole.vue';
import { useMessage } from '/@/hooks/web/useMessage';
import { useDrawer } from '/@/components/Drawer';
import { useI18n } from '/@/hooks/web/useI18n';
import { Tag } from 'ant-design-vue';
export default defineComponent({
name: "AbpRole",
components: {
BasicTable,
TableAction,
CreateAbpRole,
PermissionAbpRole,
EditAbpRole,
Tag
},
setup() {
const { createConfirm } = useMessage();
const { t } = useI18n();
const [registerPermissionAbpRoleModal, { openDrawer: openPermissionAbpRoleDrawer }] =
useDrawer();
export default defineComponent({
name: 'AbpRole',
components: {
BasicTable,
TableAction,
CreateAbpRole,
PermissionAbpRole,
EditAbpRole,
Tag,
},
setup() {
const { createConfirm } = useMessage();
const { t } = useI18n();
const [registerPermissionAbpRoleModal, { openDrawer: openPermissionAbpRoleDrawer }] =
useDrawer();
const [registerCreateAbpRoleModal, { openModal: openCreateAbpRoleModal }] = useModal();
const [registerCreateAbpRoleModal, { openModal: openCreateAbpRoleModal }] = useModal();
const [registerEditAbpRoleModal, { openModal: openEditAbpRoleModal }] = useModal();
const [registerEditAbpRoleModal, { openModal: openEditAbpRoleModal }] = useModal();
// table
const [registerTable, { reload }] = useTable({
columns: tableColumns,
formConfig: {
labelWidth: 70,
schemas: searchFormSchema
},
api: getTableListAsync,
showTableSetting: true,
useSearchForm: true,
bordered: true,
canResize: true,
showIndexColumn: true,
actionColumn: {
width: 200,
title: t("common.action"),
dataIndex: "action",
slots: {
customRender: "action"
// table
const [registerTable, { reload }] = useTable({
columns: tableColumns,
formConfig: {
labelWidth: 70,
schemas: searchFormSchema,
},
api: getTableListAsync,
showTableSetting: true,
useSearchForm: true,
bordered: true,
canResize: true,
showIndexColumn: true,
actionColumn: {
width: 200,
title: t('common.action'),
dataIndex: 'action',
slots: {
customRender: 'action',
},
fixed: 'right',
},
fixed: "right"
}
});
//
const handleEdit = (record: Recordable) => {
openEditAbpRoleModal(true, {
record: record
});
};
//
const handlePermission = (record: Recordable) => {
openPermissionAbpRoleDrawer(true, {
record: record
});
};
//
const handleEdit = (record: Recordable) => {
openEditAbpRoleModal(true, {
record: record,
});
};
//
const handleDelete = async (record: Recordable) => {
let msg = t("common.askDelete");
createConfirm({
iconType: "warning",
title: t("common.tip"),
content: msg,
onOk: async () => {
await deleteRoleAsync({ roleId: record.id, reload });
}
});
};
//
const handlePermission = (record: Recordable) => {
openPermissionAbpRoleDrawer(true, {
record: record,
});
};
//
const handleDelete = async (record: Recordable) => {
let msg = t('common.askDelete');
createConfirm({
iconType: 'warning',
title: t('common.tip'),
content: msg,
onOk: async () => {
await deleteRoleAsync({ roleId: record.id, reload });
},
});
};
return {
t,
registerTable,
handleEdit,
handleDelete,
handlePermission,
getTableListAsync,
registerCreateAbpRoleModal,
openCreateAbpRoleModal,
registerPermissionAbpRoleModal,
registerEditAbpRoleModal,
reload
};
}
});
return {
t,
registerTable,
handleEdit,
handleDelete,
handlePermission,
getTableListAsync,
registerCreateAbpRoleModal,
openCreateAbpRoleModal,
registerPermissionAbpRoleModal,
registerEditAbpRoleModal,
reload,
};
},
});
</script>

3
templates/abp-vnext-pro-nuget-simplify/vben28/src/views/admin/language/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageModal"
v-auth="'AbpIdentity.Languages.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -28,12 +29,14 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.Languages.Update',
onClick: handleEdit.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
color: 'error',
label: t('common.delText'),
auth: 'AbpIdentity.Languages.Update',
popConfirm: {
title: t('common.askDelete'),
placement: 'left',

2
templates/abp-vnext-pro-nuget-simplify/vben28/src/views/admin/languageText/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageTextModal"
v-auth="'AbpIdentity.LanguageTexts.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -17,6 +18,7 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.LanguageTexts.Update',
onClick: handleEdit.bind(null, record),
},
]"

3
vben28/src/views/admin/language/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageModal"
v-auth="'AbpIdentity.Languages.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -28,12 +29,14 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.Languages.Update',
onClick: handleEdit.bind(null, record),
},
{
icon: 'ant-design:delete-outlined',
color: 'error',
label: t('common.delText'),
auth: 'AbpIdentity.Languages.Update',
popConfirm: {
title: t('common.askDelete'),
placement: 'left',

2
vben28/src/views/admin/languageText/Index.vue

@ -6,6 +6,7 @@
preIcon="ant-design:plus-circle-outlined"
type="primary"
@click="openCreateLanguageTextModal"
v-auth="'AbpIdentity.LanguageTexts.Create'"
>
{{ t('common.createText') }}
</a-button>
@ -17,6 +18,7 @@
{
icon: 'clarity:note-edit-line',
label: t('common.editText'),
auth: 'AbpIdentity.LanguageTexts.Update',
onClick: handleEdit.bind(null, record),
},
]"

Loading…
Cancel
Save