mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 12:50:38 +00:00
feat: WIP role form localization.
This commit is contained in:
@@ -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()
|
||||
|
||||
@@ -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) => (
|
||||
|
||||
@@ -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) =>
|
||||
|
||||
@@ -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": "المنتجات"
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -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"
|
||||
}
|
||||
Reference in New Issue
Block a user