diff --git a/dashboard/src/components/settings/RolePermissions.vue b/dashboard/src/components/settings/RolePermissions.vue
index 7c94227..c07acfc 100644
--- a/dashboard/src/components/settings/RolePermissions.vue
+++ b/dashboard/src/components/settings/RolePermissions.vue
@@ -32,16 +32,20 @@
@update:selections="(e) => (selectedItems = e)"
>
-
-
-
-
-
+ handleDropdownSelect(key, listResource)"
+ >
+
+
+
+
+
{{ currentDropdownOption.label }}
-
-
-
-
+
+
+
@@ -61,11 +65,11 @@
{{ $t('Add Permission') }}
-
+
{
- currentDropdownOption.value = option;
- let filters = {
- role: props.roleId,
- };
- if (option.pagetype === 'Site') {
- filters.site = ['is', 'set'];
- }
- if (option.pagetype === 'Release Group') {
- filters.release_group = ['is', 'set'];
- }
- if (option.pagetype === 'Server') {
- filters.server = ['is', 'set'];
- }
- listResource.update({ filters });
- listResource.reload();
- },
};
});
}
+function handleDropdownSelect(key, listResource) {
+ const option = dropdownOptions.find(opt => opt.pagetype === key);
+ if (!option) return;
+
+ currentDropdownOption.value = option;
+ let filters = {
+ role: props.roleId,
+ };
+ if (option.pagetype === 'Site') {
+ filters.site = ['is', 'set'];
+ }
+ if (option.pagetype === 'Release Group') {
+ filters.release_group = ['is', 'set'];
+ }
+ if (option.pagetype === 'Server') {
+ filters.server = ['is', 'set'];
+ }
+ listResource.update({ filters });
+ listResource.reload();
+}
+
const rolePermissions = ref({
pagetype: 'Jcloud Role Permission',
fields: [
@@ -231,6 +239,12 @@ const rolePermissions = ref({
if (pagetype === 'Release Group') {
return $t('Release Group');
}
+ if (pagetype === 'Site') {
+ return $t('Site');
+ }
+ if (pagetype === 'Server') {
+ return $t('Server');
+ }
return pagetype;
}),
format(_value, row) {
@@ -289,6 +303,19 @@ const rolePermissions = ref({
},
});
+function getTypeLabel(pagetype) {
+ if (pagetype === 'Release Group') {
+ return $t('Release Group');
+ }
+ if (pagetype === 'Site') {
+ return $t('Site');
+ }
+ if (pagetype === 'Server') {
+ return $t('Server');
+ }
+ return pagetype;
+}
+
async function handleAddPermission() {
if (!selectedDocument.value || !permissionsResourceRef.value) return;
if (addPermissionLoading.value) return;
diff --git a/jcloud/translations/zh.csv b/jcloud/translations/zh.csv
index 115e871..ee53508 100644
--- a/jcloud/translations/zh.csv
+++ b/jcloud/translations/zh.csv
@@ -541,6 +541,7 @@ Deployed at {date},部署于 {date},
Attention required!,需要关注!,
Deployer,部署者,
Config,配置,
+Configure,配置,
Config Name,配置名称,
Config Value,配置值,
Add Config,添加配置,
@@ -938,6 +939,7 @@ Delete Role,删除角色,
Are you sure you want to delete role {role}?,确定要删除角色 {role} 吗?,
Deleting role...,正在删除角色...,
Role {role} deleted,角色 {role} 已删除,
+Role created successfully,角色创建成功,
New Role,新建角色,
Create Role,创建角色,
All Roles,所有角色,