Skip to content
Snippets Groups Projects
Commit b83fcef5 authored by Rajmund Hruška's avatar Rajmund Hruška
Browse files

Merge remote-tracking branch 'origin/judiny-bugfix-#7556-abuse_group_mail' into devel

parents 9546d1c8 e2561f0b
No related branches found
No related tags found
No related merge requests found
"""set email in reporting settings for group name
Revision ID: 87a0d55f56d5
Revises: d76d19d30c2c
Create Date: 2023-02-21 11:00:12.434598
"""
from alembic import op
import sqlalchemy as sa
# revision identifiers, used by Alembic.
revision = '87a0d55f56d5'
down_revision = 'd76d19d30c2c'
branch_labels = None
depends_on = None
def upgrade():
op.execute("""
UPDATE settings_reporting
SET emails_low = ARRAY[groups.name]
FROM groups
WHERE
settings_reporting.emails_low = '{}' AND
settings_reporting.emails_medium = '{}' AND
settings_reporting.emails_high = '{}' AND
settings_reporting.emails_critical = '{}' AND
groups.id = settings_reporting.group_id""")
def downgrade():
# Downgrade is not possible, but also is not necessary,
# because it doesn't break anything in the old code.
pass
...@@ -506,19 +506,15 @@ class MentatNetmngrScript(mentat.script.fetcher.FetcherScript): ...@@ -506,19 +506,15 @@ class MentatNetmngrScript(mentat.script.fetcher.FetcherScript):
sqlgrp.settings_rep = SettingsReportingModel() sqlgrp.settings_rep = SettingsReportingModel()
self.logger.warning("'%s' Creating new abuse group.", gkey) self.logger.warning("'%s' Creating new abuse group.", gkey)
checked_group_name = False group_emails_set = False
for network in [network for networks in wi_file_data[group_name].values() for network in networks]: for network in [network for networks in wi_file_data[group_name].values() for network in networks]:
# If there are multiple emails in this abuse group or lowest severity is not low then save if not group_emails_set:
# emails in the reporting settings. By default, if the group in the database doesn't have sqlgrp.settings_rep.emails_low = network.get('emails_low', None)
# any emails set in the reporting settings then the name of the abuse group is used as sqlgrp.settings_rep.emails_medium = network.get('emails_medium', None)
# email address for every severity. sqlgrp.settings_rep.emails_high = network.get('emails_high', None)
if not checked_group_name: sqlgrp.settings_rep.emails_critical = network.get('emails_critical', None)
if ',' in group_name or any(severity in network for severity in ['emails_medium', 'emails_high', 'emails_critical']): group_emails_set = True
sqlgrp.settings_rep.emails_low = network.get('emails_low', None)
sqlgrp.settings_rep.emails_medium = network.get('emails_medium', None)
sqlgrp.settings_rep.emails_high = network.get('emails_high', None)
sqlgrp.settings_rep.emails_critical = network.get('emails_critical', None)
checked_group_name = True
sqlnet = networkmodel_from_typeddict( sqlnet = networkmodel_from_typeddict(
network, network,
{'description': 'Network created automatically by mentat-netmngr.py utility.'} {'description': 'Network created automatically by mentat-netmngr.py utility.'}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment