Browse Source

update akses untuk super admin

pull/1/head
wahyuun 6 months ago
parent
commit
b91480143b
  1. 48
      src/views/Master/MasterRoles/DialogMenuRoles.js
  2. 22
      src/views/Master/MasterRoles/index.js
  3. 10
      src/views/SimproV2/Divisi/index.js
  4. 5
      src/views/SimproV2/ResourceWorker/index.js
  5. 3
      src/views/SimproV2/Satuan/index.js

48
src/views/Master/MasterRoles/DialogMenuRoles.js

@ -27,6 +27,7 @@ export default class DialogMenuRoles extends Component {
stateCreate: [],
stateUpdate: [],
stateDelete: [],
role_name: props.role_name || '',
stateReadAll: false,
stateCreateAll: false,
stateUpdateAll: false,
@ -35,10 +36,12 @@ export default class DialogMenuRoles extends Component {
company_id: props.company_id || null,
}
}
async componentDidMount() {
this.props.showDialog(this.showDialog);
this.getAllMenu();
}
async componentDidUpdate() {
if (this.state.isParentClick === true) {
const { idRoles } = this.props
@ -50,21 +53,26 @@ export default class DialogMenuRoles extends Component {
this.setState({ isParentClick: false, id: idRoles });
}
}
showDialog = () => {
this.setState({ isParentClick: true });
}
getAllMenu = async () => {
const payload = {
"paging": { "start": 0, "length": -1 },
"columns": [
{ "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" }
],
"columns": [],
"joins": [
{ "name": "t_roles_menu", "column_join": "menu_id", "column_results": ["create", "update", "delete", "read"] },
{ "name": "m_menu", "column_join": "menu_id", "column_results": ["name"] }
],
"orders": { "columns": ["id"], "ascending": false }
}
if (this.state.role_name !== "Super Admin") {
payload.columns.push(
{ "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" }
)
}
const result = await axios
.post(MENU_COMPANY_SEARCH, payload, config)
.then(res => res)
@ -73,9 +81,9 @@ export default class DialogMenuRoles extends Component {
this.setState({ menu: result.data.data }, () => {
this.setStateMenu(false);
});
} else {
}
}
setStateMenu = edit => {
const stateMenu = [];
this.state.menu.map((val) => {
@ -89,6 +97,7 @@ export default class DialogMenuRoles extends Component {
})
})
}
setStateRead = edit => {
const stateRead = [];
this.state.menu.map((val) => {
@ -102,6 +111,7 @@ export default class DialogMenuRoles extends Component {
})
})
}
setStateCreate = edit => {
const stateCreate = [];
this.state.menu.map((val) => {
@ -115,6 +125,7 @@ export default class DialogMenuRoles extends Component {
})
})
}
setStateUpdate = edit => {
const stateUpdate = [];
this.state.menu.map((val) => {
@ -128,6 +139,7 @@ export default class DialogMenuRoles extends Component {
})
})
}
setStateDelete = edit => {
const stateDelete = [];
this.state.menu.map((val) => {
@ -141,6 +153,7 @@ export default class DialogMenuRoles extends Component {
})
})
}
checkMenuRoles = () => {
let copyStateMenu = [...this.state.stateMenu];
this.props.menuRoles.map((val, indexMenu) => {
@ -158,6 +171,7 @@ export default class DialogMenuRoles extends Component {
}
})
}
checkReadRoles = () => {
let copyStateRead = [...this.state.stateRead];
this.props.menuRoles.map((val) => {
@ -177,6 +191,7 @@ export default class DialogMenuRoles extends Component {
}
})
}
checkCreateRoles = () => {
let copyStateCreate = [...this.state.stateCreate];
this.props.menuRoles.map((val) => {
@ -196,6 +211,7 @@ export default class DialogMenuRoles extends Component {
}
})
}
checkUpdateRoles = () => {
let copyStateUpdate = [...this.state.stateUpdate];
this.props.menuRoles.map((val) => {
@ -215,6 +231,7 @@ export default class DialogMenuRoles extends Component {
}
})
}
checkDeleteRoles = () => {
let copyStateDelete = [...this.state.stateDelete];
this.props.menuRoles.map((val) => {
@ -234,26 +251,32 @@ export default class DialogMenuRoles extends Component {
}
})
}
getIndexDataMenu = (id) => {
let index = this.state.menu.findIndex(obj => obj.id === id);
return index
}
getIndexDataCreate = (id) => {
let index = this.state.stateCreate.findIndex(obj => obj.id === id);
return index
}
getIndexDataDelete = (id) => {
let index = this.state.stateDelete.findIndex(obj => obj.id === id);
return index
}
getIndexDataRead = (id) => {
let index = this.state.stateRead.findIndex(obj => obj.id === id);
return index
}
getIndexDataUpdate = (id) => {
let index = this.state.stateUpdate.findIndex(obj => obj.id === id);
return index
}
handleSave = () => {
const {
stateMenu,
@ -280,14 +303,17 @@ export default class DialogMenuRoles extends Component {
this.props.closeDialog('save', arrayData);
this.setState({ id: 0 });
}
handleCancel = () => {
this.props.closeDialog('cancel', 'none')
}
handleChangeCheckbox = (checked, index) => {
let copyStateMenu = [...this.state.stateMenu];
copyStateMenu[index] = checked;
this.setState({ stateMenu: copyStateMenu })
}
handleChangeCheckboxRead = (checked, index, menuItem = null, menuIdxList = []) => {
let copyStateRead = [...this.state.stateRead];
copyStateRead[index] = checked;
@ -312,6 +338,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateRead: copyStateRead })
}
handleChangeCheckboxCreate = (checked, index, menuItem = null, menuIdxList = []) => {
let copyStateCreate = [...this.state.stateCreate];
copyStateCreate[index] = checked;
@ -336,6 +363,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateCreate: copyStateCreate })
}
handleChangeCheckboxEdit = (checked, index, menuItem = null, menuIdxList = []) => {
let copyStateEdit = [...this.state.stateUpdate];
copyStateEdit[index] = checked;
@ -360,6 +388,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateUpdate: copyStateEdit })
}
handleChangeCheckboxDelete = (checked, index, menuItem = null, menuIdxList = []) => {
let copyStateDelete = [...this.state.stateDelete];
copyStateDelete[index] = checked;
@ -384,6 +413,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateDelete: copyStateDelete })
}
handleChangeCheckboxReadAll = (checked) => {
let copyStateRead = [...this.state.stateRead];
copyStateRead.map((val, index) => {
@ -391,6 +421,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateRead: copyStateRead })
}
handleChangeCheckboxCreateAll = (checked, index) => {
let copyStateCreate = [...this.state.stateCreate];
copyStateCreate.map((val, index) => {
@ -398,6 +429,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateCreate: copyStateCreate })
}
handleChangeCheckboxEditAll = (checked, index) => {
let copyStateEdit = [...this.state.stateUpdate];
copyStateEdit.map((val, index) => {
@ -405,6 +437,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateUpdate: copyStateEdit })
}
handleChangeCheckboxDeleteAll = (checked, index) => {
let copyStateDelete = [...this.state.stateDelete];
copyStateDelete.map((val, index) => {
@ -412,6 +445,7 @@ export default class DialogMenuRoles extends Component {
})
this.setState({ stateDelete: copyStateDelete })
}
renderForm = () => {
const { menu, stateRead, stateCreate, stateUpdate, stateDelete } = this.state;
let menuIdxList = []
@ -449,6 +483,7 @@ export default class DialogMenuRoles extends Component {
</React.Fragment>
);
};
renderAll = () => {
return (
<tr>
@ -460,9 +495,11 @@ export default class DialogMenuRoles extends Component {
</tr>
)
}
checkArray = (val) => {
return val === false;
}
handleAllChecked = (checked) => {
this.setState({ allChecked: !this.state.allChecked });
if (checked === true) {
@ -486,6 +523,7 @@ export default class DialogMenuRoles extends Component {
})
}
}
render() {
return (
<Modal size="xl" scrollable={true} isOpen={this.props.openDialog} toggle={this.props.toggleDialog}>
@ -523,4 +561,4 @@ export default class DialogMenuRoles extends Component {
</Modal>
)
}
}
}

22
src/views/Master/MasterRoles/index.js

@ -156,9 +156,9 @@ class index extends Component {
{ "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" },
)
} else {
formData.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
// formData.columns.push(
// { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
// )
formData.joins.push(
{ "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] }
)
@ -320,13 +320,17 @@ class index extends Component {
handleMenuRoles = async (id) => {
const formData = {
"paging": { "start": 0, "length": -1 },
"columns": [
{ "name": "role_id", "logic_operator": "=", "value": `${id}`, "operator": "AND" }
],
"columns": [],
"joins": [{ "name": "m_menu", "column_join": "menu_id", "column_results": ["parent_id", "name"] }],
"orders": { "columns": ["id"], "ascending": false }
}
if (this.state.role_name !== "Super Admin") {
formData.columns.push(
{ "name": "role_id", "logic_operator": "=", "value": `${id}`, "operator": "AND" }
)
}
const result = await axios
.post(ROLEMENU_SEARCH, formData, this.state.config)
.then(res => res)
@ -412,9 +416,9 @@ class index extends Component {
{ "name": "company_id", "logic_operator": "=", "value": this.state.company_id, "operator": "AND" },
)
} else {
formData.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
// formData.columns.push(
// { "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
// )
formData.joins.push(
{ "name": "m_company", "column_join": "company_id", "column_results": ["company_name"] }
)

10
src/views/SimproV2/Divisi/index.js

@ -4,7 +4,7 @@ import React, { useState, useEffect, useMemo } from 'react';
import SweetAlert from 'react-bootstrap-sweetalert';
import axios from "../../../const/interceptorApi"
import { Card, CardBody, CardHeader, Col, Row, Input } from 'reactstrap';
import { DIVISI_LIST, DIVISI_ADD, DIVISI_EDIT, DIVISI_DELETE, DIVISI_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst';
import { DIVISI_ADD, DIVISI_EDIT, DIVISI_DELETE, DIVISI_SEARCH, COMPANY_MANAGEMENT_LIST } from '../../../const/ApiConst';
import { NotificationContainer, NotificationManager } from 'react-notifications';
import { Pagination, Button, Tooltip, Table, Spin } from 'antd';
import { useTranslation } from 'react-i18next';
@ -120,9 +120,6 @@ const ProjectType = ({ params, ...props }) => {
{ "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" },
)
} else {
payload.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
payload.joins.push(
{ name: "m_company", column_join: "company_id", column_results: ["company_name"] }
)
@ -183,9 +180,6 @@ const ProjectType = ({ params, ...props }) => {
{ "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" },
)
} else {
payload.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
payload.joins.push(
{ name: "m_company", column_join: "company_id", column_results: ["company_name"] }
)
@ -414,7 +408,7 @@ const ProjectType = ({ params, ...props }) => {
:
null
}
</Tooltip>
<Tooltip title="Add">
{

5
src/views/SimproV2/ResourceWorker/index.js

@ -120,7 +120,6 @@ const ResourceWorker = ({ params, ...props }) => {
const getDivisiList = async () => {
const formData = {
"paging": { "start": 0, "length": -1 },
"orders": { "columns": ["id"], "ascending": false },
"columns": [],
}
@ -129,10 +128,6 @@ const ResourceWorker = ({ params, ...props }) => {
formData.columns.push(
{ "name": "company_id", "logic_operator": "=", "value": company_id, "operator": "AND" },
)
} else {
formData.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
}
const result = await axios

3
src/views/SimproV2/Satuan/index.js

@ -127,9 +127,6 @@ const Satuan = ({ params, ...props }) => {
{ "name": "company_id", "logic_operator": "=", "value": parseInt(company_id), "operator": "AND" },
)
} else {
payload.columns.push(
{ "name": "company_id", "logic_operator": "is null", "value": "", "operator": "AND" },
)
payload.joins.push(
{ name: "m_company", column_join: "company_id", column_results: ["company_name"] }
)

Loading…
Cancel
Save