Skip to content

Commit

Permalink
Merge remote-tracking branch 'origin/maintenance/remove_need_for_djan…
Browse files Browse the repository at this point in the history
…gomessagesadapter' into test
  • Loading branch information
frjo committed Jan 31, 2025
2 parents a7d869e + 5d88067 commit d94a6e9
Show file tree
Hide file tree
Showing 18 changed files with 165 additions and 163 deletions.
2 changes: 0 additions & 2 deletions hypha/apply/activity/adapters/__init__.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,11 @@
from .activity_feed import ActivityAdapter
from .base import AdapterBase
from .django_messages import DjangoMessagesAdapter
from .emails import EmailAdapter
from .slack import SlackAdapter

__all__ = [
"AdapterBase",
"ActivityAdapter",
"DjangoMessagesAdapter",
"EmailAdapter",
"SlackAdapter",
]
2 changes: 1 addition & 1 deletion hypha/apply/activity/adapters/activity_feed.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def reviewers_updated(self, added=None, removed=None, **kwargs):
return " ".join(message)

def batch_reviewers_updated(self, added, **kwargs):
base = [_("Batch Reviewers Updated.")]
base = [_("Batch reviewers updated:")]
base.extend(
[
_("{user} as {name}.").format(user=str(user), name=role.name)
Expand Down
2 changes: 0 additions & 2 deletions hypha/apply/activity/adapters/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,6 @@
MESSAGES.SKIPPED_REPORT: "report",
MESSAGES.REPORT_FREQUENCY_CHANGED: "config",
MESSAGES.REPORT_NOTIFY: "report",
MESSAGES.CREATE_REMINDER: "reminder",
MESSAGES.DELETE_REMINDER: "reminder",
MESSAGES.REVIEW_REMINDER: "reminder",
MESSAGES.BATCH_UPDATE_INVOICE_STATUS: "invoices",
MESSAGES.REMOVE_TASK: "task",
Expand Down
92 changes: 0 additions & 92 deletions hypha/apply/activity/adapters/django_messages.py

This file was deleted.

3 changes: 1 addition & 2 deletions hypha/apply/activity/messaging.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

from django.contrib.auth import get_user_model

from .adapters import ActivityAdapter, DjangoMessagesAdapter, EmailAdapter, SlackAdapter
from .adapters import ActivityAdapter, EmailAdapter, SlackAdapter

logger = logging.getLogger(__name__)
User = get_user_model()
Expand Down Expand Up @@ -59,7 +59,6 @@ def send(
ActivityAdapter(),
SlackAdapter(),
EmailAdapter(),
DjangoMessagesAdapter(),
]

messenger = MessengerBackend(*adapters)
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# Generated by Django 4.2.18 on 2025-01-20 14:59

from django.db import migrations, models


class Migration(migrations.Migration):
dependencies = [
("activity", "0085_rename_paf"),
]

operations = [
migrations.AlterField(
model_name="event",
name="type",
field=models.CharField(
choices=[
("UPDATE_LEAD", "updated lead"),
("BATCH_UPDATE_LEAD", "batch updated lead"),
("EDIT_SUBMISSION", "edited submission"),
("APPLICANT_EDIT", "edited applicant"),
("NEW_SUBMISSION", "submitted new submission"),
("DRAFT_SUBMISSION", "submitted new draft submission"),
("SCREENING", "screened"),
("TRANSITION", "transitioned"),
("BATCH_TRANSITION", "batch transitioned"),
("DETERMINATION_OUTCOME", "sent determination outcome"),
("BATCH_DETERMINATION_OUTCOME", "sent batch determination outcome"),
("INVITED_TO_PROPOSAL", "invited to proposal"),
("REVIEWERS_UPDATED", "updated reviewers"),
("BATCH_REVIEWERS_UPDATED", "batch updated reviewers"),
("PARTNERS_UPDATED", "updated partners"),
("PARTNERS_UPDATED_PARTNER", "partners updated partner"),
("READY_FOR_REVIEW", "marked ready for review"),
("BATCH_READY_FOR_REVIEW", "marked batch ready for review"),
("NEW_REVIEW", "added new review"),
("COMMENT", "added comment"),
("PROPOSAL_SUBMITTED", "submitted proposal"),
("OPENED_SEALED", "opened sealed submission"),
("REVIEW_OPINION", "reviewed opinion"),
("DELETE_SUBMISSION", "deleted submission"),
("DELETE_REVIEW", "deleted review"),
("DELETE_REVIEW_OPINION", "deleted review opinion"),
("CREATED_PROJECT", "created project"),
("UPDATE_PROJECT_LEAD", "updated project lead"),
("UPDATE_PROJECT_TITLE", "updated project title"),
("EDIT_REVIEW", "edited review"),
("SEND_FOR_APPROVAL", "sent for approval"),
("APPROVE_PROJECT", "approved project"),
("ASSIGN_PAF_APPROVER", "assign project form approver"),
("APPROVE_PAF", "approved project form"),
("PROJECT_TRANSITION", "transitioned project"),
("REQUEST_PROJECT_CHANGE", "requested project change"),
("SUBMIT_CONTRACT_DOCUMENTS", "submitted contract documents"),
("UPLOAD_DOCUMENT", "uploaded document to project"),
("UPLOAD_CONTRACT", "uploaded contract to project"),
("APPROVE_CONTRACT", "approved contract"),
("CREATE_INVOICE", "created invoice for project"),
("UPDATE_INVOICE_STATUS", "updated invoice status"),
("APPROVE_INVOICE", "approve invoice"),
("DELETE_INVOICE", "deleted invoice"),
("SENT_TO_COMPLIANCE", "sent project to compliance"),
("UPDATE_INVOICE", "updated invoice"),
("SUBMIT_REPORT", "submitted report"),
("SKIPPED_REPORT", "skipped report"),
("REPORT_FREQUENCY_CHANGED", "changed report frequency"),
("DISABLED_REPORTING", "disabled reporting"),
("REPORT_NOTIFY", "notified report"),
("REVIEW_REMINDER", "reminder to review"),
("BATCH_DELETE_SUBMISSION", "batch deleted submissions"),
("BATCH_ARCHIVE_SUBMISSION", "batch archive submissions"),
("BATCH_INVOICE_STATUS_UPDATE", "batch update invoice status"),
("STAFF_ACCOUNT_CREATED", "created new account"),
("STAFF_ACCOUNT_EDITED", "edited account"),
("ARCHIVE_SUBMISSION", "archived submission"),
("UNARCHIVE_SUBMISSION", "unarchived submission"),
("REMOVE_TASK", "remove task"),
],
max_length=50,
verbose_name="verb",
),
),
]
3 changes: 0 additions & 3 deletions hypha/apply/activity/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ class MESSAGES(TextChoices):
_("submitted contract documents"),
)
UPLOAD_DOCUMENT = "UPLOAD_DOCUMENT", _("uploaded document to project")
REMOVE_DOCUMENT = "REMOVE_DOCUMENT", _("removed document from project")
UPLOAD_CONTRACT = "UPLOAD_CONTRACT", _("uploaded contract to project")
APPROVE_CONTRACT = "APPROVE_CONTRACT", _("approved contract")
CREATE_INVOICE = "CREATE_INVOICE", _("created invoice for project")
Expand All @@ -65,8 +64,6 @@ class MESSAGES(TextChoices):
REPORT_FREQUENCY_CHANGED = "REPORT_FREQUENCY_CHANGED", _("changed report frequency")
DISABLED_REPORTING = "DISABLED_REPORTING", _("disabled reporting")
REPORT_NOTIFY = "REPORT_NOTIFY", _("notified report")
CREATE_REMINDER = "CREATE_REMINDER", _("created reminder")
DELETE_REMINDER = "DELETE_REMINDER", _("deleted reminder")
REVIEW_REMINDER = "REVIEW_REMINDER", _("reminder to review")
BATCH_DELETE_SUBMISSION = "BATCH_DELETE_SUBMISSION", _("batch deleted submissions")
BATCH_ARCHIVE_SUBMISSION = (
Expand Down
4 changes: 2 additions & 2 deletions hypha/apply/determinations/tests/test_views.py
Original file line number Diff line number Diff line change
Expand Up @@ -508,9 +508,9 @@ def test_message_created_if_determination_exists(self):
self.assertEqual(submissions[1].determinations.count(), 1)
self.assertEqual(submissions[1].determinations.first().outcome, REJECTED)

# 5 base - 2 x django messages, 1 x activity feed, 1 x email, 1 x slack
# 5 base - 1 x django messages, 1 x activity feed, 1 x email, 1 x slack
# plus 1 extra for unable to determine
self.assertEqual(len(response.context["messages"]), 6)
self.assertEqual(len(response.context["messages"]), 5)


class UserDeterminationFormTestCase(BaseViewTestCase):
Expand Down
10 changes: 9 additions & 1 deletion hypha/apply/determinations/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -200,11 +200,19 @@ def form_valid(self, form):
determination.submission.id: determination
for determination in form.instances
}
sources = submissions.filter(id__in=list(determinations))

base_message = _("Successfully determined as {outcome}: ").format(
outcome=determinations[sources[0].id].clean_outcome
)
submissions_text = [submission.title_text_display for submission in sources]
messages.success(self.request, base_message + ", ".join(submissions_text))

messenger(
MESSAGES.BATCH_DETERMINATION_OUTCOME,
request=self.request,
user=self.request.user,
sources=submissions.filter(id__in=list(determinations)),
sources=sources,
related=determinations,
)

Expand Down
22 changes: 21 additions & 1 deletion hypha/apply/funds/services.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from django.apps import apps
from django.conf import settings
from django.contrib import messages
from django.core.exceptions import PermissionDenied
from django.db.models import (
Case,
Expand All @@ -14,6 +15,7 @@
)
from django.db.models.functions import Coalesce
from django.http import HttpRequest
from django.utils.translation import gettext as _

from hypha.apply.activity.messaging import MESSAGES, messenger
from hypha.apply.activity.models import Activity, Event
Expand Down Expand Up @@ -130,12 +132,30 @@ def bulk_update_reviewers(
submission,
)

added = [[role, reviewer] for role, reviewer in assigned_roles.items()]
if added:
reviewers_text = ", ".join(
[
_("{user} as {name}").format(user=str(user), name=role.name)
for role, user in added
if user
]
)
else:
reviewers_text = ", ".join([str(user) for user in external_reviewers if user])

base_message = _("Batch reviewers updated: {reviewers_text} on ").format(
reviewers_text=reviewers_text
)
submissions_text = [submission.title_text_display for submission in submissions]
messages.success(request, base_message + ", ".join(submissions_text))

messenger(
MESSAGES.BATCH_REVIEWERS_UPDATED,
request=request,
user=user,
sources=submissions,
added=[[role, reviewer] for role, reviewer in assigned_roles.items()],
added=added,
)

for submission in submissions:
Expand Down
8 changes: 8 additions & 0 deletions hypha/apply/funds/views/all.py
Original file line number Diff line number Diff line change
Expand Up @@ -439,6 +439,14 @@ def bulk_update_submissions_status(request: HttpRequest) -> HttpResponse:
)

if succeeded_submissions := submissions.exclude(id__in=(s.id for s in failed)):
base_message = _("Successfully updated status to {status}: ").format(
status=succeeded_submissions[0].phase
)
submissions_text = [
submission.title_text_display for submission in succeeded_submissions
]
messages.success(request, base_message + ", ".join(submissions_text))

messenger(
MESSAGES.BATCH_TRANSITION,
user=request.user,
Expand Down
Loading

0 comments on commit d94a6e9

Please sign in to comment.