Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

LTD: Advice FE changes to handle cases sent back #2182

Draft
wants to merge 6 commits into
base: dev
Choose a base branch
from
Draft
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
16 changes: 16 additions & 0 deletions caseworker/activities/templates/activities/notes-and-timeline.html
Original file line number Diff line number Diff line change
Expand Up @@ -55,6 +55,22 @@ <h1 class="govuk-heading-s">Case history</h1>
</nav>
</div>
<div class="govuk-grid-column-two-thirds">
<details class="govuk-details">
<summary class="govuk-details__summary">
<span class="govuk-details__summary-text">
Queue movement
</span>
</summary>
<div class="govuk-details__text">
{% for item in queue_movements %}
<p class="govuk-body">
{{ item.created_at|to_datetime|date:"d F Y" }}: {{ item.text }}
</p>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
&#8595;
{% endfor %}
</div>
</details>
<div class="govuk-grid-row">
<div class="notes-and-timeline-case-note">
{% crispy form %}
Expand Down
8 changes: 7 additions & 1 deletion caseworker/activities/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,7 @@ def get_form_kwargs(self):

def get_context_data(self, **kwargs):
context = super().get_context_data(**kwargs)
activities = get_activity(self.request, self.case_id, activity_filters=self.request.GET)
return {
**context,
"case": self.case,
Expand All @@ -101,7 +102,12 @@ def get_context_data(self, **kwargs):
"team_filters": self.get_team_filters(),
"tabs": self.get_standard_application_tabs(),
"current_tab": "cases:activities:notes-and-timeline",
"activities": get_activity(self.request, self.case_id, activity_filters=self.request.GET),
"activities": activities,
"queue_movements": [
{**item, "text": item["text"][18:]}
for item in reversed(activities)
if item["verb"] == "move_case"
],
}

def form_valid(self, form):
Expand Down
2 changes: 1 addition & 1 deletion caseworker/advice/rules.py
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def can_user_make_recommendation(request, case):

# Existing advice, so this must be edited
if existing_advice:
return False
return True

if team == services.FCDO_TEAM:
return can_fcdo_make_recommendation(user, case, queue_alias)
Expand Down
2 changes: 1 addition & 1 deletion caseworker/advice/services.py
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ def filter_advice_by_type(all_advice, advice_types):


def filter_advice_by_level(all_advice, advice_levels):
return [advice for advice in all_advice if advice["level"] in advice_levels]
return [advice for advice in all_advice if advice["level"] in advice_levels and advice["valid"] is True]


def filter_advice_by_user(all_advice, caseworker):
Expand Down
12 changes: 12 additions & 0 deletions caseworker/advice/templates/advice/view-advice.html
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,13 @@ <h2 class="govuk-heading-m">Reason for returning</h2>
</div>
{% endif %}

{% if case_basic.circulation_details.is_case_sent_back %}
<strong class="govuk-tag govuk-tag--red">
Re-circulated
</strong>
{% endif %}
<br><br>

{% if finalise_case %}
{% if has_open_queries %}
<div id="case-has-open-queries" class="govuk-warning-text">
Expand All @@ -119,6 +126,11 @@ <h2 class="govuk-heading-m">Reason for returning</h2>
</a>
{% endif %}

{% test_rule 'can_user_review_and_combine' request case as can_user_review_and_combine %}
{% if can_user_review_and_combine %}
<a id="review-and-combine-button" draggable="false" class="govuk-button govuk-button--primary" href="{% url 'cases:consolidate_review' queue_pk case.id %}">Re-review and combine</a>
{% endif %}

<br><br>
{% if decisions %}
{% include "advice/decision_documents.html" with decisions=decisions case=case queue_id=queue_id %}
Expand Down
13 changes: 12 additions & 1 deletion caseworker/advice/templates/advice/view_my_advice.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,14 @@ <h2 class="govuk-error-summary__title" id="error-summary-title">
<div class="govuk-grid-row">
<br>
<div class="govuk-grid-column-three-quarters">
<h1 class="govuk-heading-xl">View recommendation</h1>
{% test_rule 'can_user_make_recommendation' request case as can_user_make_recommendation %}
<h1 class="govuk-heading-xl">View recommendation
{% if case_basic.circulation_details.is_case_sent_back %}
<strong class="govuk-tag govuk-tag--red">
Re-circulated
</strong>
{% endif %}
</h1>
{% if my_advice %}
{% if buttons.edit_recommendation %}
<a role="button" draggable="false" class="govuk-button govuk-button--secondary" href="{% url 'cases:edit_advice' queue_pk case.id %}">
Expand All @@ -43,6 +50,10 @@ <h1 class="govuk-heading-xl">View recommendation</h1>
Clear recommendation
</a>
{% endif %}
{% if can_user_make_recommendation %}
<a id="make-recommendation-button" draggable="false" class="govuk-button govuk-button--primary" href="{% url 'cases:select_advice' queue_pk case.id %}">Make new recommendation</a>
{% endif %}

{% for advice in my_advice %}
{% include "advice/advice_details.html" %}
{% endfor %}
Expand Down
8 changes: 7 additions & 1 deletion caseworker/advice/views.py
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
from caseworker.advice import forms, services, constants
from caseworker.advice.forms import DESNZTriggerListAssessmentForm, DESNZTriggerListAssessmentEditForm
from caseworker.cases.helpers.case import CaseworkerMixin
from caseworker.cases.services import get_case, get_final_decision_documents
from caseworker.cases.services import get_case, get_case_basic_details, get_final_decision_documents
from caseworker.cases.helpers.ecju_queries import has_open_queries
from caseworker.cases.views.main import CaseTabsMixin
from caseworker.core.helpers import get_organisation_documents
Expand Down Expand Up @@ -40,6 +40,10 @@ def case_id(self):
def case(self):
return get_case(self.request, self.case_id)

@cached_property
def case_basic(self):
return get_case_basic_details(self.request, self.case_id)

@cached_property
def denial_reasons_display(self):
denial_reasons_data = get_denial_reasons(self.request)
Expand Down Expand Up @@ -259,6 +263,7 @@ def get_context_data(self, **kwargs):
"current_tab": "cases:view_my_advice",
"security_approvals_classified_display": self.security_approvals_classified_display,
"assessed_trigger_list_goods": self.assessed_trigger_list_goods,
"case_basic": self.case_basic,
**services.get_advice_tab_context(self.case, self.caseworker, str(self.kwargs["queue_pk"])),
}

Expand Down Expand Up @@ -805,6 +810,7 @@ def get_context(self, **kwargs):
"queue_id": self.queue_id,
"refusal_note": refusal_note,
"has_open_queries": has_open_queries(self.request, self.case_id),
"case_basic": self.case_basic,
}

def form_valid(self, form):
Expand Down
2 changes: 1 addition & 1 deletion core/builtins/custom_tags.py
Original file line number Diff line number Diff line change
Expand Up @@ -543,7 +543,7 @@ def values(dictionary):

@register.filter()
def filter_advice_by_level(advice, level):
return [advice for advice in advice if advice["level"] == level]
return [advice for advice in advice if advice["level"] == level and advice["valid"] == True]


@register.filter()
Expand Down