mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 06:40:31 +00:00
feat: WIP role form localization.
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
import { chain } from 'lodash';
|
import { chain } from 'lodash';
|
||||||
|
import intl from 'react-intl-universal';
|
||||||
import {
|
import {
|
||||||
AbilitySubject,
|
AbilitySubject,
|
||||||
AccountAction,
|
AccountAction,
|
||||||
@@ -30,21 +31,20 @@ const PermissionColumn = {
|
|||||||
Edit: 'edit',
|
Edit: 'edit',
|
||||||
};
|
};
|
||||||
|
|
||||||
export const permissions = [
|
export const getPermissionsSchema = () => [
|
||||||
{
|
{
|
||||||
label: 'Items & Inventory',
|
label: intl.get('permissions.items_inventory'),
|
||||||
type: ModulePermissionsStyle.Columns,
|
type: ModulePermissionsStyle.Columns,
|
||||||
serviceFullAccess: true,
|
serviceFullAccess: true,
|
||||||
moduleFullAccess: true,
|
|
||||||
columns: [
|
columns: [
|
||||||
{ label: 'View', key: 'view' },
|
{ label: intl.get('permissions.column.view'), key: 'view' },
|
||||||
{ label: 'Create', key: 'create' },
|
{ label: intl.get('permissions.column.create'), key: 'create' },
|
||||||
{ label: 'Edit', key: 'edit' },
|
{ label: intl.get('permissions.column.edit'), key: 'edit' },
|
||||||
{ label: 'Delete', key: 'delete' },
|
{ label: intl.get('permissions.column.delete'), key: 'delete' },
|
||||||
],
|
],
|
||||||
services: [
|
services: [
|
||||||
{
|
{
|
||||||
label: 'Items',
|
label: intl.get('permissions.items'),
|
||||||
subject: AbilitySubject.Item,
|
subject: AbilitySubject.Item,
|
||||||
permissions: [
|
permissions: [
|
||||||
{ label: 'View', key: ItemAction.View, relatedColumn: PermissionColumn.View },
|
{ 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,
|
subject: AbilitySubject.InventoryAdjustment,
|
||||||
permissions: [
|
permissions: [
|
||||||
{ label: 'View', key: ItemAction.View, relatedColumn: PermissionColumn.View },
|
{ label: 'View', key: ItemAction.View, relatedColumn: PermissionColumn.View },
|
||||||
@@ -174,11 +174,7 @@ export const permissions = [
|
|||||||
label: 'Sale Receipt',
|
label: 'Sale Receipt',
|
||||||
subject: AbilitySubject.Receipt,
|
subject: AbilitySubject.Receipt,
|
||||||
permissions: [
|
permissions: [
|
||||||
{
|
{ label: 'View', key: SaleReceiptAction.View, relatedColumn: PermissionColumn.View, },
|
||||||
label: 'View',
|
|
||||||
key: SaleReceiptAction.View,
|
|
||||||
relatedColumn: PermissionColumn.View,
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
label: 'Create',
|
label: 'Create',
|
||||||
key: SaleReceiptAction.Create,
|
key: SaleReceiptAction.Create,
|
||||||
@@ -514,7 +510,10 @@ export const permissions = [
|
|||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
|
||||||
export function getPermissionsSchemaService(subject) {
|
export function getPermissionsSchemaService(subject) {
|
||||||
|
const permissions = getPermissionsSchema();
|
||||||
|
|
||||||
return chain(permissions)
|
return chain(permissions)
|
||||||
.map((perm) => perm.services)
|
.map((perm) => perm.services)
|
||||||
.flatten()
|
.flatten()
|
||||||
@@ -523,6 +522,8 @@ export function getPermissionsSchemaService(subject) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
export function getPermissionsSchemaServices() {
|
export function getPermissionsSchemaServices() {
|
||||||
|
const permissions = getPermissionsSchema();
|
||||||
|
|
||||||
return chain(permissions)
|
return chain(permissions)
|
||||||
.map((module) => module.services)
|
.map((module) => module.services)
|
||||||
.flatten()
|
.flatten()
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ import { Checkbox, Popover } from '@blueprintjs/core';
|
|||||||
import styled from 'styled-components';
|
import styled from 'styled-components';
|
||||||
import { Field } from 'formik';
|
import { Field } from 'formik';
|
||||||
|
|
||||||
import { permissions, ModulePermissionsStyle } from 'common/permissionsSchema';
|
import { getPermissionsSchema, ModulePermissionsStyle } from 'common/permissionsSchema';
|
||||||
import { Card, If, ButtonLink, Choose } from 'components';
|
import { Card, If, ButtonLink, Choose, T } from 'components';
|
||||||
import {
|
import {
|
||||||
getSerivceColumnPermission,
|
getSerivceColumnPermission,
|
||||||
getServiceExtraPermissions,
|
getServiceExtraPermissions,
|
||||||
@@ -167,7 +167,7 @@ function ModulePermissionsTableHead() {
|
|||||||
<tr>
|
<tr>
|
||||||
<th></th>
|
<th></th>
|
||||||
<If condition={serviceFullAccess}>
|
<If condition={serviceFullAccess}>
|
||||||
<th class={'full'}>Full Access</th>
|
<th class={'full'}><T id={'permissions.column.full_access'} /></th>
|
||||||
</If>
|
</If>
|
||||||
{columns.map((column) => (
|
{columns.map((column) => (
|
||||||
<th class={'permission'}>{column.label}</th>
|
<th class={'permission'}>{column.label}</th>
|
||||||
@@ -354,6 +354,8 @@ function ModulePermissions({ module }) {
|
|||||||
* @return {React.JSX}
|
* @return {React.JSX}
|
||||||
*/
|
*/
|
||||||
export const RolesPermissionList = () => {
|
export const RolesPermissionList = () => {
|
||||||
|
const permissions = getPermissionsSchema();
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ModulesPermission>
|
<ModulesPermission>
|
||||||
{permissions.map((module) => (
|
{permissions.map((module) => (
|
||||||
|
|||||||
@@ -2,7 +2,7 @@ import { chain, isEmpty, castArray, memoize } from 'lodash';
|
|||||||
import * as R from 'ramda';
|
import * as R from 'ramda';
|
||||||
import { DepGraph } from 'dependency-graph';
|
import { DepGraph } from 'dependency-graph';
|
||||||
import {
|
import {
|
||||||
permissions as PERMISSIONS_SCHEMA,
|
getPermissionsSchema,
|
||||||
getPermissionsSchemaService,
|
getPermissionsSchemaService,
|
||||||
getPermissionsSchemaServices,
|
getPermissionsSchemaServices,
|
||||||
} from 'common/permissionsSchema';
|
} from 'common/permissionsSchema';
|
||||||
@@ -266,7 +266,9 @@ export const handleCheckboxFullAccessChange = R.curry(
|
|||||||
* Retrieves all flatten modules permissions.
|
* Retrieves all flatten modules permissions.
|
||||||
*/
|
*/
|
||||||
export function getAllFlattenPermissionsSchema() {
|
export function getAllFlattenPermissionsSchema() {
|
||||||
return chain(PERMISSIONS_SCHEMA)
|
const permissions = getPermissionsSchema();
|
||||||
|
|
||||||
|
return chain(permissions)
|
||||||
.map((module) => module.services)
|
.map((module) => module.services)
|
||||||
.flatten()
|
.flatten()
|
||||||
.map((module) =>
|
.map((module) =>
|
||||||
|
|||||||
@@ -1674,7 +1674,17 @@
|
|||||||
"inventory_adjustment.column.product":"المنتج",
|
"inventory_adjustment.column.product":"المنتج",
|
||||||
"invoice.convert_to_credit_note":"تحويل إلى إشعار دائن",
|
"invoice.convert_to_credit_note":"تحويل إلى إشعار دائن",
|
||||||
"bill.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",
|
"inventory_adjustment.column.product":"Product",
|
||||||
"invoice.convert_to_credit_note":"Convert to Credit Note",
|
"invoice.convert_to_credit_note":"Convert to Credit Note",
|
||||||
"bill.convert_to_credit_note":"Convert to Vendor Credit",
|
"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