Skip to content

Commit

Permalink
layout fix report export
Browse files Browse the repository at this point in the history
  • Loading branch information
abarz722 committed May 29, 2024
1 parent e78f512 commit 37cb5be
Show file tree
Hide file tree
Showing 4 changed files with 97 additions and 97 deletions.
41 changes: 19 additions & 22 deletions roles/lib/files/FWO.Report/ReportChanges.cs
Original file line number Diff line number Diff line change
@@ -1,6 +1,4 @@
using FWO.GlobalConstants;
using FWO.Api.Data;
using System.Text;
using System.Text;
using FWO.Api.Client;
using FWO.Report.Filter;
using FWO.Ui.Display;
Expand Down Expand Up @@ -73,8 +71,8 @@ public override string ExportToCsv()
{
if (ReportType.IsResolvedReport())
{
StringBuilder report = new StringBuilder();
RuleChangeDisplayCsv ruleChangeDisplayCsv = new RuleChangeDisplayCsv(userConfig);
StringBuilder report = new ();
RuleChangeDisplayCsv ruleChangeDisplayCsv = new (userConfig);

report.Append(DisplayReportHeaderCsv());
report.AppendLine($"\"management-name\",\"device-name\",\"change-time\",\"change-type\",\"rule-name\",\"source-zone\",\"source\",\"destination-zone\",\"destination\",\"service\",\"action\",\"track\",\"rule-enabled\",\"rule-uid\",\"rule-comment\"");
Expand Down Expand Up @@ -119,8 +117,8 @@ public override string ExportToCsv()

public override string ExportToHtml()
{
StringBuilder report = new StringBuilder();
RuleChangeDisplayHtml ruleChangeDisplayHtml = new RuleChangeDisplayHtml(userConfig);
StringBuilder report = new ();
RuleChangeDisplayHtml ruleChangeDisplayHtml = new (userConfig);

foreach (var management in ReportData.ManagementData.Where(mgt => !mgt.Ignore && mgt.Devices != null &&
Array.Exists(mgt.Devices, device => device.RuleChanges != null && device.RuleChanges.Length > 0)))
Expand All @@ -131,8 +129,6 @@ public override string ExportToHtml()
foreach (var device in management.Devices)
{
report.AppendLine($"<h4>{device.Name}</h4>");
report.AppendLine("<hr>");

report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("change_time")}</th>");
Expand Down Expand Up @@ -177,11 +173,10 @@ public override string ExportToHtml()
report.AppendLine($"<td colspan=\"{ColumnCount}\">{userConfig.GetText("no_changes_found")}</td>");
report.AppendLine("</tr>");
}

report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}

return GenerateHtmlFrame(userConfig.GetText(ReportType.ToString()), Query.RawFilter, DateTime.Now, report);
}

Expand All @@ -203,10 +198,10 @@ public override string ExportToJson()

private string ExportResolvedChangesToJson()
{
StringBuilder report = new StringBuilder("{");
StringBuilder report = new ("{");
report.Append(DisplayReportHeaderJson());
report.AppendLine("\"managements\": [");
RuleChangeDisplayJson ruleChangeDisplayJson = new RuleChangeDisplayJson(userConfig);
RuleChangeDisplayJson ruleChangeDisplayJson = new (userConfig);
foreach (var management in ReportData.ManagementData.Where(mgt => !mgt.Ignore && mgt.Devices != null &&
Array.Exists(mgt.Devices, device => device.RuleChanges != null && device.RuleChanges.Length > 0)))
{
Expand All @@ -219,7 +214,7 @@ private string ExportResolvedChangesToJson()
report.Append($"{{\"{gateway.Name}\": {{\n\"rule changes\": [");
foreach (var ruleChange in gateway.RuleChanges)
{
report.Append("{");
report.Append('{');
report.Append(ruleChangeDisplayJson.DisplayChangeTime(ruleChange));
report.Append(ruleChangeDisplayJson.DisplayChangeAction(ruleChange));
report.Append(ruleChangeDisplayJson.DisplayName(ruleChange));
Expand All @@ -240,23 +235,25 @@ private string ExportResolvedChangesToJson()
report.Append("},"); // EO ruleChange
} // rules
report = ruleChangeDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO rules
report.Append("}"); // EO gateway internal
report.Append(']'); // EO rules
report.Append('}'); // EO gateway internal
report.Append("},"); // EO gateway external
}
} // gateways
report = ruleChangeDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO gateways
report.Append("}"); // EO management internal
report.Append(']'); // EO gateways
report.Append('}'); // EO management internal
report.Append("},"); // EO management external
} // managements
report = ruleChangeDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO managements
report.Append("}"); // EO top
report.Append(']'); // EO managements
report.Append('}'); // EO top

dynamic? json = JsonConvert.DeserializeObject(report.ToString());
JsonSerializerSettings settings = new ();
settings.Formatting = Formatting.Indented;
JsonSerializerSettings settings = new()
{
Formatting = Formatting.Indented
};
return JsonConvert.SerializeObject(json, settings);
}
}
Expand Down
10 changes: 4 additions & 6 deletions roles/lib/files/FWO.Report/ReportNatRules.cs
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,6 @@ public override string ExportToHtml()
if (device.Rules != null && device.Rules.Length > 0)
{
report.AppendLine($"<h4>{device.Name}</h4>");
report.AppendLine("<hr>");

report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand Down Expand Up @@ -73,8 +71,8 @@ public override string ExportToHtml()
report.AppendLine("</tr>");
}
}

report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}

Expand All @@ -84,7 +82,6 @@ public override string ExportToHtml()
if (managementReport.ReportObjects != null)
{
report.AppendLine($"<h4>{userConfig.GetText("network_objects")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand All @@ -108,12 +105,12 @@ public override string ExportToHtml()
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}

if (managementReport.ReportServices != null)
{
report.AppendLine($"<h4>{userConfig.GetText("network_services")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand Down Expand Up @@ -143,12 +140,12 @@ public override string ExportToHtml()
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}

if (managementReport.ReportUsers != null)
{
report.AppendLine($"<h4>{userConfig.GetText("users")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand All @@ -171,6 +168,7 @@ public override string ExportToHtml()
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}

report.AppendLine("</table>");
Expand Down
59 changes: 32 additions & 27 deletions roles/lib/files/FWO.Report/ReportRules.cs
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ public override async Task Generate(int rulesPerFetch, ApiConnection apiConnecti

List<ManagementReport> managementsWithRelevantImportId = await getRelevantImportIds(apiConnection);

ReportData.ManagementData = new ();
ReportData.ManagementData = [];
foreach(var management in managementsWithRelevantImportId)
{
Query.QueryVariables["mgmId"] = management.Id;
Expand Down Expand Up @@ -175,11 +175,14 @@ private void SetReportedRuleIds()
{
foreach (var mgt in ReportData.ManagementData)
{
foreach (var dev in mgt.Devices.Where(d => (d.Rules != null && d.Rules.Length > 0)))
foreach (var dev in mgt.Devices.Where(d => d.Rules != null && d.Rules.Length > 0))
{
foreach (Rule rule in dev.Rules)
if (dev.Rules !=null)
{
mgt.ReportedRuleIds.Add(rule.Id);
foreach (Rule rule in dev.Rules)
{
mgt.ReportedRuleIds.Add(rule.Id);
}
}
}
mgt.ReportedRuleIds = mgt.ReportedRuleIds.Distinct().ToList();
Expand Down Expand Up @@ -277,7 +280,7 @@ private string ExportResolvedRulesToJson()
report.Append($"{{\"{gateway.Name}\": {{\n\"rules\": [");
foreach (var rule in gateway.Rules)
{
report.Append("{");
report.Append('{');
if (string.IsNullOrEmpty(rule.SectionHeader))
{
report.Append(ruleDisplayJson.DisplayNumber(rule));
Expand All @@ -304,23 +307,25 @@ private string ExportResolvedRulesToJson()
report.Append("},"); // EO rule
} // rules
report = ruleDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO rules
report.Append("}"); // EO gateway internal
report.Append(']'); // EO rules
report.Append('}'); // EO gateway internal
report.Append("},"); // EO gateway external
}
} // gateways
report = ruleDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO gateways
report.Append("}"); // EO management internal
report.Append(']'); // EO gateways
report.Append('}'); // EO management internal
report.Append("},"); // EO management external
} // managements
report = ruleDisplayJson.RemoveLastChars(report, 1); // remove last char (comma)
report.Append("]"); // EO managements
report.Append("}"); // EO top
report.Append(']'); // EO managements
report.Append('}'); // EO top

dynamic? json = JsonConvert.DeserializeObject(report.ToString());
JsonSerializerSettings settings = new ();
settings.Formatting = Formatting.Indented;
JsonSerializerSettings settings = new()
{
Formatting = Formatting.Indented
};
return JsonConvert.SerializeObject(json, settings);
}

Expand All @@ -341,12 +346,12 @@ public override string ExportToHtml()
{
if (device.Rules != null && device.Rules.Length > 0)
{
appendRulesForDeviceHtml(ref report, device, ruleDisplayHtml);
AppendRulesForDeviceHtml(ref report, device, ruleDisplayHtml);
}
}

// show all objects used in this management's rules
appendObjectsForManagementHtml(ref report, managementReport);
AppendObjectsForManagementHtml(ref report, managementReport);
}

return GenerateHtmlFrame(userConfig.GetText(ReportType.ToString()), Query.RawFilter, DateTime.Now, report);
Expand Down Expand Up @@ -381,12 +386,11 @@ private void appendRuleHeadlineHtml(ref StringBuilder report)
report.AppendLine("</tr>");
}

private void appendRulesForDeviceHtml(ref StringBuilder report, DeviceReport device, RuleDisplayHtml ruleDisplayHtml)
private void AppendRulesForDeviceHtml(ref StringBuilder report, DeviceReport device, RuleDisplayHtml ruleDisplayHtml)
{
if (device.ContainsRules())
{
report.AppendLine($"<h4>{device.Name}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
appendRuleHeadlineHtml(ref report);
foreach (var rule in device.Rules!)
Expand Down Expand Up @@ -427,23 +431,23 @@ private void appendRulesForDeviceHtml(ref StringBuilder report, DeviceReport dev
}
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}

private void appendObjectsForManagementHtml(ref StringBuilder report, ManagementReport managementReport)
private void AppendObjectsForManagementHtml(ref StringBuilder report, ManagementReport managementReport)
{
int objNumber = 1;
appendNetworkObjectsForManagementHtml(ref report, ref objNumber, managementReport);
appendNetworkServicesForManagementHtml(ref report, ref objNumber, managementReport);
appendUsersForManagementHtml(ref report, ref objNumber, managementReport);
AppendNetworkObjectsForManagementHtml(ref report, ref objNumber, managementReport);
AppendNetworkServicesForManagementHtml(ref report, ref objNumber, managementReport);
AppendUsersForManagementHtml(ref report, ref objNumber, managementReport);
}

private void appendNetworkObjectsForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
private void AppendNetworkObjectsForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
{
if (managementReport.ReportObjects != null && !ReportType.IsResolvedReport())
{
report.AppendLine($"<h4>{userConfig.GetText("network_objects")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand All @@ -467,15 +471,15 @@ private void appendNetworkObjectsForManagementHtml(ref StringBuilder report, ref
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}

private void appendNetworkServicesForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
private void AppendNetworkServicesForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
{
if (managementReport.ReportServices != null && !ReportType.IsResolvedReport())
{
report.AppendLine($"<h4>{userConfig.GetText("network_services")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand Down Expand Up @@ -505,15 +509,15 @@ private void appendNetworkServicesForManagementHtml(ref StringBuilder report, re
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}

private void appendUsersForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
private void AppendUsersForManagementHtml(ref StringBuilder report, ref int objNumber, ManagementReport managementReport)
{
if (managementReport.ReportUsers != null && !ReportType.IsResolvedReport())
{
report.AppendLine($"<h4>{userConfig.GetText("users")}</h4>");
report.AppendLine("<hr>");
report.AppendLine("<table>");
report.AppendLine("<tr>");
report.AppendLine($"<th>{userConfig.GetText("number")}</th>");
Expand All @@ -536,6 +540,7 @@ private void appendUsersForManagementHtml(ref StringBuilder report, ref int objN
report.AppendLine("</tr>");
}
report.AppendLine("</table>");
report.AppendLine("<hr>");
}
}
}
Expand Down
Loading

0 comments on commit 37cb5be

Please sign in to comment.