Skip to content

Commit

Permalink
[#2482] Move find_signal_by_name to utils
Browse files Browse the repository at this point in the history
  • Loading branch information
pbanaszkiewicz committed Aug 11, 2023
1 parent 00df760 commit 1992059
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 12 deletions.
12 changes: 11 additions & 1 deletion amy/emails/utils.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from datetime import datetime, timedelta
import logging
from typing import cast
from typing import Iterable, cast

from django.conf import settings
from django.contrib import messages
Expand All @@ -9,6 +9,7 @@
from django.utils.html import format_html

from emails.models import ScheduledEmail
from emails.signals import Signal
from workshops.models import Person

logger = logging.getLogger("amy")
Expand Down Expand Up @@ -75,3 +76,12 @@ def person_from_request(request: HttpRequest) -> Person | None:
return None

return cast(Person, request.user)


def find_signal_by_name(
signal_name: str, all_signals: Iterable[Signal]
) -> Signal | None:
return next(
(signal for signal in all_signals if signal.signal_name == signal_name),
None,
)
13 changes: 2 additions & 11 deletions amy/emails/views.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from typing import Any, Iterable
from typing import Any

from django.conf import settings
from django.http import HttpRequest, HttpResponse
Expand All @@ -16,7 +16,7 @@
)
from emails.models import EmailTemplate, ScheduledEmail, ScheduledEmailLog
from emails.signals import ALL_SIGNALS, Signal
from emails.utils import person_from_request
from emails.utils import find_signal_by_name, person_from_request
from workshops.base_views import (
AMYCreateView,
AMYDeleteView,
Expand All @@ -29,15 +29,6 @@
from workshops.utils.access import OnlyForAdminsMixin


def find_signal_by_name(
signal_name: str, all_signals: Iterable[Signal]
) -> Signal | None:
return next(
(signal for signal in all_signals if signal.signal_name == signal_name),
None,
)


class EmailModuleEnabledMixin(ConditionallyEnabledMixin):
def get_view_enabled(self) -> bool:
return settings.EMAIL_MODULE_ENABLED is True
Expand Down

0 comments on commit 1992059

Please sign in to comment.