Added the the ability to assing info/warnings to configuration fields/sections. Moved network warning under "Scope"

This commit is contained in:
VakarisZ 2020-07-27 16:48:33 +03:00
parent 0be9b19186
commit 64a8d71439
4 changed files with 28 additions and 16 deletions

View File

@ -19,7 +19,9 @@ BASIC_NETWORK = {
},
"default": [
],
"description": "List of IPs that the Monkey will not scan."
"description": "List of IPs that the Monkey will not scan.",
"info": "The Monkey scans its subnet if \"Local network scan\" is ticked. "
"Additionally the monkey scans machines according to \"Scan target list\"."
},
"local_network_scan": {
"title": "Local network scan",

View File

@ -0,0 +1,20 @@
import ObjectField from 'react-jsonschema-form-bs4/lib/components/fields/ArrayField';
import * as React from 'react';
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
import {faInfoCircle} from '@fortawesome/free-solid-svg-icons/faInfoCircle';
class FieldWithInfo extends React.Component {
render() {
return (
<>
<div className='alert alert-info'>
<FontAwesomeIcon icon={faInfoCircle} style={{'marginRight': '5px'}}/>
{this.props.schema.info}
</div>
<ObjectField {...this.props} />
</>);
}
}
export default FieldWithInfo;

View File

@ -1,6 +1,7 @@
import AdvancedMultiSelect from '../ui-components/AdvancedMultiSelect';
import PbaInput from './PbaInput';
import {API_PBA_LINUX, API_PBA_WINDOWS} from '../pages/ConfigurePage';
import FieldWithInfo from './FieldWithInfo';
export default function UiSchema(props) {
const UiSchema = {
@ -16,7 +17,10 @@ export default function UiSchema(props) {
basic_network: {
'ui:order': ['scope', 'network_analysis'],
scope: {
subnet_scan_list:{
blocked_ips: {
'ui:field': FieldWithInfo
},
subnet_scan_list: {
format: 'ip-list'
}
}

View File

@ -6,7 +6,6 @@ import AuthComponent from '../AuthComponent';
import ConfigMatrixComponent from '../attack/ConfigMatrixComponent';
import UiSchema from '../configuration-components/UiSchema';
import {FontAwesomeIcon} from '@fortawesome/react-fontawesome';
import {faInfoCircle} from '@fortawesome/free-solid-svg-icons/faInfoCircle';
import {faCheck} from '@fortawesome/free-solid-svg-icons/faCheck';
import {faExclamationCircle} from '@fortawesome/free-solid-svg-icons/faExclamationCircle';
import {formValidationFormats} from '../configuration-components/ValidationFormats';
@ -352,7 +351,6 @@ class ConfigurePageComponent extends AuthComponent {
} else {
return (
<div>
{this.renderBasicNetworkWarning()}
<Form {...formProperties}>
<button type='submit' className={'hidden'}>Submit</button>
</Form>
@ -377,18 +375,6 @@ class ConfigurePageComponent extends AuthComponent {
})
}
renderBasicNetworkWarning = () => {
if (this.state.selectedSection === 'basic_network') {
return (<div className='alert alert-info'>
<FontAwesomeIcon icon={faInfoCircle} style={{'marginRight': '5px'}}/>
The Monkey scans its subnet if "Local network scan" is ticked. Additionally the monkey scans machines
according to "Scan target list".
</div>)
} else {
return (<div/>)
}
};
renderNav = () => {
return (<Nav variant='tabs'
fill