feat: WIP role form localization.

This commit is contained in:
a.bouhuolia
2021-12-27 16:01:22 +02:00
parent 0860db87fb
commit 96cb3177aa
5 changed files with 45 additions and 22 deletions

View File

@@ -1,4 +1,5 @@
import { chain } from 'lodash';
import intl from 'react-intl-universal';
import {
AbilitySubject,
AccountAction,
@@ -30,21 +31,20 @@ const PermissionColumn = {
Edit: 'edit',
};
export const permissions = [
export const getPermissionsSchema = () => [
{
label: 'Items & Inventory',
label: intl.get('permissions.items_inventory'),
type: ModulePermissionsStyle.Columns,
serviceFullAccess: true,
moduleFullAccess: true,
columns: [
{ label: 'View', key: 'view' },
{ label: 'Create', key: 'create' },
{ label: 'Edit', key: 'edit' },
{ label: 'Delete', key: 'delete' },
{ label: intl.get('permissions.column.view'), key: 'view' },
{ label: intl.get('permissions.column.create'), key: 'create' },
{ label: intl.get('permissions.column.edit'), key: 'edit' },
{ label: intl.get('permissions.column.delete'), key: 'delete' },
],
services: [
{
label: 'Items',
label: intl.get('permissions.items'),
subject: AbilitySubject.Item,
permissions: [
{ label: 'View', key: ItemAction.View, relatedColumn: PermissionColumn.View },
@@ -54,7 +54,7 @@ export const permissions = [
],
},
{
label: 'Inventory adjustments',
label: intl.get('permissions.inventory_adjustment'),
subject: AbilitySubject.InventoryAdjustment,
permissions: [
{ label: 'View', key: ItemAction.View, relatedColumn: PermissionColumn.View },
@@ -174,11 +174,7 @@ export const permissions = [
label: 'Sale Receipt',
subject: AbilitySubject.Receipt,
permissions: [
{
label: 'View',
key: SaleReceiptAction.View,
relatedColumn: PermissionColumn.View,
},
{ label: 'View', key: SaleReceiptAction.View, relatedColumn: PermissionColumn.View, },
{
label: 'Create',
key: SaleReceiptAction.Create,
@@ -514,7 +510,10 @@ export const permissions = [
},
];
export function getPermissionsSchemaService(subject) {
const permissions = getPermissionsSchema();
return chain(permissions)
.map((perm) => perm.services)
.flatten()
@@ -523,6 +522,8 @@ export function getPermissionsSchemaService(subject) {
}
export function getPermissionsSchemaServices() {
const permissions = getPermissionsSchema();
return chain(permissions)
.map((module) => module.services)
.flatten()

View File

@@ -3,8 +3,8 @@ import { Checkbox, Popover } from '@blueprintjs/core';
import styled from 'styled-components';
import { Field } from 'formik';
import { permissions, ModulePermissionsStyle } from 'common/permissionsSchema';
import { Card, If, ButtonLink, Choose } from 'components';
import { getPermissionsSchema, ModulePermissionsStyle } from 'common/permissionsSchema';
import { Card, If, ButtonLink, Choose, T } from 'components';
import {
getSerivceColumnPermission,
getServiceExtraPermissions,
@@ -167,7 +167,7 @@ function ModulePermissionsTableHead() {
<tr>
<th></th>
<If condition={serviceFullAccess}>
<th class={'full'}>Full Access</th>
<th class={'full'}><T id={'permissions.column.full_access'} /></th>
</If>
{columns.map((column) => (
<th class={'permission'}>{column.label}</th>
@@ -354,6 +354,8 @@ function ModulePermissions({ module }) {
* @return {React.JSX}
*/
export const RolesPermissionList = () => {
const permissions = getPermissionsSchema();
return (
<ModulesPermission>
{permissions.map((module) => (

View File

@@ -2,7 +2,7 @@ import { chain, isEmpty, castArray, memoize } from 'lodash';
import * as R from 'ramda';
import { DepGraph } from 'dependency-graph';
import {
permissions as PERMISSIONS_SCHEMA,
getPermissionsSchema,
getPermissionsSchemaService,
getPermissionsSchemaServices,
} from 'common/permissionsSchema';
@@ -266,7 +266,9 @@ export const handleCheckboxFullAccessChange = R.curry(
* Retrieves all flatten modules permissions.
*/
export function getAllFlattenPermissionsSchema() {
return chain(PERMISSIONS_SCHEMA)
const permissions = getPermissionsSchema();
return chain(permissions)
.map((module) => module.services)
.flatten()
.map((module) =>

View File

@@ -1674,7 +1674,17 @@
"inventory_adjustment.column.product":"المنتج",
"invoice.convert_to_credit_note":"تحويل إلى إشعار دائن",
"bill.convert_to_credit_note":"تحويل إلى إشعار مدين",
"overdue":"متأخرّة"
"overdue":"متأخرّة",
"permissions.column.view": "عرض",
"permissions.column.full_access": "تحكم كامل",
"permissions.column.delete": "حذف",
"permissions.column.edit": "تعديل",
"permissions.column.create": "اضافة",
"permissions.items_inventory": "منتجات والمخزون",
"permissions.inventory_adjustment": "تسويات المخزون",
"permissions.items": "المنتجات"
}

View File

@@ -1670,7 +1670,15 @@
"inventory_adjustment.column.product":"Product",
"invoice.convert_to_credit_note":"Convert to Credit Note",
"bill.convert_to_credit_note":"Convert to Vendor Credit",
"overdue":"Overdue"
"overdue":"Overdue",
"permissions.column.view": "View",
"permissions.column.full_access": "Full Access",
"permissions.column.delete": "Delete",
"permissions.column.edit": "Edit",
"permissions.column.create": "Create",
"permissions.items_inventory": "Items & Inventory",
"permissions.inventory_adjustment": "Inventory Adjustment",
"permissions.items": "Items"
}