Skip to content

Commit 775ae20

Browse files
author
Timothy MacDonald
committed
chore: updated report to match Fortinet styling and branding
Signed-off-by: Timothy MacDonald <[email protected]>
1 parent 545d1f9 commit 775ae20

File tree

9 files changed

+618
-596
lines changed

9 files changed

+618
-596
lines changed
-2.32 KB
Loading

assets/FortiCNAPP-info.png

-147 KB
Binary file not shown.

lw_report_gen.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,6 @@ def main():
2525
# Setup up log file, always write verbose logs
2626
logzero.logfile('lw_report_gen.log', loglevel=logzero.DEBUG)
2727

28-
# check github for updates
29-
# alert_new_release()
30-
3128
# Dynamically import report classes from "modules/reports" subdirectory
3229
available_reports: list = get_available_reports(basedir)
3330
if len(available_reports) == 0:
@@ -72,7 +69,7 @@ def main():
7269
alerts_start_time=pre_processed_args['alerts_start_time'],
7370
alerts_end_time=pre_processed_args['alerts_end_time'],
7471
custom_logo=custom_logo,
75-
pagesize='a2'
72+
pagesize='a2',
7673
)
7774

7875
except Exception as e:

modules/gui_main.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,15 @@ def write_html(self):
143143

144144
def write_pdf(self):
145145
if self.report:
146+
if self.window.ui.lineEditCustomLogo.text == "None":
147+
custom_logo = None
148+
else:
149+
custom_logo = self.window.ui.lineEditCustomLogo.text
150+
self.report = self.report_generator.render(self.window.ui.lineEditCustomer.text,
151+
self.window.ui.lineEditAuthor.text,
152+
custom_logo=custom_logo,
153+
pagesize="a3",
154+
pdf=True)
146155
if not self.report_file_name:
147156
self.report_file_name = f'{self.window.ui.lineEditCustomer.text}_{self.window.ui.lineEditAuthor.text}_{datetime.datetime.now().strftime("%Y%m%d")}.pdf'
148157
else:

modules/reportgen.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -224,7 +224,7 @@ def gather_data(self,
224224
alerts_end_time: LaceworkTime):
225225
pass
226226

227-
def render(self, customer, author, custom_logo=None, pagesize="a3"):
227+
def render(self, customer, author, custom_logo=None, pagesize="a3", pdf=False):
228228
pass
229229

230230
def generate(self,
@@ -238,7 +238,7 @@ def generate(self,
238238
vulns_end_time,
239239
alerts_start_time,
240240
alerts_end_time)
241-
return self.render(customer, author, custom_logo=None)
241+
return self.render(customer, author, custom_logo=None, pdf=False)
242242

243243

244244

modules/reports/reportgen_csa.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def __init__(self, basedir, use_cache=False, api_key_file=None, graph_scale=1):
2121
self.recommendations = self.default_recommendations
2222
self.template = self.get_jinja2_template('csa_report.jinja2')
2323
self.company_logo_html = self.file_to_image_tag('assets/Fortinet_logo.png', 'png')
24-
self.polygraph_graphic_html = self.file_to_image_tag('assets/FortiCNAPP-info.png', 'png')
24+
self.polygraph_graphic_html = self.file_to_image_tag('assets/FortiCNAPP-Unified-Approach.png', 'png')
2525

2626
def gather_data(self,
2727
vulns_start_time: LaceworkTime,

modules/reports/reportgen_csa_detailed.py

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,12 @@ def gather_data(self,
3737
self.alerts_data=self.gather_alert_data(alerts_start_time.generate_time_string(), alerts_end_time.generate_time_string())
3838
self.secrets_data=self.gather_secrets(alerts_start_time.generate_time_string(), alerts_end_time.generate_time_string())
3939

40-
def render(self, customer, author, pagesize="a3", custom_logo=None):
40+
def render(self, customer, author, pagesize="a3", custom_logo=None, pdf=False):
4141
if custom_logo and os.path.isfile(custom_logo):
4242
self.custom_logo_html = self.file_to_image_tag(custom_logo, 'png', align='right')
4343
else:
4444
self.custom_logo_html = None
45+
self.template = self.get_jinja2_template('csa_detailed_report.jinja2')
4546
return self.template.render(
4647
customer=str(customer),
4748
date=self.get_current_date(),
@@ -57,7 +58,8 @@ def render(self, customer, author, pagesize="a3", custom_logo=None):
5758
alerts_data=self.alerts_data,
5859
secrets_data=self.secrets_data,
5960
recommendations=self.recommendations,
60-
pagesize=pagesize
61+
pagesize=pagesize,
62+
pdf=pdf
6163
)
6264

6365
def generate(self,
@@ -68,11 +70,12 @@ def generate(self,
6870
alerts_start_time: LaceworkTime = LaceworkTime('7:0'),
6971
alerts_end_time: LaceworkTime = LaceworkTime('0:0'),
7072
custom_logo=None,
71-
pagesize="a3"):
73+
pagesize="a3",
74+
pdf=False):
7275
self.gather_data(vulns_start_time,
7376
vulns_end_time,
7477
alerts_start_time,
7578
alerts_end_time)
76-
return self.render(customer, author, custom_logo=custom_logo, pagesize=pagesize)
79+
return self.render(customer, author, custom_logo=custom_logo, pagesize=pagesize, pdf=pdf)
7780

7881

templates/Inter-Regular.otf

249 KB
Binary file not shown.

0 commit comments

Comments
 (0)