Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 3 additions & 5 deletions hypha/apply/activity/adapters/activity_feed.py
Original file line number Diff line number Diff line change
Expand Up @@ -221,16 +221,15 @@ def handle_task_removal(self, source, task, **kwargs):
)
)

def handle_transition(self, new_phase, source, old_phase=None, **kwargs):
def handle_transition(self, old_phase, source, **kwargs):
def wrap_in_color_class(text):
color_class = PHASE_BG_COLORS.get(text, "")
return f'<span class="rounded-full inline-block px-2 py-0.5 font-medium text-gray-800 {color_class}">{text}</span>'

submission = source
base_message = _("Progressed from {old_display} to {new_display}")

if old_phase is None:
old_phase = submission.phase
new_phase = submission.phase

staff_message = base_message.format(
old_display=wrap_in_color_class(old_phase.display_name),
Expand Down Expand Up @@ -284,9 +283,8 @@ def handle_batch_transition(self, transitions, sources, **kwargs):
kwargs.pop("source")
for submission in submissions:
old_phase = transitions[submission.id]
new_phase = submission.phase
return self.handle_transition(
old_phase=old_phase, new_phase=new_phase, source=submission, **kwargs
old_phase=old_phase, source=submission, **kwargs
)

def partners_updated(self, added, removed, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion hypha/apply/activity/adapters/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@
MESSAGES.BATCH_DETERMINATION_OUTCOME: "determinations",
MESSAGES.UPDATE_LEAD: "old_lead",
MESSAGES.NEW_REVIEW: "review",
MESSAGES.TRANSITION: "new_phase",
MESSAGES.TRANSITION: "old_phase",
MESSAGES.BATCH_TRANSITION: "transitions",
MESSAGES.APPLICANT_EDIT: "revision",
MESSAGES.INVITE_COAPPLICANT: "co_applicant_invite",
Expand Down
10 changes: 3 additions & 7 deletions hypha/apply/activity/adapters/emails.py
Original file line number Diff line number Diff line change
Expand Up @@ -163,21 +163,18 @@ def extra_kwargs(self, message_type, source, sources, **kwargs):
"subject": self.get_subject(message_type, source),
}

def handle_transition(self, new_phase, source, old_phase=None, **kwargs):
def handle_transition(self, old_phase, source, **kwargs):
from hypha.apply.funds.workflows import PHASES

submission = source

if old_phase is None:
old_phase = submission.phase

# Retrieve status index to see if we are going forward or backward.
old_index = list(dict(PHASES).keys()).index(old_phase.name)
target_index = list(dict(PHASES).keys()).index(submission.status)
is_forward = old_index < target_index

kwargs["old_phase"] = old_phase.public_name
kwargs["new_phase"] = new_phase.public_name
kwargs["new_phase"] = submission.phase.public_name

if is_forward:
return self.render_message(
Expand Down Expand Up @@ -210,9 +207,8 @@ def handle_batch_transition(self, transitions, sources, **kwargs):
kwargs.pop("source")
for submission in submissions:
old_phase = transitions[submission.id]
new_phase = submission.phase
return self.handle_transition(
old_phase=old_phase, new_phase=new_phase, source=submission, **kwargs
old_phase=old_phase, source=submission, **kwargs
)

def handle_project_transition(self, source, **kwargs):
Expand Down
2 changes: 1 addition & 1 deletion hypha/apply/activity/adapters/slack.py
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ class SlackAdapter(AdapterBase):
"{user} has updated the partners on <{link}|{source.title_text_display}>"
),
MESSAGES.TRANSITION: _(
"{user} has updated the status of <{link}|{source.title_text_display}>: {source.phase.display_name} → {new_phase.display_name}"
"{user} has updated the status of <{link}|{source.title_text_display}>: {old_phase.display_name} → {source.phase.display_name}"
),
MESSAGES.BATCH_TRANSITION: "handle_batch_transition",
MESSAGES.DETERMINATION_OUTCOME: "handle_determination",
Expand Down
15 changes: 6 additions & 9 deletions hypha/apply/funds/models/submissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -375,11 +375,7 @@ def perform_transition(self, action, user, request=None, **kwargs):
raise PermissionDenied(f'You do not have permission to "{action}"')

# Execute the transition
result = transition_method(by=user, request=request, **kwargs)
if result:
self.status = action
self.save(update_fields=["status"])

transition_method(by=user, request=request, **kwargs)
self.progress_stage_when_possible(user, request, **kwargs)

attrs["perform_transition"] = perform_transition
Expand Down Expand Up @@ -1038,10 +1034,11 @@ def get_no_screening_status(self):
@status_field.on_success()
def log_status_update(self, descriptor, source, target, **kwargs):
instance = self
old_phase = instance.workflow[source]

# The status associated with the application at this time will be the old phase
# so provide the new phase as an arg when transitioning
new_phase = self.workflow[target]
# Update status on instance.
instance.status = target
instance.save(update_fields=["status"])

by = kwargs["by"]
request = kwargs["request"]
Expand All @@ -1066,7 +1063,7 @@ def log_status_update(self, descriptor, source, target, **kwargs):
user=by,
request=request,
source=instance,
related=new_phase,
related=old_phase,
)

if instance.status in review_statuses:
Expand Down
Loading