From bbecf31778690320b56480188a16088cc453b7f2 Mon Sep 17 00:00:00 2001 From: NEZRI Ygal Date: Thu, 2 May 2024 16:07:28 +0200 Subject: [PATCH] Fix Ticked ID Bug Fixed a bug related to the Ticket ID that was preventing the creation or modification of a ticket with a free format, enabling smoother integration and precise traceability --- .../SiteMonitoring/SuspiciousSites.js | 49 +++++++++++++++---- Watcher/Watcher/site_monitoring/admin.py | 4 +- Watcher/Watcher/site_monitoring/models.py | 3 +- 3 files changed, 44 insertions(+), 12 deletions(-) diff --git a/Watcher/Watcher/frontend/src/components/SiteMonitoring/SuspiciousSites.js b/Watcher/Watcher/frontend/src/components/SiteMonitoring/SuspiciousSites.js index 05a77f8..067eb15 100755 --- a/Watcher/Watcher/frontend/src/components/SiteMonitoring/SuspiciousSites.js +++ b/Watcher/Watcher/frontend/src/components/SiteMonitoring/SuspiciousSites.js @@ -22,6 +22,7 @@ export class SuspiciousSites extends Component { showExportModal: false, id: 0, domainName: "", + ticketId: "", name: "", rtir: "", expiry: null, @@ -34,6 +35,7 @@ export class SuspiciousSites extends Component { exportLoading: false }; this.inputDomainRef = React.createRef(); + this.inputTicketRef = React.createRef(); this.inputRtirRef = React.createRef(); this.ipMonitoringRef = React.createRef(); this.webContentMonitoringRef = React.createRef(); @@ -128,6 +130,7 @@ export class SuspiciousSites extends Component { showEditModal: true, id: site.id, domainName: site.domain_name, + ticketId: site.ticket_id, rtir: site.rtir, expiry: site.expiry, ipMonitoring: site.ip_monitoring, @@ -148,13 +151,14 @@ export class SuspiciousSites extends Component { onSubmit = e => { e.preventDefault(); const domain_name = this.inputDomainRef.current.value; + const ticket_id = this.inputTicketRef.current.value; const rtir = this.inputRtirRef.current.value; const expiry = this.state.expiry ? this.state.expiry : null; const ip_monitoring = this.ipMonitoringRef.current.checked; const content_monitoring = this.webContentMonitoringRef.current.checked; const mail_monitoring = this.emailMonitoringRef.current.checked; - const site = {domain_name, rtir, expiry, ip_monitoring, content_monitoring, mail_monitoring}; + const site = {domain_name, ticket_id, rtir, expiry, ip_monitoring, content_monitoring, mail_monitoring}; this.props.patchSite(this.state.id, site); this.setState({ @@ -191,9 +195,19 @@ export class SuspiciousSites extends Component { Ticket ID - + + ID + + + defaultValue={this.state.rtir} + readOnly/> Expiry Date @@ -296,18 +310,20 @@ export class SuspiciousSites extends Component { onSubmit = e => { e.preventDefault(); const domain_name = this.inputDomainRef.current.value; + const ticket_id = this.inputTicketRef.current.value; const rtir = this.inputRtirRef.current.value ? this.inputRtirRef.current.value : getMax(this.props.sites, "rtir")+1; const expiry = this.state.day; const ip_monitoring = this.ipMonitoringRef.current.checked; const content_monitoring = this.webContentMonitoringRef.current.checked; const mail_monitoring = this.emailMonitoringRef.current.checked; - const site = expiry ? {domain_name, rtir, expiry, ip_monitoring, content_monitoring, mail_monitoring} : {domain_name, rtir, ip_monitoring, content_monitoring, mail_monitoring}; + const site = expiry ? {domain_name, ticket_id, rtir, expiry, ip_monitoring, content_monitoring, mail_monitoring} : {domain_name, ticket_id, rtir, ip_monitoring, content_monitoring, mail_monitoring}; this.props.addSite(site); this.setState({ domainName: "", day: "", id: 0, + ticketId: "", addLoading: true }); handleClose(); @@ -331,9 +347,21 @@ export class SuspiciousSites extends Component { placeholder="example.com"/> Ticket ID + + + + ID + type="number" placeholder="number" + defaultValue={this.state.rtir} + readOnly/> Expiry Date @@ -403,11 +431,12 @@ export class SuspiciousSites extends Component { }; - displayExportModal = (id, domainName, theHiveCaseId, mispEventId) => { + displayExportModal = (id, domainName, ticketId, theHiveCaseId, mispEventId) => { this.setState({ showExportModal: true, id: id, domainName: domainName, + ticketId: ticketId, theHiveCaseId: theHiveCaseId, mispEventId: mispEventId }); @@ -430,6 +459,7 @@ export class SuspiciousSites extends Component { this.props.exportToTheHive(site); this.setState({ domainName: "", + ticketId: "", id: 0, exportLoading: id }); @@ -445,6 +475,7 @@ export class SuspiciousSites extends Component { this.props.exportToMISP(site); this.setState({ domainName: "", + ticketId: "", id: 0, exportLoading: id }); @@ -529,7 +560,7 @@ export class SuspiciousSites extends Component {